diff --git a/.gitignore b/.gitignore index 2e3684d..0720ee1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,27 +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-*gem +/rcairo-*-test-missing-files.tar.gz diff --git a/rubygem-cairo.spec b/rubygem-cairo.spec index caf37bf..7fb9f68 100644 --- a/rubygem-cairo.spec +++ b/rubygem-cairo.spec @@ -2,51 +2,52 @@ %global header_dir %{ruby_vendorarchdir} %global gem_name cairo -%global gemver 1.15.13 #%%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} -Group: Development/Languages -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(poppler) BuildRequires: rubygem(native-package-installer) +# Circular dependency +%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 @@ -63,7 +64,6 @@ X Window System, win32, and image buffers. %package doc Summary: Documentation for %{name} -Group: Documentation Requires: %{name} = %{version}-%{release} %description doc @@ -71,50 +71,30 @@ This package contains documentation for %{name}. %package devel Summary: Ruby-cairo development environment -Group: Development/Languages Requires: %{name} = %{version}-%{release} Requires: cairo-devel 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 @@ -132,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}/ @@ -143,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 @@ -188,40 +157,178 @@ 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 + +* Wed Jul 29 2020 Fedora Release Engineering - 1.16.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Feb 5 2020 Mamoru TASAKA - 1.16.5-1 +- 1.16.5 + +* Thu Jan 30 2020 Fedora Release Engineering - 1.16.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Jan 17 2020 Mamoru TASAKA - 1.16.4-4 +- Enable tests again + +* Fri Jan 17 2020 Mamoru TASAKA - 1.16.4-3 +- F-32: rebuild against ruby27 +- Once disable tests for circular dependency + +* Fri Jul 26 2019 Fedora Release Engineering - 1.16.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sat Feb 02 2019 Fedora Release Engineering - 1.16.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Mon Jan 21 2019 Mamoru TASAKA - 1.16.2-2 +- F-30: rebuild against ruby26 +- Once disable tests for circular dependency + +* Wed Nov 14 2018 Mamoru TASAKA - 1.16.2-1 +- 1.16.2 + +* Fri Aug 24 2018 Mamoru TASAKA - 1.15.14-1 +- 1.15.14 + +* Sat Jul 14 2018 Fedora Release Engineering - 1.15.13-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Wed May 2 2018 Mamoru TASAKA - 1.15.13-1 - 1.15.13 diff --git a/sources b/sources index 026bdc3..2b478d9 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (cairo-1.15.13.gem) = accab295acbb5b82e456c96b29681c37befdb6d1d4c93f8dd3d6cdd772374a3c6fad914f1ed097ee0575dd1e184eb22794f315bc8d02d0558f89f88b63870b86 -SHA512 (rcairo-1.15.13-test-missing-files.tar.gz) = c9b92c5c5757d7eaebad6829b657b268173ede64b53c3a872a9f26df46fcfcab4f0b83e6dcae6621c143d50d42a38ff0dad5894429ea9143c2f6e5368c6efa92 +SHA512 (cairo-1.18.4.gem) = 665a791f54567bb81e8533e56964640c14dce195da8b5cca968930dcaef9a28b705c5a04901a796f0cc645e1168fd127da95f0d1f6dbe5a71ef27d8f4624adb7 +SHA512 (rcairo-1.18.4-test-missing-files.tar.gz) = 75b42678f48e868e24f9f2a21a813bb770fc6b453dccc551760f74a825839e86cfbebfe20df63640aec58dd297d5fe19d9f4ba767e5286d9670e051f05711a1e