summaryrefslogtreecommitdiff
path: root/dev-ruby/dalli
diff options
context:
space:
mode:
Diffstat (limited to 'dev-ruby/dalli')
-rw-r--r--dev-ruby/dalli/Manifest2
-rw-r--r--dev-ruby/dalli/dalli-3.2.8-r1.ebuild46
-rw-r--r--dev-ruby/dalli/files/dalli-3.2.8-ruby34.patch235
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