commit: 2cd6a3c539619e69d7640eb4fdd60429207d12f1 Author: Hans de Graaff <graaff <AT> gentoo <DOT> org> AuthorDate: Sat Feb 22 06:22:01 2025 +0000 Commit: Hans de Graaff <graaff <AT> gentoo <DOT> org> CommitDate: Sat Feb 22 06:22:01 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2cd6a3c5
dev-ruby/httpclient: add 2.9.0 Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org> dev-ruby/httpclient/Manifest | 1 + dev-ruby/httpclient/httpclient-2.9.0.ebuild | 77 +++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+) diff --git a/dev-ruby/httpclient/Manifest b/dev-ruby/httpclient/Manifest index 80f53172771c..4b0273b617bf 100644 --- a/dev-ruby/httpclient/Manifest +++ b/dev-ruby/httpclient/Manifest @@ -1 +1,2 @@ DIST httpclient-2.8.3.tgz 464624 BLAKE2B ce8ed523a24acce219027a4f1985caf2b4dae29bdba038ca2397e5f4d4b36c90b35cedfb62faa7faf426c3ce8589906df7832968c81b64bc9100eff6f4fe9745 SHA512 b65b5adb97af069d7ff6b6f4cccd6a42c6d9c88b797e9495768fe1f36a6bd93defe50190edc201de5e39c4e306ba0bd17a8ff2f8eba4d636dacafa06c172967d +DIST httpclient-2.9.0.tgz 473334 BLAKE2B 1bae5244a9e6a79afe65d6c522886507d0b38d1bd38cbd85cce3cf3fdfbf95fa85008d4880ee3071ca62eab8b67ac91fff90995bb4de973f32201e9972eae33a SHA512 6a928438e04bd7cc4d8b14b1fa65baa1186a4fa1e325c06c8f412dc586cc3618e10bfe556d7911cf452fca0ccc0b26fdf52af6357d4c249293da46a977c0b218 diff --git a/dev-ruby/httpclient/httpclient-2.9.0.ebuild b/dev-ruby/httpclient/httpclient-2.9.0.ebuild new file mode 100644 index 000000000000..b5e1938faba4 --- /dev/null +++ b/dev-ruby/httpclient/httpclient-2.9.0.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +USE_RUBY="ruby31 ruby32 ruby33" + +RUBY_FAKEGEM_TASK_TEST="-Ilib test" +RUBY_FAKEGEM_TASK_DOC="doc" + +RUBY_FAKEGEM_DOCDIR="doc" + +RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md" + +RUBY_FAKEGEM_GEMSPEC="httpclient.gemspec" + +inherit ruby-fakegem + +DESCRIPTION="'httpclient' gives something like the functionality of libwww-perl (LWP) in Ruby" +HOMEPAGE="https://github.com/nahi/httpclient" +SRC_URI="https://github.com/nahi/httpclient/archive/v${PV}.tar.gz -> ${P}.tgz" + +LICENSE="|| ( Ruby Ruby-BSD BSD-2 )" +SLOT="0" + +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="doc test" + +ruby_add_rdepend "dev-ruby/mutex_m virtual/ruby-ssl" + +ruby_add_bdepend "doc? ( dev-ruby/rdoc )" +ruby_add_bdepend "test? ( dev-ruby/test-unit dev-ruby/http-cookie dev-ruby/webrick )" + +all_ruby_prepare() { + rm Gemfile || die + sed -i -e '/[bB]undler/s:^:#:' Rakefile || die + + # Fix documentation task + sed -i -e 's/README.txt/README.md/' Rakefile || die + + # Remove mandatory CI reports since we don't need this for testing. + sed -i -e '/reporter/s:^:#:' Rakefile || die + + # Remove mandatory simplecov dependency + sed -i -e '/[Ss]imple[Cc]ov/ s:^:#:' test/helper.rb || die + + # Comment out test requiring network access that makes assumptions + # about the environment, bug 395155 + sed -i -e '/test_async_error/,/^ end/ s:^:#:' test/test_httpclient.rb || die + + # Skip tests using rack-ntlm which is not packaged. Weirdly these + # only fail on jruby. + rm test/test_auth.rb || die + + # Skip tests using obsolete 1024-bit or expired certificates and + # won't even run anymore. + rm -f test/test_ssl.rb || die + + # Do not use 11-year-old bundled certificates! + # fix this copy so it doesn't fail tests + ln -sf "${EPREFIX}"/etc/ssl/certs/ca-certificates.crt ./dist_key/cacerts.pem + ln -sf "${EPREFIX}"/etc/ssl/certs/ca-certificates.crt ./lib/httpclient/cacert.pem +} + +each_ruby_test() { + ${RUBY} -Ilib:test:. -e 'gem "test-unit"; Dir["test/test_*.rb"].each{|f| require f}' || die +} + +each_ruby_install() { + each_fakegem_install + # Do not use 11-year-old bundled certificates! + # fix this copy for production systems + # do not ship the cacert1024.pem at all anymore, nobody should use RSA1024 certs! + rm -f "${ED}/$(ruby_fakegem_gemsdir)/gems/${RUBY_FAKEGEM_NAME}-${RUBY_FAKEGEM_VERSION}/lib/httpclient/"{cacert.pem,cacert1024}.pem + dosym -r /etc/ssl/certs/ca-certificates.crt \ + $(ruby_fakegem_gemsdir)/gems/${RUBY_FAKEGEM_NAME}-${RUBY_FAKEGEM_VERSION}/lib/httpclient/cacert.pem +}
