diff --git a/.gitignore b/.gitignore index 2b3550c..0720ee1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,37 +1,2 @@ -/cairo-1.10.0.gem -/cairo-1.10.2.gem -/cairo-1.12.2-af3e3fc059.gem -/cairo-1.12.2.gem -/cairo-1.12.3.gem -/cairo-1.12.4.gem -/cairo-1.12.6.gem -/cairo-1.12.8.gem -/cairo-1.12.9.gem -/cairo-1.14.0.gem -/cairo-1.14.1.gem -/cairo-1.14.3.gem -/cairo-1.15.2.gem -/cairo-1.15.3.gem -/cairo-1.15.4.gem -/cairo-1.15.5.gem -/cairo-1.15.7.gem -/cairo-1.15.9.gem -/rcairo-1.15.9-test-missing-files.tar.gz -/cairo-1.15.10.gem -/rcairo-1.15.10-test-missing-files.tar.gz -/cairo-1.15.11.gem -/rcairo-1.15.11-test-missing-files.tar.gz -/cairo-1.15.12.gem -/rcairo-1.15.12-test-missing-files.tar.gz -/cairo-1.15.13.gem -/rcairo-1.15.13-test-missing-files.tar.gz -/cairo-1.15.14.gem -/rcairo-1.15.14-test-missing-files.tar.gz -/cairo-1.16.2.gem -/rcairo-1.16.2-test-missing-files.tar.gz -/cairo-1.16.4.gem -/rcairo-1.16.4-test-missing-files.tar.gz -/cairo-1.16.5.gem -/rcairo-1.16.5-test-missing-files.tar.gz -/rcairo-1.16.6-test-missing-files.tar.gz -/cairo-1.16.6.gem +/cairo-*gem +/rcairo-*-test-missing-files.tar.gz diff --git a/rubygem-cairo.spec b/rubygem-cairo.spec index 36f7f65..7fb9f68 100644 --- a/rubygem-cairo.spec +++ b/rubygem-cairo.spec @@ -2,58 +2,55 @@ %global header_dir %{ruby_vendorarchdir} %global gem_name cairo -%global gemver 1.16.6 #%%global gem_githash af3e3fc059 +%bcond_with bootstrap +%if 0%{?fedora} >= 42 +%bcond_with bootstrap +%endif + # Upstream GIT http://github.com/rcairo/ %undefine _changelog_trimtime Summary: Ruby bindings for cairo Name: rubygem-%{gem_name} -Version: %{gemver} -Release: 1%{?dist} -License: GPLv2 or Ruby +Version: 1.18.4 +Release: 4%{?dist} +# From gemspec +# SPDX confirmed +License: GPL-2.0-or-later OR Ruby + URL: http://cairographics.org/rcairo/ -%if 1 Source0: http://rubygems.org/downloads/%{gem_name}-%{version}.gem -%else -Source0: %{gem_name}-%{gemver}-%{gem_githash}.gem -%endif # Git based gem is created by below Source1: create-cairo-gem.sh # FIXME Source11: rcairo-%{version}-test-missing-files.tar.gz -# Source11 is generated by the below +# Source11 is generated by $bash %%SOURCE12 %%version Source12: rcairo-create-missing-test-files.sh -%if 0%{?fedora} >= 19 Requires: ruby(release) BuildRequires: ruby(release) -%else -Requires: ruby(abi) = %{rubyabi} -Requires: ruby -BuildRequires: ruby(abi) = %{rubyabi} -BuildRequires: ruby -%endif BuildRequires: gcc BuildRequires: rubygems-devel BuildRequires: cairo-devel BuildRequires: ruby-devel +BuildRequires: rubygem(red-colors) # For %%check BuildRequires: rubygem(test-unit) BuildRequires: rubygem(test-unit-notify) BuildRequires: rubygem(pkg-config) BuildRequires: rubygem(native-package-installer) # Circular dependency -%if 1 +%if %{without bootstrap} BuildRequires: rubygem(poppler) +%endif # Make sure at least one font is available for test/test_context.rb:57 # `initialize': out of memory (NoMemoryError) BuildRequires: dejavu-serif-fonts -%endif Requires: rubygems Provides: rubygem(%{gem_name}) = %{version}-%{release} @@ -80,43 +77,24 @@ Requires: ruby-devel # Obsoletes / Provides # ruby(cairo-devel) Provides is for compatibility # -# Actually ruby(cairo-devel) provides should not exist - -# Remove on F-17 and above -Obsoletes: ruby-cairo-devel < 1.9 -Provides: ruby-cairo-devel = %{version}-%{release} - %description devel Header files and libraries for building a extension library for the ruby-cairo %prep -%setup -q -c -T - -TOPDIR=$(pwd) -mkdir tmpunpackdir -pushd tmpunpackdir - -gem unpack %{SOURCE0} -cd %{gem_name}-%{version} +%setup -q -n %{gem_name}-%{version} +mv ../%{gem_name}-%{version}.gemspec . #Patches, etc -gem specification -l --ruby %{SOURCE0} > %{gem_name}.gemspec - # pkg-config dependency should be for development -find . -name \*.gemspec | \ - xargs sed -i \ - -e '\@pkg-config@s|runtime_dependency|development_dependency|' \ - -e '\@native-package-installer@s|runtime_dependency|development_dependency|' \ - %{nil} - -gem build %{gem_name}.gemspec -mv %{gem_name}-%{version}.gem $TOPDIR - -popd -rm -rf tmpunpackdir +sed -i %{gem_name}-%{version}.gemspec \ + -e '\@pkg-config@s|runtime_dependency|development_dependency|' \ + -e '\@native-package-installer@s|runtime_dependency|development_dependency|' \ + %{nil} %build +gem build %{gem_name}-%{version}.gemspec %gem_install # Once install to TMPINSTDIR for %%check @@ -134,7 +112,6 @@ do done # Move C extension -%if 0%{?fedora} >= 21 mkdir -p ./TMPINSTDIR/%{gem_extdir_mri} cp -a ./%{gem_extdir_mri}/* TMPINSTDIR/%{gem_extdir_mri}/ @@ -145,33 +122,23 @@ rm -f .%{gem_extdir_mri}/{gem_make.out,mkmf.log} popd -%else -pushd ./TMPINSTDIR -mkdir -p .%{gem_extdir_mri}/lib -mv .%{gem_instdir}/lib/%{gem_name}.so \ - ./%{gem_extdir_mri}/lib - -# Move header -mkdir -p ./%{header_dir} -mv ./%{gem_instdir}/lib/*.h \ - ./%{header_dir}/ -popd -%endif - - -# cleanups -rm -rf ./TMPINSTDIR/%{gem_instdir}/ext/ -rm -f ./TMPINSTDIR/%{gem_instdir}/{Makefile*,extconf.rb} - %install cp -a ./TMPINSTDIR/* %{buildroot}/ +# cleanups +rm -f %{buildroot}%{gem_cache} +pushd %{buildroot}%{gem_instdir} +rm -rf \ + Gemfile \ + Rakefile \ + *.gemspec \ + ext/ \ + test/ \ + %{nil} +popd + %check -%if 0%{?fedora} >= 21 export RUBYLIB=$(pwd)/TMPINSTDIR/%{gem_instdir}:$(pwd)/TMPINSTDIR/%{gem_extdir_mri}/ -%else -export RUBYLIB=$(pwd)/TMPINSTDIR/%{gem_instdir}:$(pwd)/TMPINSTDIR/%{gem_extdir_mri}/lib -%endif pushd ./TMPINSTDIR/%{gem_instdir} # kill unneeded make process @@ -190,40 +157,140 @@ cp -a rcairo/test/* test sed -i -e '\@require .rubygems@a\\ngem "test-unit"\n' test/run-test.rb sed -i -e "\@require 'bundler/setup'@d" test/run-test.rb +%if %{with bootstrap} +# Kill tests which needs poppler +sed -i test/helper.rb -e '\@poppler@s@^@#@' +for f in \ + test/test_context.rb \ + test/test_pdf_surface.rb \ + %{nil} +do + mv $f $f.orig +done +%endif + ruby ./test/run-test.rb %files -%if 0%{?fedora} >= 21 %{gem_extdir_mri}/ -%else -%dir %{gem_extdir_mri} -%dir %{gem_extdir_mri}/lib -%{gem_extdir_mri}/lib/%{gem_name}.so -%endif %dir %{gem_instdir}/ -%doc %{gem_instdir}/[A-Z]* -%exclude %{gem_instdir}/Gemfile -%exclude %{gem_instdir}/Rakefile +%doc %{gem_instdir}/[A-CN-Z]* +%license %{gem_instdir}/GPL + %{gem_instdir}/lib/ -%if 0%{?fedora} >= 20 -%exclude %{gem_cache} -%else -%{gem_cache} -%endif %{gem_spec} %files doc -%{gem_instdir}/Gemfile -%{gem_instdir}/Rakefile %{gem_instdir}/samples/ -%{gem_instdir}/test/ %{gem_docdir}/ %files devel %{header_dir}/rb_cairo.h %changelog +* Thu Jan 08 2026 Mamoru TASAKA - 1.18.4-4 +- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_4.0 + +* Thu Oct 30 2025 Mamoru TASAKA - 1.18.4-3 +- Bump release + +* Fri Jul 25 2025 Fedora Release Engineering - 1.18.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Wed Mar 12 2025 Mamoru TASAKA - 1.18.4-1 +- 1.18.4 + +* Sat Jan 18 2025 Fedora Release Engineering - 1.17.14-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Thu Jan 09 2025 Mamoru TASAKA - 1.17.14-1 +- 1.17.4 + +* Tue Jan 07 2025 Mamoru TASAKA - 1.17.13-8 +- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_3.4 + +* Sat Nov 02 2024 Mamoru TASAKA - 1.17.13-7 +- Kill loop dependency for now + +* Fri Jul 19 2024 Fedora Release Engineering - 1.17.13-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Tue Feb 06 2024 Mamoru TASAKA - 1.17.13-5 +- Bump and rebuild + +* Fri Jan 26 2024 Fedora Release Engineering - 1.17.13-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Jan 22 2024 Fedora Release Engineering - 1.17.13-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jan 03 2024 Mamoru TASAKA - 1.17.13-2 +- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_3.3 + +* Tue Dec 19 2023 Mamoru TASAKA - 1.17.13-1 +- 1.17.13 + +* Fri Jul 21 2023 Fedora Release Engineering - 1.17.12-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Mon Jun 19 2023 Mamoru TASAKA - 1.17.12-1 +- 1.17.12 + +* Thu Jun 15 2023 Mamoru TASAKA - 1.17.9-1 +- 1.17.9 + +* Wed May 24 2023 Mamoru TASAKA - 1.17.8-5 +- Enable test suite again +- SPDX migration +- spec file cleanup + +* Fri Jan 20 2023 Fedora Release Engineering - 1.17.8-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Jan 04 2023 Mamoru TASAKA - 1.17.8-3 +- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_3.2 + +* Thu Sep 29 2022 Mamoru TASAKA - 1.17.8-2 +- Once kill test suite dependency for now + +* Sun Sep 4 2022 Mamoru TASAKA - 1.17.8-1 +- 1.17.8 + +* Thu Aug 4 2022 Mamoru TASAKA - 1.17.7-1 +- 1.17.7 + +* Sat Jul 30 2022 Mamoru TASAKA - 1.17.6-1 +- 1.17.6 + +* Thu Jul 28 2022 Mamoru TASAKA - 1.17.5-6 +- Modify test script for cairo 1.17.6 change + +* Sat Jul 23 2022 Fedora Release Engineering - 1.17.5-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sun Jan 23 2022 Mamoru TASAKA - 1.17.5-4 +- F-36: rebuild for ruby31 + +* Fri Jan 21 2022 Fedora Release Engineering - 1.17.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 1.17.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Thu Mar 11 2021 Mamoru TASAKA - 1.17.5-1 +- 1.17.5 + +* Wed Jan 27 2021 Fedora Release Engineering - 1.16.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jan 06 2021 Mamoru TASAKA - 1.16.6-2 +- F-34: rebuild against ruby 3.0 + +* Thu Dec 31 2020 Mamoru TASAKA - 1.16.6-1.99 +- Rebuild for ruby 3.0 +- Set bootstrap logic for test suite + * Sun Aug 9 2020 Mamoru TASAKA - 1.16.6-1 - 1.16.6 diff --git a/sources b/sources index 93f3325..2b478d9 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (rcairo-1.16.6-test-missing-files.tar.gz) = e42f5a5ca7ce314dd766756a468237d25ba77a233ef62cba429d6a1c3f1dc4e5b9f34cb807b95357449e2ce2d0cebb1b00a0444a6a0ed0d6270e2fcad206b7d3 -SHA512 (cairo-1.16.6.gem) = f499daa83e865d58cc29d158ce649cab9f939464a08e5d7711f6cf255fb8dcfbf52457e3d2b81aef2018ad8d0762117776049b3681c9be6abdf4f0b12e43404c +SHA512 (cairo-1.18.4.gem) = 665a791f54567bb81e8533e56964640c14dce195da8b5cca968930dcaef9a28b705c5a04901a796f0cc645e1168fd127da95f0d1f6dbe5a71ef27d8f4624adb7 +SHA512 (rcairo-1.18.4-test-missing-files.tar.gz) = 75b42678f48e868e24f9f2a21a813bb770fc6b453dccc551760f74a825839e86cfbebfe20df63640aec58dd297d5fe19d9f4ba767e5286d9670e051f05711a1e