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 fd8c9f0..63bcd3c 100644 --- a/rubygem-rspec-expectations.spec +++ b/rubygem-rspec-expectations.spec @@ -1,37 +1,47 @@ -%global majorver 3.10.2 +%global majorver 3.13.5 #%%global preminorver .rc6 %global rpmminorver .%(echo %preminorver | sed -e 's|^\\.\\.*||') %global fullver %{majorver}%{?preminorver} -%global fedorarel 1 +%global baserelease 4 %global gem_name rspec-expectations -%global need_bootstrap_set 0 +%bcond_with bootstrap %undefine __brp_mangle_shebangs Summary: RSpec expectations (should and matchers) Name: rubygem-%{gem_name} Version: %{majorver} -Release: %{?preminorver:0.}%{fedorarel}%{?preminorver:%{rpmminorver}}%{?dist} +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 -%if 0%{?need_bootstrap_set} < 1 +%if %{without bootstrap} BuildRequires: rubygem(rspec) +BuildRequires: rubygem(rake) # Some features in expectations needs this BuildRequires: rubygem(rspec-support) >= 3.9.3 BuildRequires: rubygem(minitest) >= 5 +%if ! 0%{?rhel} BuildRequires: rubygem(aruba) BuildRequires: rubygem(cucumber) +%endif BuildRequires: git %endif BuildArch: noarch @@ -51,6 +61,9 @@ This package contains documentation for %{name}. %prep %setup -q -T -n %{gem_name}-%{version} -b 1 +%patch -P0 -p1 +%patch -P1 -p2 + gem specification %{SOURCE0} -l --ruby > %{gem_name}.gemspec %build @@ -65,10 +78,27 @@ cp -a .%{gem_dir}/* \ # cleanups rm -f %{buildroot}%{gem_instdir}/{.document,.yardopts} -%if 0%{?need_bootstrap_set} < 1 %check +%if %{with bootstrap} +# Skip test, exiting +exit 0 +%endif + LANG=C.UTF-8 -ruby -rrubygems -Ilib/ -S rspec spec/ +export RUBYLIB=$(pwd)/lib +rspec spec/ + +%if 0%{?rhel} +# Skip cucumber test +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' @@ -78,7 +108,6 @@ cucumber \ --tag "not @skip-when-diff-lcs-1.3" \ --tag "not @skip-on-fedora" \ %{nil} -%endif %files %dir %{gem_instdir} @@ -96,6 +125,87 @@ 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 + +* Fri Aug 4 2023 Mamoru TASAKA - 3.12.3-3 +- Support MiniTest 5.19+ + +* Fri Jul 21 2023 Fedora Release Engineering - 3.12.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Fri Apr 21 2023 Mamoru TASAKA - 3.12.3-1 +- 3.12.3 + +* Fri Mar 10 2023 Yaakov Selkowitz - 3.12.2-2 +- Disable unwanted dependencies in RHEL builds + +* Fri Jan 20 2023 Fedora Release Engineering - 3.12.2-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Tue Jan 17 2023 Mamoru TASAKA - 3.12.2-1 +- 3.12.2 + +* Wed Dec 21 2022 Mamoru TASAKA - 3.12.1-1 +- 3.12.1 + +* Thu Oct 27 2022 Mamoru TASAKA - 3.12.0-1 +- 3.12.0 + +* Thu Sep 15 2022 Mamoru TASAKA - 3.11.1-1 +- 3.11.1 + +* Sat Jul 23 2022 Fedora Release Engineering - 3.11.0-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Feb 10 2022 Mamoru TASAKA - 3.11.0-1 +- 3.11.0 + +* Sun Jan 30 2022 Mamoru TASAKA - 3.10.2-2 +- BR: rubygem(rake) for check + +* Fri Jan 21 2022 Fedora Release Engineering - 3.10.2-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Tue Jan 18 2022 Mamoru TASAKA - 3.10.2-1 - 3.10.2 - Execute cucumber test diff --git a/sources b/sources index 4a2a507..4d0ea5c 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (rspec-expectations-3.10.2.gem) = b01a2fbee344c4094de6e23e78a5533920c05ad60a9a990237d77c4b3376f14e7b3adbc2dea013c539f9ee627ae887e40678a15dee89b4c64c5c8c1c40f826ca -SHA512 (rubygem-rspec-expectations-3.10.2-full.tar.gz) = 06e123bd691fb4627f4ed2c7f1342101a780aefbadc23565a2a62473acf2ad5d79cf4515dd32f20d7a255e37b6c992c30005228eb80605cfc84918e6d6390552 +SHA512 (rspec-expectations-3.13.5.gem) = 4fde5ddae1c723bb3f25c65db61ec959146b1b92a08ddf09d4caf1164d25fd67e4d6d7a73b576fdb48477a3ee54763a8a2d3b93ea573ba6962d65ae80379cd03 +SHA512 (rubygem-rspec-expectations-3.13.5-full.tar.gz) = 057bf2ff409248ab4a37bc615806e786cdcf4324bd47bb606459a6ceece07799dc488838d008511bb7d798db6b8dddf2339cb6509c2d78911aa9aa06f50607ea