diff --git a/rspec-expectations-pr282-ruby4_0-source_location.patch b/rspec-expectations-pr282-ruby4_0-source_location.patch new file mode 100644 index 0000000..19483fc --- /dev/null +++ b/rspec-expectations-pr282-ruby4_0-source_location.patch @@ -0,0 +1,25 @@ +From 1c20fa80772ca7a1ed0512056ce7cd6a94f8e68d Mon Sep 17 00:00:00 2001 +From: Jon Rowe +Date: Fri, 28 Nov 2025 10:59:10 +0000 +Subject: [PATCH] Cope with the changes to block source_location in Ruby 4 + +--- + rspec-core/lib/rspec/core/hooks.rb | 2 +- + rspec-core/lib/rspec/core/metadata.rb | 2 +- + rspec-core/lib/rspec/core/shared_example_group.rb | 2 +- + .../lib/rspec/expectations/block_snippet_extractor.rb | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/rspec-expectations/lib/rspec/expectations/block_snippet_extractor.rb b/rspec-expectations/lib/rspec/expectations/block_snippet_extractor.rb +index 5c66ac639..24dbaf88e 100644 +--- a/rspec-expectations/lib/rspec/expectations/block_snippet_extractor.rb ++++ b/rspec-expectations/lib/rspec/expectations/block_snippet_extractor.rb +@@ -62,7 +62,7 @@ def file_path + end + + def beginning_line_number +- source_location.last ++ source_location[1] + end + + def source_location diff --git a/rspec-related-create-full-tarball.sh b/rspec-related-create-full-tarball.sh index a847c6c..75e1fef 100644 --- a/rspec-related-create-full-tarball.sh +++ b/rspec-related-create-full-tarball.sh @@ -14,10 +14,12 @@ CURRDIR=$(pwd) TMPDIRPATH=$(mktemp -d /var/tmp/rspec-tar-XXXXXX) pushd $TMPDIRPATH -git clone https://github.com/rspec/$1.git -pushd $1 -git reset --hard v$2 -popd +git clone https://github.com/rspec/rspec.git +pushd rspec + +# https://github.com/rspec/rspec/issues/220 +git reset --hard $1-v$2 || \ + git reset --hard rspec-expecations-v$2 ln -sf $1 $1-$2 tar czf ${CURRDIR}/rubygem-$1-$2-full.tar.gz $1-$2/./ diff --git a/rubygem-rspec-expectations-3.13.4-diff_spec-format-revert.patch b/rubygem-rspec-expectations-3.13.4-diff_spec-format-revert.patch new file mode 100644 index 0000000..3133341 --- /dev/null +++ b/rubygem-rspec-expectations-3.13.4-diff_spec-format-revert.patch @@ -0,0 +1,66 @@ +--- rspec-expectations-3.13.4/spec/rspec/matchers/built_in/include_spec.rb 2025-05-15 11:40:49.000000000 +0900 ++++ rspec-expectations-3.13.3/spec/rspec/matchers/built_in/include_spec.rb 2024-09-08 16:39:38.000000000 +0900 +@@ -109,7 +104,7 @@ RSpec.describe "#include matcher" do + failure_string = if use_string_keys_in_failure_message? + dedent(<<-END) + |Diff: +- |@@ #{one_line_header(3)} @@ ++ |@@ -1,3 +1,3 @@ + |-:bar => 3, + |-:foo => 1, + |+"bar" => 2, +@@ -137,7 +132,7 @@ RSpec.describe "#include matcher" do + failure_string = if use_string_keys_in_failure_message? + dedent(<<-END) + |Diff: +- |@@ #{one_line_header(3)} @@ ++ |@@ -1,3 +1,3 @@ + |-(match /FOO/i) => 1, + |-:bar => 3, + |+"bar" => 2, +@@ -146,7 +141,7 @@ RSpec.describe "#include matcher" do + else + dedent(<<-END) + |Diff: +- |@@ #{one_line_header(3)} @@ ++ |@@ -1,3 +1,3 @@ + |-(match /FOO/i) => 1, + |-:bar => 3, + |+:bar => 2, +--- rspec-expectations-3.13.4/spec/rspec/matchers/built_in/compound_spec.rb 2025-05-15 11:40:49.000000000 +0900 ++++ rspec-expectations-3.13.3/spec/rspec/matchers/built_in/compound_spec.rb 2024-09-08 16:39:38.000000000 +0900 +@@ -596,14 +595,14 @@ module RSpec::Matchers::BuiltIn + | + | expected "HELLO\\nWORLD" to eq downcase "hola\\nmon" + |Diff for (eq downcase "bonjour\\nmonde"): +- |@@ #{one_line_header(3)} @@ ++ |@@ -1,3 +1,3 @@ + |-bonjour + |-monde + |+hello + |+world + | + |Diff for (eq downcase "hola\\nmon"): +- |@@ #{one_line_header(3)} @@ ++ |@@ -1,3 +1,3 @@ + |-hola + |-mon + |+hello +@@ -639,14 +638,14 @@ module RSpec::Matchers::BuiltIn + | + | expected "hello\\nworld" to eq downcase "hola\\nmon" + |Diff for (eq downcase "bonjour\\nmonde"): +- |@@ #{one_line_header(3)} @@ ++ |@@ -1,3 +1,3 @@ + |-bonjour + |-monde + |+hello + |+world + | + |Diff for (eq downcase "hola\\nmon"): +- |@@ #{one_line_header(3)} @@ ++ |@@ -1,3 +1,3 @@ + |-hola + |-mon + |+hello + diff --git a/rubygem-rspec-expectations.spec b/rubygem-rspec-expectations.spec index 71e7c7d..63bcd3c 100644 --- a/rubygem-rspec-expectations.spec +++ b/rubygem-rspec-expectations.spec @@ -1,4 +1,4 @@ -%global majorver 3.12.3 +%global majorver 3.13.5 #%%global preminorver .rc6 %global rpmminorver .%(echo %preminorver | sed -e 's|^\\.\\.*||') %global fullver %{majorver}%{?preminorver} @@ -18,11 +18,17 @@ Release: %{?preminorver:0.}%{baserelease}%{?preminorver:%{rpmminorver}}%{?dist} # SPDX confirmed License: MIT -URL: http://github.com/rspec/rspec-expectations +URL: https://rspec.info 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 +# Workaround tests wrt diff/lcs diff format +# Partially revert 3.13.3 -> 3.13.4 change +Patch0: rubygem-rspec-expectations-3.13.4-diff_spec-format-revert.patch +# https://github.com/rspec/rspec/pull/282/commits/1c20fa80772ca7a1ed0512056ce7cd6a94f8e68d +# Support ruby4_0 source_location behavior change +Patch1: rspec-expectations-pr282-ruby4_0-source_location.patch #BuildRequires: ruby(release) BuildRequires: rubygems-devel @@ -55,10 +61,10 @@ This package contains documentation for %{name}. %prep %setup -q -T -n %{gem_name}-%{version} -b 1 -gem specification %{SOURCE0} -l --ruby > %{gem_name}.gemspec +%patch -P0 -p1 +%patch -P1 -p2 -# MiniTest 5.19+ -grep -rl MiniTest spec/ | xargs sed -i 's|MiniTest::|Minitest::|' +gem specification %{SOURCE0} -l --ruby > %{gem_name}.gemspec %build gem build %{gem_name}.gemspec @@ -87,6 +93,13 @@ rspec spec/ exit 0 %endif +# Fix minitest 6 compatibility +# Behavior changed on: https://github.com/minitest/minitest/commit/2572c78420af73dbe9b202d535a1474405a32173 +if ( ruby -e 'require "minitest" ; exit Minitest::VERSION >= "6"' ) ; then + sed -i features/test_frameworks/minitest.feature \ + -e 's|9 runs, 10 assertions, 5 failures, 0 errors|9 runs, 11 assertions, 5 failures, 0 errors|' +fi + # Skip one failing scenario, needs investigating... sed -i features/built_in_matchers/include.feature -e '\@skip-on-fedora@d' sed -i features/built_in_matchers/include.feature -e 's|^\([ \t]*\)\(Scenario: counts usage.*\)|\1@skip-on-fedora\n\1\2|' @@ -112,6 +125,45 @@ cucumber \ %{gem_docdir} %changelog +* Thu Jan 01 2026 Mamoru TASAKA - 3.13.5-4 +- Fix compatibility for minitest 6 + +* Tue Dec 02 2025 Mamoru TASAKA - 3.13.5-3 +- Backport upstream patch to support ruby4_0 source_location behavior change + +* 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.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Sun Dec 29 2024 Mamoru TASAKA - 3.13.3-2 +- Backport upstream fix to support ruby34 Hash inspect syntax + +* Sun Sep 08 2024 Mamoru TASAKA - 3.13.3-1 +- 3.13.3 + +* Wed Aug 21 2024 Mamoru TASAKA - 3.13.2-1 +- 3.13.2 + +* Fri Jul 19 2024 Fedora Release Engineering - 3.13.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Tue Jun 18 2024 Mamoru TASAKA - 3.13.1-1 +- 3.13.1 + +* Fri Feb 09 2024 Mamoru TASAKA - 3.13.0-1 +- 3.13.0 + +* Fri Jan 26 2024 Fedora Release Engineering - 3.12.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Sun Aug 06 2023 Mamoru TASAKA - 3.12.3-4 - Remove unneeded conditionals for new MiniTest support diff --git a/sources b/sources index afe8468..4d0ea5c 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (rspec-expectations-3.12.3.gem) = 58717c22078f09b9b5fce785cbc2b210a513067ede9210bc6391bc06325dfc8c1f6ffeffacbeed955ec556bada210b36ec236e49249dce96d3d20ed61258d009 -SHA512 (rubygem-rspec-expectations-3.12.3-full.tar.gz) = 6e826663a939502705317cc1214a74741bc8c65e6971ae7b651958be5582ac6d4a097911c602034321c2efeb5b02fd7d26a33ce52dd631bc8be74483018ccf02 +SHA512 (rspec-expectations-3.13.5.gem) = 4fde5ddae1c723bb3f25c65db61ec959146b1b92a08ddf09d4caf1164d25fd67e4d6d7a73b576fdb48477a3ee54763a8a2d3b93ea573ba6962d65ae80379cd03 +SHA512 (rubygem-rspec-expectations-3.13.5-full.tar.gz) = 057bf2ff409248ab4a37bc615806e786cdcf4324bd47bb606459a6ceece07799dc488838d008511bb7d798db6b8dddf2339cb6509c2d78911aa9aa06f50607ea