+# TODO
+# - create sane default policy file:
+# https://www.imagemagick.org/discourse-server/viewtopic.php?f=4&t=26801
#
# Conditional build:
# - features:
%bcond_without cxx # Magick++ library
%bcond_without opencl # OpenCL computing support
%bcond_without openmp # OpenMP computing support
-%bcond_with hdri # HDRI support
-%bcond_with gs # PostScript support through ghostscript library
-# (warning: breaks jpeg (and possibly tiff) because of symbol clashes!)
+%bcond_with hdri # HDRI support (accurately represent the wide range of intensity levels found in real scenes)
+%bcond_with gs # PostScript support through ghostscript library (warning: breaks jpeg (and possibly tiff) because of symbol clashes!)
+%bcond_without raqm # RAQM support in annotate
# - modules:
%bcond_without djvu # DJVU module
%bcond_without exr # OpenEXR module
%bcond_without graphviz # dot module (which uses GraphViz libraries)
%bcond_without openjpeg # JPEG2000 module (which uses openjpeg 2 library)
%bcond_without wmf # WMF module (which uses libwmf library)
-# - module feautres:
+# - module features:
%bcond_without autotrace # Autotrace support in SVG module
-%define ver 6.9.3
-%define pver 6
+%define origname ImageMagick
+%define ver 6.9.9
+%define pver 26
%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(ru.UTF-8): Просмотр, конвертирование, обработка изображений под X Window
Summary(tr.UTF-8): X altında resim gösterme, çevirme ve değişiklik yapma
Summary(uk.UTF-8): Перегляд, конвертування та обробка зображень під X Window
-Name: ImageMagick
+Name: ImageMagick6
Version: %{ver}%{?pver:.%{pver}}
-Release: 4
+Release: 1
Epoch: 1
License: Apache-like
Group: X11/Applications/Graphics
-Source0: ftp://ftp.imagemagick.org/pub/ImageMagick/%{name}-%{ver}-%{pver}.tar.xz
-# Source0-md5: 9ee159aa6a7fdf661ebf03232a1d3730
-Patch1: %{name}-link.patch
-Patch2: %{name}-libpath.patch
-Patch3: %{name}-ldflags.patch
-Patch4: %{name}-lt.patch
-URL: http://www.imagemagick.org/
+Source0: ftp://ftp.imagemagick.org/pub/ImageMagick/%{origname}-%{ver}-%{pver}.tar.xz
+# Source0-md5: af553c3dfad841748a6b49f44e354ba7
+Patch0: config.patch
+Patch1: %{origname}-link.patch
+Patch2: %{origname}-libpath.patch
+Patch3: %{origname}-ldflags.patch
+Patch4: %{origname}-lt.patch
+Patch5: perlmagick.patch
+Patch6: magick6.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}
BuildRequires: bzip2-devel >= 1.0.1
-%{?with_djvu:BuildRequires: djvulibre-devel}
+%{?with_djvu:BuildRequires: djvulibre-devel >= 3.5.0}
BuildRequires: expat-devel >= 1.95.7
BuildRequires: fftw3-devel >= 3.0
+BuildRequires: flif-devel
BuildRequires: fontconfig-devel >= 2.1.0
BuildRequires: freetype-devel >= 2.0.2-2
%{?with_openmp:BuildRequires: gcc-c++ >= 6:4.2}
BuildRequires: liblqr-devel >= 0.1.0
BuildRequires: libltdl-devel
BuildRequires: libpng-devel >= 1.0.8
+%{?with_raqm:BuildRequires: libraqm-devel}
BuildRequires: librsvg-devel >= 2.9.0
BuildRequires: libstdc++-devel
BuildRequires: libtiff-devel
%{?with_openjpeg:BuildRequires: openjpeg2-devel >= 2.1.0}
BuildRequires: pango-devel >= 1:1.28.1
BuildRequires: perl-devel >= 1:5.8.1
-BuildRequires: pkgconfig
+BuildRequires: pkgconfig >= 1:0.20
BuildRequires: rpm-perlprov >= 4.1-13
BuildRequires: rpmbuild(macros) >= 1.315
BuildRequires: tar >= 1:1.22
# only checked for, but only supplied scripts/txt2html is used
-BuildRequires: tar >= 1:1.22
#BuildRequires: txt2html
-BuildRequires: xorg-lib-libXext
+BuildRequires: xorg-lib-libX11-devel
+BuildRequires: xorg-lib-libXext-devel
BuildRequires: xz
BuildRequires: xz-devel >= 2.9.0
-BuildRequires: zlib-devel
+BuildRequires: zlib-devel >= 1.0.0
Requires: %{name}-libs = %{epoch}:%{version}-%{release}
Suggests: shared-color-profiles
Obsoletes: ImageMagick-coder-dps
Obsoletes: ImageMagick-coder-mpeg
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%if %{!?QuantumDepth:1}%{?QuantumDepth:0}
+%if 0%{!?QuantumDepth:1}
%define QuantumDepth 16
%endif
%define abisuf Q%{QuantumDepth}%{?with_hdri:HDRI}
%define modulesdir %{_libdir}/ImageMagick-%{ver}/modules-%{abisuf}
+%define mver 6
+%define pname ImageMagick-6
%description
ImageMagick is an image display, conversion, and manipulation tool. It
Group: X11/Libraries
Requires: fontconfig-libs >= 2.1.0
Requires: liblqr >= 0.1.0
+Requires: zlib >= 1.0.0
%description libs
ImageMagick libraries.
Requires: libltdl-devel
Requires: libtiff-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
Summary(pl.UTF-8): Moduł kodera dla plików DJVU
Group: X11/Applications/Graphics
Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: djvulibre >= 3.5.0
%description coder-djvu
Coder module for DJVU files.
%description coder-exr -l pl.UTF-8
Moduł kodera dla plików EXR ILM.
+%package coder-flif
+Summary: Coder module for FLIF (Free Lossless Image Format) files
+Summary(pl.UTF-8): Moduł kodera dla plików FLIF (Free Lossless Image Format)
+Group: X11/Applications/Graphics
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description coder-flif
+Coder module for FLIF (Free Lossless Image Format) files.
+
+%description coder-flif -l pl.UTF-8
+Moduł kodera dla plików FLIF (Free Lossless Image Format).
+
%package coder-fpx
Summary: Coder module for FlashPIX (FPX) files
Summary(pl.UTF-8): Moduł kodera dla plików FlashPIX (FPX)
Group: X11/Applications/Graphics
URL: http://www.imagemagick.org/Usage/text/#pango
Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: pango >= 1:1.28.1
%description coder-pango
Coder module to read pango markup language format.
Moduł kodera dla plików WMF.
%prep
-%setup -q -n %{name}-%{ver}-%{pver}
+%setup -q -n %{origname}-%{ver}-%{pver}
+%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
+%patch5 -p1
+%patch6 -p1
find -type f | xargs grep -l '/usr/local/bin/perl' | xargs %{__sed} -i -e 's=!/usr/local/bin/perl=!%{__perl}='
%{!?with_openmp:--disable-openmp} \
--disable-silent-rules \
--enable-fast-install \
- %{?with_hdri:--enable-hdri} \
+ %{__enable_disable hdri} \
--enable-shared \
--enable-static \
--with-modules \
--with-djvu%{!?with_djvu:=no} \
--with-dps=no \
--with-fpx%{!?with_fpx:=no} \
+ --with-gs-font-dir=%{_fontsdir}/Type1 \
--with-gslib%{!?with_gs:=no} \
--with-gvc%{!?with_graphviz:=no} \
--with-magick_plus_plus%{!?with_cxx:=no} \
--with-openexr%{!?with_exr:=no} \
--with-openjp2%{!?with_openjpeg:=no} \
- --with-wmf%{!?with_wmf:=no} \
- --with-gs-font-dir=%{_fontsdir}/Type1 \
--with-perl=%{__perl} \
--with-perl-options="INSTALLDIRS=vendor" \
--with-quantum-depth=%{QuantumDepth} \
+ --with-raqm%{!?with_raqm:=no} \
--with-rsvg \
--with-threads \
--with-webp \
+ --with-wmf%{!?with_wmf:=no} \
--with-x
%{__make} -j1
-%{__sed} -i -e 's,/%{name}-%{ver}/,/%{name}-doc-%{version}/,' utilities/*.1
+%{__sed} -i -e 's,/%{origname}-%{ver}/,/%{name}-doc-%{version}/,' utilities/*.1
%install
rm -rf $RPM_BUILD_ROOT
DESTDIR=$RPM_BUILD_ROOT \
pkgdocdir=%{_docdir}/%{name}-doc-%{version}
+for f in Magick Wand MagickCore MagickWand Magick++; do
+ %{__mv} $RPM_BUILD_ROOT%{_bindir}/$f{,6}-config
+ %{__mv} $RPM_BUILD_ROOT%{_mandir}/man1/$f{,6}-config.1
+done
+for f in ImageMagick MagickCore MagickWand Wand ImageMagick++ Magick++; do
+ %{__mv} $RPM_BUILD_ROOT%{_pkgconfigdir}/$f{,6}.pc
+done
+for f in animate compare composite conjure convert display identify import mogrify montage stream ; do
+ %{__mv} $RPM_BUILD_ROOT%{_bindir}/$f{,6}
+ %{__mv} $RPM_BUILD_ROOT%{_mandir}/man1/$f{,6}.1
+done
+%{__mv} $RPM_BUILD_ROOT%{_mandir}/man1/ImageMagick{,6}.1
+
# for coders development
-install -d $RPM_BUILD_ROOT%{_includedir}/ImageMagick-6/private/magick
+install -d $RPM_BUILD_ROOT%{_includedir}/%{pname}/private/magick
cp -p magick/{blob,blob-private,delegate-private,exception-private,image-private,monitor-private,nt-base-private,quantum-private,static,studio}.h \
- $RPM_BUILD_ROOT%{_includedir}/ImageMagick-6/private/magick
+ $RPM_BUILD_ROOT%{_includedir}/%{pname}/private/magick
cp -p PerlMagick/demo/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-perl-%{version}
%{__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}-6/{ChangeLog,LICENSE,NEWS.txt}
+%{__rm} $RPM_BUILD_ROOT%{_docdir}/%{origname}-%{mver}/{ChangeLog,LICENSE,NEWS.txt}
# obsoleted by pkg-config
%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.la
%dir %{modulesdir}
%dir %{modulesdir}/coders
%dir %{modulesdir}/filters
-%dir %{_datadir}/ImageMagick-6
-%{_datadir}/ImageMagick-6/*.xml
-%dir %{_sysconfdir}/ImageMagick-6
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ImageMagick-6/*.xml
+%dir %{_datadir}/%{pname}
+%{_datadir}/%{pname}/*.xml
+%dir %{_sysconfdir}/%{pname}
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{pname}/*.xml
# ========= coders without additional deps
%attr(755,root,root) %{modulesdir}/coders/aai.so
%{modulesdir}/coders/pes.la
%attr(755,root,root) %{modulesdir}/coders/pdb.so
%{modulesdir}/coders/pdb.la
+%attr(755,root,root) %{modulesdir}/coders/pgx.so
+%{modulesdir}/coders/pgx.la
%attr(755,root,root) %{modulesdir}/coders/pict.so
%{modulesdir}/coders/pict.la
%attr(755,root,root) %{modulesdir}/coders/pix.so
%attr(755,root,root) %{modulesdir}/filters/analyze.so
%{modulesdir}/filters/analyze.la
-%attr(755,root,root) %{_bindir}/animate
-%attr(755,root,root) %{_bindir}/compare
-%attr(755,root,root) %{_bindir}/composite
-%attr(755,root,root) %{_bindir}/conjure
-%attr(755,root,root) %{_bindir}/convert
-%attr(755,root,root) %{_bindir}/display
-%attr(755,root,root) %{_bindir}/identify
-%attr(755,root,root) %{_bindir}/import
-%attr(755,root,root) %{_bindir}/mogrify
-%attr(755,root,root) %{_bindir}/montage
-%attr(755,root,root) %{_bindir}/stream
-
-%{_mandir}/man1/ImageMagick.1*
-%{_mandir}/man1/animate.1*
-%{_mandir}/man1/compare.1*
-%{_mandir}/man1/composite.1*
-%{_mandir}/man1/convert.1*
-%{_mandir}/man1/conjure.1*
-%{_mandir}/man1/display.1*
-%{_mandir}/man1/identify.1*
-%{_mandir}/man1/import.1*
-%{_mandir}/man1/mogrify.1*
-%{_mandir}/man1/montage.1*
-%{_mandir}/man1/stream.1*
+%attr(755,root,root) %{_bindir}/animate6
+%attr(755,root,root) %{_bindir}/compare6
+%attr(755,root,root) %{_bindir}/composite6
+%attr(755,root,root) %{_bindir}/conjure6
+%attr(755,root,root) %{_bindir}/convert6
+%attr(755,root,root) %{_bindir}/display6
+%attr(755,root,root) %{_bindir}/identify6
+%attr(755,root,root) %{_bindir}/import6
+%attr(755,root,root) %{_bindir}/mogrify6
+%attr(755,root,root) %{_bindir}/montage6
+%attr(755,root,root) %{_bindir}/stream6
+
+%{_mandir}/man1/ImageMagick6.1*
+%{_mandir}/man1/animate6.1*
+%{_mandir}/man1/compare6.1*
+%{_mandir}/man1/composite6.1*
+%{_mandir}/man1/convert6.1*
+%{_mandir}/man1/conjure6.1*
+%{_mandir}/man1/display6.1*
+%{_mandir}/man1/identify6.1*
+%{_mandir}/man1/import6.1*
+%{_mandir}/man1/mogrify6.1*
+%{_mandir}/man1/montage6.1*
+%{_mandir}/man1/stream6.1*
%files doc
%defattr(644,root,root,755)
%files libs
%defattr(644,root,root,755)
%doc ChangeLog LICENSE AUTHORS.txt
-%attr(755,root,root) %{_libdir}/libMagickCore-6.%{abisuf}.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libMagickCore-6.%{abisuf}.so.2
-%attr(755,root,root) %{_libdir}/libMagickWand-6.%{abisuf}.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libMagickWand-6.%{abisuf}.so.2
+%attr(755,root,root) %{_libdir}/libMagickCore-%{mver}.%{abisuf}.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libMagickCore-%{mver}.%{abisuf}.so.5
+%attr(755,root,root) %{_libdir}/libMagickWand-%{mver}.%{abisuf}.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libMagickWand-%{mver}.%{abisuf}.so.5
%dir %{_libdir}/ImageMagick-%{ver}
%dir %{_libdir}/ImageMagick-%{ver}/config-%{abisuf}
%{_libdir}/ImageMagick-%{ver}/config-%{abisuf}/configure.xml
%{modulesdir}/coders/exr.la
%endif
+%files coder-flif
+%defattr(644,root,root,755)
+# R: flif
+%attr(755,root,root) %{modulesdir}/coders/flif.so
+%{modulesdir}/coders/flif.la
+
%if %{with fpx}
%files coder-fpx
%defattr(644,root,root,755)
%files devel
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/Magick-config
-%attr(755,root,root) %{_bindir}/MagickCore-config
-%attr(755,root,root) %{_bindir}/MagickWand-config
-%attr(755,root,root) %{_bindir}/Wand-config
-%attr(755,root,root) %{_libdir}/libMagickCore-6.%{abisuf}.so
-%attr(755,root,root) %{_libdir}/libMagickWand-6.%{abisuf}.so
-%dir %{_includedir}/ImageMagick-6
-%{_includedir}/ImageMagick-6/magick
-%{_includedir}/ImageMagick-6/private
-%{_includedir}/ImageMagick-6/wand
-%{_pkgconfigdir}/ImageMagick-6.%{abisuf}.pc
-%{_pkgconfigdir}/ImageMagick.pc
-%{_pkgconfigdir}/MagickCore-6.%{abisuf}.pc
-%{_pkgconfigdir}/MagickCore.pc
-%{_pkgconfigdir}/MagickWand-6.%{abisuf}.pc
-%{_pkgconfigdir}/MagickWand.pc
-%{_pkgconfigdir}/Wand-6.%{abisuf}.pc
-%{_pkgconfigdir}/Wand.pc
-%{_mandir}/man1/Magick-config.1*
-%{_mandir}/man1/MagickCore-config.1*
-%{_mandir}/man1/MagickWand-config.1*
-%{_mandir}/man1/Wand-config.1*
+%attr(755,root,root) %{_bindir}/Magick6-config
+%attr(755,root,root) %{_bindir}/MagickCore6-config
+%attr(755,root,root) %{_bindir}/MagickWand6-config
+%attr(755,root,root) %{_bindir}/Wand6-config
+%attr(755,root,root) %{_libdir}/libMagickCore-%{mver}.%{abisuf}.so
+%attr(755,root,root) %{_libdir}/libMagickWand-%{mver}.%{abisuf}.so
+%dir %{_includedir}/%{pname}
+%{_includedir}/%{pname}/magick
+%{_includedir}/%{pname}/wand
+%{_includedir}/%{pname}/private
+%{_pkgconfigdir}/ImageMagick-%{mver}.%{abisuf}.pc
+%{_pkgconfigdir}/ImageMagick6.pc
+%{_pkgconfigdir}/MagickCore-%{mver}.%{abisuf}.pc
+%{_pkgconfigdir}/MagickCore6.pc
+%{_pkgconfigdir}/MagickWand-%{mver}.%{abisuf}.pc
+%{_pkgconfigdir}/MagickWand6.pc
+%{_pkgconfigdir}/Wand-%{mver}.%{abisuf}.pc
+%{_pkgconfigdir}/Wand6.pc
+%{_mandir}/man1/Magick6-config.1*
+%{_mandir}/man1/MagickCore6-config.1*
+%{_mandir}/man1/MagickWand6-config.1*
+%{_mandir}/man1/Wand6-config.1*
%files static
%defattr(644,root,root,755)
-%{_libdir}/libMagickCore-6.%{abisuf}.a
-%{_libdir}/libMagickWand-6.%{abisuf}.a
+%{_libdir}/libMagickCore-%{mver}.%{abisuf}.a
+%{_libdir}/libMagickWand-%{mver}.%{abisuf}.a
%files -n perl-%{name}
%defattr(644,root,root,755)
%if %{with cxx}
%files c++
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libMagick++-6.%{abisuf}.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libMagick++-6.%{abisuf}.so.6
+%attr(755,root,root) %{_libdir}/libMagick++-%{mver}.%{abisuf}.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libMagick++-%{mver}.%{abisuf}.so.8
%files c++-devel
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/Magick++-config
-%attr(755,root,root) %{_libdir}/libMagick++-6.%{abisuf}.so
-%{_includedir}/ImageMagick-6/Magick++
-%{_includedir}/ImageMagick-6/Magick++.h
-%{_pkgconfigdir}/ImageMagick++-6.%{abisuf}.pc
-%{_pkgconfigdir}/ImageMagick++.pc
-%{_pkgconfigdir}/Magick++-6.%{abisuf}.pc
-%{_pkgconfigdir}/Magick++.pc
-%{_mandir}/man1/Magick++-config.1*
+%attr(755,root,root) %{_bindir}/Magick++6-config
+%attr(755,root,root) %{_libdir}/libMagick++-%{mver}.%{abisuf}.so
+%{_includedir}/%{pname}/Magick++
+%{_includedir}/%{pname}/Magick++.h
+%{_pkgconfigdir}/ImageMagick++-%{mver}.%{abisuf}.pc
+%{_pkgconfigdir}/ImageMagick++6.pc
+%{_pkgconfigdir}/Magick++-%{mver}.%{abisuf}.pc
+%{_pkgconfigdir}/Magick++6.pc
+%{_mandir}/man1/Magick++6-config.1*
%files c++-static
%defattr(644,root,root,755)
-%{_libdir}/libMagick++-6.%{abisuf}.a
+%{_libdir}/libMagick++-%{mver}.%{abisuf}.a
%endif