diff --git a/.gitignore b/.gitignore index 518aee9..57e5e2b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,2 @@ -/rmagick-2.13.4.gem -/rmagick-2.14.0.gem -/rmagick-2.15.0.gem -/rmagick-2.15.1.gem -/rmagick-2.15.2.gem -/rmagick-2.15.3.gem -/rmagick-2.15.4.gem -/rmagick-2.16.0.gem -/rmagick-3.2.0.gem +/rmagick-*.gem +/rubygem-rmagick-*-full.tar.gz diff --git a/rmagick-create-full-tarball.sh b/rmagick-create-full-tarball.sh new file mode 100644 index 0000000..4a60f3a --- /dev/null +++ b/rmagick-create-full-tarball.sh @@ -0,0 +1,51 @@ +#!/bin/bash + +if [ $# -lt 1 ] +then + echo "$0 " + exit 1 +fi + +preserve_timestamps() +{ + while read f + do + unixtime=$(git log -n 1 --pretty='%ct' -- $f) + touch -d "@${unixtime}" $f + done < <(git ls-tree -r --name-only HEAD) + +} + +set -x +set -e + +CURRDIR=$(pwd) + +TMPDIRPATH=$(mktemp -d /var/tmp/rmagick-tar-XXXXXX) +pushd $TMPDIRPATH + +NAME=rmagick +VERSION=$1 + +VERSION_TAG=$( +echo $VERSION | sed -e 's|\.| |g' | while read major minor release +do + echo -n -e "${major}-${minor}-${release}" +done +) + + +VERSION_TAG=RMagick_${VERSION_TAG} + +git clone https://github.com/rmagick/$NAME.git +pushd ${NAME} +git reset --hard ${VERSION_TAG} +preserve_timestamps +popd + +ln -sf ${NAME} ${NAME}-${VERSION} +tar czf ${CURRDIR}/rubygem-${NAME}-${VERSION}-full.tar.gz ${NAME}-${VERSION}/./ + +popd + +rm -rf $TMPDIRPATH diff --git a/rubygem-rmagick.spec b/rubygem-rmagick.spec index 0b85645..5d0da22 100644 --- a/rubygem-rmagick.spec +++ b/rubygem-rmagick.spec @@ -2,31 +2,43 @@ %define setIMver() \ %if 0%{?fedora}%{?rhel} == %1 \ -BuildRequires: ImageMagick-devel = %2\ -Requires: ImageMagick%{?_isa} = %2\ +BuildRequires: (ImageMagick-devel >= %2 with ImageMagick-devel < %3)\ +Requires: (ImageMagick%{?_isa} >= %2 with ImageMagick%{?_isa} < %3)\ %endif \ %{nil} Name: rubygem-%{gem_name} -Version: 3.2.0 -Release: 4%{?dist} +Version: 6.1.5 +Release: 2%{?dist} Summary: Ruby binding to ImageMagick +# SPDX confirmed License: MIT URL: https://github.com/rmagick/rmagick Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem +# %%{SOURCE2} %%{version} +Source1: rubygem-%{gem_name}-%{version}-full.tar.gz +Source2: rmagick-create-full-tarball.sh -BuildRequires: gcc +BuildRequires: gcc-c++ BuildRequires: rubygems-devel BuildRequires: ruby-devel +BuildRequires: rubygem(pkg-config) +BuildRequires: rubygem(observer) BuildRequires: rubygem(test-unit) -BuildRequires: rubygem(minitest4) BuildRequires: rubygem(rspec) -# Due to test/RMagick/rmmain.c test_Magick_version(), for now +BuildRequires: rubygem(pry) +# Due to ext/RMagick/rmmain.cpp test_Magick_version(), for now # we specify the exact version for ImageMagick +# +# With rmagick <= 5.5.0, ImageMagick X.Y.Z should all match, +# with rmagick >= 6.0.0, ImageMagick X.Y should match. %if 0%{?fedora} -%setIMver 33 1:6.9.10.86 -%setIMver 32 1:6.9.10.86 +%setIMver 45 1:7.1 1:7.2 +%setIMver 44 1:7.1 1:7.2 +%setIMver 43 1:7.1 1:7.2 +%setIMver 42 1:7.1 1:7.2 +%setIMver 41 1:7.1 1:7.2 %endif Obsoletes: ruby-RMagick < 2.13.2 @@ -49,15 +61,14 @@ Provides: ruby-RMagick-doc = %{version}-%{release} Documentation for %{name}. %prep -gem unpack %{SOURCE0} -%setup -q -D -T -n %{gem_name}-%{version} +%setup -q -T -n %{gem_name}-%{version} -b 1 gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec # permission find . -name \*.rb -or -name \*.gif | xargs chmod ugo-x %build -export CFLAGS="%{optflags}" +export MAKE="make %{?_smp_mflags}" # Make sure that .so is to be created newly rm -rf ./%{gem_extdir_mri} gem build %{gem_name}.gemspec @@ -68,6 +79,10 @@ gem build %{gem_name}.gemspec mkdir -p %{buildroot}%{gem_dir} cp -a .%{gem_dir}/* \ %{buildroot}%{gem_dir}/ +cp -a \ + doc \ + examples \ + %{buildroot}%{gem_instdir}/ mkdir -p %{buildroot}%{gem_extdir_mri} cp -a .%{gem_extdir_mri}/{gem.build_complete,*.so} \ @@ -76,10 +91,13 @@ cp -a .%{gem_extdir_mri}/{gem.build_complete,*.so} \ pushd %{buildroot}%{gem_instdir} rm -rf \ .editorconfig \ + .devcontainer \ + .github \ .gitignore .[^.]*.yml \ wercker.yml \ .rspec \ .simplecov \ + .yardopts \ Doxyfile Gemfile Rakefile \ before_*.sh \ doc/.cvsignore \ @@ -94,41 +112,29 @@ rm -rf \ popd %check -pushd .%{gem_instdir} +export RUBYLIB=$(pwd):$(pwd)/lib:$(pwd)/test:%{buildroot}%{gem_extdir_mri} +export COVERAGE=false -# See https://github.com/rmagick/rmagick/pull/854 -# Remove taint logic which will be deprecated in Ruby (2.7) -%if 0%{?fedora} >= 32 -env LANG=C \ - grep -rl tainted test/ | \ - xargs sed -i -e '\@tainted@d' -%endif +rm -rf tmp +mkdir tmp -# ??? remove simplecov -sed -i test/test_all_basic.rb \ - -e '\@simplecov@s|require|#require|' +rspec spec/ -ruby \ - -Ilib:ext/RMagick:test:. \ - -e "gem 'minitest', '~> 4' ; require 'test/test_all_basic.rb'" \ - %{nil} - -ruby \ - -Ilib:ext/RMagick:test:. \ - -S rspec spec/ - -popd +find spec -name \*.skip | while read f +do + mv $f ${f%.skip} +done %files %dir %{gem_instdir}/ %license %{gem_instdir}/LICENSE %doc %{gem_instdir}/CONTRIBUTING.md %doc %{gem_instdir}/CHANGELOG.md -%doc %{gem_instdir}/README.textile +%doc %{gem_instdir}/README.md %{gem_libdir}/ -%{gem_instdir}/deprecated/ %{gem_extdir_mri}/ +%{gem_instdir}/sig/ %exclude %{gem_cache} %{gem_spec} @@ -139,6 +145,184 @@ popd %doc %{gem_instdir}/examples/ %changelog +* Thu Jan 08 2026 Mamoru TASAKA - 6.1.5-2 +- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_4.0 + +* Sun Dec 28 2025 Mamoru TASAKA - 6.1.5-1 +- 6.1.5 + +* Wed Oct 29 2025 Mamoru TASAKA - 6.1.4-2 +- Apply upstream patch for ruby3_5 Ractor change for testsuite + +* Sun Aug 24 2025 Mamoru TASAKA - 6.1.4-1 +- 6.1.4 + +* Sun Aug 17 2025 Mamoru TASAKA - 6.1.3-1 +- 6.1.3 + +* Fri Jul 25 2025 Fedora Release Engineering - 6.1.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Sun Jul 20 2025 Mamoru TASAKA - 6.1.2-1 +- 6.1.2 + +* Sun Feb 02 2025 Mamoru TASAKA - 6.1.1-1 +- 6.1.1 + +* Sun Jan 19 2025 Mamoru TASAKA - 6.1.0-1 +- 6.1.0 + +* Sat Jan 18 2025 Fedora Release Engineering - 6.0.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Tue Jan 07 2025 Mamoru TASAKA - 6.0.1-4 +- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_3.4 + +* Sat Nov 02 2024 Mamoru TASAKA - 6.0.1-3 +- Add BR: rubygem(observer) explicitly + +* Fri Jul 19 2024 Fedora Release Engineering - 6.0.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Thu May 16 2024 Mamoru TASAKA - 6.0.1-1 +- 6.0.1 + +* Fri May 03 2024 Mamoru TASAKA - 6.0.0-1 +- 6.0.0 + +* Mon Apr 08 2024 Mamoru TASAKA - 5.5.0-1 +- 5.5.0 + +* Fri Feb 16 2024 Mamoru TASAKA - 5.4.4-1 +- 5.4.4 + +* Wed Feb 14 2024 Mamoru TASAKA - 5.4.3-1 +- 5.4.3 + +* Tue Feb 13 2024 Mamoru TASAKA - 5.4.2-1 +- 5.4.2 + +* Tue Feb 06 2024 Mamoru TASAKA - 5.4.1-1 +- 5.4.1 + +* Mon Feb 05 2024 Mamoru TASAKA - 5.4.0-1 +- 5.4.0 + +* Fri Jan 26 2024 Fedora Release Engineering - 5.3.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Mamoru TASAKA - 5.3.0-3 +- Backport upstream patch to fix test with ImageMagick 7.1.1-26 + +* Wed Jan 03 2024 Mamoru TASAKA - 5.3.0-2 +- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_3.3 + +* Sun Jul 23 2023 Mamoru TASAKA - 5.3.0-1 +- 5.3.0 + +* Fri Jul 21 2023 Fedora Release Engineering - 5.2.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sun Apr 30 2023 Mamoru TASAKA - 5.2.0-3 +- SPDX migration +- Fix crash on ImageList#write with animation gif (upstream bug 1379) + +* Thu Mar 23 2023 Mamoru TASAKA - 5.2.0-2 +- F-39: Rebuild against ImageMagick 7.1.1 + +* Mon Mar 13 2023 Mamoru TASAKA - 5.2.0-1 +- 5.2.0 + +* Fri Jan 20 2023 Fedora Release Engineering - 5.1.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Thu Jan 05 2023 Neal Gompa - 5.1.0-3 +- F-38+: Rebuild for ImageMagick 7 + +* Wed Jan 04 2023 Mamoru TASAKA - 5.1.0-2 +- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_3.2 + +* Thu Nov 17 2022 Mamoru TASAKA - 5.1.0-1 +- 5.1.0 + +* Sun Oct 9 2022 Mamoru TASAKA - 5.0.0-1 +- 5.0.0 + +* Mon Sep 26 2022 Mamoru TASAKA - 4.3.0-1 +- 4.3.0 + +* Sat Jul 23 2022 Fedora Release Engineering - 4.2.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sun Jul 17 2022 Mamoru TASAKA - 4.2.6-1 +- 4.2.6 + +* Wed Apr 6 2022 Mamoru TASAKA - 4.2.5-1 +- 4.2.5 + +* Wed Jan 26 2022 Mamoru TASAKA - 4.2.4-3 +- F-36: rebuild against ruby31 + +* Fri Jan 21 2022 Fedora Release Engineering - 4.2.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Tue Dec 28 2021 Mamoru TASAKA - 4.2.4-1 +- 4.2.4 + +* Sat Dec 04 2021 Mamoru TASAKA - 4.2.3-5.1 +- Rebuild for tag issue + +* Thu Nov 25 2021 Mamoru TASAKA - 4.2.3-5 +- Use rich boolean dependency + +* Mon Nov 22 2021 Mamoru TASAKA - 4.2.3-4 +- Rebuild against new ImageMagick + +* Tue Nov 2 2021 Mamoru TASAKA - 4.2.3-3 +- Rebuild against new ImageMagick + +* Sat Oct 16 2021 Mamoru TASAKA - 4.2.3-2 +- Rebuild against new ImageMagick + +* Tue Oct 12 2021 Mamoru TASAKA - 4.2.3-1 +- 4.2.3 + +* Fri Jul 23 2021 Fedora Release Engineering - 4.2.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Feb 24 2021 Mamoru TASAKA - 4.2.2-1 +- 4.2.2 + +* Mon Feb 8 2021 Mamoru TASAKA - 4.2.1-1 +- 4.2.1 + +* Sun Feb 7 2021 Mamoru TASAKA - 4.2.0-1 +- 4.2.0 + +* Wed Jan 27 2021 Fedora Release Engineering - 4.1.2-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jan 06 2021 Mamoru TASAKA - 4.1.2-6 +- F-34: rebuild against ruby 3.0 + +* Tue Aug 11 2020 Michael Cronenworth - 4.1.2-5 +- Rebuild for ImageMagick 6.9.11-27 + +* Wed Jul 29 2020 Fedora Release Engineering - 4.1.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Jun 25 2020 Michael Cronenworth - 4.1.2-3 +- Rebuild for ImageMagick 6.9.11-22 + +* Wed Jun 03 2020 Michael Cronenworth - 4.1.2-2 +- Rebuild for ImageMagick 6.9.11-16 + +* Mon Apr 20 2020 Mamoru TASAKA - 4.1.2-1 +- 4.1.2 + +* Fri Feb 14 2020 Mamoru TASAKA - 4.0.0-1 +- 4.0.0 + * Thu Jan 30 2020 Fedora Release Engineering - 3.2.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild diff --git a/sources b/sources index 5042295..6a164e1 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -SHA512 (rmagick-3.2.0.gem) = f6f15b013699da5c61e83ecf4ca16d64e7e2f447dc721c7db55cad6b880f9805eb8bdcbf70aef3e30a82f38bbab8ca093d8c6d2ce761cde4f47209e3f99a9f16 +SHA512 (rmagick-6.1.5.gem) = 15157dda3185e8677c08d9b33564d1c85e3c3573ad9f6ab2358c32ec8a790eb2aa765cde095f98eb500cd818e3b71535dd289524eb35c9c5e721be3af4b1ba18 +SHA512 (rubygem-rmagick-6.1.5-full.tar.gz) = ce65bacd8e775fc4751784d427ab52a5b936ca5a465751d63380d42e0928911389f3388474c936eeb59d93d242c9923240168911705c1243b8e5d195d258fd8a