From 850d399c4f1568d3c6d013d7f4e2e371c0118bd6 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 23 Oct 2022 03:49:35 +0100 Subject: gentoo auto-resync : 23:10:2022 - 03:49:35 --- dev-ruby/Manifest.gz | Bin 110475 -> 112243 bytes dev-ruby/async-container/Manifest | 3 + .../async-container/async-container-0.16.12.ebuild | 39 +++++++ dev-ruby/async-container/metadata.xml | 11 ++ dev-ruby/async-io/Manifest | 3 + dev-ruby/async-io/async-io-1.34.0.ebuild | 32 ++++++ dev-ruby/async-io/metadata.xml | 11 ++ dev-ruby/async-rspec/Manifest | 3 + dev-ruby/async-rspec/async-rspec-1.16.1.ebuild | 34 ++++++ dev-ruby/async-rspec/metadata.xml | 11 ++ dev-ruby/async/Manifest | 5 + dev-ruby/async/async-1.30.3.ebuild | 40 +++++++ dev-ruby/async/async-2.1.0.ebuild | 40 +++++++ dev-ruby/async/metadata.xml | 11 ++ dev-ruby/console/Manifest | 3 + dev-ruby/console/console-1.15.3.ebuild | 28 +++++ dev-ruby/console/metadata.xml | 11 ++ dev-ruby/ffi-compiler/Manifest | 2 + dev-ruby/ffi-compiler/ffi-compiler-1.0.1-r2.ebuild | 22 ++++ dev-ruby/ffi-compiler/files/respect-cflags.patch | 17 +++ dev-ruby/ffi/Manifest | 3 + dev-ruby/ffi/ffi-1.15.5-r1.ebuild | 71 ++++++++++++ dev-ruby/ffi/files/backport-pr-962.patch | 48 ++++++++ dev-ruby/ffi/files/pr-957-sparc.patch | 42 +++++++ dev-ruby/fiber-local/Manifest | 3 + dev-ruby/fiber-local/fiber-local-1.0.0.ebuild | 25 +++++ dev-ruby/fiber-local/metadata.xml | 11 ++ dev-ruby/http/Manifest | 2 + dev-ruby/http/http-5.1.0.ebuild | 59 ++++++++++ dev-ruby/io-event/Manifest | 3 + dev-ruby/io-event/io-event-1.0.9.ebuild | 31 ++++++ dev-ruby/io-event/metadata.xml | 11 ++ dev-ruby/llhttp-ffi/Manifest | 3 + dev-ruby/llhttp-ffi/llhttp-ffi-0.4.0.ebuild | 40 +++++++ dev-ruby/llhttp-ffi/metadata.xml | 11 ++ dev-ruby/rack-test/Manifest | 5 +- .../files/backport-b1084c1-issue-323.patch | 29 +++++ dev-ruby/rack-test/rack-test-1.1.0-r1.ebuild | 2 +- dev-ruby/rack-test/rack-test-2.0.2.ebuild | 2 + dev-ruby/rspec-files/Manifest | 3 + dev-ruby/rspec-files/metadata.xml | 11 ++ dev-ruby/rspec-files/rspec-files-1.1.2.ebuild | 26 +++++ dev-ruby/rspec-memory/Manifest | 3 + dev-ruby/rspec-memory/metadata.xml | 11 ++ dev-ruby/rspec-memory/rspec-memory-1.0.3.ebuild | 26 +++++ dev-ruby/sinatra/Manifest | 4 +- dev-ruby/sinatra/files/backport-pr-1519.patch | 122 +++++++++++++++++++++ dev-ruby/sinatra/sinatra-2.2.0-r1.ebuild | 38 +++++++ dev-ruby/sinatra/sinatra-2.2.1.ebuild | 6 +- dev-ruby/sus/Manifest | 3 + dev-ruby/sus/metadata.xml | 11 ++ dev-ruby/sus/sus-0.13.0.ebuild | 28 +++++ 52 files changed, 1014 insertions(+), 5 deletions(-) create mode 100644 dev-ruby/async-container/Manifest create mode 100644 dev-ruby/async-container/async-container-0.16.12.ebuild create mode 100644 dev-ruby/async-container/metadata.xml create mode 100644 dev-ruby/async-io/Manifest create mode 100644 dev-ruby/async-io/async-io-1.34.0.ebuild create mode 100644 dev-ruby/async-io/metadata.xml create mode 100644 dev-ruby/async-rspec/Manifest create mode 100644 dev-ruby/async-rspec/async-rspec-1.16.1.ebuild create mode 100644 dev-ruby/async-rspec/metadata.xml create mode 100644 dev-ruby/async/Manifest create mode 100644 dev-ruby/async/async-1.30.3.ebuild create mode 100644 dev-ruby/async/async-2.1.0.ebuild create mode 100644 dev-ruby/async/metadata.xml create mode 100644 dev-ruby/console/Manifest create mode 100644 dev-ruby/console/console-1.15.3.ebuild create mode 100644 dev-ruby/console/metadata.xml create mode 100644 dev-ruby/ffi-compiler/ffi-compiler-1.0.1-r2.ebuild create mode 100644 dev-ruby/ffi-compiler/files/respect-cflags.patch create mode 100644 dev-ruby/ffi/ffi-1.15.5-r1.ebuild create mode 100644 dev-ruby/ffi/files/backport-pr-962.patch create mode 100644 dev-ruby/ffi/files/pr-957-sparc.patch create mode 100644 dev-ruby/fiber-local/Manifest create mode 100644 dev-ruby/fiber-local/fiber-local-1.0.0.ebuild create mode 100644 dev-ruby/fiber-local/metadata.xml create mode 100644 dev-ruby/http/http-5.1.0.ebuild create mode 100644 dev-ruby/io-event/Manifest create mode 100644 dev-ruby/io-event/io-event-1.0.9.ebuild create mode 100644 dev-ruby/io-event/metadata.xml create mode 100644 dev-ruby/llhttp-ffi/Manifest create mode 100644 dev-ruby/llhttp-ffi/llhttp-ffi-0.4.0.ebuild create mode 100644 dev-ruby/llhttp-ffi/metadata.xml create mode 100644 dev-ruby/rack-test/files/backport-b1084c1-issue-323.patch create mode 100644 dev-ruby/rspec-files/Manifest create mode 100644 dev-ruby/rspec-files/metadata.xml create mode 100644 dev-ruby/rspec-files/rspec-files-1.1.2.ebuild create mode 100644 dev-ruby/rspec-memory/Manifest create mode 100644 dev-ruby/rspec-memory/metadata.xml create mode 100644 dev-ruby/rspec-memory/rspec-memory-1.0.3.ebuild create mode 100644 dev-ruby/sinatra/files/backport-pr-1519.patch create mode 100644 dev-ruby/sinatra/sinatra-2.2.0-r1.ebuild create mode 100644 dev-ruby/sus/Manifest create mode 100644 dev-ruby/sus/metadata.xml create mode 100644 dev-ruby/sus/sus-0.13.0.ebuild (limited to 'dev-ruby') diff --git a/dev-ruby/Manifest.gz b/dev-ruby/Manifest.gz index bc1eb8e24a57..baa0d313cda8 100644 Binary files a/dev-ruby/Manifest.gz and b/dev-ruby/Manifest.gz differ diff --git a/dev-ruby/async-container/Manifest b/dev-ruby/async-container/Manifest new file mode 100644 index 000000000000..59f443773ea5 --- /dev/null +++ b/dev-ruby/async-container/Manifest @@ -0,0 +1,3 @@ +DIST async-container-0.16.12.tar.gz 22626 BLAKE2B 8e850ebededcc0110a8ddf79c23287d816973fee1c32b7e7b76a7158995ffca5476d8701b3b4499aa3c0fd023ee9f253e4d07bc9ad0562a32d529678d0569701 SHA512 d71bdd1dc22a7ebecd4fed7e17b28c9ae1c875e111db4fb9cddda3508113e3cb7fc72b820c447cac27f047606d20f62180b203e58164da18dc47cff385262441 +EBUILD async-container-0.16.12.ebuild 1259 BLAKE2B f75dd8b3baad6753e5be739ae1e1547675a07b7e534e0cfc7585c0681ff602192a458779b653a1cb4ff25aa58f173d4717a651d6862683d22f0bc41c9be8bf2b SHA512 91f62615f2043c8c7103a7f937a0cf3e847173364ac83178b5f7983d11afb441a3bcb045aa11205b5535edb9e8bba2bead1842654a0b2952cd9d5acea9f5aa24 +MISC metadata.xml 351 BLAKE2B 671a90bb6d0e6ee6c41c96beaefba1bf84f236b557c8116d8489da01f034edbd3a122063df64a85c587cc114455b9d9e00404307d1539c8fd8e79c781297e337 SHA512 402376317da59de4bc9f10422743898870efb6f9429ba07fc37861e3c4752b4ef2197051b81bef300d07279c6bf55f9c5796a5b5c84cab8dcaef9a07537ff725 diff --git a/dev-ruby/async-container/async-container-0.16.12.ebuild b/dev-ruby/async-container/async-container-0.16.12.ebuild new file mode 100644 index 000000000000..bacc76a095b5 --- /dev/null +++ b/dev-ruby/async-container/async-container-0.16.12.ebuild @@ -0,0 +1,39 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +USE_RUBY="ruby26 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" + +LICENSE="MIT" +SLOT="$(ver_cut 1)/$(ver_cut 1-2)" +KEYWORDS="~amd64 ~sparc" +IUSE="" + +ruby_add_rdepend "dev-ruby/async + dev-ruby/async-io" + +ruby_add_bdepend "test? ( + dev-ruby/bundler + >=dev-ruby/async-rspec-1.1:1 +)" + +all_ruby_prepare() { + sed -i -E 's/require_relative "(.+)"/require File.expand_path("\1")/g' "${RUBY_FAKEGEM_GEMSPEC}" || die + + # spec/async/container/notify/pipe_spec.rb directly executes "bundler" command, + # 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 's/require '"'"'covered\/rspec'"'"'//g' "spec/spec_helper.rb" || die +} diff --git a/dev-ruby/async-container/metadata.xml b/dev-ruby/async-container/metadata.xml new file mode 100644 index 000000000000..4f03304084d0 --- /dev/null +++ b/dev-ruby/async-container/metadata.xml @@ -0,0 +1,11 @@ + + + + + ruby@gentoo.org + Gentoo Ruby Project + + + socketry/async-container + + diff --git a/dev-ruby/async-io/Manifest b/dev-ruby/async-io/Manifest new file mode 100644 index 000000000000..3ae333f7f621 --- /dev/null +++ b/dev-ruby/async-io/Manifest @@ -0,0 +1,3 @@ +DIST async-io-1.34.0.tar.gz 34147 BLAKE2B 85cb79423bcbcc45e7c3f703d5ce7866522e66c55f866a0545369b65eda9c8a4b5637eaeeb7e17a5a8ee7256c6a991871dbb96244e4647fa19f8f027fad37961 SHA512 d35389ebfb748ea1c44f4a7ea7707511e32d40e98ae3fd7e8a5b22fdbb5f8f5a00933ec48346e2ed44c679ee6121a6fdf980c8ee6a1da609fb7571abb703aa02 +EBUILD async-io-1.34.0.ebuild 938 BLAKE2B 226169bac443a6edd3844f1efd35293d0bc7973826949d7eab3641aa702d00049c360c29bd485f878eda57bf34ea86b100efeb17f9f1f3aecd9d416b9d85fd7c SHA512 4bc7a2b34403b937c6ef90024dfa2f5b8709b9e7698bf794416f6136bf6f2f3c756126a283790057a4796bddf9437cfec07ca5c250e839c832657617bbc1a728 +MISC metadata.xml 344 BLAKE2B 7fb67688ba60d30637605ba7a2020cb328e18ffebd9fd6fed09114cc14596836b0dcc4d1590fd3755952baa52c258bdb9a935c47b1a4ef4f2d5e545e931d40fe SHA512 6ea960fe1feb969df78e66ae985b6ac95faa09a248d694aaa47876634f84a09a3807effc2b4289d35dbeaee3793c2c73276fd0f8b87375ab99e813085edd12af diff --git a/dev-ruby/async-io/async-io-1.34.0.ebuild b/dev-ruby/async-io/async-io-1.34.0.ebuild new file mode 100644 index 000000000000..75b432695d8b --- /dev/null +++ b/dev-ruby/async-io/async-io-1.34.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="ruby26 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" + +LICENSE="MIT" +SLOT="$(ver_cut 1)/$(ver_cut 1-2)" +KEYWORDS="~amd64 ~sparc" +IUSE="" + +ruby_add_rdepend "dev-ruby/async" + +ruby_add_bdepend "test? ( + >=dev-ruby/async-container-0.15:0 + >=dev-ruby/async-rspec-1.10:1 + dev-ruby/rack-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 +} diff --git a/dev-ruby/async-io/metadata.xml b/dev-ruby/async-io/metadata.xml new file mode 100644 index 000000000000..2b591f89a8e8 --- /dev/null +++ b/dev-ruby/async-io/metadata.xml @@ -0,0 +1,11 @@ + + + + + ruby@gentoo.org + Gentoo Ruby Project + + + socketry/async-io + + diff --git a/dev-ruby/async-rspec/Manifest b/dev-ruby/async-rspec/Manifest new file mode 100644 index 000000000000..40d9c0b4eb2a --- /dev/null +++ b/dev-ruby/async-rspec/Manifest @@ -0,0 +1,3 @@ +DIST async-rspec-1.16.1.tar.gz 7775 BLAKE2B a1ff314fbe3e42b9b25e1c891bf1a336644fa5183b6f504b06e0747c127e712a66a0fbb2f18695bd7cba91ec8a4e8af887a25fe3e9887f86fb5f17873e26f51f SHA512 5c2bc5cf5ff4ca25cad67e251b5e078ac9f6f2d0f5d50f67584d4a043040c4e9e9e51d3a9e2727f08de3eba39d46be66461e691af8b86e173d8b70b589161a29 +EBUILD async-rspec-1.16.1.ebuild 946 BLAKE2B 61ab59840ce19e6eccb9e5a68beaa2525183da67c4efa4d117dfe8f1ea7d1008db9b3a3821d7e4ea8359e09f371d4bcc8f18557bd242371fcb05d5612aa034f8 SHA512 91462ae9b56499dfb1c74f5ce5536770526cf0a16fcd08ac5ffcac8095a2b8a3d63c6f7ea23647706ef21ac93caf8217086d0401747ac7c6d6ef9a34bbe0a6fd +MISC metadata.xml 347 BLAKE2B d18d791313af87bcb00267fa7886d513738c127ca281e4e3f2eca2d3a345748097016ee229ea663efae9980d5fee97d27b800923021e682a9a9bb28bd031c0a5 SHA512 6396202046253385c58f6b5d1762800d596027e1d7ad7e95d69695023dacffa0bd32f2d0efa396fafd5e65bafd55376018f27e127752d5109f537339ac06584f diff --git a/dev-ruby/async-rspec/async-rspec-1.16.1.ebuild b/dev-ruby/async-rspec/async-rspec-1.16.1.ebuild new file mode 100644 index 000000000000..c920dff8061b --- /dev/null +++ b/dev-ruby/async-rspec/async-rspec-1.16.1.ebuild @@ -0,0 +1,34 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +USE_RUBY="ruby26 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" + +LICENSE="MIT" +SLOT="$(ver_cut 1)/$(ver_cut 1-2)" +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_bdepend "test? ( + dev-ruby/async + dev-ruby/async-io +)" + +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 +} diff --git a/dev-ruby/async-rspec/metadata.xml b/dev-ruby/async-rspec/metadata.xml new file mode 100644 index 000000000000..e5fb9fc23587 --- /dev/null +++ b/dev-ruby/async-rspec/metadata.xml @@ -0,0 +1,11 @@ + + + + + ruby@gentoo.org + Gentoo Ruby Project + + + socketry/async-rspec + + diff --git a/dev-ruby/async/Manifest b/dev-ruby/async/Manifest new file mode 100644 index 000000000000..37e07817bd76 --- /dev/null +++ b/dev-ruby/async/Manifest @@ -0,0 +1,5 @@ +DIST async-1.30.3.tar.gz 92599 BLAKE2B 69db66676adf2dd0f77142bffc55b1e90a6983c53c7fac444f72b9365f6907e4d2ec45579ea267f3a8f31fc45af63c3517908c353749b288d1873e2cf720f96b SHA512 337a51ca8fd0e6685528e2eca9b584344ba583f7254f2600110ee62da6e4ccabeb471e7d94f36ab6f8d0eb3eada9e23335a262a50c8d035f67708fce0a590e5e +DIST async-2.1.0.tar.gz 75110 BLAKE2B 6226cd64f62d42a57d46f1c31287e403af5c645343a2de899a090f986e2b669dc96f1019629cf32ed46809fbfcbb5716375ef4560358676759dcad0e17d02849 SHA512 85f02004f7851757425f6e30c364ad9cb52ac4ad4559fa3a4a9b933fc5df1f10f6975233df6057da479dc28b5188d9e6d0b70e215a4a99b7864938260571089c +EBUILD async-1.30.3.ebuild 1167 BLAKE2B 70b6c57bd9e265ef7567bebcaac567db362ea298507c553e4538d463b903ae29982b388dda34a4b87810f93055db914afc7785a3bad216000d390bba1e19cf4f SHA512 ce75d8a5673b082e77c380b98c009bdeb072aca85b7aa1a2500e50eee7252647ceb74fe7d4f01e84ffc35f88ccc48133efd9dad446442a71c358ff9db30bbde5 +EBUILD async-2.1.0.ebuild 1043 BLAKE2B a6f3405645f902b9056cdba8e348b2e3b324bd77ada85e7d1ad055b8ac74fd7b32fb7f39f38c8194263091c68dce616dabf29cb1058c375745c0eebee8249bd9 SHA512 a7ebe894207e53747527918f738e93557829b1ebc6902b815106a012e5a254b87b80bcf950b15f0f4e1de78f77efc2e13230f53409d19ee3730ca7157f7e4270 +MISC metadata.xml 341 BLAKE2B acbe731aefbd211b23790c22ed97fbc1f83c45cf5ed786aa99fedafa5ca930081e71b3466584846f6e2f7a793da65c82bb4c9c85c15a669ebf5e7db47b74836f SHA512 d96626a4c34ef4981c11dcd07f51a9940d29b2bd8013868f3e5778d2f62a59bf3ca864a370a4d7951ca98079d6d5939d9aa9a4f4ed0233ec5f7fe544fa64fa26 diff --git a/dev-ruby/async/async-1.30.3.ebuild b/dev-ruby/async/async-1.30.3.ebuild new file mode 100644 index 000000000000..f4164212833c --- /dev/null +++ b/dev-ruby/async/async-1.30.3.ebuild @@ -0,0 +1,40 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +USE_RUBY="ruby26 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" + +LICENSE="MIT" +SLOT="$(ver_cut 1)/$(ver_cut 1-2)" +KEYWORDS="~amd64 ~sparc" +IUSE="" + +ruby_add_rdepend ">=dev-ruby/console-1.10:1 + >=dev-ruby/nio4r-2.3:2 + >=dev-ruby/timers-4.1:4" + +ruby_add_bdepend "test? ( + >=dev-ruby/async-rspec-1.1:1 + dev-ruby/benchmark-ips +)" + +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 + + sed -i -E 's/require '"'"'covered\/rspec'"'"'//g' "spec/spec_helper.rb" || die +} diff --git a/dev-ruby/async/async-2.1.0.ebuild b/dev-ruby/async/async-2.1.0.ebuild new file mode 100644 index 000000000000..07e5ba91db6c --- /dev/null +++ b/dev-ruby/async/async-2.1.0.ebuild @@ -0,0 +1,40 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +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" + +LICENSE="MIT" +SLOT="$(ver_cut 1)" +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/timers-4.1:4" + +ruby_add_bdepend "test? ( + >=dev-ruby/async-rspec-1.1:1 + dev-ruby/benchmark-ips +)" + +all_ruby_prepare() { + sed -i -E 's/require_relative "(.+)"/require File.expand_path("\1")/g' "${RUBY_FAKEGEM_GEMSPEC}" || die + + # network tests + rm -f \ + "spec/net/http_spec.rb" \ + "spec/async/scheduler/address_spec.rb" \ + "spec/async/scheduler/io_spec.rb" || die + + sed -i -E 's/require '"'"'covered\/rspec'"'"'//g' "spec/spec_helper.rb" || die +} diff --git a/dev-ruby/async/metadata.xml b/dev-ruby/async/metadata.xml new file mode 100644 index 000000000000..c7864b34a68a --- /dev/null +++ b/dev-ruby/async/metadata.xml @@ -0,0 +1,11 @@ + + + + + ruby@gentoo.org + Gentoo Ruby Project + + + socketry/async + + diff --git a/dev-ruby/console/Manifest b/dev-ruby/console/Manifest new file mode 100644 index 000000000000..b43d8b217364 --- /dev/null +++ b/dev-ruby/console/Manifest @@ -0,0 +1,3 @@ +DIST console-1.15.3.tar.gz 23089 BLAKE2B 8387b0dc8ee84df3ce930ef79fcfec9e9b947b946770535beeb16fe58496c30134862b6a3fb48a842b321ab2ec493b1e4f9ec3462bdce04aa35066672ee55699 SHA512 c1d7fc987f3f6df3506c85c64d3c93b3eae6b5eca64ac7de2cf7cc0cb5572c102ebd6909d993d9d683081063ff8b7f2de46fefa255491adc47b88f13ff24ea67 +EBUILD console-1.15.3.ebuild 892 BLAKE2B 4b3904f0df21db4022c7ab237fa63d7c62952d047b26ff23b4f81ae166d1fb5219e0cd4b5419400c97ca1d9b1ec582bc0263cf2c1f743a0ef3c810c7182b6926 SHA512 97b8df7c016ca185248771bbdc519f383b165e602a32127ff5384db02224d6711899c02d3264d845cf23239a34eda56b7de0be8aafbf2932da9c1c87f007ff98 +MISC metadata.xml 343 BLAKE2B 949f3fccd0b08a5699c083eb21c119af6104cd470fe4f22f2771f5262eddf9a9819a630146ef4cf0636d52be9cca982ab73fd4443e1fb0f4ae77b5223949ed38 SHA512 f243fe8cf5c9d29a4c4f95cd9bce18f8a0ca191b7c62c1644c0b4ec4f4d14d355bc0b564a571b057eb42960997958157bca027b86917a2c43d6ec651f1804302 diff --git a/dev-ruby/console/console-1.15.3.ebuild b/dev-ruby/console/console-1.15.3.ebuild new file mode 100644 index 000000000000..f6370717fffc --- /dev/null +++ b/dev-ruby/console/console-1.15.3.ebuild @@ -0,0 +1,28 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +USE_RUBY="ruby26 ruby27 ruby30 ruby31" +RUBY_FAKEGEM_RECIPE_TEST="rspec3" +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" + +LICENSE="MIT" +SLOT="$(ver_cut 1)/$(ver_cut 1-2)" +KEYWORDS="~amd64 ~sparc" +IUSE="" +RUBY_S="${PN}-fc6ecb94bc02b8b75003fc31f0a8b3e1e43cafcf" + +ruby_add_rdepend "dev-ruby/fiber-local" + +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 +} diff --git a/dev-ruby/console/metadata.xml b/dev-ruby/console/metadata.xml new file mode 100644 index 000000000000..eaf87044f48c --- /dev/null +++ b/dev-ruby/console/metadata.xml @@ -0,0 +1,11 @@ + + + + + ruby@gentoo.org + Gentoo Ruby Project + + + socketry/console + + diff --git a/dev-ruby/ffi-compiler/Manifest b/dev-ruby/ffi-compiler/Manifest index 11e72f274646..52b78be20f59 100644 --- a/dev-ruby/ffi-compiler/Manifest +++ b/dev-ruby/ffi-compiler/Manifest @@ -1,3 +1,5 @@ +AUX respect-cflags.patch 682 BLAKE2B 2e3e90026961257737878e7a0b3b3d1d1d522ee4bbf12e5eed7d8fd61f49a84a7a8eaa83ffb8299d711e4d36b2aa60a9b5078fd83a0d88c689d81212d8902458 SHA512 b0f6593609237a637f78ca8128f48f5bcbb2d2637419bedda532ae8ef8d93a7e4e647e63277a9438d2f4aff9fe430176414fbc5f590fab7b1a452c1be79028a3 DIST ffi-compiler-1.0.1.gem 18432 BLAKE2B 9832d9836a0b55d3099085b53e0c8e15cc5ae79cfadadea942603ef8595b5fa4d781b5f031f0592b2688acb1416acffa9e525e3cbc004c2c51aaaea12a722706 SHA512 7a13625ab1c5748d05ec93d68708dd9435ec92dcd0c823109c44173fdaf8710aec5f5b4fb11966475f10ae91401c7ca3c620f9d36bb9ca665114e1ed70f4edd0 EBUILD ffi-compiler-1.0.1-r1.ebuild 476 BLAKE2B 74c38026898f17915585aafa81155e24cd6e93a63cd8507e86bef7ef4c01403b44035e3e4e9569110a8ae91064806095047e472fb949e81ea8f670cff95a5ea5 SHA512 05c6d8ebb4d016456840bb2366d7c5ccc65d3e8e26ee5a54a43e2f4f2e6220ec6bd53b2055b0b306446decec688f987fdd8ff1a966dc9684a16483d29df62139 +EBUILD ffi-compiler-1.0.1-r2.ebuild 525 BLAKE2B 357abb4b17e3f99bd52a65c65ae136115d94cda34869c43f03725885863adf4107d661380e683d0792405cc44e7c8f05cae99c96d36f1182b6da21526b7e3edf SHA512 e737551cf5a88bb4f5bc5b02e12f360cf137870a98a2bb3f3cecf9deb1cdcee5355d1d84ef01cfd8f4c3a9aafc529cd1e7121bde651e292bbc60c5c58fb93919 MISC metadata.xml 258 BLAKE2B 3c49249352f2cb11df010da6ecd8312a27047557ca5f2686837ad66933be9ea2627c40f91daedf8dcd9099c6cdc0dc2d2ba32aaf9d888c41fb60ee098e1c0c1e SHA512 ce517e35f3c0a2a9807ee68b0a8c84ca28db8dfabb41758cac71f9da22847fe20d259295f0681e38a52a24618450a0ca097939dc1022e3987bb0088762e48326 diff --git a/dev-ruby/ffi-compiler/ffi-compiler-1.0.1-r2.ebuild b/dev-ruby/ffi-compiler/ffi-compiler-1.0.1-r2.ebuild new file mode 100644 index 000000000000..6a6262edb1ff --- /dev/null +++ b/dev-ruby/ffi-compiler/ffi-compiler-1.0.1-r2.ebuild @@ -0,0 +1,22 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +USE_RUBY="ruby26 ruby27 ruby30 ruby31" + +RUBY_FAKEGEM_EXTRADOC="README.md" + +RUBY_FAKEGEM_RECIPE_TEST="none" + +inherit ruby-fakegem + +DESCRIPTION="Ruby FFI Rakefile generator" +HOMEPAGE="https://github.com/ffi/ffi/wiki" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc64 ~sparc ~x86" +IUSE="" +# PATCHES=( "${FILESDIR}/respect-cflags.patch" ) + +ruby_add_rdepend "dev-ruby/rake >=dev-ruby/ffi-1.0.0" diff --git a/dev-ruby/ffi-compiler/files/respect-cflags.patch b/dev-ruby/ffi-compiler/files/respect-cflags.patch new file mode 100644 index 000000000000..3fe68f8211cb --- /dev/null +++ b/dev-ruby/ffi-compiler/files/respect-cflags.patch @@ -0,0 +1,17 @@ +diff --git a/lib/ffi-compiler/compile_task.rb b/lib/ffi-compiler/compile_task.rb +index 363c247..637fd3d 100644 +--- a/lib/ffi-compiler/compile_task.rb ++++ b/lib/ffi-compiler/compile_task.rb +@@ -26,9 +26,9 @@ module FFI + @libraries = [] + @headers = [] + @functions = [] +- @cflags = DEFAULT_CFLAGS.dup +- @cxxflags = DEFAULT_CFLAGS.dup +- @ldflags = DEFAULT_LDFLAGS.dup ++ @cflags = ENV['CFLAGS']&.split || DEFAULT_CFLAGS.dup ++ @cxxflags = ENV['CXXFLAGS']&.split || DEFAULT_CFLAGS.dup ++ @ldflags = ENV['LDFLAGS']&.split || DEFAULT_LDFLAGS.dup + @libs = [] + @platform = Platform.system + @exports = [] diff --git a/dev-ruby/ffi/Manifest b/dev-ruby/ffi/Manifest index 354fe9d86d96..5aff438ef78a 100644 --- a/dev-ruby/ffi/Manifest +++ b/dev-ruby/ffi/Manifest @@ -1,6 +1,9 @@ +AUX backport-pr-962.patch 1773 BLAKE2B b4eb227a949136143a98e8a5ed9067599d3a4ec14376c52619e2f3db56906ed028f9be889aa6eea5abe7e7ca9c3196208ede7dc5768cba43ecf9d000f1e3e1da SHA512 dc6a17bccde42b3a64e7de3bed5fe0818a4bfe9e109b665ccf06963a4939fec2a77e3fcff073cf3a4feccb68d3dc05bbb4885ebe53c2060965e114041c9e3ce5 AUX ffi-1.14.2-32bit-long-double.patch 701 BLAKE2B d8a3f2a00f8b93f42953bf5317cf6ae45ed662c81b993f83b728125d6fae15c6f75d11e0f76b0f46912b1c52c849764d3393a09c3ac1e35f3557e97bd3662364 SHA512 9cfe4e1c80e08c672eee30fe3b170d667e72cc2e047f4edd1e9573bfe6d4dca315a84baa54855756631f90c04fee59a417f286df95662f6abcfd3728c1b1a4d7 +AUX pr-957-sparc.patch 1681 BLAKE2B e08a03d5e054ce030c04cb0645ed2683faa9d0ec8782313464112e3dd3adf0b8ee40f7fbea9aec15ee7590189e93f03617fe06b506e2ea049535e48bc33a8f23 SHA512 32bd488a3cc4b0c81d8f7f9f2875e591b8de7bf741b838aab3f20ea64025984b3d83c393e1e8f0b628f009b2473d381139655f965cc746dc9074cbe57171cb7d DIST ffi-git-1.14.2.tgz 165100 BLAKE2B 598d1771860a7884f8dc6a4cf0006cb42f741308bdd01720d7ea4b63690d42ff6e93f2d48de7132f5d82b275b30672b0bf1ac586b713994b68e98da4cf71a481 SHA512 20fffab047d810ddea1d4d2b66a563adf5787a0602a26cc59724090d393852ae57464a8c7b5a47ca0534efc453bb06d2f8fbf00a203a7060cd3ac78b683119f5 DIST ffi-git-1.15.5.tgz 168139 BLAKE2B 2ddd5bd7bfb7bcd39b6d740cbb1e0f4cd419ce6cb4ec12926f91f254b3f3142bc6166728a81a6f23dccfbf7aec911c63237c20fb0e2c70d30d48f4648e352585 SHA512 3668bafae936bf5010f014fbcf63258b023bcc318882775e7d2fcfc11334722ec2b6e8a8b9c910d406889fb173dd503c5c13f5af8e4f6927921f12f688461707 EBUILD ffi-1.14.2-r1.ebuild 1635 BLAKE2B ef999eedbb4c80ef9d64e04c21f7b8abdf390bf1189fd4c24683934930323fd71cefd70d734c76e8b908473d5167463a3da73b1bfbb2d15ddbbca6f4214b30c5 SHA512 fb9af61383048819156d2a2919c487a41bc30e67a4bf6602cd6e9c9383e63ae001f8c26c3b4562bf011234c4d16b187d418ff667ac17126ac9f265dcafdfb84e +EBUILD ffi-1.15.5-r1.ebuild 1813 BLAKE2B d9ad8b311eacb12ae1af340d4bbd25784fea999f2bbf2b465f67910dedf3892d2900e479980c2afdbd64b80a5d36884faad6cc3a8cde1c1850526b062a735178 SHA512 f03fdfb9315896ebf50d776114c0391308ec477aa6ad946e0d55c65beedac015d2be95f0660a41a4c4cc75017e80e13c1b98384d6a3ddc39c33195e80babdf78 EBUILD ffi-1.15.5.ebuild 1679 BLAKE2B 0f21e74f3843306c7416d8b11e43ec8ab279ea1f79662d50a77b8a430806d6d526ca529b13017130f05f1ce2709d3a90b8f4a8efce5231dfd96ca944a0866d5d SHA512 460791276a6e6d158e041a9b57aba47a7535095e6e4f776d8a883d5d8b7e08c61f346ca7b5cc9180d0d4143e4967043a6c96f02a097719195034b81ee4c412ce MISC metadata.xml 334 BLAKE2B 02ad2c909797d4aaf2a23497611777a790000683866cfbd9d12c4b19cca6de902e219584c4edc85c46b4b0dc51c63e770506a077a4c1052b46f8df19a9588c15 SHA512 e72dc6ce177ad3881f5465f10cd44ca6740b7603ab4e55cfa9e6088be3c6615abeefaee4b717e76fab2850c64d66eee626115544e10709f64c4187f1987bcfe3 diff --git a/dev-ruby/ffi/ffi-1.15.5-r1.ebuild b/dev-ruby/ffi/ffi-1.15.5-r1.ebuild new file mode 100644 index 000000000000..98c573a70b41 --- /dev/null +++ b/dev-ruby/ffi/ffi-1.15.5-r1.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +USE_RUBY="ruby26 ruby27 ruby30 ruby31" + +RUBY_FAKEGEM_RECIPE_TEST="rspec3" + +RUBY_FAKEGEM_DOCDIR="doc" +RUBY_FAKEGEM_EXTRADOC="README.md" + +RUBY_FAKEGEM_GEMSPEC="ffi.gemspec" + +RUBY_FAKEGEM_EXTENSIONS=(ext/ffi_c/extconf.rb) + +inherit ruby-fakegem toolchain-funcs + +DESCRIPTION="Ruby extension for programmatically loading dynamic libraries" +HOMEPAGE="https://wiki.github.com/ffi/ffi" + +SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${PN}-git-${PV}.tgz" + +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" +PATCHES=( + "${FILESDIR}/backport-pr-962.patch" + "${FILESDIR}/pr-957-sparc.patch" # submitted upstream as https://github.com/ffi/ffi/pull/957 +) + +RDEPEND+=" dev-libs/libffi:=" +DEPEND+=" dev-libs/libffi:=" + +ruby_add_bdepend "dev-ruby/rake" + +all_ruby_prepare() { + sed -i -e '/tasks/ s:^:#:' \ + -e '/Gem::Tasks/,/end/ s:^:#:' Rakefile || die + + sed -e '/require/c\require "./lib/ffi/version"' \ + -e 's/git ls-files -z/find * -print0/' \ + -e '/^ lfs/,/^ end/ s:^:#:' \ + -i ${RUBY_FAKEGEM_GEMSPEC} || die + + # Fix Makefile for tests + sed -i -e '/CCACHE :=/ s:^:#:' \ + -e 's/-O2//' \ + -e 's/^CFLAGS =/CFLAGS +=/' spec/ffi/fixtures/GNUmakefile || die + + # Remove bundled version of libffi. + rm -rf ext/ffi_c/libffi || die +} + +each_ruby_compile() { + each_fakegem_compile + + ${RUBY} -S rake -f gen/Rakefile || die "types.conf generation failed" +} + +each_ruby_test() { + CC=$(tc-getCC) CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" ${RUBY} -S rspec spec || die +} + +all_ruby_install() { + all_fakegem_install + + docinto examples + dodoc samples/* +} diff --git a/dev-ruby/ffi/files/backport-pr-962.patch b/dev-ruby/ffi/files/backport-pr-962.patch new file mode 100644 index 000000000000..708c52025bd5 --- /dev/null +++ b/dev-ruby/ffi/files/backport-pr-962.patch @@ -0,0 +1,48 @@ +From edc54894f77d00c4ca34593c8b4c94f656f5807e Mon Sep 17 00:00:00 2001 +From: Frederick Cheung +Date: Fri, 17 Jun 2022 18:57:28 +0100 +Subject: [PATCH] Fix Pointer#initialize using NUM2LL instead of NUM2ULL + +If the high bit of the address was set this would raise RangeError +(bignum too big to convert into long long). This is not uncommon on +platforms that use the high bits of pointers for purposes such as +pointer authentication + +This also now matches Pointer#address which uses ULL2NUM. +--- + ext/ffi_c/Pointer.c | 2 +- + spec/ffi/pointer_spec.rb | 8 ++++++++ + 2 files changed, 9 insertions(+), 1 deletion(-) + +diff --git a/ext/ffi_c/Pointer.c b/ext/ffi_c/Pointer.c +index 153fff101..79886811f 100644 +--- a/ext/ffi_c/Pointer.c ++++ b/ext/ffi_c/Pointer.c +@@ -112,7 +112,7 @@ ptr_initialize(int argc, VALUE* argv, VALUE self) + switch (TYPE(rbAddress)) { + case T_FIXNUM: + case T_BIGNUM: +- p->memory.address = (void*) (uintptr_t) NUM2LL(rbAddress); ++ p->memory.address = (void*) (uintptr_t) NUM2ULL(rbAddress); + p->memory.size = LONG_MAX; + if (p->memory.address == NULL) { + p->memory.flags = 0; +diff --git a/spec/ffi/pointer_spec.rb b/spec/ffi/pointer_spec.rb +index b216a161d..7a2ac1565 100644 +--- a/spec/ffi/pointer_spec.rb ++++ b/spec/ffi/pointer_spec.rb +@@ -237,6 +237,14 @@ def to_ptr + expect(FFI::Pointer.new(0).slice(0, 10).size_limit?).to be true + end + end ++ ++ describe "#initialise" do ++ it 'can use adresses with high bit set' do ++ max_address = 2**FFI::Platform::ADDRESS_SIZE - 1 ++ pointer = FFI::Pointer.new(:uint8, max_address) ++ expect(pointer.address).to eq(max_address) ++ end ++ end + end + + describe "AutoPointer" do diff --git a/dev-ruby/ffi/files/pr-957-sparc.patch b/dev-ruby/ffi/files/pr-957-sparc.patch new file mode 100644 index 000000000000..b68b5e06a7d4 --- /dev/null +++ b/dev-ruby/ffi/files/pr-957-sparc.patch @@ -0,0 +1,42 @@ +From 241b10322283743b79c9489993bfb964b5167f7f Mon Sep 17 00:00:00 2001 +From: matoro +Date: Wed, 25 May 2022 14:23:55 -0400 +Subject: [PATCH 1/2] Rename sparc64-linux -> sparcv9-linux + +In https://github.com/ffi/ffi/pull/575, 64-bit sparc was changed to also +use sparcv9 as the platform name, but the types.conf directory was never +renamed. This breaks only on Ruby 3.0 and later due to the fileutils +change to use keyword arguments in +https://github.com/ruby/fileutils/commit/482de6d397742526d1111576e2791f9b7051e3c0 +--- + lib/ffi/platform/{sparc64-linux => sparcv9-linux}/types.conf | 0 + 1 file changed, 0 insertions(+), 0 deletions(-) + rename lib/ffi/platform/{sparc64-linux => sparcv9-linux}/types.conf (100%) + +diff --git a/lib/ffi/platform/sparc64-linux/types.conf b/lib/ffi/platform/sparcv9-linux/types.conf +similarity index 100% +rename from lib/ffi/platform/sparc64-linux/types.conf +rename to lib/ffi/platform/sparcv9-linux/types.conf + +From 76dc5c7d69a445268f47f5b6a9185e644bcd68e8 Mon Sep 17 00:00:00 2001 +From: matoro +Date: Mon, 13 Jun 2022 22:56:26 -0400 +Subject: [PATCH 2/2] Also normalize sparc64 -> sparcv9 in test fixture + +--- + spec/ffi/fixtures/compile.rb | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/spec/ffi/fixtures/compile.rb b/spec/ffi/fixtures/compile.rb +index f2e831a63..58ee5611d 100644 +--- a/spec/ffi/fixtures/compile.rb ++++ b/spec/ffi/fixtures/compile.rb +@@ -22,6 +22,8 @@ module TestLibrary + "powerpc64" + when /ppc|powerpc/ + "powerpc" ++ when /sparcv9|sparc64/ ++ "sparcv9" + when /^arm/ + if RbConfig::CONFIG['host_os'] =~ /darwin/ + "aarch64" diff --git a/dev-ruby/fiber-local/Manifest b/dev-ruby/fiber-local/Manifest new file mode 100644 index 000000000000..6660946ae682 --- /dev/null +++ b/dev-ruby/fiber-local/Manifest @@ -0,0 +1,3 @@ +DIST fiber-local-1.0.0.tar.gz 3780 BLAKE2B 5360ebdc2f3958863742e5ca1e1cdefe76e4487bad2257a1bd34a8a6769b1191e1a8f0ba8c7dfe1481f73fdd8b9ee1a014b11e5527273dbb0ee6d8a94edae2ae SHA512 5f77213c3760bb7c23a6912f138e46aa54d8508c11d02dadde5ddbc4ab03976abccb37ad2b1b43b118eddfb7a5e8ca4ee647a7fea1bac5ee4d7b39e8dc8f8424 +EBUILD fiber-local-1.0.0.ebuild 812 BLAKE2B 64b974c15f532d1b87b4624cc02b7ac16cefe675478c5cfcd78a567580f871cc39956e56db645e21f455abe3b54e738442c3800f8a976186a91302236ffdd2f2 SHA512 1ea290e9ee793b1939a0e0589a34fb5b906fda0bd2d161430198bd56dbec4189e570b0409df52ce33fdfacfb0c7d5d7b7246f05bcfc6f5b8046e88791f5f395a +MISC metadata.xml 347 BLAKE2B 9f0304d50cdc6ea863767d44adf04062376a06e06e6d8c8e486ecd1fcce2e66133d883e991a9978c691a0942d43f2f009236f3ac949556274bf4bad101812ccc SHA512 ec53de01e6c327d2dd81117f12ccfd0f37bf9aba3b35e346c14bdf7c303e63ea935e9bc489398bd677a5ece070f19bfc5bf86f250acc9050abb64d0df1c6ce6b diff --git a/dev-ruby/fiber-local/fiber-local-1.0.0.ebuild b/dev-ruby/fiber-local/fiber-local-1.0.0.ebuild new file mode 100644 index 000000000000..ad2959e09769 --- /dev/null +++ b/dev-ruby/fiber-local/fiber-local-1.0.0.ebuild @@ -0,0 +1,25 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +USE_RUBY="ruby26 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" +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)" +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 +} diff --git a/dev-ruby/fiber-local/metadata.xml b/dev-ruby/fiber-local/metadata.xml new file mode 100644 index 000000000000..cbcf3060e8d9 --- /dev/null +++ b/dev-ruby/fiber-local/metadata.xml @@ -0,0 +1,11 @@ + + + + + ruby@gentoo.org + Gentoo Ruby Project + + + socketry/fiber-local + + diff --git a/dev-ruby/http/Manifest b/dev-ruby/http/Manifest index 167454e630e1..9817fbc6c981 100644 --- a/dev-ruby/http/Manifest +++ b/dev-ruby/http/Manifest @@ -1,4 +1,6 @@ DIST http-4.4.1.gem 75776 BLAKE2B ab34a6a567842d52f9b7cbe3fc3fb8e4757f5cf1303deacdf2f2130a44e82fde64f0db561c3f8fc28100faea277a9c4a9352f95e6cb1359730b34e83a7b36d72 SHA512 6e43a8ae379d7c8a807a9a03c87bfb5ad1719f9838e26ac7a695220ee2bc50344accc2db268d30da175328fd5468b87ec8532d17ce42a5b74d6c2c4c281d1bc9 +DIST http-5.1.0.gem 81920 BLAKE2B cc80149b89eabd5c6b468ffe28b33e17845bd996fa3bf8b9c38c517fe79994412b376b3bac365e8debbeb272cf4333aebd398d1955a358faa27ba9f124671443 SHA512 b99da5318da54e7b64abd48df0b68cde9a02e1ae92b51fc43302e3dea28ba9672e2b7a25e31c342235835e16b2e1b98c94b6d4efa7916a0aa99258fc8290260f EBUILD http-4.4.1-r1.ebuild 1655 BLAKE2B b4aab0ac50e5c6a92b9380b94da5750df06123a143844edfb81ec999fc48abea0ed79eb3634694629ef2391592ce8701cd56be906c4c65ff2764626ed14cbef1 SHA512 831d09d20dc6f96f26bb47e89bc814f4f5947e755920d788b8fab0254bb471648fc95bff0feea19b439063896b81bca2db75d8d387eeaf0b8088ec7239fb2cc4 EBUILD http-4.4.1.ebuild 1514 BLAKE2B be5425eb0601b170113e8c732c25fb5a696c037ada34600244f3ff80f2a8ef9000028a5bbd843a06a1ac2bc18e98bfb76c43f6d8533a5d43084bfd108534bb40 SHA512 fbcd52cc5a6e95a8cac026fea2b7ea030f22fd4280818a5861f28c456a33f85ad2bd103399a002de725fb1ffb5c2d05b2e88b567c552ee597269e4200f427b3b +EBUILD http-5.1.0.ebuild 1814 BLAKE2B 6b2500b9605383ee37414d49ad12b2c0566c201fd07d9fc20d360dca8dd8330eb9bdb65ef9c3ddc50c018fed0427dad18b27dd63b7f3c13bdc80a9ace8cdefe1 SHA512 9a0cb1d5015407a6ee68f69c40dac14b19a5682e620a1c8e06a0913372799eb0ab142c9b0e0c0b5ec82f492044d5ebffe0d1d4e6756dbf2e0b0e0e26f676996e MISC metadata.xml 340 BLAKE2B 3f69f47d5faad39a2de9cce22c25a490645c3ca3b9bebca74e2c19bec16d5b05927e4d0a56a32d615c26d01513bd82ee09e13ab0b1b2fc9cd02f7e5723d8db34 SHA512 6cd51992e506d9df562267d357d7af6ff55aa2e9cfb8b1147b6544f12464a02c0c28b08bb5a4c00e3cb084b4f891f78b731c4bd1f8988f7d192d15986c5b2290 diff --git a/dev-ruby/http/http-5.1.0.ebuild b/dev-ruby/http/http-5.1.0.ebuild new file mode 100644 index 000000000000..d05205e7563f --- /dev/null +++ b/dev-ruby/http/http-5.1.0.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +USE_RUBY="ruby26 ruby27 ruby30 ruby31" + +RUBY_FAKEGEM_RECIPE_TEST="rspec3" +RUBY_FAKEGEM_EXTRADOC="CHANGES.md README.md" +RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec" +inherit ruby-fakegem + +DESCRIPTION="An easy-to-use client library for making requests from Ruby" +HOMEPAGE="https://github.com/tarcieri/http" + +LICENSE="MIT" +SLOT="$(ver_cut 1)" +KEYWORDS="~amd64 ~sparc" +IUSE="" + +ruby_add_rdepend "=dev-ruby/addressable-2* + >=dev-ruby/addressable-2.8 + =dev-ruby/http-cookie-1* + >=dev-ruby/http-form_data-2.2:2 + >=dev-ruby/llhttp-ffi-0.4.0:0/0.4" + +ruby_add_bdepend " + test? ( + =dev-ruby/certificate_authority-1* + dev-ruby/rspec-its + )" + +all_ruby_prepare() { + # Avoid specs that require network access + sed -i -e '/.persistent/,/^ end/ s:^:#:' \ + spec/lib/http_spec.rb || die + sed -i -e '/with non-ASCII URLs/,/^ end/ s:^:#:' \ + spec/lib/http/client_spec.rb || die + + # Avoid spec that may fail with a running web server + sed -i -e '/unifies socket errors into HTTP::ConnectionError/,/^ end/ s:^:#:' spec/lib/http_spec.rb || die + + # Fix spec for production release + sed -i -e '/User-Agent:/ s/.dev//' spec/lib/http/features/logging_spec.rb || die + + # Avoid specs also failing upstream due to some certificate issue + sed -i -e '/context "ssl"/,/^ end/ s:^:#:' spec/lib/http_spec.rb || die + sed -i -e '/describe "working with SSL"/,/^ end/ s:^:#:' spec/lib/http/client_spec.rb || die + + # Disable coverage + sed -i -e 's/require_relative ".\/support\/simplecov"//g' "spec/spec_helper.rb" || die + + # Submitted upstream as https://github.com/httprb/http/pull/719 + sed -i -e '4i require "cgi"' "spec/lib/http/client_spec.rb" || die +} + +each_ruby_test() { + # disables dev-ruby/fuubar dep + CI=1 each_fakegem_test +} diff --git a/dev-ruby/io-event/Manifest b/dev-ruby/io-event/Manifest new file mode 100644 index 000000000000..1d5acd96a4f1 --- /dev/null +++ b/dev-ruby/io-event/Manifest @@ -0,0 +1,3 @@ +DIST io-event-1.0.9.tar.gz 31984 BLAKE2B 543c460cde5ac269607e4d7ec54962879141d40d9592433a55d53e89b2a43bce4f161c1e4b21322a9b3fe60d5ab77e35692a19f899b9210d06fbcf185bca83de SHA512 d2b5903e68425bb23a7a9b861e76b2d125b9cf53f81ca0120ded010559ca26f3af002b5da28092245e00e8d9b81e94bdda72b2ea607cfae27a1e48e3f1a39130 +EBUILD io-event-1.0.9.ebuild 864 BLAKE2B 97541213e4f3c2adea19dc1b65af8d8e267116730ebe84b073155764293d5250e157fe459a235bdbab5d6af0c884a353ed7b6065f27b6cb12000434867ba1796 SHA512 0674bd2e985478d5ceff0be2337d3f71a0dce3211ac097de071d7fc10ca4cff811db91c79d7166bac4ca63c2208a626280a5a5e3c4661c8bc58ff96e0bd1d117 +MISC metadata.xml 344 BLAKE2B bb572a3bebb66073283f2eea535cb9ac95d3adba0e060350609028bb47b7a03b6ddb3294293e95a6c505fe5d9c7127a37f1d1afa9abf66312bf4b4a688b4ddf9 SHA512 9c114303bb3edf528224eac75e7095403230f94baf373649442c123cceee029258616fa2ea68823814dd1ecdfe0f9c4ef73491ca449f569f12aa159b78811ef5 diff --git a/dev-ruby/io-event/io-event-1.0.9.ebuild b/dev-ruby/io-event/io-event-1.0.9.ebuild new file mode 100644 index 000000000000..d0b6cc652fb7 --- /dev/null +++ b/dev-ruby/io-event/io-event-1.0.9.ebuild @@ -0,0 +1,31 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +USE_RUBY="ruby30 ruby31" +RUBY_FAKEGEM_EXTENSIONS="ext/extconf.rb" +RUBY_FAKEGEM_RECIPE_TEST="" +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" + +LICENSE="MIT" +SLOT="$(ver_cut 1)/$(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 +} + +each_ruby_test() { + "${RUBY}" -S sus-parallel || die +} diff --git a/dev-ruby/io-event/metadata.xml b/dev-ruby/io-event/metadata.xml new file mode 100644 index 000000000000..0962eb7f2192 --- /dev/null +++ b/dev-ruby/io-event/metadata.xml @@ -0,0 +1,11 @@ + + + + + ruby@gentoo.org + Gentoo Ruby Project + + + socketry/io-event + + diff --git a/dev-ruby/llhttp-ffi/Manifest b/dev-ruby/llhttp-ffi/Manifest new file mode 100644 index 000000000000..b7874f5c5fe7 --- /dev/null +++ b/dev-ruby/llhttp-ffi/Manifest @@ -0,0 +1,3 @@ +DIST llhttp-0.4.0.tar.gz 98406 BLAKE2B 9f7358d988ed00558a36ae80e3c7d38cabb41a2233f32f4e3e6e9ed49a205f85ed84cb76cb07984f3b73b0a67eade4844ed5f4ee98b2453fa5c25d36fcb0082c SHA512 56a491763500b1619492173a83a227e3228847f4b85b8dadab1a9de34d65d5c662615c18d6cc6d5e11226df83381fd7f79f67e12f89f0e437ada8f9fd083ec26 +EBUILD llhttp-ffi-0.4.0.ebuild 1152 BLAKE2B 8acf5ebe023e9d0c1f35fc53632a8e5bfec9962c15480519cc0b6a326d7413b113c9309915325f2ffc7b6c3043e107b06ff800ee76539c11953933ec96fa038f SHA512 41a138462c857504eb41a8e68889b4a8db561853f9e3e5ddc0b3deb6047f664768fb6faf8cdc4538087438e86fe342b5007f2d4d31ef33fd62ccbbf1c131cd1b +MISC metadata.xml 342 BLAKE2B fed02fc3abfc46f4d9c46eac8333aada41c709559f1200c9505b6e19b24cd4af9e03d36fa5a701c1cc7406bc1f8c3499c23c29d390dfcfae9e7aa2883dedd97a SHA512 582e050c2e5e5659e05d5998bffc07aebb8603d2a817bd29527ccc0b4a98fc8a5b8326664f34eca8f7267fc0f56b9d81539b49a20eb58a7b5ba133e75808d248 diff --git a/dev-ruby/llhttp-ffi/llhttp-ffi-0.4.0.ebuild b/dev-ruby/llhttp-ffi/llhttp-ffi-0.4.0.ebuild new file mode 100644 index 000000000000..b22be2e05156 --- /dev/null +++ b/dev-ruby/llhttp-ffi/llhttp-ffi-0.4.0.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +USE_RUBY="ruby26 ruby27 ruby30 ruby31" +RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md" +RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec" + +inherit ruby-fakegem + +DESCRIPTION="Ruby FFI bindings for llhttp" +HOMEPAGE="https://github.com/metabahn/llhttp" +MY_PV="2021-09-09" +SRC_URI="https://github.com/metabahn/llhttp/archive/refs/tags/${MY_PV}.tar.gz -> llhttp-${PV}.tar.gz" + +LICENSE="MPL-2.0" +SLOT="$(ver_cut 1)/$(ver_cut 1-2)" +KEYWORDS="~amd64 ~sparc" +IUSE="" +RUBY_S="llhttp-${MY_PV}/ffi" + +ruby_add_rdepend "=dev-ruby/ffi-compiler-1*" + +ruby_add_bdepend "test? ( dev-ruby/async-io )" + +all_ruby_prepare() { + sed -i -e 's/gem "rake-compiler"//g' "Gemfile" || die +} + +each_ruby_compile() { + cd ext && "${RUBY}" -S rake || die + local FFI_PLATFORM_NAME="$(${RUBY} --disable=did_you_mean -e "require 'ffi' ; p \"#{FFI::Platform::ARCH}-#{FFI::Platform::OS}\"" | tr -d "\"")" + install -D "${FFI_PLATFORM_NAME}/libllhttp-ext.so" "../lib/${FFI_PLATFORM_NAME}/libllhttp-ext.so" || die +} + +each_ruby_install() { + each_fakegem_install + ruby_fakegem_extensions_installed +} diff --git a/dev-ruby/llhttp-ffi/metadata.xml b/dev-ruby/llhttp-ffi/metadata.xml new file mode 100644 index 000000000000..0b975f88294a --- /dev/null +++ b/dev-ruby/llhttp-ffi/metadata.xml @@ -0,0 +1,11 @@ + + + + + ruby@gentoo.org + Gentoo Ruby Project + + + metabahn/llhttp + + diff --git a/dev-ruby/rack-test/Manifest b/dev-ruby/rack-test/Manifest index cd797e906379..504bb6745bb1 100644 --- a/dev-ruby/rack-test/Manifest +++ b/dev-ruby/rack-test/Manifest @@ -1,5 +1,6 @@ +AUX backport-b1084c1-issue-323.patch 869 BLAKE2B a43d83c09ac9b0bafda3a6a49fb71446425d4f5eb5e4fa9ac006ebf94c84c61aae3baef674d811c86f183cee61c814f8a88406fc7b8720d96d211e04076f25da SHA512 9d4f3ac4a592a811f603a3401ad07ce703620d2b2dfe25c2f37fc3ec1a952e7ab708b321e817edf63452d72bfa0ed2738c69b0a4063f8ac1dd0b0584c4d4b274 DIST rack-test-1.1.0.tar.gz 27035 BLAKE2B 640de2303850662c3b6a8fc17f2344223c9928b48abde6d1b251a634689793158f35498c4736e4e2d069efa921d37bc32da92a7e17c0761a6f6111b345b54c1a SHA512 36d947d9b13d33ee8322e5b9d18fe8266787ccb7703f1fafadc040123e34dd44e98e7faf8b6dd816e51ed167065b2ffe79e9bcee74564dc324ba2b7dba76f82a DIST rack-test-2.0.2.tar.gz 30651 BLAKE2B 82ffa59cca24cbb42a885bf05792cb603c44881886b716698a1ebd6857231bfdfafd9a8e68f2fd2e1d795c167886db44db5a620eac35e3824c8fe7fa1148718a SHA512 de91787563546a3f12da15f665975bf3d68f7633e277c86a529a728cb8ba9d78bac5c30c2ec1ece9aab5341571ceb23d8089d0da542409bdba23ebe93d75e2a5 -EBUILD rack-test-1.1.0-r1.ebuild 1069 BLAKE2B 07c2f65bd1508d1452f2452fc1f5a4fd42473521b44067d20635954fae76dab4fceb83b225b3105e84d82e65fb26bd87a23ab1a6d3dc43657a5e158d9b70d0b4 SHA512 7e6d15f29a800ce10d9c8233171b1ea68e0263d2688fd4f897740a123928a1ab38cbb94bd1b2e054bce12aa66faf47fe99633a79283f2a5d0a7fa647ea71a966 -EBUILD rack-test-2.0.2.ebuild 875 BLAKE2B aadf359ffca68edc6faec0d15f30263e77eec1b35ac51df1e5ba86c084c90b885acf184819c7c7f55064deedecf043dbedf20f9ada2dad32dad2dc76e2437275 SHA512 d88073cbda41abccd802007e5487b05e79387fa08771cd47f98e6c0d22a70e5fd779c558f8c81ca0fbe96019d92b13754af9b6a38d9731338d7079fbedf8e0b4 +EBUILD rack-test-1.1.0-r1.ebuild 1076 BLAKE2B 1656ff7e1b56fc9f3d1b27fd3862ceecd63fb03e600e2259f0312c429131d0079b5763757b0bf9643f3d17eb364f0c8a55819411d75507bdba451702c2281a19 SHA512 4653a807bea38fcdae0ec39aaa140d663a2008a848f4faea0fc470ad59e9afeb33c3eb7ac29d2d726021148cd3345dec5074e03b49b0be3311aa82b8705d7d4e +EBUILD rack-test-2.0.2.ebuild 982 BLAKE2B c1c1414c4b6f018ba2463923592f3af8bffad7611a8a07f9375d860caf62f2bd2a400823154f6c3058b5a6e7d772e36473203bf9b36c35bfa394170304067b07 SHA512 e0882e5308dfff5c56e229bf9df612c113dedfe99d53b7315332a9bcb29fd8a424f6490fc3363c9588485337e593888e30585c9a67ae069edf6220aca569f6da MISC metadata.xml 344 BLAKE2B e30c148bc0cfee01a015a9f33b641e93cafb8791f46ea7c1ec56942da88eec469d0259780c697b3bae0cbaf806dc47f919b78f2aca4d7565effd47a630f6485b SHA512 93102d50461492b9a866f74783d9d6c3d04698a8766535064d1b3c2600c11f1002b3a8bba79c81b4294e19a33cb06f8b407442c73d24fd2efcf361e39623ad9e diff --git a/dev-ruby/rack-test/files/backport-b1084c1-issue-323.patch b/dev-ruby/rack-test/files/backport-b1084c1-issue-323.patch new file mode 100644 index 000000000000..84b3b2307aeb --- /dev/null +++ b/dev-ruby/rack-test/files/backport-b1084c1-issue-323.patch @@ -0,0 +1,29 @@ +https://github.com/rack/rack-test/issues/323 + +From b1084c1f7b04f6bdaad73c9d1ffc1b279af55e78 Mon Sep 17 00:00:00 2001 +From: Jeremy Evans +Date: Wed, 28 Sep 2022 18:33:43 -0700 +Subject: [PATCH] Make the UploadedFile GC finalizer test more reliable on + CRuby + +--- + spec/rack/test/uploaded_file_spec.rb | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/spec/rack/test/uploaded_file_spec.rb b/spec/rack/test/uploaded_file_spec.rb +index 2cb56ac..67bfbc5 100644 +--- a/spec/rack/test/uploaded_file_spec.rb ++++ b/spec/rack/test/uploaded_file_spec.rb +@@ -69,8 +69,10 @@ def file_path + System.gc + end + else +- c.new(file_path) +- GC.start ++ 50.times do |_i| ++ c.new(file_path) ++ GC.start ++ end + end + + # Due to CRuby's conservative garbage collection, you can never guarantee 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 0c5ce5f3d97a..4197fc6b4827 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,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=8 -USE_RUBY="ruby26 ruby27 ruby30" +USE_RUBY="ruby26 ruby27 ruby30 ruby31" RUBY_FAKEGEM_RECIPE_TEST="rspec3" diff --git a/dev-ruby/rack-test/rack-test-2.0.2.ebuild b/dev-ruby/rack-test/rack-test-2.0.2.ebuild index 15c959648795..1791e958884f 100644 --- a/dev-ruby/rack-test/rack-test-2.0.2.ebuild +++ b/dev-ruby/rack-test/rack-test-2.0.2.ebuild @@ -19,6 +19,8 @@ SLOT="$(ver_cut 1)" KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86" IUSE="" +PATCHES=( "${FILESDIR}/backport-b1084c1-issue-323.patch" ) # https://github.com/rack/rack-test/issues/323 + ruby_add_rdepend ">=dev-ruby/rack-1.3:*" ruby_add_bdepend " test? ( dev-ruby/minitest:5 dev-ruby/minitest-global_expectations )" diff --git a/dev-ruby/rspec-files/Manifest b/dev-ruby/rspec-files/Manifest new file mode 100644 index 000000000000..010d0677ba97 --- /dev/null +++ b/dev-ruby/rspec-files/Manifest @@ -0,0 +1,3 @@ +DIST rspec-files-1.1.2.tar.gz 4546 BLAKE2B fc3c3cc2acbac23e36ec6f85f6f58c8243f9ca769a16cfbdab6a4660dd9a22ba40fe1108b319206e9a6b5aaa4094ec372205ca33d00d2030476f1050448ef21d SHA512 af64435572b61ae4eaaed922160b8db5dca8a64987a3c24f2d15d1ec92abd2655d0e408ff2c7b4aeae29189ef1047901adc7c9e2af8a21f65dfafc974a4661ec +EBUILD rspec-files-1.1.2.ebuild 814 BLAKE2B 381949887a7f18a83fb88c49e2e26a5babf7dfec9233273085a90435c7e03f2f0de05aa86e3c774858eed611545d3915efe308955c884a32f4b0d578a57e44cc SHA512 61841106f074f846dcf437e566934a0a2cfb8ebb535393a62458272e4e8419920537f21111f2914505e16e694700ddbf12b74c04991bea016365818247918292 +MISC metadata.xml 347 BLAKE2B e6a2b14dc5577c957615c2c3d71e92e18102743c117277b90b6b7f95bea1d54b0a80137e309b55439b3532e7617a68332c8bdc92cf017fb7fe2cdd179dcb1441 SHA512 cb62bb2293ffcda6670a6c2a1c4dfe6d724690b2059097bf7a9fa311feb2ce9ccf98f42069bcb296d981507692fa88430df5c3a2c1cd04052c462b9d85516232 diff --git a/dev-ruby/rspec-files/metadata.xml b/dev-ruby/rspec-files/metadata.xml new file mode 100644 index 000000000000..dfae27f7746a --- /dev/null +++ b/dev-ruby/rspec-files/metadata.xml @@ -0,0 +1,11 @@ + + + + + ruby@gentoo.org + Gentoo Ruby Project + + + socketry/rspec-files + + diff --git a/dev-ruby/rspec-files/rspec-files-1.1.2.ebuild b/dev-ruby/rspec-files/rspec-files-1.1.2.ebuild new file mode 100644 index 000000000000..b1009e5db552 --- /dev/null +++ b/dev-ruby/rspec-files/rspec-files-1.1.2.ebuild @@ -0,0 +1,26 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +USE_RUBY="ruby26 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/refs/tags/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 +} diff --git a/dev-ruby/rspec-memory/Manifest b/dev-ruby/rspec-memory/Manifest new file mode 100644 index 000000000000..90dfdbd0723d --- /dev/null +++ b/dev-ruby/rspec-memory/Manifest @@ -0,0 +1,3 @@ +DIST rspec-memory-1.0.3.tar.gz 5248 BLAKE2B cf2cb55a6c3d155a739f1cbe3f307016d9446f9edde8554b6336602b86d95a369b152a413426082061c68d2e4015c68d31a34d7d80706ba09986fb8c8952d670 SHA512 1077bd6cb73ada029fc42f820e42792b58f8e06feeda711725d6f2a7a2af9151f72330d3e5a9d0fa7493eeb42f65ddf02a93fac00f5e24f2596f7df0da9439a3 +EBUILD rspec-memory-1.0.3.ebuild 798 BLAKE2B bbee1b34e1ecf72ee0bb3472b112ea125b8c32cc607885944944f3e21d20683ea2f8cbf426848c85ef5ed64ee0cd6807e8ee87c67de3682015bf4463a2a13589 SHA512 575b2f5a61ee04754085ab36fa7f8231f766797752f8decb1a3535e18ff5578f072409c1b2b8a8a3de29bd9e3a90ab8c58c357c4bc5206505fe5301cf96e8124 +MISC metadata.xml 348 BLAKE2B b7ddddc65f6c8375f9da0d18e67571a92901cbd4b769e5fddbb32b967013e49004c6818bc4cb986b45166fccd252d1166c813e8e6093093cdbe030ab2c95776d SHA512 808154b4c3f75888c7c278b12a0b8a626638369f609a854129b51ee8b569f98b9e2f4e13ead899d7a3f287e9f62776443f5f79befd7a0a1c8628cc9d28e976ee diff --git a/dev-ruby/rspec-memory/metadata.xml b/dev-ruby/rspec-memory/metadata.xml new file mode 100644 index 000000000000..87c955dadfb9 --- /dev/null +++ b/dev-ruby/rspec-memory/metadata.xml @@ -0,0 +1,11 @@ + + + + + ruby@gentoo.org + Gentoo Ruby Project + + + socketry/rspec-memory + + diff --git a/dev-ruby/rspec-memory/rspec-memory-1.0.3.ebuild b/dev-ruby/rspec-memory/rspec-memory-1.0.3.ebuild new file mode 100644 index 000000000000..0c30ccc070b1 --- /dev/null +++ b/dev-ruby/rspec-memory/rspec-memory-1.0.3.ebuild @@ -0,0 +1,26 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +USE_RUBY="ruby26 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" + +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 +} diff --git a/dev-ruby/sinatra/Manifest b/dev-ruby/sinatra/Manifest index 0bebcbdbcb8f..3a11f5ca32d2 100644 --- a/dev-ruby/sinatra/Manifest +++ b/dev-ruby/sinatra/Manifest @@ -1,10 +1,12 @@ +AUX backport-pr-1519.patch 3860 BLAKE2B 6bfd7e434af9e3f66517a568fc076eb138e16133b8463c072c3475c0749410f2ba838b825bd07bed14cfd08b7288c4a72e9891976099db10486d86bee0037e4e SHA512 620fb520f36dd2793d52d5472a43731f938438f74b29a4877528210bd06eb831279413692de43539a81b5c1e261f907c2b52c850593d1f4d264376ce46887dcb DIST sinatra-2.2.0.tar.gz 513752 BLAKE2B e407b9241cab27e326c0a2d4d83593e292de902b6ed19a12f17b0cd114230b0d10f1ffaa8f8b8237d17b547c7e012c57456af357019b228f3d7a88847220cf33 SHA512 be9432a8efa93578accc836cd0fecca128e56989d8596f1b3d33d2d956e90acd80244b98473fff2adae13ed4a1e933c41e73c80755a6f3418a65cdf33c011145 DIST sinatra-2.2.1.tar.gz 513047 BLAKE2B 38cec7c3b2e27ac795044d7d64a00deb09707523a13338328bb1d7657b3d8eee9ab9730c6eb903c04f64acca6d24b8f191f825056baa0e705bf7ebf5594c0d46 SHA512 73f35428e259867a9b9adbf7344dd78dfe3c5ae2749902d438e2bcd95c4e7e9935ecb7761a4c52928e3e05fd99f8497db3fc049c868f9b2e76c653b4271c87b5 DIST sinatra-2.2.2.tar.gz 513056 BLAKE2B 80904850ce577131ecc6c28917772cda6ab606ff1b4a71b733cde98d56e2906bb0dc5b65c83465e65686571e8752ec7935d89734e7d2e45c544fe14a2c8046d4 SHA512 e69a36738a7c1095968a343113ddba414ff685e941a8b55575e4b2ffa5a8e7394d874966d5532643cdfec997ac4c825c293185f6688c715006e37159eedd2be8 DIST sinatra-3.0.1.tar.gz 265781 BLAKE2B e4fc5dec7045f5a906a91fa8d71ea32e4e1491939047cdfece7d27df3c784a5c3779a4e5de243d87f1eb7e272e3aeeda9fbfc560b1cfaf2cf628d30106567825 SHA512 717d4caff1193b158128a22737340329e5d96bea5718702c22b8c8e2c72652b1048352b36454da410a57288c852de2f04bbee6335dfd4ee977eda62093a1a94a DIST sinatra-3.0.2.tar.gz 265824 BLAKE2B 87739d8863dd9959b8c3530b19a3f52de31636fcdd77fe1558930749498c73ec4cf0ddf998a9f6029c46842656059f8bd76d1781beb277608ccf265577561447 SHA512 57094e00ca8280401ed76f5c52dded82d42a4a81290a9a990f464ac43abbf350e8325b8f60505bfd005b6c7d92283a3f7a9345c0ccbf227530a8c3cb93c0af38 +EBUILD sinatra-2.2.0-r1.ebuild 1178 BLAKE2B 72e9d9cbe13398c4fd717ae69789a40414a5f62c6e0c8beb6e100cc78915532560900c339b34e201a9b349819fd40ac1b75e44d9d30724dd651e18c1eff4b498 SHA512 06d51f06b2845304a7756c0bf7266819fe1c40009889392fac950821d67e17afc266a85b8903316c3ead75c0e1e7c2cdd4fe3f140057242e4667ccb4e701ed0a EBUILD sinatra-2.2.0.ebuild 1012 BLAKE2B e5748efcee47332e37a741df852b5851956bac34bdc4d50c6bbf23287c143b324a0ede69a14a3153ce3d68aa3ee76244d00ddfb6b0f527c8ae98e4a880a36790 SHA512 a96d186b6330bc65b95643543d6d1816bea49fc5016baa476c75d20fad140ffcd64973a43c7dc3167bfaea4d009f71873d525cbfe6a57bdd551e627ec8eb35d9 -EBUILD sinatra-2.2.1.ebuild 1006 BLAKE2B 681f6b2f9b17b7ac7d9656dcef754dcd1db17f1a42071e132c4ceed0d8af9a0ae15ca52fabcde0a33bae544a4e7dc53b8afcb2989c637935e6002e3fc16ac4b9 SHA512 dad05b778dd62a7d05865452c0de421e68faa80fd7c02f2fab0a1f581b6de98e746dd21e0546ca0f36a98f2ece46ae9fb23d486127b09101641b91713281623c +EBUILD sinatra-2.2.1.ebuild 1159 BLAKE2B 22a3c11de592a4ac843f24f36313ce98e15a9f6a092e537ee9d59b985f105ea8ce08159c8159d7e178e65d7766d7027ce7185d2f9f648226d8e05404863fd725 SHA512 7cc6aa34ce962441a11e9a3e019e984fa1340c5d28e064d14d0e7c25a6c5e2de9114d0542adcc8bc53c38f8291547862f1529db2c9babf0d710659a199799649 EBUILD sinatra-2.2.2.ebuild 1006 BLAKE2B 02051754d7ceead4327c603836d52b6d4344e9c1ab4d3ae6fc3a7dc2ded7a2ee8540702aaca19f3eb388e064bfa990637776e400b068f1ee0702fc5917da5eb3 SHA512 2552c3e63d0b62838d631551b2a135822df89c2ec6758a34ec058989f47925525cf0c3a984f777166404449c0ec09e16b4cd4d5672a1d01d43769c6e486a483c EBUILD sinatra-3.0.1.ebuild 1032 BLAKE2B a318d2bb27f201493c9b1b07d741af8f97ad03c6bea074cfc99946f89fb8513770ef3f584beff328767723b954e4f657c5ae64541ebab365fe322e7bba0c78e5 SHA512 43124a035900095395901af2c0e1766987401eaba394e56c8e830214ff7fd3469f1b5f4bc3a1bd0cdc01a03889b6a57b2837aca1db43a5a8fd4dea42c12e480c EBUILD sinatra-3.0.2.ebuild 1032 BLAKE2B a318d2bb27f201493c9b1b07d741af8f97ad03c6bea074cfc99946f89fb8513770ef3f584beff328767723b954e4f657c5ae64541ebab365fe322e7bba0c78e5 SHA512 43124a035900095395901af2c0e1766987401eaba394e56c8e830214ff7fd3469f1b5f4bc3a1bd0cdc01a03889b6a57b2837aca1db43a5a8fd4dea42c12e480c diff --git a/dev-ruby/sinatra/files/backport-pr-1519.patch b/dev-ruby/sinatra/files/backport-pr-1519.patch new file mode 100644 index 000000000000..cc344621c3b6 --- /dev/null +++ b/dev-ruby/sinatra/files/backport-pr-1519.patch @@ -0,0 +1,122 @@ +https://github.com/sinatra/sinatra/pull/1519 + +From 6d34a2a1bee48961c25e1b53edac874a31c42060 Mon Sep 17 00:00:00 2001 +From: Jordan Owens +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 '

Internal Server Error

', 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 new file mode 100644 index 000000000000..4a36cb96c31f --- /dev/null +++ b/dev-ruby/sinatra/sinatra-2.2.0-r1.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +USE_RUBY="ruby26 ruby27 ruby30 ruby31" + +RUBY_FAKEGEM_TASK_TEST="MT_NO_PLUGINS=true test:core" + +RUBY_FAKEGEM_EXTRADOC="README.md AUTHORS.md CHANGELOG.md" + +RUBY_FAKEGEM_GEMSPEC="sinatra.gemspec" + +inherit ruby-fakegem + +DESCRIPTION="A DSL for quickly creating web applications in Ruby with minimal effort" +HOMEPAGE="http://www.sinatrarb.com/" +SRC_URI="https://github.com/sinatra/sinatra/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +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 + ~dev-ruby/rack-protection-${PV} + dev-ruby/tilt:2" +ruby_add_bdepend "test? ( >=dev-ruby/rack-test-0.5.6 dev-ruby/erubis dev-ruby/builder + + + + ruby@gentoo.org + Gentoo Ruby Project + + + ioquatix/sus + + diff --git a/dev-ruby/sus/sus-0.13.0.ebuild b/dev-ruby/sus/sus-0.13.0.ebuild new file mode 100644 index 000000000000..713c073218b5 --- /dev/null +++ b/dev-ruby/sus/sus-0.13.0.ebuild @@ -0,0 +1,28 @@ +# 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="" +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/refs/tags/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 + sed -i -E '/^#/!d' "config/${PN}.rb" || die # remove covered coverage +} + +each_ruby_test() { + "${RUBY}" "bin/sus-parallel" || die +} -- cgit v1.2.3