# TODO
+# - jxl delegate, BR: brunsli https://github.com/google/brunsli
# - create sane default policy file:
# https://www.imagemagick.org/discourse-server/viewtopic.php?f=4&t=26801
#
# - module features:
%bcond_without autotrace # Autotrace support in SVG module
-%define ver 7.0.7
-%define pver 34
+%define libpng_ver 2:1.6.34
+
+%define ver 7.0.8
+%define pver 68
%include /usr/lib/rpm/macros.perl
Summary: Image display, conversion, and manipulation under X
Summary(de.UTF-8): Darstellen, Konvertieren und Bearbeiten von Grafiken unter X
Summary(uk.UTF-8): Перегляд, конвертування та обробка зображень під X Window
Name: ImageMagick
Version: %{ver}%{?pver:.%{pver}}
-Release: 1
+Release: 3
Epoch: 1
License: Apache-like
Group: X11/Applications/Graphics
-Source0: ftp://ftp.imagemagick.org/pub/ImageMagick/%{name}-%{ver}-%{pver}.tar.xz
-# Source0-md5: a4567f359451ed90730d1031c2c97def
+Source0: https://www.imagemagick.org/download/releases/%{name}-%{ver}-%{pver}.tar.xz
+# Source0-md5: f97e8c077cdc335fc66cf925e64576f9
Patch0: config.patch
-
+Patch1: %{name}-link.patch
Patch2: %{name}-libpath.patch
Patch3: %{name}-ldflags.patch
Patch4: %{name}-lt.patch
+Patch5: %{name}-OpenCL.patch
URL: http://www.imagemagick.org/
%{?with_opencl:BuildRequires: OpenCL-devel}
BuildRequires: OpenEXR-devel >= 1.0.6
BuildRequires: fontconfig-devel >= 2.1.0
BuildRequires: freetype-devel >= 2.0.2-2
%{?with_openmp:BuildRequires: gcc-c++ >= 6:4.2}
-BuildRequires: gettext-devel
%{?with_gs:BuildRequires: ghostscript-devel}
%{?with_graphviz:BuildRequires: graphviz-devel >= 2.9.0}
BuildRequires: jbigkit-devel
BuildRequires: lcms2-devel >= 2.0
-BuildRequires: libde265-devel
%{?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
+BuildRequires: libpng-devel >= %{libpng_ver}
%{?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.4.4
%{?with_wmf:BuildRequires: libwmf-devel >= 2:0.2.2}
BuildRequires: libxml2-devel >= 2.0
%{?with_openjpeg:BuildRequires: openjpeg2-devel >= 2.1.0}
BuildRequires: xz
BuildRequires: xz-devel >= 2.9.0
BuildRequires: zlib-devel >= 1.0.0
+BuildRequires: zstd-devel >= 1.0.0
Requires: %{name}-libs = %{epoch}:%{version}-%{release}
Suggests: shared-color-profiles
Obsoletes: ImageMagick-coder-dps
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
+Requires: zlib-devel >= 1.0.0
%description devel
This is the ImageMagick development package. It includes header files
%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): Modul kodera dla plików PNG
Group: X11/Applications/Graphics
Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: libpng >= %{libpng_ver}
%description coder-png
Coder module for PNG files.
Summary(pl.UTF-8): Moduł kodera dla plików WebP
Group: X11/Applications/Graphics
Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: libwebp >= 0.4.4
%description coder-webp
Coder module for WebP files.
Summary(pl.UTF-8): Moduł kodera dla plików WMF
Group: X11/Applications/Graphics
Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: libpng >= %{libpng_ver}
%description coder-wmf
Coder module for WMF files.
%prep
%setup -q -n %{name}-%{ver}-%{pver}
%patch0 -p1
-
+%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
+%patch5 -p1
find -type f | xargs grep -l '/usr/local/bin/perl' | xargs %{__sed} -i -e 's=!/usr/local/bin/perl=!%{__perl}='
%{modulesdir}/coders/clip.la
%attr(755,root,root) %{modulesdir}/coders/cmyk.so
%{modulesdir}/coders/cmyk.la
+%attr(755,root,root) %{modulesdir}/coders/cube.so
+%{modulesdir}/coders/cube.la
%attr(755,root,root) %{modulesdir}/coders/cut.so
%{modulesdir}/coders/cut.la
%attr(755,root,root) %{modulesdir}/coders/dcm.so
%{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/gray.la
%attr(755,root,root) %{modulesdir}/coders/hald.so
%{modulesdir}/coders/hald.la
-%attr(755,root,root) %{modulesdir}/coders/heic.so
-%{modulesdir}/coders/heic.la
%attr(755,root,root) %{modulesdir}/coders/hdr.so
%{modulesdir}/coders/hdr.la
%attr(755,root,root) %{modulesdir}/coders/histogram.so
%{modulesdir}/coders/tile.la
%attr(755,root,root) %{modulesdir}/coders/tim.so
%{modulesdir}/coders/tim.la
+%attr(755,root,root) %{modulesdir}/coders/tim2.so
+%{modulesdir}/coders/tim2.la
%attr(755,root,root) %{modulesdir}/coders/ttf.so
%{modulesdir}/coders/ttf.la
%attr(755,root,root) %{modulesdir}/coders/txt.so
%{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
+
%if %{with graphviz}
%files coder-dot
%defattr(644,root,root,755)
%{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