diff --git a/.gitignore b/.gitignore index 57e5e2b..7208d0d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,8 @@ -/rmagick-*.gem -/rubygem-rmagick-*-full.tar.gz +/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 diff --git a/rmagick-create-full-tarball.sh b/rmagick-create-full-tarball.sh deleted file mode 100644 index 4a60f3a..0000000 --- a/rmagick-create-full-tarball.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/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 5d0da22..af08da8 100644 --- a/rubygem-rmagick.spec +++ b/rubygem-rmagick.spec @@ -2,43 +2,45 @@ %define setIMver() \ %if 0%{?fedora}%{?rhel} == %1 \ -BuildRequires: (ImageMagick-devel >= %2 with ImageMagick-devel < %3)\ -Requires: (ImageMagick%{?_isa} >= %2 with ImageMagick%{?_isa} < %3)\ +BuildRequires: ImageMagick-devel = %2\ +Requires: ImageMagick%{?_isa} = %2\ %endif \ %{nil} Name: rubygem-%{gem_name} -Version: 6.1.5 -Release: 2%{?dist} +Version: 2.16.0 +Release: 8%{?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-c++ BuildRequires: rubygems-devel BuildRequires: ruby-devel -BuildRequires: rubygem(pkg-config) -BuildRequires: rubygem(observer) +%if 0%{?fedora} >= 22 BuildRequires: rubygem(test-unit) +%endif +%if 0%{?fedora} >= 21 +BuildRequires: rubygem(minitest4) +%else +BuildRequires: rubygem(minitest) +%endif BuildRequires: rubygem(rspec) -BuildRequires: rubygem(pry) -# Due to ext/RMagick/rmmain.cpp test_Magick_version(), for now +# Due to test/RMagick/rmmain.c 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 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 +%setIMver 28 1:6.9.9.19 +%setIMver 27 1:6.9.9.19 +%setIMver 26 6.9.9.19 +%setIMver 25 6.9.9.19 +%setIMver 24 6.9.3.0 +%endif +%if 0%{?fedora} < 21 +#Requires: ruby(release) +#MRI Only +Requires: ruby +Requires: ruby(rubygems) %endif Obsoletes: ruby-RMagick < 2.13.2 @@ -61,14 +63,15 @@ Provides: ruby-RMagick-doc = %{version}-%{release} Documentation for %{name}. %prep -%setup -q -T -n %{gem_name}-%{version} -b 1 +gem unpack %{SOURCE0} +%setup -q -D -T -n %{gem_name}-%{version} gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec # permission find . -name \*.rb -or -name \*.gif | xargs chmod ugo-x %build -export MAKE="make %{?_smp_mflags}" +export CFLAGS="%{optflags}" # Make sure that .so is to be created newly rm -rf ./%{gem_extdir_mri} gem build %{gem_name}.gemspec @@ -79,25 +82,24 @@ gem build %{gem_name}.gemspec mkdir -p %{buildroot}%{gem_dir} cp -a .%{gem_dir}/* \ %{buildroot}%{gem_dir}/ -cp -a \ - doc \ - examples \ - %{buildroot}%{gem_instdir}/ +%if 0%{?fedora} >= 21 mkdir -p %{buildroot}%{gem_extdir_mri} cp -a .%{gem_extdir_mri}/{gem.build_complete,*.so} \ %{buildroot}%{gem_extdir_mri}/ +%else +mkdir -p %{buildroot}%{gem_extdir_mri}/lib +mv %{buildroot}%{gem_instdir}/lib/* \ + %{buildroot}%{gem_extdir_mri}/lib +%endif pushd %{buildroot}%{gem_instdir} rm -rf \ .editorconfig \ - .devcontainer \ - .github \ .gitignore .[^.]*.yml \ wercker.yml \ .rspec \ .simplecov \ - .yardopts \ Doxyfile Gemfile Rakefile \ before_*.sh \ doc/.cvsignore \ @@ -105,36 +107,121 @@ rm -rf \ test/ \ spec/ \ ext/ \ - benchmarks/ \ - .circleci/ \ - .ruby-version \ %{nil} popd %check -export RUBYLIB=$(pwd):$(pwd)/lib:$(pwd)/test:%{buildroot}%{gem_extdir_mri} -export COVERAGE=false +pushd .%{gem_instdir} -rm -rf tmp -mkdir tmp +# ??? remove simplecov +sed -i test/test_all_basic.rb \ + -e '\@simplecov@s|require|#require|' -rspec spec/ +remove_fail_rspec_test() { + filename=$1 + shift + num=$# + while [ $num -gt 0 ] + do + if [ ! -f ${filename}.orig ] ; then + cp -p $filename ${filename}.orig + fi + start=$(cat -n $filename | sed -n -e "\@^[ \t]*[1-9][0-9]*[ \t]*describe $1@p" | sed -e 's|^[ \t]*||' -e 's|describe.*$||') + end=$(cat -n $filename | sed -n -e "\@^[ \t]*[1-9][0-9]*[ \t]*describe $1@,\@^[ \t]*[1-9][0-9]*[ \t]*describe@p" | tail -n 1 | sed -e 's|^[ \t]*||' -e 's|describe.*$||') + end=$((end - 1)) + sed -i -e "${start},${end}d" $filename + shift + num=$((num - 1)) + done +} -find spec -name \*.skip | while read f -do - mv $f ${f%.skip} -done +remove_fail_test() { + filename=$1 + shift + num=$# + while [ $num -gt 0 ] + do + if [ ! -f ${filename}.orig ] ; then + cp -p $filename ${filename}.orig + fi + start=$(cat -n $filename | sed -n -e "\@^[ \t]*[1-9][0-9]*[ \t]*def $1@p" | sed -e 's|^[ \t]*||' -e 's|def.*$||') + start=$(echo "$start" | sed -e 's|[ \t][ \t]*$||') + end=$(cat -n $filename | sed -n -e "\@^[ \t]*[1-9][0-9]*[ \t]*def $1@,\@^[ \t]*[1-9][0-9]*[ \t]*def@p" | tail -n 1 | sed -e 's|^[ \t]*||' -e 's|def.*$||') + end=$(echo "$end" | sed -e 's|[ \t][ \t]*$||') + end=$((end - 1)) + sed -i -e "${start},${end}d" $filename + shift + num=$((num - 1)) + done +} + +# First remove this +remove_fail_test test/Image2.rb test_destroy2 test_destroy + +# Once do full test anyway +ruby \ +%if 0%{?fedora} >= 21 + -Ilib:ext/RMagick:test:. \ +%else + -Ilib:test:. \ +%endif + -e "gem 'minitest', '~> 4' ; require 'test/test_all_basic.rb'" \ + || true + +# Remove failing tests, need investigating +remove_fail_test test/Image_attributes.rb test_mime_type +%ifnarch %ix86 x86_64 +remove_fail_test test/Image_attributes.rb \ + test_number_colors test_total_colors +%endif +%ifarch %arm +remove_fail_test test/Info.rb test_monitor +%endif +remove_fail_test test/ImageList1.rb \ + test_delete_if 'test_reject!' +%if 0%{?fedora} >= 23 +remove_fail_test test/Image2.rb 'test_gray?' +remove_fail_test test/ImageList2.rb test_optimize_layers +%endif +# ??? +remove_fail_test test/Image2.rb 'test_compress_colormap!' +remove_fail_test test/Image_attributes.rb \ + test_background_color test_border_color \ + test_image_type + +ruby \ +%if 0%{?fedora} >= 21 + -Ilib:ext/RMagick:test:. \ +%else + -Ilib:test:. \ +%endif + -e "gem 'minitest', '~> 4' ; require 'test/test_all_basic.rb'" + +for f in test/*.orig ; do mv $f ${f%.orig} ; done + +%if 0%{?fedora} <= 24 +remove_fail_rspec_test spec/rmagick/draw_spec.rb "'#marshal_dump'" +%endif +ruby \ +%if 0%{?fedora} >= 21 + -Ilib:ext/RMagick:test:. \ +%else + -Ilib:test:. \ +%endif + -S rspec spec/ + +popd %files %dir %{gem_instdir}/ %license %{gem_instdir}/LICENSE %doc %{gem_instdir}/CONTRIBUTING.md %doc %{gem_instdir}/CHANGELOG.md -%doc %{gem_instdir}/README.md +%doc %{gem_instdir}/README.textile %{gem_libdir}/ +%{gem_instdir}/deprecated/ %{gem_extdir_mri}/ -%{gem_instdir}/sig/ %exclude %{gem_cache} %{gem_spec} @@ -145,263 +232,6 @@ done %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 - -* Fri Jan 17 2020 Mamoru TASAKA - 3.2.0-3 -- F-32: rebuild against ruby27 - -* Mon Jan 13 2020 Michael Cronenworth - 3.2.0-2 -- Rebuild for ImageMagick 6.9.10-86 - -* Tue Dec 31 2019 Mamoru TASAKA - 3.2.0-1 -- 3.2.0 - -* Tue Dec 31 2019 Mamoru TASAKA - 2.16.0-28 -- Once clean up spec file, especially remove conditions for branches - which are no longer supported - -* Tue Nov 26 2019 Michael Cronenworth - 2.16.0-27 -- Rebuild for ImageMagick 6.9.10-75 - -* Fri Oct 04 2019 Pete Walter - 2.16.0-26 -- Rebuild for ImageMagick 6.9.10-67 - -* Sat Sep 21 2019 Pete Walter - 2.16.0-25 -- Rebuild for ImageMagick 6.9.10-65 - -* Fri Sep 13 2019 Michael Cronenworth - 2.16.0-24 -- Rebuild for ImageMagick 6.9.10-64 - -* Fri Aug 16 2019 Mamoru TASAKA - 2.16.0-23 -- Add BR properly for rawhide - -* Fri Jul 26 2019 Fedora Release Engineering - 2.16.0-22 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Mon Feb 18 2019 Pete Walter - 2.16.0-21 -- Rebuild for ImageMagick 6.9.10-28 - -* Sat Feb 02 2019 Fedora Release Engineering - 2.16.0-20 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Mon Jan 21 2019 Mamoru TASAKA - 2.16.0-19 -- F-30: rebuild against ruby26 - -* Fri Jan 11 2019 Mamoru TASAKA - 2.16.0-18 -- Fix failed test for 6.9.10.23 for now - -* Wed Jan 2 2019 Michael Cronenworth - 2.16.0-18 -- Rebuild for ImageMagick 6.9.10-23 - -* Mon Sep 3 2018 Mamoru TASAKA - 2.16.0-17 -- Remove failed test for 6.9.10 for now - -* Tue Aug 28 2018 Michael Cronenworth - 2.16.0-17 -- Rebuild for ImageMagick 6.9.10 - -* Sat Jul 14 2018 Fedora Release Engineering - 2.16.0-16 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Fri Mar 23 2018 Mamoru TASAKA - 2.16.0-15 -- Rescue failing tests by 6.9.9-38 internal change - -* Fri Feb 09 2018 Fedora Release Engineering - 2.16.0-14 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Sat Jan 20 2018 Björn Esser - 2.16.0-13 -- Rebuilt for switch to libxcrypt - -* Thu Jan 04 2018 Mamoru TASAKA - 2.16.0-12 -- F-28: rebuild for ruby25 - -* Sat Dec 23 2017 Michael Cronenworth - 2.16.0-11 -- Rebuild for ImageMagick 6.9.9-27 - -* Wed Nov 22 2017 Mamoru TASAKA - 2.16.0-10 -- Rescue failing tests by 6.9.9-22 internal change - -* Thu Nov 09 2017 Michael Cronenworth - 2.16.0-9 -- Rebuild for ImageMagick 6.9.9-22 - * Wed Oct 11 2017 Michael Cronenworth - 2.16.0-8 - Rebuild for ImageMagick 6.9.9-19 diff --git a/sources b/sources index 6a164e1..4a87b9a 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (rmagick-6.1.5.gem) = 15157dda3185e8677c08d9b33564d1c85e3c3573ad9f6ab2358c32ec8a790eb2aa765cde095f98eb500cd818e3b71535dd289524eb35c9c5e721be3af4b1ba18 -SHA512 (rubygem-rmagick-6.1.5-full.tar.gz) = ce65bacd8e775fc4751784d427ab52a5b936ca5a465751d63380d42e0928911389f3388474c936eeb59d93d242c9923240168911705c1243b8e5d195d258fd8a +d03bb84d342b0a78f9c6262acb451dc8 rmagick-2.16.0.gem