commit:     ea580ba69dfe9556d9f528c7e7f4a5a348923d81
Author:     Hans de Graaff <graaff <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 28 05:53:24 2023 +0000
Commit:     Hans de Graaff <graaff <AT> gentoo <DOT> org>
CommitDate: Wed Jun 28 05:54:55 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ea580ba6

dev-ruby/activerecord: add 6.1.7.4

Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org>

 dev-ruby/activerecord/Manifest                     |  1 +
 dev-ruby/activerecord/activerecord-6.1.7.4.ebuild  | 95 ++++++++++++++++++++++
 .../activerecord-6.1.7.4-ruby32-keywords.patch     | 38 +++++++++
 3 files changed, 134 insertions(+)

diff --git a/dev-ruby/activerecord/Manifest b/dev-ruby/activerecord/Manifest
index 720e4b642efc..5e0cc13b7435 100644
--- a/dev-ruby/activerecord/Manifest
+++ b/dev-ruby/activerecord/Manifest
@@ -1,6 +1,7 @@
 DIST rails-6.0.6.1.tgz 18608328 BLAKE2B 
10e6cb2d23acb75c95c25e2e6cc62de05c9c89f249c6cb9abffdd3a6ed83eb1dca996e6ef56a92cf77dddd3f8f9373ad947690015fb7966ddc599c995cea1121
 SHA512 
6873354fe2f8b9bf8bc12c7e6affda4300c158ee825f996eea6032a70f9532009d8f626d2736af22a452c8a3b331d1252ff19666e021150bfae2a8d575890c27
 DIST rails-6.1.7.2.tgz 11037081 BLAKE2B 
0004f4bc8b2370119cbe0f6a9133278ae78b1d274f040f08d18edd06696e6fcc609154a042c68b77e11893fbef83ec8eabd9f1e2c28920269189ee1352a0695a
 SHA512 
f667904b0d3ffda3579e5046da3b36c242581bacf140966bf1dc59fc7ea91f34f4affc76b0d6cfad4b80f0332aeec5fc8ab35fb793fc935f1d1b4fe6d18ce1de
 DIST rails-6.1.7.3.tgz 11038169 BLAKE2B 
7e379b9ae3b63cb78638c1e0817ff40dc8aad79ba76b6d82310fbb4d6f5ef3dab4f252de9e49766143b828bfbce2ef7c9db3f108b5406708b61a83aeda47ea74
 SHA512 
fb84516a6cf370109bf45f2162161d23f375d7dc10249ed10200c74ec402129b07ac0e59bcde98a74eb499769a0cdd937af691edaabe44e061262d5510adc02e
+DIST rails-6.1.7.4.tgz 11038583 BLAKE2B 
737044b6f92f2555fd9374e0b0fef7e26e53e2ac2103f1e3d89124929416aeda1295adfa7493471472c6ff0fbb057dea0bd9c184bbb45ae572185b98c399177f
 SHA512 
caa7e2a79f747befb5f6f17adec1cc43530dbb35741775b2ebdcf59476efecd277dad025073a4b519a35754367cca04290c24bb8d8ae4235fda696ead531a94f
 DIST rails-7.0.4.3.tgz 11063764 BLAKE2B 
389fd3a00bfff4ebda70cf5ec473942883048783b716ede1787a510d3b7b91f4e844dce4dde5ef643cb9611b1b3aa712f1ba5ebefb9e5a84e307a151b2e40bcf
 SHA512 
2c817a0a58ae52f99686d8cd0de84f01e3d7ec05afc95d07910b3b5bf86d8162b06102893b2cbc14859b95a07eca6882a707956c87d437794697df7a18fa3c16
 DIST rails-7.0.5.1.tgz 11077848 BLAKE2B 
17dc2527b762d242c1cc141b5480c0917c8eafb53c55d3034d5af272e9be5760f6c3e16ce1a60041f11af4f99da23e79ff46e9f9fe88412932f2524bf057c478
 SHA512 
5053ed666cede0bfeb7a534f248538406a1bf5afe0d5ee9e285b4eeb3158566fdd665c7a20012833e6927e7dbb3d881361a5d7f8ce7e326f8e3faf5d571da3e7
 DIST rails-7.0.5.tgz 11057290 BLAKE2B 
c9a2c34cc57f71a45023465796d18f769363713b3222dc67040e9d731055fe60856c4969a0fae305f99722e8f3a1aaee0f6cc0cc5e3e57949b756786f44560f9
 SHA512 
93f5d2f0e23ac318370ac15fdb4db935b9082232308fdc7bb99bca1b00e1b5127ddc805dd19512a2304921ff7b8a584c7b3d3ceb7cbd4cfd8dca31f518430448

diff --git a/dev-ruby/activerecord/activerecord-6.1.7.4.ebuild 
b/dev-ruby/activerecord/activerecord-6.1.7.4.ebuild
new file mode 100644
index 000000000000..727b783fb208
--- /dev/null
+++ b/dev-ruby/activerecord/activerecord-6.1.7.4.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+USE_RUBY="ruby30 ruby31 ruby32"
+
+# this is not null so that the dependencies will actually be filled
+RUBY_FAKEGEM_TASK_TEST="test"
+
+RUBY_FAKEGEM_RECIPE_DOC="none"
+RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.rdoc"
+
+RUBY_FAKEGEM_GEMSPEC="activerecord.gemspec"
+
+RUBY_FAKEGEM_BINWRAP=""
+
+inherit ruby-fakegem
+
+DESCRIPTION="Implements the ActiveRecord pattern (Fowler, PoEAA) for ORM"
+HOMEPAGE="https://github.com/rails/rails/";
+SRC_URI="https://github.com/rails/rails/archive/v${PV}.tar.gz -> 
rails-${PV}.tgz"
+
+LICENSE="MIT"
+SLOT="$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="mysql postgres sqlite"
+
+RUBY_S="rails-${PV}/${PN}"
+
+PATCHES=(
+       "${FILESDIR}"/${P}-ruby32-keywords.patch
+)
+
+ruby_add_rdepend "~dev-ruby/activesupport-${PV}
+       ~dev-ruby/activemodel-${PV}
+       sqlite? ( >=dev-ruby/sqlite3-1.4 )
+       mysql? ( dev-ruby/mysql2:0.5 )
+       postgres? ( >=dev-ruby/pg-1.1:1 )"
+
+ruby_add_bdepend "
+       test? (
+               dev-ruby/bundler
+               ~dev-ruby/actionpack-${PV}
+               ~dev-ruby/railties-${PV}
+               >=dev-ruby/sqlite3-1.4.0
+               dev-ruby/mocha
+               <dev-ruby/minitest-5.16:*
+       )"
+
+DEPEND+=" test? ( >=dev-db/sqlite-3.12.1 )"
+
+all_ruby_prepare() {
+       # Remove items from the common Gemfile that we don't need for this
+       # test run. This also requires handling some gemspecs.
+       rm ../Gemfile.lock || die
+       sed -i -e 
"/\(uglifier\|system_timer\|sdoc\|w3c_validators\|pg\|jquery-rails\|execjs\|'mysql'\|journey\|ruby-prof\|stackprof\|benchmark-ips\|kindlerb\|turbolinks\|coffee-rails\|debugger\|redcarpet\|minitest\|sprockets\|stackprof\)/
 s:^:#:" \
+               -e '/:job/,/end/ s:^:#:' \
+               -e '/group :doc/,/^end/ s:^:#:' ../Gemfile || die
+       sed -i -e '/rack-ssl/d' -e 's/~> 3.4/>= 3.4/' 
../railties/railties.gemspec || die
+       sed -e '/bcrypt/ s/3.0.0/3.0/' \
+               -i ../Gemfile || die
+       sed -i -e '/byebug/ s:^:#:' test/cases/base_prevent_writes_test.rb || 
die
+
+       # Add back json in the Gemfile because we dropped some dependencies
+       # earlier that implicitly required it.
+       sed -i -e '$agem "json"' ../Gemfile || die
+
+       # Load correct rails version
+       sed -i -e '2igem "activemodel", "~> 6.1.0"; gem "activejob", "~> 
6.1.0"; gem "railties", "~> 6.1.0"; gem "minitest", "<5.16"' 
test/cases/helper.rb || die
+
+       # Avoid single tests using mysql or postgres dependencies.
+       rm test/cases/invalid_connection_test.rb || die
+       sed -e '/test_switching_connections_with_database_url/askip "postgres"' 
\
+               -i 
test/cases/connection_adapters/{,legacy_}connection_handlers_multi_db_test.rb 
|| die
+
+       # Avoid failing test that makes bad assumptions on database state.
+       sed -i -e '/test_do_not_call_callbacks_for_delete_all/,/^  end/ s:^:#:' 
\
+               test/cases/associations/has_many_associations_test.rb
+
+       # Avoid tests that no longer work with newer sqlite versions
+       rm -f test/cases/adapters/sqlite3/explain_test.rb || die
+       sed -i -e '/test_references_stays_as_integer_column/askip "Fails on 
case difference"' test/cases/migration/compatibility_test.rb || die
+
+       # Avoid test failing to bind limit length in favor of security release
+       sed -i -e '/test_too_many_binds/askip "Fails on Gentoo"' 
test/cases/bind_parameter_test.rb || die
+
+       # Avoid test failing related to rubygems
+       sed -i -e '/test_generates_absolute_path_with_given_root/askip 
"rubygems actiovation monitor"' test/cases/tasks/sqlite_rake_test.rb || die
+}
+
+each_ruby_test() {
+       if use sqlite; then
+               ${RUBY} -S rake test_sqlite3 || die "sqlite3 tests failed"
+       fi
+}

diff --git 
a/dev-ruby/activerecord/files/activerecord-6.1.7.4-ruby32-keywords.patch 
b/dev-ruby/activerecord/files/activerecord-6.1.7.4-ruby32-keywords.patch
new file mode 100644
index 000000000000..4a82e18aaba1
--- /dev/null
+++ b/dev-ruby/activerecord/files/activerecord-6.1.7.4-ruby32-keywords.patch
@@ -0,0 +1,38 @@
+From 67bdba4e63cad218c02dbb3171ddd53353cc0b48 Mon Sep 17 00:00:00 2001
+From: Javier Jimenez <javi...@gmail.com>
+Date: Thu, 5 Jan 2023 21:34:37 +0100
+Subject: [PATCH] Backports ruby 3.2 compatibility fixes for rails 6.1
+
+---
+ actionmailer/lib/action_mailer/base.rb            |  2 +-
+ actionmailer/lib/action_mailer/rescuable.rb       | 12 ++++++++----
+ actionpack/lib/abstract_controller/base.rb        | 10 +++++++---
+ actionpack/lib/abstract_controller/callbacks.rb   |  6 +++++-
+ actionview/lib/action_view/rendering.rb           |  6 +++++-
+ activemodel/lib/active_model/attribute_methods.rb |  2 +-
+ activerecord/lib/active_record/relation.rb        |  8 ++++++--
+ 7 files changed, 33 insertions(+), 13 deletions(-)
+
+diff --git a/activerecord/lib/active_record/relation.rb 
b/activerecord/lib/active_record/relation.rb
+index 6ea5876eda1b8..9c0efb800efd0 100644
+--- a/lib/active_record/relation.rb
++++ b/lib/active_record/relation.rb
+@@ -406,12 +406,16 @@ def scoping
+       already_in_scope? ? yield : _scoping(self) { yield }
+     end
+ 
+-    def _exec_scope(*args, &block) # :nodoc:
++    all_args = RUBY_VERSION < "2.7" ? "*args, &block" : "..."
++
++    class_eval <<-RUBY
++    def _exec_scope(#{all_args}) # :nodoc:
+       @delegate_to_klass = true
+-      _scoping(nil) { instance_exec(*args, &block) || self }
++      _scoping(nil) { instance_exec(#{all_args}) || self }
+     ensure
+       @delegate_to_klass = false
+     end
++    RUBY
+ 
+     # Updates all records in the current relation with details given. This 
method constructs a single SQL UPDATE
+     # statement and sends it straight to the database. It does not 
instantiate the involved models and it does not

Reply via email to