summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans de Graaff <graaff@gentoo.org>2024-02-10 09:02:01 +0100
committerHans de Graaff <graaff@gentoo.org>2024-02-10 09:03:02 +0100
commit4d970fb79e56ac9e47db8c0359157834c3d19ea3 (patch)
tree7274cfcf3f6e36f50e60714eaba9dabf1b240691 /dev-ruby/yard
parentdev-ruby/sinatra: relax activesupport requirement (diff)
downloadgentoo-4d970fb79e56ac9e47db8c0359157834c3d19ea3.tar.gz
gentoo-4d970fb79e56ac9e47db8c0359157834c3d19ea3.tar.bz2
gentoo-4d970fb79e56ac9e47db8c0359157834c3d19ea3.zip
dev-ruby/yard: add ruby33
Backport one upstream change and apply another unmerged PR to make the tests pass also on ruby33. Signed-off-by: Hans de Graaff <graaff@gentoo.org>
Diffstat (limited to 'dev-ruby/yard')
-rw-r--r--dev-ruby/yard/Manifest2
-rw-r--r--dev-ruby/yard/yard-0.9.34-r2.ebuild76
2 files changed, 78 insertions, 0 deletions
diff --git a/dev-ruby/yard/Manifest b/dev-ruby/yard/Manifest
index 7e7779e5033a..0c159ee5ea53 100644
--- a/dev-ruby/yard/Manifest
+++ b/dev-ruby/yard/Manifest
@@ -1,2 +1,4 @@
DIST yard-0.9.28-git.tgz 932436 BLAKE2B 7340f6815698ddb85aa16752266af75ecd3e1f1a5f328e147dd8ea01a750c48259e6f3413bb5d00777d4e983b340b36b21110e058cf6b326973c0a7c3d756836 SHA512 f57ce1f63ab1763729c85121cf1ac5927d4f7c53eed2fb58b1ea7d700db22481e767926845558d3db31bcef50d0181f0b6cf449e558a5548243256cdda0cd355
+DIST yard-0.9.34-bom-encoding.patch 1045 BLAKE2B be4ac8c52c27b916f83d87334c64427e19a831b4b81dc926db4963c651df5106b7d63a8ecd3cdf9889d023bb8f43134c00a1db0c3f10578997e6abf94d3c08fa SHA512 6af3f7c80a0044c1b14b61bff6c0e539a8512956cea8ceb9dbe84d38e1072f49c7119d95f4313af5a054f6462eb330b66dec55c199db92c1b16fcb89c6ebc482
DIST yard-0.9.34-git.tgz 938057 BLAKE2B 0e5b96b29efc6b7ab6c52dc34a15d4df9b614eb56698eb76fc7d2dc1f1fcfa5f8883034697f5a3fbd76ff588a9ebf2c7ee164936809bfe4640663c996e9f648a SHA512 fb87e3706d2c1408a172e17cdb588aacb2c67b9e7ac8c9b2d2a4d2e8a67a0c571d05938f8a4a88357834f6dac13a38cf1faa086680d58380a65cc2fca93aad8f
+DIST yard-0.9.34-yield-ruby33.patch 920 BLAKE2B a0492919b8038c21c109732aa12afa4d494ceacf6ff5e2c8fbae56bc279b5e9c6a951f77144d069183d7dc9ad818066aab5c4d82c4dc39c31a48272dad6a0d0b SHA512 86bd7d2b8ccfccc73a46365b0814c0d741bde8508317856d80ae6a2cccff1a338ad9754afd21f8f64d2587195f8cc3f38b6eba78e8de1d729ac3b2141bdb124a
diff --git a/dev-ruby/yard/yard-0.9.34-r2.ebuild b/dev-ruby/yard/yard-0.9.34-r2.ebuild
new file mode 100644
index 000000000000..5edc4dfc2ad4
--- /dev/null
+++ b/dev-ruby/yard/yard-0.9.34-r2.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby31 ruby32 ruby33"
+
+RUBY_FAKEGEM_RECIPE_TEST="rspec3"
+RUBY_FAKEGEM_TASK_DOC="yard"
+
+RUBY_FAKEGEM_EXTRADOC="README.md"
+RUBY_FAKEGEM_DOCDIR="doc docs"
+
+RUBY_FAKEGEM_EXTRAINSTALL="templates .yardopts"
+
+RUBY_FAKEGEM_GEMSPEC="yard.gemspec"
+
+inherit ruby-fakegem
+
+DESCRIPTION="Documentation generation tool for the Ruby programming language"
+HOMEPAGE="https://yardoc.org/"
+
+# The gem lacks the gemspec file needed to pass tests.
+SRC_URI="https://github.com/lsegal/yard/archive/v${PV}.tar.gz -> ${P}-git.tgz
+ https://github.com/lsegal/yard/commit/fe4f32e06fcbadbf80540807a4033448b826dfe8.patch -> ${P}-bom-encoding.patch
+ https://github.com/lsegal/yard/commit/d840ee127dfd79abd208a155f01d66293ae290ca.patch -> ${P}-yield-ruby33.patch"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE=""
+
+PATCHES=(
+ "${FILESDIR}/${P}-beginless-range.patch"
+ "${DISTDIR}/${P}-bom-encoding.patch"
+ "${DISTDIR}/${P}-yield-ruby33.patch"
+)
+
+ruby_add_bdepend "doc? ( || ( dev-ruby/maruku dev-ruby/rdiscount dev-ruby/kramdown ) )"
+
+ruby_add_bdepend "test? ( dev-ruby/rack:2.2 >=dev-ruby/rspec-3.11.0 dev-ruby/webrick )"
+
+all_ruby_prepare() {
+ sed -i -e '/[Bb]undler/ s:^:#:' -e '3igem "rack", "~> 2.2.0"' spec/spec_helper.rb || die
+
+ sed -i -e '/samus/I s:^:#:' Rakefile || die
+
+ sed -i -e 's/git ls-files/find/' ${RUBY_FAKEGEM_GEMSPEC} || die
+
+ # Avoid specs that make assumptions on load ordering that are not
+ # true for us. This may be related to how we install in Gentoo. This
+ # also drops a test requirement on dev-ruby/rack.
+ rm -f spec/cli/server_spec.rb || die
+
+ # Avoid specs that only work with bundler
+ sed -i -e '/#initialize/,/^ end/ s:^:#:' spec/cli/yri_spec.rb || die
+ sed -e '/overwrites options with data in/askip "wrong assumptions on file access"' \
+ -e '/loads any gem plugins starting with/askip "wrong assumptions on file access"' \
+ -i spec/config_spec.rb || die
+
+ # Avoid specs making assumptions about how rubygems works internally
+ sed -i -e '/searches for .gem file/askip "rubygems internals"' spec/cli/diff_spec.rb || die
+
+ # Fix broken spec
+ sed -i -e '/:exist?/aallow(File).to receive(:exist?).and_call_original' spec/i18n/locale_spec.rb || die
+
+ # Avoid ruby31 failure on whitespace-only differences
+ sed -i -e '/shows a list of nodes/askip "Whitespace differences on ruby31"' spec/parser/ruby/ast_node_spec.rb || die
+
+ # Avoid redcarpet-specific spec that is not optional
+ sed -i -e '/autolinks URLs/askip "make redcarpet optional"' spec/templates/helpers/html_helper_spec.rb || die
+
+ # Avoid asciidoc-specific spec that is not optional
+ sed -e '/\(AsciiDoc specific\|AsciiDoc header\)/askip "skipping asciidoc test"' \
+ -i spec/templates/helpers/html_helper_spec.rb || die
+}