diff options
Diffstat (limited to 'dev-ruby')
21 files changed, 153 insertions, 185 deletions
diff --git a/dev-ruby/async-container/async-container-0.16.12.ebuild b/dev-ruby/async-container/async-container-0.16.12.ebuild index bacc76a095b5..6b00d4b10d4a 100644 --- a/dev-ruby/async-container/async-container-0.16.12.ebuild +++ b/dev-ruby/async-container/async-container-0.16.12.ebuild @@ -3,18 +3,20 @@ EAPI=8 -USE_RUBY="ruby26 ruby27 ruby30 ruby31" +USE_RUBY="ruby27 ruby30 ruby31" + RUBY_FAKEGEM_RECIPE_TEST="rspec3" RUBY_FAKEGEM_EXTRADOC="README.md" RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec" + inherit ruby-fakegem DESCRIPTION="Abstract container-based parallelism using threads and processes" HOMEPAGE="https://github.com/socketry/async-container" -SRC_URI="https://github.com/socketry/async-container/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI="https://github.com/socketry/async-container/archive/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="MIT" -SLOT="$(ver_cut 1)/$(ver_cut 1-2)" +SLOT="$(ver_cut 1)" KEYWORDS="~amd64 ~sparc" IUSE="" @@ -33,7 +35,8 @@ all_ruby_prepare() { # so we can't just wipe out gems.rb as usual. also must remove covered from gemspec # for this reason. sed -i -E 's/gem ".+"//g' "gems.rb" || die - sed -i -E 's/spec.add_development_dependency "covered"//g' "${RUBY_FAKEGEM_GEMSPEC}" || die + sed -i -e '/spec.add_development_dependency "covered"/ s:^:#:' ${RUBY_FAKEGEM_GEMSPEC} || die - sed -i -E 's/require '"'"'covered\/rspec'"'"'//g' "spec/spec_helper.rb" || die + # Avoid test dependency on unpackaged covered + sed -i -e '/covered/ s:^:#:' spec/spec_helper.rb || die } diff --git a/dev-ruby/async-io/async-io-1.34.0.ebuild b/dev-ruby/async-io/async-io-1.34.0.ebuild index 75b432695d8b..b69e9ffdfcb0 100644 --- a/dev-ruby/async-io/async-io-1.34.0.ebuild +++ b/dev-ruby/async-io/async-io-1.34.0.ebuild @@ -3,15 +3,17 @@ EAPI=8 -USE_RUBY="ruby26 ruby27 ruby30 ruby31" +USE_RUBY="ruby27 ruby30 ruby31" + RUBY_FAKEGEM_RECIPE_TEST="rspec3" RUBY_FAKEGEM_EXTRA_DOC="README.md" RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec" + inherit ruby-fakegem DESCRIPTION="Provides support for asynchonous TCP, UDP, UNIX and SSL sockets" HOMEPAGE="https://github.com/socketry/async-io" -SRC_URI="https://github.com/socketry/async-io/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI="https://github.com/socketry/async-io/archive/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="MIT" SLOT="$(ver_cut 1)/$(ver_cut 1-2)" @@ -28,5 +30,7 @@ ruby_add_bdepend "test? ( all_ruby_prepare() { sed -i -E 's/require_relative "(.+)"/require File.expand_path("\1")/g' "${RUBY_FAKEGEM_GEMSPEC}" || die - sed -i -E 's/require '"'"'covered\/rspec'"'"'//g' "spec/spec_helper.rb" || die + + # Avoid test dependency on covered + sed -i -e '/covered/ s:^:#:' spec/spec_helper.rb || die } diff --git a/dev-ruby/async-rspec/async-rspec-1.16.1.ebuild b/dev-ruby/async-rspec/async-rspec-1.16.1.ebuild index c920dff8061b..12f48d519fe1 100644 --- a/dev-ruby/async-rspec/async-rspec-1.16.1.ebuild +++ b/dev-ruby/async-rspec/async-rspec-1.16.1.ebuild @@ -3,24 +3,26 @@ EAPI=8 -USE_RUBY="ruby26 ruby27 ruby30 ruby31" +USE_RUBY="ruby27 ruby30 ruby31" + RUBY_FAKEGEM_RECIPE_TEST="rspec3" RUBY_FAKEGEM_EXTRADOC="README.md" RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec" + inherit ruby-fakegem DESCRIPTION="Helpers for writing specs against the async gem" HOMEPAGE="https://github.com/socketry/async-rspec" -SRC_URI="https://github.com/socketry/async-rspec/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI="https://github.com/socketry/async-rspec/archive/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="MIT" -SLOT="$(ver_cut 1)/$(ver_cut 1-2)" +SLOT="$(ver_cut 1)" KEYWORDS="~amd64 ~sparc" IUSE="" -ruby_add_rdepend ">=dev-ruby/rspec-3.0:3 - >=dev-ruby/rspec-files-1.0:1 - >=dev-ruby/rspec-memory-1.0:1 +ruby_add_rdepend "dev-ruby/rspec:3 + dev-ruby/rspec-files:1 + dev-ruby/rspec-memory:1 " ruby_add_bdepend "test? ( @@ -30,5 +32,7 @@ ruby_add_bdepend "test? ( all_ruby_prepare() { sed -i -E 's/require_relative "(.+)"/require File.expand_path("\1")/g' "${RUBY_FAKEGEM_GEMSPEC}" || die - sed -i -E 's/require '"'"'covered\/rspec'"'"'//g' "spec/spec_helper.rb" || die + + # Avoid dependency on unpackaged covered + sed -i -e '/covered/ s:^:#:' spec/spec_helper.rb || die } diff --git a/dev-ruby/async/Manifest b/dev-ruby/async/Manifest index 2d7531f0b811..ad41c68e4fa9 100644 --- a/dev-ruby/async/Manifest +++ b/dev-ruby/async/Manifest @@ -1,2 +1,2 @@ DIST async-1.30.3.tar.gz 92599 BLAKE2B 69db66676adf2dd0f77142bffc55b1e90a6983c53c7fac444f72b9365f6907e4d2ec45579ea267f3a8f31fc45af63c3517908c353749b288d1873e2cf720f96b SHA512 337a51ca8fd0e6685528e2eca9b584344ba583f7254f2600110ee62da6e4ccabeb471e7d94f36ab6f8d0eb3eada9e23335a262a50c8d035f67708fce0a590e5e -DIST async-2.1.0.tar.gz 75110 BLAKE2B 6226cd64f62d42a57d46f1c31287e403af5c645343a2de899a090f986e2b669dc96f1019629cf32ed46809fbfcbb5716375ef4560358676759dcad0e17d02849 SHA512 85f02004f7851757425f6e30c364ad9cb52ac4ad4559fa3a4a9b933fc5df1f10f6975233df6057da479dc28b5188d9e6d0b70e215a4a99b7864938260571089c +DIST async-2.2.1.tar.gz 75671 BLAKE2B a652bbb99d49c569fd864015059391a013f35c888be1e3b32ae06900bb861274390543c64ac9687689cb012c9b4c82df7764e4aaa50d2e76b595fdc7736ec8f5 SHA512 329862fa30f56371092666bef199b949e6325d99696a7ef2029cf9524a5cea31fc361cfaf438e15731c8e09c06ca47261fd3fcdce306a464332def9897c8dec5 diff --git a/dev-ruby/async/async-1.30.3.ebuild b/dev-ruby/async/async-1.30.3.ebuild index f4164212833c..0624935ba1a7 100644 --- a/dev-ruby/async/async-1.30.3.ebuild +++ b/dev-ruby/async/async-1.30.3.ebuild @@ -3,18 +3,20 @@ EAPI=8 -USE_RUBY="ruby26 ruby27 ruby30 ruby31" +USE_RUBY="ruby27 ruby30 ruby31" + RUBY_FAKEGEM_RECIPE_TEST="rspec3" RUBY_FAKEGEM_EXTRADOC="README.md" RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec" + inherit ruby-fakegem DESCRIPTION="A concurrency framework for Ruby" HOMEPAGE="https://github.com/socketry/async" -SRC_URI="https://github.com/socketry/async/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI="https://github.com/socketry/async/archive/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="MIT" -SLOT="$(ver_cut 1)/$(ver_cut 1-2)" +SLOT="$(ver_cut 1)" KEYWORDS="~amd64 ~sparc" IUSE="" @@ -30,11 +32,9 @@ ruby_add_bdepend "test? ( all_ruby_prepare() { sed -i -E 's/require_relative "(.+)"/require File.expand_path("\1")/g' "${RUBY_FAKEGEM_GEMSPEC}" || die - # network tests - rm -f "spec/async/scheduler_spec.rb" "spec/async/scheduler/address_spec.rb" "spec/async/scheduler/io_spec.rb" || die - - # broken on ruby 3.x - rm -f "spec/async/condition_spec.rb" "spec/async/notification_spec.rb" || die + # Avoid network tests + sed -i -e '/can fetch website using Net::HTTP/askip "requires network"' spec/async/scheduler_spec.rb || die - sed -i -E 's/require '"'"'covered\/rspec'"'"'//g' "spec/spec_helper.rb" || die + # Avoid test dependency on unpackaged covered + sed -i -e '/covered/ s:^:#:' spec/spec_helper.rb || die } diff --git a/dev-ruby/async/async-2.1.0.ebuild b/dev-ruby/async/async-2.2.1.ebuild index 07e5ba91db6c..6e2688dbe2b7 100644 --- a/dev-ruby/async/async-2.1.0.ebuild +++ b/dev-ruby/async/async-2.2.1.ebuild @@ -4,14 +4,16 @@ EAPI=8 USE_RUBY="ruby31" + RUBY_FAKEGEM_RECIPE_TEST="rspec3" RUBY_FAKEGEM_EXTRADOC="readme.md" RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec" + inherit ruby-fakegem DESCRIPTION="A concurrency framework for Ruby" HOMEPAGE="https://github.com/socketry/async" -SRC_URI="https://github.com/socketry/async/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI="https://github.com/socketry/async/archive/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="MIT" SLOT="$(ver_cut 1)" @@ -19,7 +21,7 @@ KEYWORDS="~amd64 ~sparc" IUSE="" ruby_add_rdepend ">=dev-ruby/console-1.10:1 - >=dev-ruby/io-event-1.0.0:1/1.0 + dev-ruby/io-event:1.1 >=dev-ruby/timers-4.1:4" ruby_add_bdepend "test? ( diff --git a/dev-ruby/console/Manifest b/dev-ruby/console/Manifest index 694623a35a8b..d6b5971685de 100644 --- a/dev-ruby/console/Manifest +++ b/dev-ruby/console/Manifest @@ -1 +1 @@ -DIST console-1.15.3.tar.gz 23089 BLAKE2B 8387b0dc8ee84df3ce930ef79fcfec9e9b947b946770535beeb16fe58496c30134862b6a3fb48a842b321ab2ec493b1e4f9ec3462bdce04aa35066672ee55699 SHA512 c1d7fc987f3f6df3506c85c64d3c93b3eae6b5eca64ac7de2cf7cc0cb5572c102ebd6909d993d9d683081063ff8b7f2de46fefa255491adc47b88f13ff24ea67 +DIST console-1.16.2.tar.gz 24609 BLAKE2B 470e6fb547e594d6e4add21c11bccca2d239d5430e148bdd99fe925d57058a3e7304b96c793c72a68ac3df3e285c1b7719b5a1e0db833350b0ef55ac17cca4f8 SHA512 fe32ea7b3ab11319fcefc098571e2a4fff2fec2a56c53880731ab15deca75e84c94cc30456fea264e6201996311dc705799814e5c1d7c32e7b7d786fcac9588e diff --git a/dev-ruby/console/console-1.15.3.ebuild b/dev-ruby/console/console-1.16.2.ebuild index f6370717fffc..50e90567a98c 100644 --- a/dev-ruby/console/console-1.15.3.ebuild +++ b/dev-ruby/console/console-1.16.2.ebuild @@ -3,26 +3,36 @@ EAPI=8 -USE_RUBY="ruby26 ruby27 ruby30 ruby31" -RUBY_FAKEGEM_RECIPE_TEST="rspec3" -RUBY_FAKEGEM_EXTRADOC="README.md" +USE_RUBY="ruby27 ruby30 ruby31" + +RUBY_FAKEGEM_EXTRADOC="readme.md" RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec" + inherit ruby-fakegem DESCRIPTION="Beautiful logging for Ruby" HOMEPAGE="https://github.com/socketry/console" -SRC_URI="https://github.com/socketry/console/archive/fc6ecb94bc02b8b75003fc31f0a8b3e1e43cafcf.tar.gz -> ${P}.tar.gz" +SRC_URI="https://github.com/socketry/console/archive/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="MIT" -SLOT="$(ver_cut 1)/$(ver_cut 1-2)" +SLOT="$(ver_cut 1)" KEYWORDS="~amd64 ~sparc" IUSE="" -RUBY_S="${PN}-fc6ecb94bc02b8b75003fc31f0a8b3e1e43cafcf" ruby_add_rdepend "dev-ruby/fiber-local" +ruby_add_bdepend "test? ( dev-ruby/sus )" + all_ruby_prepare() { sed -i -E 's/require_relative "(.+)"/require File.expand_path("\1")/g' "${RUBY_FAKEGEM_GEMSPEC}" || die - rm -f "gems.rb" || die - sed -i -E 's/require '"'"'covered\/rspec'"'"'//g' "spec/spec_helper.rb" || 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 +} + +each_ruby_test() { + ${RUBY} -S sus-parallel || die } diff --git a/dev-ruby/ffi/ffi-1.15.5-r1.ebuild b/dev-ruby/ffi/ffi-1.15.5-r1.ebuild index 82b8c9596f94..d66a01524c87 100644 --- a/dev-ruby/ffi/ffi-1.15.5-r1.ebuild +++ b/dev-ruby/ffi/ffi-1.15.5-r1.ebuild @@ -24,7 +24,7 @@ SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${PN}-git-${PV} IUSE="" LICENSE="BSD" SLOT="0" -KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" PATCHES=( "${FILESDIR}/backport-pr-962.patch" "${FILESDIR}/pr-957-sparc.patch" # submitted upstream as https://github.com/ffi/ffi/pull/957 diff --git a/dev-ruby/fiber-local/fiber-local-1.0.0.ebuild b/dev-ruby/fiber-local/fiber-local-1.0.0.ebuild index ad2959e09769..01bad3892d98 100644 --- a/dev-ruby/fiber-local/fiber-local-1.0.0.ebuild +++ b/dev-ruby/fiber-local/fiber-local-1.0.0.ebuild @@ -3,10 +3,12 @@ EAPI=8 -USE_RUBY="ruby26 ruby27 ruby30 ruby31" +USE_RUBY="ruby27 ruby30 ruby31" + RUBY_FAKEGEM_RECIPE_TEST="rspec3" RUBY_FAKEGEM_EXTRADOC="README.md" RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec" + inherit ruby-fakegem DESCRIPTION="Provides a class-level mixin to make fiber local state easy" @@ -14,12 +16,12 @@ HOMEPAGE="https://github.com/socketry/fiber-local" SRC_URI="https://github.com/socketry/fiber-local/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="MIT" -SLOT="$(ver_cut 1)/$(ver_cut 1-2)" +SLOT="$(ver_cut 1)" KEYWORDS="~amd64 ~sparc" IUSE="" all_ruby_prepare() { sed -i -E 's/require_relative "(.+)"/require File.expand_path("\1")/g' "${RUBY_FAKEGEM_GEMSPEC}" || die - rm -f "gems.rb" || die - sed -i -E 's/require '"'"'covered\/rspec'"'"'//g' "spec/spec_helper.rb" || die + + sed -i -e '/\(bundler\|covered\)/ s:^:#:' spec/spec_helper.rb || die } diff --git a/dev-ruby/io-event/Manifest b/dev-ruby/io-event/Manifest index 082d5fee6a19..6540117d205b 100644 --- a/dev-ruby/io-event/Manifest +++ b/dev-ruby/io-event/Manifest @@ -1 +1 @@ -DIST io-event-1.0.9.tar.gz 31984 BLAKE2B 543c460cde5ac269607e4d7ec54962879141d40d9592433a55d53e89b2a43bce4f161c1e4b21322a9b3fe60d5ab77e35692a19f899b9210d06fbcf185bca83de SHA512 d2b5903e68425bb23a7a9b861e76b2d125b9cf53f81ca0120ded010559ca26f3af002b5da28092245e00e8d9b81e94bdda72b2ea607cfae27a1e48e3f1a39130 +DIST io-event-1.1.2.tar.gz 34305 BLAKE2B 8e7814ada38c4a766f413373e0ef5b0c94a1b94342667a25c59bf8925fed791c3dc527bf63f02a9e40297abcdde730047a3a80104ac9d9f12ea648e5842ea851 SHA512 68a9c01f8075117767cdcacb095f9587118f86cc536d94a990b55e63e7f5213c350556486c45e2687db2ac810d48dc1d9aa28e994ef6ae0229f7b258d0b92aa2 diff --git a/dev-ruby/io-event/io-event-1.0.9.ebuild b/dev-ruby/io-event/io-event-1.1.2.ebuild index d0b6cc652fb7..107271412ff8 100644 --- a/dev-ruby/io-event/io-event-1.0.9.ebuild +++ b/dev-ruby/io-event/io-event-1.1.2.ebuild @@ -4,28 +4,31 @@ EAPI=8 USE_RUBY="ruby30 ruby31" -RUBY_FAKEGEM_EXTENSIONS="ext/extconf.rb" -RUBY_FAKEGEM_RECIPE_TEST="" -RUBY_FAKEGEM_EXTRADOC="README.md" + +RUBY_FAKEGEM_EXTENSIONS=(ext/extconf.rb) +RUBY_FAKEGEM_EXTRADOC="readme.md" RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec" + inherit ruby-fakegem DESCRIPTION="An event loop" HOMEPAGE="https://github.com/socketry/io-event" -SRC_URI="https://github.com/socketry/io-event/archive/68cffe24077a53201acbb383e8e132b192e1fa83.tar.gz -> ${P}.tar.gz" +SRC_URI="https://github.com/socketry/io-event/archive/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="MIT" -SLOT="$(ver_cut 1)/$(ver_cut 1-2)" +SLOT="$(ver_cut 1-2)" KEYWORDS="~amd64 ~sparc" IUSE="" -RUBY_S="${PN}-68cffe24077a53201acbb383e8e132b192e1fa83" ruby_add_bdepend "test? ( >=dev-ruby/sus-0.6:0 )" all_ruby_prepare() { sed -i -E 's/require_relative "(.+)"/require File.expand_path("\1")/g' "${RUBY_FAKEGEM_GEMSPEC}" || die + + # Avoid dependency on unpackaged covered package + rm -f config/sus.rb || die } each_ruby_test() { - "${RUBY}" -S sus-parallel || die + ${RUBY} -S sus-parallel || die } diff --git a/dev-ruby/rack-test/rack-test-1.1.0-r1.ebuild b/dev-ruby/rack-test/rack-test-1.1.0-r1.ebuild index 4197fc6b4827..a9e10dbead89 100644 --- a/dev-ruby/rack-test/rack-test-1.1.0-r1.ebuild +++ b/dev-ruby/rack-test/rack-test-1.1.0-r1.ebuild @@ -2,7 +2,8 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=8 -USE_RUBY="ruby26 ruby27 ruby30 ruby31" + +USE_RUBY="ruby27 ruby30" RUBY_FAKEGEM_RECIPE_TEST="rspec3" diff --git a/dev-ruby/rspec-files/Manifest b/dev-ruby/rspec-files/Manifest index 7c1bfd853e3d..f5636ea18e38 100644 --- a/dev-ruby/rspec-files/Manifest +++ b/dev-ruby/rspec-files/Manifest @@ -1 +1,2 @@ DIST rspec-files-1.1.2.tar.gz 4546 BLAKE2B fc3c3cc2acbac23e36ec6f85f6f58c8243f9ca769a16cfbdab6a4660dd9a22ba40fe1108b319206e9a6b5aaa4094ec372205ca33d00d2030476f1050448ef21d SHA512 af64435572b61ae4eaaed922160b8db5dca8a64987a3c24f2d15d1ec92abd2655d0e408ff2c7b4aeae29189ef1047901adc7c9e2af8a21f65dfafc974a4661ec +DIST rspec-files-1.1.3.tar.gz 6006 BLAKE2B 30f648f1d364532f81ed169a9f1e32d0cd9cd641093f8aad90b3aa4b239ee30d38ef3331136c47787203dceeada25a499bb0b1f42b08dacffb431835dbfa9698 SHA512 c2c79d0b0cef7db64e83e3335a552f437f2e1a12d703936a2d9dc8b8c81ebf69913302d1d5f65e1485fb0295af8b098c8b25ad4c335a7f8f3d31e0f086d46d2d diff --git a/dev-ruby/rspec-files/rspec-files-1.1.3.ebuild b/dev-ruby/rspec-files/rspec-files-1.1.3.ebuild new file mode 100644 index 000000000000..ba009773ff09 --- /dev/null +++ b/dev-ruby/rspec-files/rspec-files-1.1.3.ebuild @@ -0,0 +1,31 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +USE_RUBY="ruby27 ruby30 ruby31" + +RUBY_FAKEGEM_RECIPE_TEST="rspec3" +RUBY_FAKEGEM_EXTRADOC="readme.md" +RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec" + +inherit ruby-fakegem + +DESCRIPTION="RSpec helpers for buffering and detecting file descriptor leaks" +HOMEPAGE="https://github.com/socketry/rspec-files" +SRC_URI="https://github.com/socketry/rspec-files/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="$(ver_cut 1)" +KEYWORDS="~amd64 ~sparc" +IUSE="" + +ruby_add_rdepend "dev-ruby/rspec:3" + +all_ruby_prepare() { + sed -i -E 's/require_relative "(.+)"/require File.expand_path("\1")/g' ${RUBY_FAKEGEM_GEMSPEC} || die + #sed -i -E 's/require '"'"'covered\/rspec'"'"'//g' "spec/spec_helper.rb" || die + + # Avoid a test dependency on unpackaged covered + sed -i -e '/covered/ s:^:#:' spec/spec_helper.rb || die +} diff --git a/dev-ruby/rspec-memory/rspec-memory-1.0.3.ebuild b/dev-ruby/rspec-memory/rspec-memory-1.0.3.ebuild index 0c30ccc070b1..96306ea5836b 100644 --- a/dev-ruby/rspec-memory/rspec-memory-1.0.3.ebuild +++ b/dev-ruby/rspec-memory/rspec-memory-1.0.3.ebuild @@ -3,15 +3,17 @@ EAPI=8 -USE_RUBY="ruby26 ruby27 ruby30 ruby31" +USE_RUBY="ruby27 ruby30 ruby31" + RUBY_FAKEGEM_RECIPE_TEST="rspec3" RUBY_FAKEGEM_EXTRADOC="README.md" RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec" + inherit ruby-fakegem DESCRIPTION="RSpec helpers for checking memory allocations" HOMEPAGE="https://github.com/socketry/rspec-memory" -SRC_URI="https://github.com/socketry/rspec-memory/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI="https://github.com/socketry/rspec-memory/archive/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="MIT" SLOT="$(ver_cut 1)" @@ -22,5 +24,7 @@ ruby_add_rdepend "dev-ruby/rspec:3" all_ruby_prepare() { sed -i -E 's/require_relative "(.+)"/require File.expand_path("\1")/g' "${RUBY_FAKEGEM_GEMSPEC}" || die - sed -i -E 's/require '"'"'covered\/rspec'"'"'//g' "spec/spec_helper.rb" || die + + # Avoid test dependency on unpackaged covered + sed -i -e '/covered/ s:^:#:' spec/spec_helper.rb || die } diff --git a/dev-ruby/sinatra/files/backport-pr-1519.patch b/dev-ruby/sinatra/files/backport-pr-1519.patch deleted file mode 100644 index cc344621c3b6..000000000000 --- a/dev-ruby/sinatra/files/backport-pr-1519.patch +++ /dev/null @@ -1,122 +0,0 @@ -https://github.com/sinatra/sinatra/pull/1519 - -From 6d34a2a1bee48961c25e1b53edac874a31c42060 Mon Sep 17 00:00:00 2001 -From: Jordan Owens <jkowens@gmail.com> -Date: Thu, 31 Jan 2019 22:32:45 -0500 -Subject: [PATCH] Internal Sinatra errors now extend Sinatra::Error - -By extending Sinatra::Error, an error class can set the http status -code on the response to a value other than 500. This commit fixes -issues #1204 and #1518 where an error raised by a third party library -that responded to http_status could set the status on the response. -Any error outside of Sinatra errors will now always return a 500 status. - -This fixes an issue where an exception could leak sensitive data in -the message to the browser. Errors that have http_status code 400 or -404 use the message as the body of the response. This is why it is -imperative that these errors extend Sinatra::Error so that this is -an explicit decision. ---- - lib/sinatra/base.rb | 22 ++++++++++++++-------- - test/mapped_error_test.rb | 6 +++--- - test/result_test.rb | 15 +++++++++++++++ - 3 files changed, 32 insertions(+), 11 deletions(-) - -diff --git a/lib/sinatra/base.rb b/lib/sinatra/base.rb -index 6dbb3ae57..4dfc9a8ae 100644 ---- a/lib/sinatra/base.rb -+++ b/lib/sinatra/base.rb -@@ -255,11 +255,14 @@ def call(env) - end - end - -- class BadRequest < TypeError #:nodoc: -+ class Error < StandardError #:nodoc: -+ end -+ -+ class BadRequest < Error #:nodoc: - def http_status; 400 end - end - -- class NotFound < NameError #:nodoc: -+ class NotFound < Error #:nodoc: - def http_status; 404 end - end - -@@ -1149,14 +1152,17 @@ def handle_exception!(boom) - end - @env['sinatra.error'] = boom - -- if boom.respond_to? :http_status and boom.http_status.between? 400, 599 -- status(boom.http_status) -- elsif settings.use_code? and boom.respond_to? :code and boom.code.between? 400, 599 -- status(boom.code) -- else -- status(500) -+ http_status = if boom.kind_of? Sinatra::Error -+ if boom.respond_to? :http_status -+ boom.http_status -+ elsif settings.use_code? && boom.respond_to?(:code) -+ boom.code -+ end - end - -+ http_status = 500 unless http_status && http_status.between?(400, 599) -+ status(http_status) -+ - if server_error? - dump_errors! boom if settings.dump_errors? - raise boom if settings.show_exceptions? and settings.show_exceptions != :after_handler -diff --git a/test/mapped_error_test.rb b/test/mapped_error_test.rb -index cb158a268..562e509dc 100644 ---- a/test/mapped_error_test.rb -+++ b/test/mapped_error_test.rb -@@ -6,15 +6,15 @@ class FooError < RuntimeError - class FooNotFound < Sinatra::NotFound - end - --class FooSpecialError < RuntimeError -+class FooSpecialError < Sinatra::Error - def http_status; 501 end - end - --class FooStatusOutOfRangeError < RuntimeError -+class FooStatusOutOfRangeError < Sinatra::Error - def code; 4000 end - end - --class FooWithCode < RuntimeError -+class FooWithCode < Sinatra::Error - def code; 419 end - end - -diff --git a/test/result_test.rb b/test/result_test.rb -index cbb781319..67d163fc4 100644 ---- a/test/result_test.rb -+++ b/test/result_test.rb -@@ -1,5 +1,9 @@ - require File.expand_path('../helper', __FILE__) - -+class ThirdPartyError < RuntimeError -+ def http_status; 400 end -+end -+ - class ResultTest < Minitest::Test - it "sets response.body when result is a String" do - mock_app { get('/') { 'Hello World' } } -@@ -73,4 +77,15 @@ def res.each ; yield call ; end - assert_equal 205, status - assert_equal '', body - end -+ -+ it "sets status to 500 when raised error is not Sinatra::Error" do -+ mock_app do -+ set :raise_errors, false -+ get('/') { raise ThirdPartyError } -+ end -+ -+ get '/' -+ assert_equal 500, status -+ assert_equal '<h1>Internal Server Error</h1>', body -+ end - end diff --git a/dev-ruby/sinatra/sinatra-2.2.0-r1.ebuild b/dev-ruby/sinatra/sinatra-2.2.0-r1.ebuild index 4a36cb96c31f..6e3d3a72f8de 100644 --- a/dev-ruby/sinatra/sinatra-2.2.0-r1.ebuild +++ b/dev-ruby/sinatra/sinatra-2.2.0-r1.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=8 -USE_RUBY="ruby26 ruby27 ruby30 ruby31" +USE_RUBY="ruby27 ruby30" RUBY_FAKEGEM_TASK_TEST="MT_NO_PLUGINS=true test:core" @@ -21,10 +21,6 @@ SLOT="2" KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86" IUSE="" -# https://github.com/sinatra/sinatra/pull/1519 from master. -# https://github.com/sinatra/sinatra/issues/1774 -PATCHES=( "${FILESDIR}/backport-pr-1519.patch" ) - ruby_add_rdepend " dev-ruby/mustermann:1 dev-ruby/rack:2.2 diff --git a/dev-ruby/sinatra/sinatra-2.2.1.ebuild b/dev-ruby/sinatra/sinatra-2.2.1.ebuild index 26896805eb10..20f026413a36 100644 --- a/dev-ruby/sinatra/sinatra-2.2.1.ebuild +++ b/dev-ruby/sinatra/sinatra-2.2.1.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=8 -USE_RUBY="ruby27 ruby30 ruby31" +USE_RUBY="ruby27 ruby30" RUBY_FAKEGEM_TASK_TEST="MT_NO_PLUGINS=true test:core" @@ -21,10 +21,6 @@ SLOT="2" KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86" IUSE="" -# https://github.com/sinatra/sinatra/pull/1519 -# https://github.com/sinatra/sinatra/issues/1774 -PATCHES=( "${FILESDIR}/backport-pr-1519.patch" ) - ruby_add_rdepend " dev-ruby/mustermann:1 dev-ruby/rack:2.2 diff --git a/dev-ruby/sus/Manifest b/dev-ruby/sus/Manifest index 99b67330ae82..6c225813d200 100644 --- a/dev-ruby/sus/Manifest +++ b/dev-ruby/sus/Manifest @@ -1 +1,2 @@ DIST sus-0.13.0.tar.gz 23399 BLAKE2B f96717409f5f14727b359e39bc1bb4726fe1cae98de46bf06e6e008df9a23746219decdb8de171cbc1c6c39ac84b4011e475daa43c7996c01968f4acc5289c84 SHA512 c0cb1b1d02e2fc812c6b3cf555af59f543bcdd82829d744d0e4fafb9043e503e8c9ebb52da33e56703d23ccaeaff583abf72e1df55a726ceca59d50d21b51eb3 +DIST sus-0.14.0.tar.gz 24207 BLAKE2B 1132e6fdf7c842ec8835613b647c837a1f5ec46c19743d186f7b57a68aff35201c29443e43242f0a375d97a0209148e483b6e8b8e44e1b94848f12a717161c42 SHA512 007eab396caa7401c028ee3b72f368810a6d01b50f84e657376ad8f7ea406b9a9cd13e3d481292197de05947a521513761da1141fc6b7e73791624966969281b diff --git a/dev-ruby/sus/sus-0.14.0.ebuild b/dev-ruby/sus/sus-0.14.0.ebuild new file mode 100644 index 000000000000..439f98b70da2 --- /dev/null +++ b/dev-ruby/sus/sus-0.14.0.ebuild @@ -0,0 +1,32 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +USE_RUBY="ruby27 ruby30 ruby31" + +RUBY_FAKEGEM_EXTRADOC="readme.md" +RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec" + +inherit ruby-fakegem + +DESCRIPTION="A fast and scalable test runner" +HOMEPAGE="https://github.com/ioquatix/sus" +SRC_URI="https://github.com/ioquatix/sus/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="$(ver_cut 1)" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="" + +all_ruby_prepare() { + sed -i -E 's/require_relative "(.+)"/require File.expand_path("\1")/g' "${RUBY_FAKEGEM_GEMSPEC}" || die + + # Remove the sus configuration which enabled coverage checks. + # Its dependency is not packaged. + rm -f config/sus.rb || die +} + +each_ruby_test() { + ${RUBY} bin/sus-parallel || die +} |
