diff --git a/rspec-mocks-pr282-skip-mock-for-ruby4_0-inspect.patch b/rspec-mocks-pr282-skip-mock-for-ruby4_0-inspect.patch deleted file mode 100644 index d1c309b..0000000 --- a/rspec-mocks-pr282-skip-mock-for-ruby4_0-inspect.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 939c4799993b7ff7e524fac701ae6490772ca6de Mon Sep 17 00:00:00 2001 -From: Jon Rowe -Date: Mon, 1 Dec 2025 14:08:25 +0000 -Subject: [PATCH] Skip mock for calls to `:respond_to?` from `Kernel#inspect` - ---- - rspec-mocks/lib/rspec/mocks/method_double.rb | 15 +++++++++++++-- - 1 file changed, 13 insertions(+), 2 deletions(-) - -diff --git a/rspec-mocks/lib/rspec/mocks/method_double.rb b/rspec-mocks/lib/rspec/mocks/method_double.rb -index e2edb1e21..3276c49a5 100644 ---- a/rspec-mocks/lib/rspec/mocks/method_double.rb -+++ b/rspec-mocks/lib/rspec/mocks/method_double.rb -@@ -68,8 +68,19 @@ def define_proxy_method - - save_original_implementation_callable! - definition_target.class_exec(self, method_name, @original_visibility || visibility) do |method_double, method_name, visibility| -- define_method(method_name) do |*args, &block| -- method_double.proxy_method_invoked(self, *args, &block) -+ if RUBY_VERSION.to_f > 3 && method_name == :respond_to? -+ define_method(method_name) do |*args, &block| -+ # This is a work around for a respond_to? check within kernel_inspect -+ if caller_locations[0].label == "Kernel#inspect" -+ super(*args, &block) -+ else -+ method_double.proxy_method_invoked(self, *args, &block) -+ end -+ end -+ else -+ define_method(method_name) do |*args, &block| -+ method_double.proxy_method_invoked(self, *args, &block) -+ end - end - # This can't be `if respond_to?(:ruby2_keywords, true)`, - # see https://github.com/rspec/rspec-mocks/pull/1385#issuecomment-755340298 diff --git a/rspec-related-create-full-tarball.sh b/rspec-related-create-full-tarball.sh index c0ba6bf..a847c6c 100644 --- a/rspec-related-create-full-tarball.sh +++ b/rspec-related-create-full-tarball.sh @@ -14,9 +14,10 @@ CURRDIR=$(pwd) TMPDIRPATH=$(mktemp -d /var/tmp/rspec-tar-XXXXXX) pushd $TMPDIRPATH -git clone https://github.com/rspec/rspec.git -pushd rspec -git reset --hard $1-v$2 +git clone https://github.com/rspec/$1.git +pushd $1 +git reset --hard v$2 +popd ln -sf $1 $1-$2 tar czf ${CURRDIR}/rubygem-$1-$2-full.tar.gz $1-$2/./ diff --git a/rubygem-rspec-mocks.spec b/rubygem-rspec-mocks.spec index 2a2f1da..91cc323 100644 --- a/rubygem-rspec-mocks.spec +++ b/rubygem-rspec-mocks.spec @@ -1,9 +1,9 @@ -%global majorver 3.13.7 +%global majorver 3.13.2 #%%global preminorver .rc6 %global rpmminorver .%(echo %preminorver | sed -e 's|^\\.\\.*||') %global fullver %{majorver}%{?preminorver} -%global baserelease 2 +%global baserelease 4 %global gem_name rspec-mocks @@ -18,14 +18,17 @@ Release: %{?preminorver:0.}%{baserelease}%{?preminorver:%{rpmminorver}}%{?dist} # SPDX confirmed License: MIT -URL: https://rspec.info +URL: http://github.com/rspec/rspec-mocks Source0: https://rubygems.org/gems/%{gem_name}-%{fullver}.gem # %%{SOURCE2} %%{name} %%{version} Source1: rubygem-%{gem_name}-%{version}-full.tar.gz Source2: rspec-related-create-full-tarball.sh -# https://github.com/rspec/rspec/pull/282/commits/939c4799993b7ff7e524fac701ae6490772ca6de -# Skip mock for ruby4_0 Kernel#inspect -Patch0: rspec-mocks-pr282-skip-mock-for-ruby4_0-inspect.patch +# https://github.com/rspec/rspec-mocks/pull/1597 +# support ruby3.4 formatting +Patch0: rspec-mocks-pr1597-ruby34-formatting.patch +# https://github.com/rspec/rspec/pull/164 +# rspec-support side changed, rspec-mock need coordinating with the change +Patch1: rspec-mocks-pr164-ruby34-hash-syntax.patch BuildRequires: rubygems-devel %if %{without bootstrap} @@ -58,12 +61,14 @@ This package contains documentation for %{name}. gem unpack %{SOURCE0} %setup -q -D -T -n %{gem_name}-%{version} -b 1 -%patch -P0 -p2 # Cucumber 7 syntax change sed -i cucumber.yml -e "s|~@wip|not @wip|" sed -i features/support/disallow_certain_apis.rb -e "s|~@allow-old-syntax|not @allow-old-syntax|" +%patch -P0 -p1 +%patch -P1 -p2 + gem specification %{SOURCE0} -l --ruby > %{gem_name}.gemspec %build @@ -122,24 +127,6 @@ cucumber %{gem_docdir} %changelog -* Tue Dec 02 2025 Mamoru TASAKA - 3.13.7-2 -- Backport upstream patch to skip mock for Kernel#inspect on ruby4_0 - -* Mon Nov 24 2025 Mamoru TASAKA - 3.13.7-1 -- 3.13.7 - -* Fri Oct 17 2025 Mamoru TASAKA - 3.13.6-1 -- 3.13.6 - -* Fri Jul 25 2025 Fedora Release Engineering - 3.13.5-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Thu May 29 2025 Mamoru TASAKA - 3.13.5-1 -- 3.13.5 - -* Thu May 15 2025 Mamoru TASAKA - 3.13.4-1 -- 3.13.4 - * Sat Jan 18 2025 Fedora Release Engineering - 3.13.2-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild diff --git a/sources b/sources index 38528a1..b62a81b 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (rspec-mocks-3.13.7.gem) = fa30824f1d7ab82e2c0d1cde1f076cb84b9a9e1e9e7292e33bcfda934468a50f2b59a1dc539137be14ad5b86465ed6fa12c32af2e3a79992c3ce5d278072861c -SHA512 (rubygem-rspec-mocks-3.13.7-full.tar.gz) = 7666b07e6b9806e36d53ede810c6efc0ceb57bc554c96e0fdf44efbfd9dd027a8e999ce942d20bf46f93f93bfae1a88c7ffd0bfbf2cdf08601093a98218a059a +SHA512 (rspec-mocks-3.13.2.gem) = 3284411d5f9c3b10aca0ca41bfeec4ec423b1d2effb1942a36ff61c741ff8b1281ae69d46086881f99fc3e70522cf6a31805e980fe270e35cc35c6d8376c9152 +SHA512 (rubygem-rspec-mocks-3.13.2-full.tar.gz) = 79a22d5356247e4d563868589f512018f51a235aafa9d001d81673c73bc1d0a04be7c4770518744f77dfb4e7f726b5c037384a5f14cd853202466b68e4398e9c