diff options
author | matoro <matoro@users.noreply.github.com> | 2022-06-15 00:43:00 -0400 |
---|---|---|
committer | Matt Turner <mattst88@gentoo.org> | 2022-10-22 17:33:11 -0400 |
commit | 21da93d12d75a057b069c1d289974253da3c3db3 (patch) | |
tree | 42493ccbb8990b83e62d2950030931d9be13abee /dev-ruby/http | |
parent | dev-ruby/sus: new package, add 0.6.2 (diff) | |
download | gentoo-21da93d12d75a057b069c1d289974253da3c3db3.tar.gz gentoo-21da93d12d75a057b069c1d289974253da3c3db3.tar.bz2 gentoo-21da93d12d75a057b069c1d289974253da3c3db3.zip |
dev-ruby/http: add 5.1.0
Giant push to the Ruby tree to bring up dev-ruby/http to the 5.x branch.
http-5.x changes the underlying C parser from http-parser to llhttp-ffi,
which pulls in most of the socketry async ecosystem for its tests. All
of these packages have been tested on sparc, using all compatible Ruby
versions from ruby26 to ruby31.
KNOWN ISSUES:
* dev-ruby/async-http tests can hang on ruby27 only
* dev-ruby/dalli tests are RESTRICTed because they spin up a local
memcached instance, which is broken on sparc (see bug 636552)
* In order to get the benefits of respect-cflags.patch for packages that
use ffi-compiler (such as dev-ruby/llhttp-ffi), you must rebuild
dev-ruby/ffi-compiler
* dev-ruby/ffi has two failing tests, but passes everything else. This
does not seem to affect functionality. Documented in bug 847286 and
upstream https://github.com/ffi/ffi/pull/957
* dev-ruby/simplecov tests fail for ruby3x, already filed by someone
else as bug 835620. This may be fixed in newer upstream versions
* 5.1.0 seems to have introduced a new issue not present in 5.0.4, fix
is simple and submitted upstream as
https://github.com/httprb/http/pull/719, courtest of
https://github.com/pact-foundation/pact-support/pull/29
Closes: https://bugs.gentoo.org/766162
Bug: https://bugs.gentoo.org/761550
Signed-off-by: matoro <matoro@users.noreply.github.com>
Signed-off-by: Matt Turner <mattst88@gentoo.org>
Diffstat (limited to 'dev-ruby/http')
-rw-r--r-- | dev-ruby/http/Manifest | 1 | ||||
-rw-r--r-- | dev-ruby/http/http-5.1.0.ebuild | 59 |
2 files changed, 60 insertions, 0 deletions
diff --git a/dev-ruby/http/Manifest b/dev-ruby/http/Manifest index 41b2ecc8d0a2..881c00e264fb 100644 --- a/dev-ruby/http/Manifest +++ b/dev-ruby/http/Manifest @@ -1 +1,2 @@ DIST http-4.4.1.gem 75776 BLAKE2B ab34a6a567842d52f9b7cbe3fc3fb8e4757f5cf1303deacdf2f2130a44e82fde64f0db561c3f8fc28100faea277a9c4a9352f95e6cb1359730b34e83a7b36d72 SHA512 6e43a8ae379d7c8a807a9a03c87bfb5ad1719f9838e26ac7a695220ee2bc50344accc2db268d30da175328fd5468b87ec8532d17ce42a5b74d6c2c4c281d1bc9 +DIST http-5.1.0.gem 81920 BLAKE2B cc80149b89eabd5c6b468ffe28b33e17845bd996fa3bf8b9c38c517fe79994412b376b3bac365e8debbeb272cf4333aebd398d1955a358faa27ba9f124671443 SHA512 b99da5318da54e7b64abd48df0b68cde9a02e1ae92b51fc43302e3dea28ba9672e2b7a25e31c342235835e16b2e1b98c94b6d4efa7916a0aa99258fc8290260f 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 +} |