summaryrefslogtreecommitdiff
path: root/dev-ruby
diff options
context:
space:
mode:
Diffstat (limited to 'dev-ruby')
-rw-r--r--dev-ruby/actionmailbox/actionmailbox-6.1.7.4.ebuild1
-rw-r--r--dev-ruby/actionmailbox/actionmailbox-7.0.6.ebuild1
-rw-r--r--dev-ruby/activesupport/activesupport-6.1.7.4.ebuild2
-rw-r--r--dev-ruby/activesupport/activesupport-7.0.6.ebuild2
-rw-r--r--dev-ruby/console/Manifest1
-rw-r--r--dev-ruby/console/console-1.17.4.ebuild36
-rw-r--r--dev-ruby/gruff/Manifest1
-rw-r--r--dev-ruby/gruff/gruff-0.22.0.ebuild2
-rw-r--r--dev-ruby/gruff/gruff-0.23.0.ebuild53
-rw-r--r--dev-ruby/lockfile/lockfile-2.1.3-r1.ebuild4
-rw-r--r--dev-ruby/rbpdf-font/Manifest1
-rw-r--r--dev-ruby/rbpdf-font/rbpdf-font-1.19.1-r2.ebuild50
-rw-r--r--dev-ruby/rmagick/Manifest1
-rw-r--r--dev-ruby/rmagick/rmagick-5.3.0.ebuild78
-rw-r--r--dev-ruby/shoulda/shoulda-3.6.0-r3.ebuild33
15 files changed, 259 insertions, 7 deletions
diff --git a/dev-ruby/actionmailbox/actionmailbox-6.1.7.4.ebuild b/dev-ruby/actionmailbox/actionmailbox-6.1.7.4.ebuild
index 6aa4962ee7fd..3b2ed5a40f51 100644
--- a/dev-ruby/actionmailbox/actionmailbox-6.1.7.4.ebuild
+++ b/dev-ruby/actionmailbox/actionmailbox-6.1.7.4.ebuild
@@ -40,7 +40,6 @@ ruby_add_rdepend "
ruby_add_bdepend "test? (
dev-ruby/bundler
- <dev-ruby/mail-2.8
<dev-ruby/minitest-5.16
dev-ruby/mocha
dev-ruby/rexml
diff --git a/dev-ruby/actionmailbox/actionmailbox-7.0.6.ebuild b/dev-ruby/actionmailbox/actionmailbox-7.0.6.ebuild
index e27cb2a349cc..af4d931f2377 100644
--- a/dev-ruby/actionmailbox/actionmailbox-7.0.6.ebuild
+++ b/dev-ruby/actionmailbox/actionmailbox-7.0.6.ebuild
@@ -39,7 +39,6 @@ ruby_add_rdepend "
ruby_add_bdepend "test? (
dev-ruby/bundler
- dev-ruby/mail
<dev-ruby/minitest-5.16
dev-ruby/mocha
dev-ruby/propshaft
diff --git a/dev-ruby/activesupport/activesupport-6.1.7.4.ebuild b/dev-ruby/activesupport/activesupport-6.1.7.4.ebuild
index 723e2ffcc925..69e7680e5803 100644
--- a/dev-ruby/activesupport/activesupport-6.1.7.4.ebuild
+++ b/dev-ruby/activesupport/activesupport-6.1.7.4.ebuild
@@ -58,7 +58,7 @@ all_ruby_prepare() {
# Remove items from the common Gemfile that we don't need for this
# test run. This also requires handling some gemspecs.
- sed -i -e "/\(system_timer\|pg\|execjs\|jquery-rails\|mysql\|journey\|ruby-prof\|stackprof\|benchmark-ips\|turbolinks\|coffee-rails\|debugger\|sprockets-rails\|bcrypt\|uglifier\|minitest\|sprockets\|stackprof\|rack-cache\|sqlite\|websocket-client-simple\|\libxml-ruby\|bootsnap\|aws-sdk\|webmock\|capybara\|sass-rails\|selenium-webdriver\|webpacker\|webrick\|rack-test\)/ s:^:#:" \
+ sed -i -e "/\(system_timer\|pg\|execjs\|jquery-rails\|mysql\|journey\|ruby-prof\|stackprof\|benchmark-ips\|turbolinks\|coffee-rails\|debugger\|sprockets-rails\|bcrypt\|uglifier\|minitest\|sprockets\|stackprof\|rack-cache\|sqlite\|websocket-client-simple\|\libxml-ruby\|bootsnap\|aws-sdk\|webmock\|capybara\|sass-rails\|selenium-webdriver\|webpacker\|webrick\|rack-test\|net-smtp\|net-imap\|net-pop\|digest\|matrix\)/ s:^:#:" \
-e '/group :\(doc\|rubocop\|job\|cable\|storage\|ujs\|test\) do/,/^end/ s:^:#:' \
-e 's/gemspec/gemspec path: "activesupport"/' \
-e '5igem "builder"; gem "rack"' ../Gemfile || die
diff --git a/dev-ruby/activesupport/activesupport-7.0.6.ebuild b/dev-ruby/activesupport/activesupport-7.0.6.ebuild
index 1e261e644d4e..a40b35af2336 100644
--- a/dev-ruby/activesupport/activesupport-7.0.6.ebuild
+++ b/dev-ruby/activesupport/activesupport-7.0.6.ebuild
@@ -51,7 +51,7 @@ all_ruby_prepare() {
# Remove items from the common Gemfile that we don't need for this
# test run. This also requires handling some gemspecs.
- sed -i -e "/\(system_timer\|pg\|execjs\|jquery-rails\|mysql\|journey\|ruby-prof\|stackprof\|benchmark-ips\|turbolinks\|coffee-rails\|debugger\|sprockets-rails\|bcrypt\|uglifier\|minitest\|sprockets\|stackprof\|rack-cache\|sqlite\|websocket-client-simple\|\libxml-ruby\|bootsnap\|aws-sdk\|webmock\|capybara\|sass-rails\|selenium-webdriver\|webpacker\|webrick\|propshaft\|rack-test\|terser\|cgi\)/ s:^:#:" \
+ sed -i -e "/\(system_timer\|pg\|execjs\|jquery-rails\|mysql\|journey\|ruby-prof\|stackprof\|benchmark-ips\|turbolinks\|coffee-rails\|debugger\|sprockets-rails\|bcrypt\|uglifier\|minitest\|sprockets\|stackprof\|rack-cache\|sqlite\|websocket-client-simple\|\libxml-ruby\|bootsnap\|aws-sdk\|webmock\|capybara\|sass-rails\|selenium-webdriver\|webpacker\|webrick\|propshaft\|rack-test\|terser\|cgi\|net-smtp\|net-imap\|net-pop\|digest\|matrix\)/ s:^:#:" \
-e '/stimulus-rails/,/tailwindcss-rails/ s:^:#:' \
-e '/group :\(doc\|rubocop\|job\|cable\|storage\|ujs\|test\|view\) do/,/^end/ s:^:#:' \
-e 's/gemspec/gemspec path: "activesupport"/' \
diff --git a/dev-ruby/console/Manifest b/dev-ruby/console/Manifest
index 724c58663d02..cc1e200dd0d1 100644
--- a/dev-ruby/console/Manifest
+++ b/dev-ruby/console/Manifest
@@ -1,2 +1,3 @@
DIST console-1.16.2.tar.gz 24609 BLAKE2B 470e6fb547e594d6e4add21c11bccca2d239d5430e148bdd99fe925d57058a3e7304b96c793c72a68ac3df3e285c1b7719b5a1e0db833350b0ef55ac17cca4f8 SHA512 fe32ea7b3ab11319fcefc098571e2a4fff2fec2a56c53880731ab15deca75e84c94cc30456fea264e6201996311dc705799814e5c1d7c32e7b7d786fcac9588e
DIST console-1.17.2.tar.gz 24861 BLAKE2B c738249eadafe43c4528ebf75d30b51aa1d015fb9fa6cefaa7302bce0d81ab431b4e84ed3d25b8c5376e64b5b1fb8154b91858e15ad72ce6cb746fd18818bb33 SHA512 1c734d335d3928ca580e274857df1d18c05ce254bfdf8401b7c40b391db7d134b6b6b0327e7bb29d5f7c37522335a33cb58a29cf53aabb36279fa601e581a891
+DIST console-1.17.4.tar.gz 24889 BLAKE2B 8e7a5bad0a6420787bc17f3819f78f8c3d73816c79ca3a80d89bac3e44865028f3544ffc63b0bd7c7ef81f6add3500ecb067c5dbba5d543fded960d18f30c355 SHA512 b9d8751cb11cce21570463687b60eeb65e5b808e9a905a90a0444fb06e9b8569b439230d87a2430f0050c25a5cec18a50684e577bdfefc5cb9bafbcd877c7b0d
diff --git a/dev-ruby/console/console-1.17.4.ebuild b/dev-ruby/console/console-1.17.4.ebuild
new file mode 100644
index 000000000000..e3712651f8a4
--- /dev/null
+++ b/dev-ruby/console/console-1.17.4.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby30 ruby31 ruby32"
+
+RUBY_FAKEGEM_EXTRADOC="readme.md"
+RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
+RUBY_FAKEGEM_RECIPE_TEST="sus"
+
+inherit ruby-fakegem
+
+DESCRIPTION="Beautiful logging for Ruby"
+HOMEPAGE="https://github.com/socketry/console"
+SRC_URI="https://github.com/socketry/console/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE=""
+
+ruby_add_rdepend "
+ dev-ruby/fiber-annotation
+ dev-ruby/fiber-local
+"
+
+all_ruby_prepare() {
+ sed -i -E 's/require_relative "(.+)"/require File.expand_path("\1")/g' "${RUBY_FAKEGEM_GEMSPEC}" || die
+
+ # Avoid dependency on covered.
+ rm -f config/sus.rb || die
+
+ # Avoid sandbox violation during tests
+ sed -i -e 's:/tmp/:'"${TMPDIR}"'/:' test/console/output.rb || die
+}
diff --git a/dev-ruby/gruff/Manifest b/dev-ruby/gruff/Manifest
index 39bf11ba1906..0cbd705ae18c 100644
--- a/dev-ruby/gruff/Manifest
+++ b/dev-ruby/gruff/Manifest
@@ -1,3 +1,4 @@
DIST gruff-0.19.0.tar.gz 25770103 BLAKE2B 6f1d45e03a4ca0a022c1f7313114bb87a06dc2265f1500fea703b2bb4dbbdba21336a63e4a10b166696baa37eb034977c7606817284f8abc06f8ce5bb4a4d6c2 SHA512 5028429c6b2d3551964190956cc5ce7e234b14aef94f8687fc9ac52aa810d98c9018ce5f1dfc04756936dfa47665d3566d53ec300523ca5786693ac99740d81f
DIST gruff-0.21.0.tar.gz 25770436 BLAKE2B a474c1f9a18d5b87c21e20921db8529d36c6d92d0b253b8df0c8242fb0018d222501a9489804112a819a17ecd50b5ef38c22d613560e048bcf2614e88b0fdb49 SHA512 9e189b5c5a23294045109888dc3322c34408f895088f113b77a3f2e577ef9bd359be450a96d709feb91c11afbb1b77a8c3d8d78f13f4515b74484b44c6cc9834
DIST gruff-0.22.0.tar.gz 25772970 BLAKE2B 3a56d03f0e9a53decfa7df3b6b5cc867cfe584548fe7b1435babde1486414bc97c4a46ad574692848df6483d01592e88d22ef64eb045f271df9c1e2f7c821fa0 SHA512 6d16f8a308289453eb4a51110946aca702c725e59a3ffb8c128610cbca7f521ae5cdea64ceaa0a3382b86fe2f1de74b2d33d2a49fa033728f2f5cbc474222758
+DIST gruff-0.23.0.tar.gz 25772848 BLAKE2B 5c0f6131ec52270e6a88c469d1ddf28701ca8e6f40277f094172e14f39faeed98af19d9e85c28a38b7ade5a6e35f21ba70bd9c8cb49a90edf434d9a9fb8c4371 SHA512 47e121b56cffb941063d127ba2b6e6de0dd0e8d5544263ca0234f7fcd782294fe972921a67407956674a97b9767651d7a2c33448d38887c05a40715a06cc1c54
diff --git a/dev-ruby/gruff/gruff-0.22.0.ebuild b/dev-ruby/gruff/gruff-0.22.0.ebuild
index 338ac632306e..cecc2b6e8230 100644
--- a/dev-ruby/gruff/gruff-0.22.0.ebuild
+++ b/dev-ruby/gruff/gruff-0.22.0.ebuild
@@ -21,7 +21,7 @@ SRC_URI="https://github.com/topfunky/gruff/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
IUSE=""
# imagemagick is an indirect dependency through rmagick. However, for
diff --git a/dev-ruby/gruff/gruff-0.23.0.ebuild b/dev-ruby/gruff/gruff-0.23.0.ebuild
new file mode 100644
index 000000000000..68b3bf8b8010
--- /dev/null
+++ b/dev-ruby/gruff/gruff-0.23.0.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+USE_RUBY="ruby30 ruby31 ruby32"
+
+RUBY_FAKEGEM_TASK_DOC=""
+
+RUBY_FAKEGEM_DOCDIR="doc"
+RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md"
+
+RUBY_FAKEGEM_EXTRAINSTALL="assets rails_generators"
+
+RUBY_FAKEGEM_GEMSPEC="gruff.gemspec"
+
+inherit ruby-fakegem
+
+DESCRIPTION="Beautiful graphs for one or multiple datasets"
+HOMEPAGE="https://github.com/topfunky/gruff"
+SRC_URI="https://github.com/topfunky/gruff/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+# imagemagick is an indirect dependency through rmagick. However, for
+# gruff to work properly imagemagick needs to be compiled with truetype
+# support and this cannot be expressed in the rmagick dependency. Tests
+# also require imagemagick to have jpeg and png support.
+DEPEND="${DEPEND} test? ( media-gfx/imagemagick[jpeg,png,truetype,webp] )"
+RDEPEND="${RDEPEND} media-gfx/imagemagick[truetype]"
+
+ruby_add_rdepend "dev-ruby/histogram >=dev-ruby/rmagick-5.3:*"
+ruby_add_bdepend "
+ test? (
+ dev-ruby/test-unit
+ )"
+
+all_ruby_prepare() {
+ sed -i -e '/\(reporters\|simplecov\)/I s:^:#:' test/gruff_test_case.rb || die
+ sed -i -e '2irequire "date"' test/test_scatter.rb || die
+
+ sed -e 's/git ls-files/find * -print/' \
+ -i ${RUBY_FAKEGEM_GEMSPEC} || die
+}
+
+each_ruby_test() {
+ # Skip the image comparison checks since the images are not
+ # pixel-perfect identical, most likely due to the use of a slightly
+ # different font.
+ SKIP_CHECK=true ${RUBY} -Ilib:. -e "Dir['test/test_*.rb'].each{|f| require f}" || die
+}
diff --git a/dev-ruby/lockfile/lockfile-2.1.3-r1.ebuild b/dev-ruby/lockfile/lockfile-2.1.3-r1.ebuild
index 3263324841a4..fcabfc184b4c 100644
--- a/dev-ruby/lockfile/lockfile-2.1.3-r1.ebuild
+++ b/dev-ruby/lockfile/lockfile-2.1.3-r1.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-USE_RUBY="ruby26 ruby27 ruby30 ruby31"
+USE_RUBY="ruby30 ruby31 ruby32"
RUBY_FAKEGEM_TASK_TEST=""
RUBY_FAKEGEM_TASK_DOC=""
diff --git a/dev-ruby/rbpdf-font/Manifest b/dev-ruby/rbpdf-font/Manifest
index 7cc2dbe5d1a0..74e68c2b2ef4 100644
--- a/dev-ruby/rbpdf-font/Manifest
+++ b/dev-ruby/rbpdf-font/Manifest
@@ -1 +1,2 @@
DIST rbpdf-font-1.19.1.gem 9571840 BLAKE2B 6e362148514e2c4f5794e81b01bd725ffc5c89dbaec30b053979e87206a137151aabfb7a577344144cbd225ece695e49e8b43595b6e5a89eaca300d468ae96bc SHA512 e678df3b58f32f6670bd79e8ebed0856a5fdbab766c32c8667c80358f899625445e9f6829652f13b64d4c79c5af15dd3dde9849dfe86c4f14e45b8750e71e3b7
+DIST rbpdf-font-1.19.1.tar.gz 12021768 BLAKE2B edc3a9a88300bcd89c7fe30f19081cfe478897aa6aced2b94dcd55cfd4fa29ba72ce8c582579f90cc8e1d66017ea2f163a6aa9e06d50476be77b09a686900683 SHA512 a3f137f937c2a33c68c7dd9990215a64762b5bdd736dec8c3208c285719aa5bc79d2ea5687c5b224e950b95ed4772ce0ebde0d883fb3c911ad7fa442c4f18e7b
diff --git a/dev-ruby/rbpdf-font/rbpdf-font-1.19.1-r2.ebuild b/dev-ruby/rbpdf-font/rbpdf-font-1.19.1-r2.ebuild
new file mode 100644
index 000000000000..0d6e19246029
--- /dev/null
+++ b/dev-ruby/rbpdf-font/rbpdf-font-1.19.1-r2.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# This gem bundles dejavu fonts, freefonts
+
+USE_RUBY="ruby30 ruby31 ruby32"
+
+RUBY_FAKEGEM_EXTRADOC="CHANGELOG"
+RUBY_FAKEGEM_GEMSPEC="rbpdf-font.gemspec"
+
+inherit ruby-fakegem toolchain-funcs
+
+DESCRIPTION="Font files for the Ruby on Rails RBPDF plugin"
+HOMEPAGE="https://github.com/naitoh/rbpdf"
+SRC_URI="https://github.com/naitoh/rbpdf/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+RUBY_S="rbpdf-${PV}/rbpdf-font"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+ruby_add_bdepend ">=dev-ruby/test-unit-3:2"
+
+all_ruby_prepare() {
+ sed -i -e "/bundler/d" Rakefile || die
+ sed -i -e '2igem "test-unit", "~>3.0"' test/test_helper.rb || die
+
+ pushd lib/fonts/src || die
+ tar xf ttf2ufm-src.tar.gz || die
+ emake -C ttf2ufm-src clean
+ sed -i -e '/^CFLAGS_SYS=/ s/-O/$(CFLAGS)/' -e '/CFLAGS.*LIBS/ s/CFLAGS/LDFLAGS/' ttf2ufm-src/Makefile || die
+ popd || die
+}
+
+each_ruby_prepare() {
+ rm -rf lib/fonts/src || die
+}
+
+all_ruby_compile() {
+ emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" -C lib/fonts/src/ttf2ufm-src
+}
+
+each_ruby_install() {
+ cp "${WORKDIR}/all/${RUBY_S}/lib/fonts/src/ttf2ufm-src/ttf2pt1" lib/fonts/ttf2ufm/ttf2ufm || die
+
+ each_fakegem_install
+}
diff --git a/dev-ruby/rmagick/Manifest b/dev-ruby/rmagick/Manifest
index 26251b8e0188..72e92fc75750 100644
--- a/dev-ruby/rmagick/Manifest
+++ b/dev-ruby/rmagick/Manifest
@@ -1,2 +1,3 @@
DIST rmagick-4.3.0.tar.gz 1986554 BLAKE2B bf6afb0b19a98f45dd9f3a8261b67ad05ed774784e9fb19009a83c266c16362b4938acd8b0af6a07d3a37fb255fb5bee7a33b7f26c2c49460d546665a98a7871 SHA512 1b108d61b836bf382c9776badc45614ff88ca74176595765c3caba00cc6af0f955dd6f7649a9f97698832193d85292bc22ff0bf290d0bfbf9e8faa58b99b0b1c
DIST rmagick-5.2.0.tar.gz 1991303 BLAKE2B 131e0a9ac1e56942b1281f1ce1a62c86e6997fcbc3f162fc4afea897831003bee2e010a27b6ab4f59331b720ff06d61c07b0ae9ce5327752658627adaab0ccad SHA512 9c7262db329869f33c6ae27980a86bd24b7a4a72d7b826eb3e75d28571d954ff5cba6c7ac86a0540663c9ddf2a8185ca3007d3c2ac5cc5339e4cc327e5f7910f
+DIST rmagick-5.3.0.tar.gz 2018036 BLAKE2B 204ece4d3794ef43b02855cce2f11e0194d2a81e400c1c2ef2af824359b8b4566eda93caba6269ad6b283af60d99ad403ab6ba8e972153e8f20d208ce0c48ad6 SHA512 dcc9e0d7cd77ebd3859871f26449c37839f9102e7aa4f0746698cbd6fe93579c3adbe6cfefeba6cdcb53e573f5113b872d03fcd568bb80edda5c8ca9c1ab1665
diff --git a/dev-ruby/rmagick/rmagick-5.3.0.ebuild b/dev-ruby/rmagick/rmagick-5.3.0.ebuild
new file mode 100644
index 000000000000..4df4dffb9f10
--- /dev/null
+++ b/dev-ruby/rmagick/rmagick-5.3.0.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+USE_RUBY="ruby30 ruby31 ruby32"
+
+RUBY_FAKEGEM_RECIPE_TEST="rspec3"
+
+RUBY_FAKEGEM_TASK_DOC=""
+
+RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md"
+
+RUBY_FAKEGEM_GEMSPEC="rmagick.gemspec"
+
+RUBY_FAKEGEM_EXTENSIONS=(ext/RMagick/extconf.rb)
+
+MY_PV=RMagick_${PV//\./-}
+
+inherit ruby-fakegem
+
+DESCRIPTION="An interface between Ruby and the ImageMagick(TM) image processing library"
+HOMEPAGE="https://github.com/rmagick/rmagick"
+SRC_URI="https://github.com/rmagick/rmagick/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+RUBY_S="rmagick-${MY_PV}"
+
+LICENSE="Artistic"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86"
+IUSE="doc"
+
+RDEPEND+=" >=media-gfx/imagemagick-6.9.0:="
+DEPEND+=" >=media-gfx/imagemagick-6.9.0 test? ( >=media-gfx/imagemagick-7.1.0:=[jpeg,lqr,lcms,postscript,tiff,webp] )"
+
+ruby_add_bdepend "dev-ruby/pkg-config"
+
+all_ruby_prepare() {
+ # Avoid unused dependency on rake-compiler. This also avoids an
+ # extra compile during tests.
+ sed -i -e '/extensiontask/ s:^:#:' \
+ -e '/ExtensionTask/,/end/ s:^:#:' \
+ -e '/compile/ s:^:#:' Rakefile || die
+ sed -i -e '/pry/ s:^:#:' -e '5irequire "tempfile"' spec/spec_helper.rb || die
+ sed -i -e 's/git ls-files/find */' ${RUBY_FAKEGEM_GEMSPEC} || die
+
+ # Squelch harmless warning about imagemagick installation.
+ sed -i -e '/prefix/ s:ImageMagick:ImageMagick-6:' ext/RMagick/extconf.rb || die
+
+ # Create directory used for a test
+ mkdir tmp
+}
+
+each_ruby_test() {
+ # Borrowed from media-gfx/gscan2pdf
+ # Needed to avoid test failures on e.g. ppc, bug #815856
+ # (Unclear why it doesn't manifest on amd64 here at least)
+ local confdir="${HOME}/.config/ImageMagick"
+ mkdir -p "${confdir}" || die
+ cat > "${confdir}/policy.xml" <<-EOT || die
+ <policymap>
+ <policy domain="coder" rights="read|write" pattern="PDF" />
+ <policy domain="coder" rights="read" pattern="PS" />
+ </policymap>
+ EOT
+
+ RSPEC_VERSION="3" ruby-ng_rspec
+}
+
+all_ruby_install() {
+ all_fakegem_install
+
+ docinto examples
+ dodoc examples/*
+
+ if use doc ; then
+ docinto .
+ dodoc -r doc
+ fi
+}
diff --git a/dev-ruby/shoulda/shoulda-3.6.0-r3.ebuild b/dev-ruby/shoulda/shoulda-3.6.0-r3.ebuild
new file mode 100644
index 000000000000..dc60ed190d3a
--- /dev/null
+++ b/dev-ruby/shoulda/shoulda-3.6.0-r3.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby30 ruby31 ruby32"
+
+RUBY_FAKEGEM_TASK_DOC=""
+RUBY_FAKEGEM_EXTRADOC="README.md"
+
+RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
+
+inherit ruby-fakegem
+
+DESCRIPTION="Making tests easy on the fingers and eyes"
+HOMEPAGE="https://github.com/thoughtbot/shoulda"
+SRC_URI="https://github.com/thoughtbot/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="3"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE=""
+
+# This now more or less a meta-gem and it only contains features for
+# integration tests using Appraisals, which we don't currently package.
+RESTRICT=test
+
+ruby_add_rdepend ">=dev-ruby/shoulda-context-1.0.1:0
+ dev-ruby/shoulda-matchers:3"
+
+all_ruby_prepare() {
+ sed -e '/executables/,/^ end/d ; /test_files/d; s/git ls-files/find * -print/' -i ${RUBY_FAKEGEM_GEMSPEC} || die
+}