# 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
+# - unpackaged:
+# /usr/lib64/ImageMagick-7.1.0/modules-Q16/coders/bayer.la
+# /usr/lib64/ImageMagick-7.1.0/modules-Q16/coders/bayer.so
+# /usr/lib64/ImageMagick-7.1.0/modules-Q16/coders/ftxt.la
+# /usr/lib64/ImageMagick-7.1.0/modules-Q16/coders/ftxt.so
+# /usr/lib64/ImageMagick-7.1.0/modules-Q16/coders/qoi.la
+# /usr/lib64/ImageMagick-7.1.0/modules-Q16/coders/qoi.so
+# /usr/lib64/ImageMagick-7.1.0/modules-Q16/coders/strimg.la
+# /usr/lib64/ImageMagick-7.1.0/modules-Q16/coders/strimg.so
#
# Conditional build:
# - features:
%bcond_without djvu # DJVU module
%bcond_without exr # OpenEXR module
%bcond_without fpx # FlashPIX module (which uses fpx library)
+%bcond_without flif # FLIF (Free Lossless Image Format) module (which uses flif library)
%bcond_without graphviz # dot module (which uses GraphViz libraries)
+%bcond_without libjxl # JPEG-XL module (not ready for 0.6)
%bcond_without openjpeg # JPEG2000 module (which uses openjpeg 2 library)
%bcond_without wmf # WMF module (which uses libwmf library)
# - module features:
%define libpng_ver 2:1.6.34
-%define ver 7.0.10
-%define pver 35
+%define ver 7.1.0
+%define pver 60
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: ImageMagick
Version: %{ver}%{?pver:.%{pver}}
-Release: 1
+Release: 0.1
Epoch: 1
License: Apache-like
Group: X11/Applications/Graphics
Source0: https://www.imagemagick.org/download/releases/%{name}-%{ver}-%{pver}.tar.xz
-# Source0-md5: abcb07971017f8fe97b44d7c22ba69ae
+# Source0-md5: fbb79241137a6c8f7f161eda29973f62
Patch0: config.patch
Patch1: %{name}-link.patch
Patch2: %{name}-libpath.patch
Patch3: %{name}-ldflags.patch
Patch4: %{name}-lt.patch
Patch5: %{name}-OpenCL.patch
+Patch6: %{name}-autotrace.patch
+Patch7: %{name}-jxl.patch
URL: https://imagemagick.org/
%{?with_opencl:BuildRequires: OpenCL-devel}
%{?with_exr:BuildRequires: OpenEXR-devel >= 1.0.6}
%{?with_djvu:BuildRequires: djvulibre-devel >= 3.5.0}
BuildRequires: expat-devel >= 1.95.7
BuildRequires: fftw3-devel >= 3.0
-BuildRequires: flif-devel
+%{?with_flif:BuildRequires: flif-devel}
BuildRequires: fontconfig-devel >= 2.1.0
BuildRequires: freetype-devel >= 2.0.2-2
%{?with_openmp:BuildRequires: gcc-c++ >= 6:4.2}
%{?with_openmp:BuildRequires: libgomp-devel}
BuildRequires: libheif-devel
BuildRequires: libjpeg-devel >= 6b
+%{?with_libjxl:BuildRequires: libjxl-devel >= 0.6.1}
BuildRequires: liblqr-devel >= 0.1.0
BuildRequires: libltdl-devel
BuildRequires: libpng-devel >= %{libpng_ver}
BuildRequires: libstdc++-devel
BuildRequires: libtiff-devel
BuildRequires: libtool >= 2:2.2
-BuildRequires: libwebp-devel >= 0.4.4
+BuildRequires: libwebp-devel >= 0.5.0
%{?with_wmf:BuildRequires: libwmf-devel >= 2:0.2.2}
BuildRequires: libxml2-devel >= 2.0
BuildRequires: libzip-devel >= 1.0.0
BuildRequires: zstd-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 %{!?QuantumDepth:1}%{?QuantumDepth: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
Moduł kodera dla plików JPEG-2000 (JP2/JPC) używajacy biblioteki
JasPer.
+%package coder-jxl
+Summary: Coder module for JPEG-XL files
+Summary(pl.UTF-8): Moduł kodera dla plików JPEG-XL
+Group: X11/Applications/Graphics
+Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: libjxl >= 0.6.1
+
+%description coder-jxl
+Coder module for JPEG-XL files.
+
+%description coder-jxl -l pl.UTF-8
+Moduł kodera dla plików JPEG-XL.
+
%package coder-miff
Summary: Coder module for MIFF files
Summary(pl.UTF-8): Moduł kodera dla plików MIFF
Summary(pl.UTF-8): Moduł kodera dla plików WebP
Group: X11/Applications/Graphics
Requires: %{name} = %{epoch}:%{version}-%{release}
-Requires: libwebp >= 0.4.4
+Requires: libwebp >= 0.5.0
%description coder-webp
Coder module for WebP files.
%patch3 -p1
%patch4 -p1
%patch5 -p1
+%patch6 -p1 -R
+#%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-flif%{!?with_flif:=no} \
--with-gs-font-dir=%{_fontsdir}/Type1 \
--with-gslib%{!?with_gs:=no} \
--with-gvc%{!?with_graphviz:=no} \
+ --with-jxl%{!?with_libjxl:=no} \
--with-magick_plus_plus%{!?with_cxx:=no} \
--with-openexr%{!?with_exr:=no} \
--with-openjp2%{!?with_openjpeg:=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}/%{name}-%{mver}/{ChangeLog,LICENSE,NEWS.txt}
+%{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{mver}/{LICENSE,NEWS.txt}
# obsoleted by pkg-config
%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.la
%{modulesdir}/coders/dpx.la
%attr(755,root,root) %{modulesdir}/coders/ept.so
%{modulesdir}/coders/ept.la
+%attr(755,root,root) %{modulesdir}/coders/farbfeld.so
+%{modulesdir}/coders/farbfeld.la
%attr(755,root,root) %{modulesdir}/coders/fax.so
%{modulesdir}/coders/fax.la
%attr(755,root,root) %{modulesdir}/coders/fits.so
%{modulesdir}/coders/fits.la
+%attr(755,root,root) %{modulesdir}/coders/fl32.so
+%{modulesdir}/coders/fl32.la
%attr(755,root,root) %{modulesdir}/coders/gif.so
%{modulesdir}/coders/gif.la
%attr(755,root,root) %{modulesdir}/coders/gradient.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/yaml.so
+%{modulesdir}/coders/yaml.la
%attr(755,root,root) %{modulesdir}/coders/ycbcr.so
%{modulesdir}/coders/ycbcr.la
%attr(755,root,root) %{modulesdir}/coders/yuv.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.7
+%attr(755,root,root) %ghost %{_libdir}/libMagickCore-%{mver}.%{abisuf}.so.10
%attr(755,root,root) %{_libdir}/libMagickWand-%{mver}.%{abisuf}.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libMagickWand-%{mver}.%{abisuf}.so.7
+%attr(755,root,root) %ghost %{_libdir}/libMagickWand-%{mver}.%{abisuf}.so.10
%dir %{_libdir}/ImageMagick-%{ver}
%dir %{_libdir}/ImageMagick-%{ver}/config-%{abisuf}
%{_libdir}/ImageMagick-%{ver}/config-%{abisuf}/configure.xml
%{modulesdir}/coders/exr.la
%endif
+%if %{with flif}
%files coder-flif
%defattr(644,root,root,755)
# R: flif
%attr(755,root,root) %{modulesdir}/coders/flif.so
%{modulesdir}/coders/flif.la
+%endif
%if %{with fpx}
%files coder-fpx
%{modulesdir}/coders/jp2.la
%endif
+%if 0
+%if %{with libjxl}
+%files coder-jxl
+%defattr(644,root,root,755)
+# R: libjxl
+%attr(755,root,root) %{modulesdir}/coders/jxl.so
+%{modulesdir}/coders/jxl.la
+%endif
+%endif
+
%files coder-miff
%defattr(644,root,root,755)
# R: libjpeg, zlib, libbz2
%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.4
+%attr(755,root,root) %ghost %{_libdir}/libMagick++-%{mver}.%{abisuf}.so.5
%files c++-devel
%defattr(644,root,root,755)