diff options
Diffstat (limited to 'dev-ruby/dalli')
-rw-r--r-- | dev-ruby/dalli/Manifest | 2 | ||||
-rw-r--r-- | dev-ruby/dalli/dalli-3.2.8-r1.ebuild | 46 | ||||
-rw-r--r-- | dev-ruby/dalli/files/dalli-3.2.8-ruby34.patch | 235 |
3 files changed, 283 insertions, 0 deletions
diff --git a/dev-ruby/dalli/Manifest b/dev-ruby/dalli/Manifest index 6d89c656964f..395ac307c4ec 100644 --- a/dev-ruby/dalli/Manifest +++ b/dev-ruby/dalli/Manifest @@ -1,3 +1,5 @@ +AUX dalli-3.2.8-ruby34.patch 8102 BLAKE2B 013de2ed2ce14fd87fb57dbfbceac255d6a8fe5e70eded2d560793569b4502e8cff6788c14251155ed6f8a98579c7b855f32367fd7d324bb749e9de173d79eb0 SHA512 2a91643e5250fa7916b1586a99a2e564781bd14c39cc1fd2a058dc1e320dba2635341fe8c3be289da5cef1e4b8d0583813d4477b4c415aa39b36f17aeed9497d DIST dalli-3.2.8.tar.gz 73367 BLAKE2B 1680fda0d272d135f8e88a0ea2e16a08cd1027808f0503334b8c53dd85472cc7c37df3649623f8347169f5b8cd645c9a1a4d98343e45d4369ce8d08cc1306316 SHA512 85a0d8121fd0e539b0fd6c15716971d91e91741d36850cf8e887d8fef17d6b49ea6036ce66c986aafd008aa0e744cd798bc574e9376383b9af33b0971e31e25c +EBUILD dalli-3.2.8-r1.ebuild 1264 BLAKE2B 4263c548b846b25f0eef27b531051019e84408d81047a9e96f49cd55c09b2532ff338738a13f2b76c41722186ec45e6e87a95b9f20325df5c0610ac2a05746ae SHA512 1cd2fa8c2577e4733cc986ea647b0c90fadab702341860ae1156f21a3513250bc5bd6413847278a7b320fe8f48dccb41a540658f5335027ff1acabd3a1b46c9c EBUILD dalli-3.2.8.ebuild 1216 BLAKE2B fcdb7564c4c3b0abaebf2e7c785a4605bf63db6922a930b8eadf599bc87b6dc86b06f586719c46004690000e9ee62c98bc3c67ad5f34e293d81602099eda8f0d SHA512 b1d06cda8383f767e2de67d8c450dda902c6afed44cf0ecaa1b1a33e656ea8a39cb99716165f3ba52b865d53a96884d1139e8b0cfbd2c5c41b15d577e52017cb MISC metadata.xml 347 BLAKE2B f1e7c89c18e4fb1a02714796274401469ee66687a98d56445ed894024667a9bb277d0d1c1f6cc4ddfd90c3d3b3cd2f826bad7dda8fc5f3d6111b8326865228bd SHA512 7645efc96c6c7d275946260d28055c704f3fb45674e864b60a4a60e7265c8c61e82105373a243ecad18101c850ec47ea3c9a5a2a0538b4f9c99232ba1fa36c6e diff --git a/dev-ruby/dalli/dalli-3.2.8-r1.ebuild b/dev-ruby/dalli/dalli-3.2.8-r1.ebuild new file mode 100644 index 000000000000..cd69d57718ba --- /dev/null +++ b/dev-ruby/dalli/dalli-3.2.8-r1.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +USE_RUBY="ruby31 ruby32 ruby33 ruby34" + +RUBY_FAKEGEM_BINWRAP="" +RUBY_FAKEGEM_TASK_TEST="MT_NO_PLUGINS=true test" + +RUBY_FAKEGEM_DOCDIR="doc" +RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md Performance.md README.md" + +RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec" + +inherit ruby-fakegem + +DESCRIPTION="A high performance pure Ruby client for accessing memcached servers" +HOMEPAGE="https://github.com/petergoldstein/dalli" +SRC_URI="https://github.com/petergoldstein/dalli/archive/v${PV}.tar.gz -> ${P}.tar.gz" +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="test" + +DEPEND="test? ( >=net-misc/memcached-1.5.4[ssl(-)] )" + +PATCHES=( "${FILESDIR}/${P}-ruby34.patch" ) + +ruby_add_bdepend "test? ( + dev-ruby/connection_pool + dev-ruby/minitest:5 + dev-ruby/rack + dev-ruby/rack-session +)" + +all_ruby_prepare() { + chmod 0755 "${HOME}" || die "Failed to fix permissions on home" + + sed -i -e '/\(appraisal\|bundler\)/ s:^:#:' Rakefile || die + + sed -i -e '3igem "minitest", "~> 5.0"; require "dalli"' \ + -e '/bundler/ s:^:#:' test/helper.rb || die + + sed -i -e "s:/tmp:${T}:" test/utils/certificate_generator.rb || die +} diff --git a/dev-ruby/dalli/files/dalli-3.2.8-ruby34.patch b/dev-ruby/dalli/files/dalli-3.2.8-ruby34.patch new file mode 100644 index 000000000000..8fd9239efdda --- /dev/null +++ b/dev-ruby/dalli/files/dalli-3.2.8-ruby34.patch @@ -0,0 +1,235 @@ +From 353a5c1dfcf580ef7b89d99f7394d019c0e1845c Mon Sep 17 00:00:00 2001 +From: Peter Goldstein <peter.m.goldstein@gmail.com> +Date: Sat, 21 Dec 2024 19:54:38 -0500 +Subject: [PATCH] Fix formatting so tests pass on head (#1020) + +* Fix formatting so tests pass on head + +* More formatting changes + +* More formatting +--- + test/test_rack_session.rb | 66 +++++++++++++++++++++------------------ + 1 file changed, 35 insertions(+), 31 deletions(-) + +diff --git a/test/test_rack_session.rb b/test/test_rack_session.rb +index acb3de06..fa4c1fab 100644 +--- a/test/test_rack_session.rb ++++ b/test/test_rack_session.rb +@@ -114,7 +114,7 @@ + res = Rack::MockRequest.new(rsd).get('/') + + assert_includes res['Set-Cookie'], "#{session_key}=" +- assert_equal '{"counter"=>1}', res.body ++ assert_equal res.body, { 'counter' => 1 }.to_s + end + + it 'determines session from a cookie' do +@@ -123,8 +123,8 @@ + res = req.get('/') + cookie = res['Set-Cookie'] + +- assert_equal '{"counter"=>2}', req.get('/', 'HTTP_COOKIE' => cookie).body +- assert_equal '{"counter"=>3}', req.get('/', 'HTTP_COOKIE' => cookie).body ++ assert_equal req.get('/', 'HTTP_COOKIE' => cookie).body, { 'counter' => 2 }.to_s ++ assert_equal req.get('/', 'HTTP_COOKIE' => cookie).body, { 'counter' => 3 }.to_s + end + + it 'determines session only from a cookie by default' do +@@ -133,8 +133,8 @@ + res = req.get('/') + sid = res['Set-Cookie'][session_match, 1] + +- assert_equal '{"counter"=>1}', req.get("/?rack.session=#{sid}").body +- assert_equal '{"counter"=>1}', req.get("/?rack.session=#{sid}").body ++ assert_equal req.get("/?rack.session=#{sid}").body, { 'counter' => 1 }.to_s ++ assert_equal req.get("/?rack.session=#{sid}").body, { 'counter' => 1 }.to_s + end + + it 'determines session from params' do +@@ -143,8 +143,8 @@ + res = req.get('/') + sid = res['Set-Cookie'][session_match, 1] + +- assert_equal '{"counter"=>2}', req.get("/?rack.session=#{sid}").body +- assert_equal '{"counter"=>3}', req.get("/?rack.session=#{sid}").body ++ assert_equal req.get("/?rack.session=#{sid}").body, { 'counter' => 2 }.to_s ++ assert_equal req.get("/?rack.session=#{sid}").body, { 'counter' => 3 }.to_s + end + + it 'survives nonexistant cookies' do +@@ -153,7 +153,7 @@ + res = Rack::MockRequest.new(rsd) + .get('/', 'HTTP_COOKIE' => bad_cookie) + +- assert_equal '{"counter"=>1}', res.body ++ assert_equal res.body, { 'counter' => 1 }.to_s + cookie = res['Set-Cookie'][session_match] + + refute_match(/#{bad_cookie}/, cookie) +@@ -173,32 +173,32 @@ + rsd = Rack::Session::Dalli.new(incrementor, expire_after: 3) + res = Rack::MockRequest.new(rsd).get('/') + +- assert_includes res.body, '"counter"=>1' ++ assert_includes res.body, { 'counter' => 1 }.to_s + cookie = res['Set-Cookie'] + puts 'Sleeping to expire session' if $DEBUG + sleep 4 + res = Rack::MockRequest.new(rsd).get('/', 'HTTP_COOKIE' => cookie) + + refute_equal cookie, res['Set-Cookie'] +- assert_includes res.body, '"counter"=>1' ++ assert_includes res.body, { 'counter' => 1 }.to_s + end + + it 'maintains freshness of existing sessions' do + rsd = Rack::Session::Dalli.new(incrementor, expire_after: 3) + res = Rack::MockRequest.new(rsd).get('/') + +- assert_includes res.body, '"counter"=>1' ++ assert_includes res.body, { 'counter' => 1 }.to_s + cookie = res['Set-Cookie'] + res = Rack::MockRequest.new(rsd).get('/', 'HTTP_COOKIE' => cookie) + + assert_equal cookie, res['Set-Cookie'] +- assert_includes res.body, '"counter"=>2' ++ assert_includes res.body, { 'counter' => 2 }.to_s + puts 'Sleeping to expire session' if $DEBUG + sleep 4 + res = Rack::MockRequest.new(rsd).get('/', 'HTTP_COOKIE' => cookie) + + refute_equal cookie, res['Set-Cookie'] +- assert_includes res.body, '"counter"=>1' ++ assert_includes res.body, { 'counter' => 1 }.to_s + end + + it 'does not send the same session id if it did not change' do +@@ -208,17 +208,17 @@ + res0 = req.get('/') + cookie = res0['Set-Cookie'][session_match] + +- assert_equal '{"counter"=>1}', res0.body ++ assert_equal res0.body, { 'counter' => 1 }.to_s + + res1 = req.get('/', 'HTTP_COOKIE' => cookie) + + assert_nil res1['Set-Cookie'] +- assert_equal '{"counter"=>2}', res1.body ++ assert_equal res1.body, { 'counter' => 2 }.to_s + + res2 = req.get('/', 'HTTP_COOKIE' => cookie) + + assert_nil res2['Set-Cookie'] +- assert_equal '{"counter"=>3}', res2.body ++ assert_equal res2.body, { 'counter' => 3 }.to_s + end + + it 'deletes cookies with :drop option' do +@@ -230,17 +230,17 @@ + res1 = req.get('/') + session = (cookie = res1['Set-Cookie'])[session_match] + +- assert_equal '{"counter"=>1}', res1.body ++ assert_equal res1.body, { 'counter' => 1 }.to_s + + res2 = dreq.get('/', 'HTTP_COOKIE' => cookie) + + assert_nil res2['Set-Cookie'] +- assert_equal '{"counter"=>2}', res2.body ++ assert_equal res2.body, { 'counter' => 2 }.to_s + + res3 = req.get('/', 'HTTP_COOKIE' => cookie) + + refute_equal session, res3['Set-Cookie'][session_match] +- assert_equal '{"counter"=>1}', res3.body ++ assert_equal res3.body, { 'counter' => 1 }.to_s + end + + it 'provides new session id with :renew option' do +@@ -252,23 +252,23 @@ + res1 = req.get('/') + session = (cookie = res1['Set-Cookie'])[session_match] + +- assert_equal '{"counter"=>1}', res1.body ++ assert_equal res1.body, { 'counter' => 1 }.to_s + + res2 = rreq.get('/', 'HTTP_COOKIE' => cookie) + new_cookie = res2['Set-Cookie'] + new_session = new_cookie[session_match] + + refute_equal session, new_session +- assert_equal '{"counter"=>2}', res2.body ++ assert_equal res2.body, { 'counter' => 2 }.to_s + + res3 = req.get('/', 'HTTP_COOKIE' => new_cookie) + +- assert_equal '{"counter"=>3}', res3.body ++ assert_equal res3.body, { 'counter' => 3 }.to_s + + # Old cookie was deleted + res4 = req.get('/', 'HTTP_COOKIE' => cookie) + +- assert_equal '{"counter"=>1}', res4.body ++ assert_equal res4.body, { 'counter' => 1 }.to_s + end + + it 'omits cookie with :defer option but still updates the state' do +@@ -281,15 +281,15 @@ + res0 = dreq.get('/') + + assert_nil res0['Set-Cookie'] +- assert_equal '{"counter"=>1}', res0.body ++ assert_equal res0.body, { 'counter' => 1 }.to_s + + res0 = creq.get('/') + res1 = dreq.get('/', 'HTTP_COOKIE' => res0['Set-Cookie']) + +- assert_equal '{"counter"=>2}', res1.body ++ assert_equal res1.body, { 'counter' => 2 }.to_s + res2 = dreq.get('/', 'HTTP_COOKIE' => res0['Set-Cookie']) + +- assert_equal '{"counter"=>3}', res2.body ++ assert_equal res2.body, { 'counter' => 3 }.to_s + end + + it 'omits cookie and state update with :skip option' do +@@ -302,15 +302,15 @@ + res0 = sreq.get('/') + + assert_nil res0['Set-Cookie'] +- assert_equal '{"counter"=>1}', res0.body ++ assert_equal res0.body, { 'counter' => 1 }.to_s + + res0 = creq.get('/') + res1 = sreq.get('/', 'HTTP_COOKIE' => res0['Set-Cookie']) + +- assert_equal '{"counter"=>2}', res1.body ++ assert_equal res1.body, { 'counter' => 2 }.to_s + res2 = sreq.get('/', 'HTTP_COOKIE' => res0['Set-Cookie']) + +- assert_equal '{"counter"=>2}', res2.body ++ assert_equal res2.body, { 'counter' => 2 }.to_s + end + + it 'updates deep hashes correctly' do +@@ -332,13 +332,17 @@ + ses0 = JSON.parse(res0.body) + + refute_nil ses0 +- assert_equal '{"a"=>"b", "c"=>{"d"=>"e"}, "f"=>{"g"=>{"h"=>"i"}}, "test"=>true}', ses0.to_s ++ h = { 'a' => 'b', 'c' => { 'd' => 'e' }, 'f' => { 'g' => { 'h' => 'i' } }, 'test' => true } ++ ++ assert_equal h.to_s, ses0.to_s + + res1 = req.get('/', 'HTTP_COOKIE' => cookie) + ses1 = JSON.parse(res1.body) + + refute_nil ses1 +- assert_equal '{"a"=>"b", "c"=>{"d"=>"e"}, "f"=>{"g"=>{"h"=>"j"}}, "test"=>true}', ses1.to_s ++ h = { 'a' => 'b', 'c' => { 'd' => 'e' }, 'f' => { 'g' => { 'h' => 'j' } }, 'test' => true } ++ ++ assert_equal h.to_s, ses1.to_s + + refute_equal ses0, ses1 + end |