diff --git a/.gitignore b/.gitignore index 0720ee1..0339011 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,12 @@ -/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 diff --git a/rcairo-create-missing-test-files.sh b/rcairo-create-missing-test-files.sh deleted file mode 100644 index 8d106da..0000000 --- a/rcairo-create-missing-test-files.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/bash - -usage() { - echo "$0 " -} - -set -e -set -x - -if [ $# -lt 1 ] ; then - usage - exit 1 -fi - -VERSION=$1 - -TMPDIR=$(mktemp -d /tmp/rcairo-XXXXXX) -CURDIR=$(pwd) - -pushd $TMPDIR - -git clone https://github.com/rcairo/rcairo.git -cd rcairo/ - -git reset --hard v$VERSION -cd .. - -tar czf $CURDIR/rcairo-${VERSION}-test-missing-files.tar.gz rcairo/test/fixture/ - -popd -rm -rf $TMPDIR - diff --git a/rubygem-cairo.spec b/rubygem-cairo.spec index 7fb9f68..c4952d1 100644 --- a/rubygem-cairo.spec +++ b/rubygem-cairo.spec @@ -1,53 +1,43 @@ - %global header_dir %{ruby_vendorarchdir} %global gem_name cairo +%global gemver 1.14.3 #%%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} +Group: Development/Languages +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 -Source12: rcairo-create-missing-test-files.sh +%if 0%{?fedora} >= 19 Requires: ruby(release) BuildRequires: ruby(release) - -BuildRequires: gcc +%else +Requires: ruby(abi) = %{rubyabi} +Requires: ruby +BuildRequires: ruby(abi) = %{rubyabi} +BuildRequires: ruby +%endif 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} -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 @@ -64,6 +54,7 @@ X Window System, win32, and image buffers. %package doc Summary: Documentation for %{name} +Group: Documentation Requires: %{name} = %{version}-%{release} %description doc @@ -71,31 +62,35 @@ 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 -n %{gem_name}-%{version} -mv ../%{gem_name}-%{version}.gemspec . +%setup -q -T -c -#Patches, etc +mkdir -p ./%{gem_dir} +export CONFIGURE_ARGS="--with-cflags='%{optflags}'" +%gem_install -n %{SOURCE0} -# 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 \*.gem | xargs chmod 0644 %build -gem build %{gem_name}-%{version}.gemspec -%gem_install +# pkg-config dependency should be for development +find . -name \*.gemspec | \ + xargs sed -i -e '\@pkg-config@s|runtime_dependency|development_dependency|' # Once install to TMPINSTDIR for %%check rm -rf ./TMPINSTDIR @@ -112,6 +107,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 +118,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 @@ -149,243 +155,45 @@ ln -sf /bin/true make export PATH=$(pwd):$PATH popd -# Install missing files -tar xf %{SOURCE11} -cp -a rcairo/test/* test - # Fix up test/run-test.rb 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 +popd %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 - -* 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 - -* Fri Mar 16 2018 Mamoru TASAKA - 1.15.12-1 -- 1.15.12 - -* Fri Feb 09 2018 Fedora Release Engineering - 1.15.11-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Sat Jan 20 2018 Björn Esser - 1.15.11-3 -- Rebuilt for switch to libxcrypt - -* Wed Jan 03 2018 Mamoru TASAKA - 1.15.11-2 -- F-28: rebuild for ruby25 - -* Wed Dec 27 2017 Mamoru TASAKA - 1.15.11-1 -- 1.15.11 - -* Sat Oct 21 2017 Mamoru TASAKA - 1.15.10-1 -- 1.15.10 - -* Thu Aug 03 2017 Fedora Release Engineering - 1.15.9-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Thu Jul 27 2017 Fedora Release Engineering - 1.15.9-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Fri Jul 14 2017 Adam Jackson - 1.15.9-2 -- Rebuild to disable cairo-gl in F27 - -* Mon Jun 5 2017 Mamoru TASAKA - 1.15.9-1 -- 1.15.9 - -* Thu May 4 2017 Mamoru TASAKA - 1.15.7-1 -- 1.15.7 - -* Sat Feb 11 2017 Fedora Release Engineering - 1.15.5-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Sun Jan 15 2017 Mamoru TASAKA - 1.15.5-1 -- 1.15.5 - -* Wed Jan 11 2017 Mamoru TASAKA - 1.15.4-1 -- 1.15.4 - -* Tue Nov 29 2016 Mamoru TASAKA - 1.15.3-1 -- 1.15.3 - -* Tue Apr 19 2016 Mamoru TASAKA - 1.15.2-1 -- 1.15.2 - -* Thu Feb 04 2016 Fedora Release Engineering - 1.14.3-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Mon Jan 11 2016 Mamoru TASAKA - 1.14.3-2 -- F-24: rebuild against ruby23 - * Wed Sep 9 2015 amoru TASAKA - 1.14.3-1 - 1.14.3 diff --git a/sources b/sources index 2b478d9..11a5e33 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (cairo-1.18.4.gem) = 665a791f54567bb81e8533e56964640c14dce195da8b5cca968930dcaef9a28b705c5a04901a796f0cc645e1168fd127da95f0d1f6dbe5a71ef27d8f4624adb7 -SHA512 (rcairo-1.18.4-test-missing-files.tar.gz) = 75b42678f48e868e24f9f2a21a813bb770fc6b453dccc551760f74a825839e86cfbebfe20df63640aec58dd297d5fe19d9f4ba767e5286d9670e051f05711a1e +b28fcddc3e4483b078e012fca5fb9723 cairo-1.14.3.gem