diff --git a/www-servers/puma/Manifest b/www-servers/puma/Manifest index 12787461c919..2d4c38417a90 100644 --- a/www-servers/puma/Manifest +++ b/www-servers/puma/Manifest @@ -3,3 +3,4 @@ DIST puma-6.6.0.tar.gz 408988 BLAKE2B 656a82b50ef0556ae78791ed268a081c868eda85f2 DIST puma-6.6.1.tar.gz 412347 BLAKE2B 6d0146f9bc39b0eb82edcea78cceeccccf9dba69d8d39a4c7710ab1a073f4909d5d7f2ec470c3d9a9d51738639b4fd72b16c359ccfeb6573ecfbbdbbf5384897 SHA512 5838b5eabb1190ba7af5429c08f34428954fb3e9c23bc8b78850021fc628bcb888feefea6f76d24caf490b1a45d890289dfe9b5c90ee9891b6387f81b6c05626 DIST puma-7.0.1.tar.gz 416567 BLAKE2B 3c1059d2c7eec9d909a7ee242f9cf696f9705a8a6cf3cb4e55c5ca6bf74492a4c6e7fbc8cd92c0cf37d8f69a04a5cd27deb91713e6aa271bf56cd763c5b55d21 SHA512 0fd94e2208a43384c58aec4895f3f83f16e70ddc27c180b3d42972e9f670e4952640d5cd637fc94f882fbd35e1d48bbbb7b6c197e42e70e6b22eddaaf4ead9ae DIST puma-7.0.3.tar.gz 417532 BLAKE2B 02ad9dfb2a9a62681dc792bde4553bbaf831b3a597f6d81c8fafc31232697f196587c148afb19ecd7ec93f2d6df46cb1ac95b308c7f53fbf71b46aa91f6265d0 SHA512 74fc3fc675a6a20cf537af704553cd486b8c5c059ffa05d5c8b71d1f9c8ef0a13c8cc052fbb7c666b5385674e6268a40345d9c20ca29001af1f53c940def6185 +DIST puma-7.0.4.tar.gz 421722 BLAKE2B 9c72589adcccb3294c1d201e0299530904d72a7713ec268ee7ef65ece07635cc7c03145c0bf87344f15cdaacd0b42fb2f6990d5a33dc1d57501ebd176408c1d4 SHA512 f9abc89368169b8be0ba8d53b6e8758159a083e70fa54377fccbdac3bcbc4f7218922870271345662e8994d41d18454ba51fa288c0b074733ff52936ebd08e39 diff --git a/www-servers/puma/puma-7.0.4.ebuild b/www-servers/puma/puma-7.0.4.ebuild new file mode 100644 index 000000000000..55a315c44bad --- /dev/null +++ b/www-servers/puma/puma-7.0.4.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +USE_RUBY="ruby32 ruby33 ruby34" + +RUBY_FAKEGEM_GEMSPEC="puma.gemspec" + +RUBY_FAKEGEM_EXTENSIONS=(ext/puma_http11/extconf.rb) +RUBY_FAKEGEM_EXTENSION_LIBDIR=lib/puma + +inherit ruby-fakegem + +DESCRIPTION="a simple, fast, threaded, and highly concurrent HTTP 1.1 server for Ruby/Rack" +HOMEPAGE="https://puma.io/" +SRC_URI="https://github.com/puma/puma/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="3" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86" + +DEPEND="dev-libs/openssl:0 test? ( net-misc/curl )" +RDEPEND="dev-libs/openssl:0=" + +ruby_add_bdepend "virtual/ruby-ssl + test? ( + dev-ruby/concurrent-ruby + dev-ruby/localhost + || ( dev-ruby/rack:3.1 dev-ruby/rack:3.0 ) + dev-ruby/rackup + >=dev-ruby/minitest-5.9:5 + >=dev-ruby/test-unit-3.0:2 + )" + +ruby_add_rdepend "dev-ruby/nio4r:2" + +all_ruby_prepare() { + sed -e '/\(pride\|prove\|stub_const\)/ s:^:#:' \ + -e '/require_relative.*verbose/ s:^:#:' \ + -i test/helper.rb || die + + # Avoid tests failing inconsistently + #sed -i -e '/test_bad_client/askip "inconsistent results"' test/test_web_server.rb || die + + # Avoid tests depending on specific encoding + #sed -i -e '/test_lowlevel_error_handler_response/askip "specific encoding required"' test/test_puma_server.rb || die + + # Avoid launcher tests since they make assumptions about bundler use + rm -f test/test_launcher.rb test/test_worker_gem_independence.rb test/test_bundle_pruner.rb || die + sed -e '/test_web_concurrency_with_concurrent_ruby_unavailable/askip "Cannot provide environment for this"' \ + -i test/test_web_concurrency_auto.rb || die + + # Skip integration tests since they make a lot of assumptions about + # the environment + rm -f test/test_integration_* test/test_preserve_bundler_env.rb|| die + + # Avoid test that uses unpackaged stub_const + sed -i -e '/test_shutdown_with_grace/,/^ end/ s:^:#:' test/test_thread_pool.rb || die + + # Avoid test that fails, most likely due to how we run the test suite + rm -f test/test_url_map.rb || die + + # Avoid test that fails sometimes, possibly due to timing + # constraints or a race condition. + #sed -e '/test_systemd_notify_usr1_phased_restart_cluster/askip "Flaky test"' \ + # -i test/test_plugin_systemd.rb || die + + # Avoid a test that fails on systemd systems due to the pluging + # getting autoloaded there, bug #954180 + sed -e '/test_plugins/askip "Fails on a systemd system"' \ + -i test/test_cli.rb || die + + # Tries to call 'rackup' directly + sed -i -e '/def test_bin/,/^ end/ s:^:#:' test/test_rack_handler.rb || die + + sed -e 's/git ls-files --/find/' \ + -e 's:_relative ": "./:' \ + -i ${RUBY_FAKEGEM_GEMSPEC} || die +} + +each_ruby_test() { + einfo "Running test suite" + + MT_NO_PLUGINS=true ${RUBY} -Ilib:.:test \ + -e "require 'minitest/autorun'; Dir['test/**/*test_*.rb'].each{require _1}" || die +}