diff --git a/.gitignore b/.gitignore index 0720ee1..2b3550c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,37 @@ -/cairo-*gem -/rcairo-*-test-missing-files.tar.gz +/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 diff --git a/rubygem-cairo.spec b/rubygem-cairo.spec index 7fb9f68..36f7f65 100644 --- a/rubygem-cairo.spec +++ b/rubygem-cairo.spec @@ -2,55 +2,58 @@ %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: 1.18.4 -Release: 4%{?dist} -# From gemspec -# SPDX confirmed -License: GPL-2.0-or-later OR Ruby - +Version: %{gemver} +Release: 1%{?dist} +License: GPLv2 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 $bash %%SOURCE12 %%version +# Source11 is generated by the below 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 %{without bootstrap} +%if 1 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} @@ -77,24 +80,43 @@ 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 -n %{gem_name}-%{version} -mv ../%{gem_name}-%{version}.gemspec . +%setup -q -c -T + +TOPDIR=$(pwd) +mkdir tmpunpackdir +pushd tmpunpackdir + +gem unpack %{SOURCE0} +cd %{gem_name}-%{version} #Patches, etc +gem specification -l --ruby %{SOURCE0} > %{gem_name}.gemspec + # pkg-config dependency should be for development -sed -i %{gem_name}-%{version}.gemspec \ - -e '\@pkg-config@s|runtime_dependency|development_dependency|' \ - -e '\@native-package-installer@s|runtime_dependency|development_dependency|' \ - %{nil} +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 %build -gem build %{gem_name}-%{version}.gemspec %gem_install # Once install to TMPINSTDIR for %%check @@ -112,6 +134,7 @@ do done # Move C extension +%if 0%{?fedora} >= 21 mkdir -p ./TMPINSTDIR/%{gem_extdir_mri} cp -a ./%{gem_extdir_mri}/* TMPINSTDIR/%{gem_extdir_mri}/ @@ -122,23 +145,33 @@ 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 @@ -157,140 +190,40 @@ 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-CN-Z]* -%license %{gem_instdir}/GPL - +%doc %{gem_instdir}/[A-Z]* +%exclude %{gem_instdir}/Gemfile +%exclude %{gem_instdir}/Rakefile %{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 2b478d9..93f3325 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (cairo-1.18.4.gem) = 665a791f54567bb81e8533e56964640c14dce195da8b5cca968930dcaef9a28b705c5a04901a796f0cc645e1168fd127da95f0d1f6dbe5a71ef27d8f4624adb7 -SHA512 (rcairo-1.18.4-test-missing-files.tar.gz) = 75b42678f48e868e24f9f2a21a813bb770fc6b453dccc551760f74a825839e86cfbebfe20df63640aec58dd297d5fe19d9f4ba767e5286d9670e051f05711a1e +SHA512 (rcairo-1.16.6-test-missing-files.tar.gz) = e42f5a5ca7ce314dd766756a468237d25ba77a233ef62cba429d6a1c3f1dc4e5b9f34cb807b95357449e2ce2d0cebb1b00a0444a6a0ed0d6270e2fcad206b7d3 +SHA512 (cairo-1.16.6.gem) = f499daa83e865d58cc29d158ce649cab9f939464a08e5d7711f6cf255fb8dcfbf52457e3d2b81aef2018ad8d0762117776049b3681c9be6abdf4f0b12e43404c