# TODO
+# - jxl via brunsli (or wait for port to libjxl?)
# - create sane default policy file:
# https://www.imagemagick.org/discourse-server/viewtopic.php?f=4&t=26801
#
%bcond_without autotrace # Autotrace support in SVG module
%define origname ImageMagick
-%define ver 6.9.9
-%define pver 26
-%include /usr/lib/rpm/macros.perl
+%define ver 6.9.13
+%define pver 9
Summary: Image display, conversion, and manipulation under X
Summary(de.UTF-8): Darstellen, Konvertieren und Bearbeiten von Grafiken unter X
Summary(es.UTF-8): Exhibidor, convertidor y manipulador de imágenes bajo X
Summary(uk.UTF-8): Перегляд, конвертування та обробка зображень під X Window
Name: ImageMagick6
Version: %{ver}%{?pver:.%{pver}}
-Release: 2
+Release: 1
Epoch: 1
License: Apache-like
Group: X11/Applications/Graphics
-Source0: ftp://ftp.imagemagick.org/pub/ImageMagick/%{origname}-%{ver}-%{pver}.tar.xz
-# Source0-md5: af553c3dfad841748a6b49f44e354ba7
-Patch0: config.patch
+Source0: https://www.imagemagick.org/archive/releases/%{origname}-%{ver}-%{pver}.tar.lz
+# Source0-md5: fca6322cd818f4bf5757b4489e6fa467
Patch1: %{origname}-link.patch
Patch2: %{origname}-libpath.patch
Patch3: %{origname}-ldflags.patch
Patch4: %{origname}-lt.patch
-Patch5: perlmagick.patch
+Patch5: %{origname}-perl.patch
Patch6: magick6.patch
+Patch7: %{origname}-OpenCL.patch
URL: https://legacy.imagemagick.org/
%{?with_opencl:BuildRequires: OpenCL-devel}
BuildRequires: OpenEXR-devel >= 1.0.6
BuildRequires: autoconf >= 2.69
BuildRequires: automake >= 1:1.12
-%{?with_autotrace:BuildRequires: autotrace-devel >= 0.31.1}
+%{?with_autotrace:BuildRequires: autotrace-devel >= 0.31.2}
BuildRequires: bzip2-devel >= 1.0.1
%{?with_djvu:BuildRequires: djvulibre-devel >= 3.5.0}
BuildRequires: expat-devel >= 1.95.7
BuildRequires: lcms2-devel >= 2.0
%{?with_fpx:BuildRequires: libfpx-devel >= 1.2.0.4-3}
%{?with_openmp:BuildRequires: libgomp-devel}
+BuildRequires: libheif-devel
BuildRequires: libjpeg-devel >= 6b
BuildRequires: liblqr-devel >= 0.1.0
BuildRequires: libltdl-devel
BuildRequires: libpng-devel >= 1.0.8
%{?with_raqm:BuildRequires: libraqm-devel}
+BuildRequires: libraw-devel >= 0.14.8
BuildRequires: librsvg-devel >= 2.9.0
BuildRequires: libstdc++-devel
BuildRequires: libtiff-devel
BuildRequires: libtool >= 2:2.2
-BuildRequires: libwebp-devel
+BuildRequires: libwebp-devel >= 0.5.0
%{?with_wmf:BuildRequires: libwmf-devel >= 2:0.2.2}
BuildRequires: libxml2-devel >= 2.0
+BuildRequires: lzip
%{?with_openjpeg:BuildRequires: openjpeg2-devel >= 2.1.0}
BuildRequires: pango-devel >= 1:1.28.1
BuildRequires: perl-devel >= 1:5.8.1
BuildRequires: pkgconfig >= 1:0.20
BuildRequires: rpm-perlprov >= 4.1-13
-BuildRequires: rpmbuild(macros) >= 1.315
+BuildRequires: rpmbuild(macros) >= 1.745
BuildRequires: tar >= 1:1.22
# only checked for, but only supplied scripts/txt2html is used
#BuildRequires: txt2html
BuildRequires: xorg-lib-libX11-devel
BuildRequires: xorg-lib-libXext-devel
-BuildRequires: xz
BuildRequires: xz-devel >= 2.9.0
+BuildRequires: zstd-devel >= 1.0.0
BuildRequires: zlib-devel >= 1.0.0
Requires: %{name}-libs = %{epoch}:%{version}-%{release}
Suggests: shared-color-profiles
-Obsoletes: ImageMagick-coder-dps
-Obsoletes: ImageMagick-coder-mpeg
+Obsoletes: ImageMagick-coder-braille < 1:6.4.1.3-2
+Obsoletes: ImageMagick-coder-dds < 1:6.4.1.3-2
+Obsoletes: ImageMagick-coder-dps < 1:6.2.6.0-3
+Obsoletes: ImageMagick-coder-hdf < 1:5.5.2.5
+Obsoletes: ImageMagick-coder-xps < 1:6.4.1.3-2
+Obsoletes: ImageMagick-coder-mpeg < 1:5.5.2.5
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%if 0%{!?QuantumDepth:1}
Requires: freetype-devel >= 2.0.2
Requires: lcms2-devel >= 2.0
%{?with_openmp:Requires: libgomp-devel}
-Requires: libjpeg-devel >= 6b
Requires: liblqr-devel >= 0.1.0
Requires: libltdl-devel
-Requires: libtiff-devel
+%{?with_raqm:Requires: libraqm-devel}
+Requires: xorg-lib-libX11-devel
Requires: xorg-lib-libXext-devel
Requires: zlib-devel >= 1.0.0
Requires: %{name}-libs = %{epoch}:%{version}-%{release}
Requires: perl-dirs
Provides: ImageMagick-perl = %{epoch}:%{version}-%{release}
-Obsoletes: ImageMagick-perl
+Obsoletes: ImageMagick-perl < 1:6.6.1.1-4
%description -n perl-%{name}
This is the ImageMagick Perl support package. It perl modules and
%description coder-djvu -l pl.UTF-8
Moduł kodera dla plików DJVU.
+%package coder-dng
+Summary: Coder module for DNG files
+Summary(pl.UTF-8): Moduł kodera dla plików DNG
+Group: X11/Applications/Graphics
+Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: libraw >= 0.14.8
+
+%description coder-dng
+Coder module for DNG (Digital Negative) files.
+
+%description coder-dng -l pl.UTF-8
+Moduł kodera dla plików DNG (Digital Negative).
+
%package coder-dot
Summary: Coder module for GraphViz DOT files
Summary(pl.UTF-8): Moduł kodera dla plików GraphViz DOT
%description coder-fpx -l pl.UTF-8
Moduł kodera dla plików FlashPIX (FPX).
+%package coder-heic
+Summary: Coder module for HEIC files
+Summary(pl.UTF-8): Moduł kodera dla plików HEIC
+Group: X11/Applications/Graphics
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description coder-heic
+Coder module for HEIC files.
+
+%description coder-heic -l pl.UTF-8
+Moduł kodera dla plików HEIC.
+
%package coder-jbig
Summary: Coder module for JBIG files
Summary(pl.UTF-8): Moduł kodera dla plików JBIG
Summary(pl.UTF-8): Moduł kodera dla plików SVG (Scalable Vector Graphics)
Group: X11/Applications/Graphics
Requires: %{name} = %{epoch}:%{version}-%{release}
+%{?with_autotrace:Requires: autotrace >= 0.31.2}
Requires: librsvg >= 2.9.0
%description coder-svg
Summary(pl.UTF-8): Moduł kodera dla plików TIFF
Group: X11/Applications/Graphics
Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: zstd >= 1.0.0
%description coder-tiff
Coder module for TIFF files.
Summary(pl.UTF-8): Moduł kodera dla plików WebP
Group: X11/Applications/Graphics
Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: libwebp >= 0.5.0
%description coder-webp
Coder module for WebP files.
%prep
%setup -q -n %{origname}-%{ver}-%{pver}
-%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
+%patch7 -p1
find -type f | xargs grep -l '/usr/local/bin/perl' | xargs %{__sed} -i -e 's=!/usr/local/bin/perl=!%{__perl}='
--with-autotrace%{!?with_autotrace:=no} \
--with-djvu%{!?with_djvu:=no} \
--with-dps=no \
+ --with-fftw \
--with-fpx%{!?with_fpx:=no} \
--with-gs-font-dir=%{_fontsdir}/Type1 \
--with-gslib%{!?with_gs:=no} \
%{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/auto/Image/Magick/.packlist
%{__rm} $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
# packaged as %doc
-%{__rm} $RPM_BUILD_ROOT%{_docdir}/%{origname}-%{mver}/{ChangeLog,LICENSE,NEWS.txt}
+%{__rm} $RPM_BUILD_ROOT%{_docdir}/%{origname}-%{mver}/{LICENSE,NEWS.txt}
# obsoleted by pkg-config
%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.la
%{modulesdir}/coders/debug.la
%attr(755,root,root) %{modulesdir}/coders/dib.so
%{modulesdir}/coders/dib.la
-%attr(755,root,root) %{modulesdir}/coders/dng.so
-%{modulesdir}/coders/dng.la
%attr(755,root,root) %{modulesdir}/coders/dpx.so
%{modulesdir}/coders/dpx.la
%attr(755,root,root) %{modulesdir}/coders/ept.so
%{modulesdir}/coders/ept.la
%attr(755,root,root) %{modulesdir}/coders/fax.so
%{modulesdir}/coders/fax.la
-%attr(755,root,root) %{modulesdir}/coders/fd.so
-%{modulesdir}/coders/fd.la
%attr(755,root,root) %{modulesdir}/coders/fits.so
%{modulesdir}/coders/fits.la
%attr(755,root,root) %{modulesdir}/coders/gif.so
%{modulesdir}/coders/mono.la
%attr(755,root,root) %{modulesdir}/coders/mpc.so
%{modulesdir}/coders/mpc.la
-%attr(755,root,root) %{modulesdir}/coders/mpeg.so
-%{modulesdir}/coders/mpeg.la
%attr(755,root,root) %{modulesdir}/coders/mtv.so
%{modulesdir}/coders/mtv.la
%attr(755,root,root) %{modulesdir}/coders/mvg.so
%{modulesdir}/coders/vicar.la
%attr(755,root,root) %{modulesdir}/coders/vid.so
%{modulesdir}/coders/vid.la
+%attr(755,root,root) %{modulesdir}/coders/video.so
+%{modulesdir}/coders/video.la
%attr(755,root,root) %{modulesdir}/coders/viff.so
%{modulesdir}/coders/viff.la
%attr(755,root,root) %{modulesdir}/coders/vips.so
%{modulesdir}/coders/xps.la
%attr(755,root,root) %{modulesdir}/coders/x.so
%{modulesdir}/coders/x.la
-%attr(755,root,root) %{modulesdir}/coders/xtrn.so
-%{modulesdir}/coders/xtrn.la
%attr(755,root,root) %{modulesdir}/coders/xwd.so
%{modulesdir}/coders/xwd.la
%attr(755,root,root) %{modulesdir}/coders/ycbcr.so
%files libs
%defattr(644,root,root,755)
-%doc ChangeLog LICENSE AUTHORS.txt
+%doc LICENSE AUTHORS.txt
%attr(755,root,root) %{_libdir}/libMagickCore-%{mver}.%{abisuf}.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libMagickCore-%{mver}.%{abisuf}.so.5
+%attr(755,root,root) %ghost %{_libdir}/libMagickCore-%{mver}.%{abisuf}.so.7
%attr(755,root,root) %{_libdir}/libMagickWand-%{mver}.%{abisuf}.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libMagickWand-%{mver}.%{abisuf}.so.5
+%attr(755,root,root) %ghost %{_libdir}/libMagickWand-%{mver}.%{abisuf}.so.7
%dir %{_libdir}/ImageMagick-%{ver}
%dir %{_libdir}/ImageMagick-%{ver}/config-%{abisuf}
%{_libdir}/ImageMagick-%{ver}/config-%{abisuf}/configure.xml
%{modulesdir}/coders/djvu.la
%endif
+%files coder-dng
+%defattr(644,root,root,755)
+# R: libraw
+%attr(755,root,root) %{modulesdir}/coders/dng.so
+%{modulesdir}/coders/dng.la
+
%files coder-dot
%defattr(644,root,root,755)
# R: graphviz, gd
%{modulesdir}/coders/fpx.la
%endif
+%files coder-heic
+%defattr(644,root,root,755)
+# R: libheif
+%attr(755,root,root) %{modulesdir}/coders/heic.so
+%{modulesdir}/coders/heic.la
+
%files coder-jbig
%defattr(644,root,root,755)
# R: jbigkit (libjbig.so)
%files coder-svg
%defattr(644,root,root,755)
-# R: libxml2, librsvg, %{?with_autotrace:autotrace}
+# R: cairo, libxml2, librsvg, %{?with_autotrace:autotrace}
%attr(755,root,root) %{modulesdir}/coders/svg.so
%{modulesdir}/coders/svg.la
%dir %{perl_vendorarch}/Image/Magick
%{perl_vendorarch}/Image/Magick/%{abisuf}.pm
%dir %{perl_vendorarch}/auto/Image/Magick
-%{perl_vendorarch}/auto/Image/Magick/autosplit.ix
-%attr(755,root,root) %{perl_vendorarch}/auto/Image/Magick/Magick.so
%dir %{perl_vendorarch}/auto/Image/Magick/%{abisuf}
%{perl_vendorarch}/auto/Image/Magick/%{abisuf}/autosplit.ix
%attr(755,root,root) %{perl_vendorarch}/auto/Image/Magick/%{abisuf}/%{abisuf}.so
%files c++
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libMagick++-%{mver}.%{abisuf}.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libMagick++-%{mver}.%{abisuf}.so.8
+%attr(755,root,root) %ghost %{_libdir}/libMagick++-%{mver}.%{abisuf}.so.9
%files c++-devel
%defattr(644,root,root,755)