summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormatoro <matoro@users.noreply.github.com>2022-06-15 00:43:00 -0400
committerMatt Turner <mattst88@gentoo.org>2022-10-22 17:33:11 -0400
commit21da93d12d75a057b069c1d289974253da3c3db3 (patch)
tree42493ccbb8990b83e62d2950030931d9be13abee /dev-ruby
parentdev-ruby/sus: new package, add 0.6.2 (diff)
downloadgentoo-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')
-rw-r--r--dev-ruby/http/Manifest1
-rw-r--r--dev-ruby/http/http-5.1.0.ebuild59
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
+}