+# 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 gomp # OpenMP computing support
%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_without exr # OpenEXR module
%bcond_without fpx # FlashPIX module (which uses fpx library)
%bcond_without graphviz # dot module (which uses GraphViz libraries)
-%bcond_without jasper # JPEG2000 module (which uses jasper library)
+%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
-%bcond_with mupdf # MuPDF support in XPS module (not really used)
+%define ver 6.9.3
+%define pver 10
%include /usr/lib/rpm/macros.perl
-%define ver 6.8.7
-%define pver 6
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: 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: 9370a8f672fd1fab779ea9acbd6b0ad4
-Patch0: %{name}-ac.patch
+# Source0-md5: 04f7793916dfe99c4ee0b4e453392119
Patch1: %{name}-link.patch
Patch2: %{name}-libpath.patch
Patch3: %{name}-ldflags.patch
Patch4: %{name}-lt.patch
-Patch5: %{name}-mupdf.patch
URL: http://www.imagemagick.org/
%{?with_opencl:BuildRequires: OpenCL-devel}
BuildRequires: OpenEXR-devel >= 1.0.6
BuildRequires: fftw3-devel >= 3.0
BuildRequires: fontconfig-devel >= 2.1.0
BuildRequires: freetype-devel >= 2.0.2-2
-%{?with_gomp:BuildRequires: gcc-c++ >= 6:4.2}
+%{?with_openmp:BuildRequires: gcc-c++ >= 6:4.2}
%{?with_gs:BuildRequires: ghostscript-devel}
%{?with_graphviz:BuildRequires: graphviz-devel >= 2.9.0}
-%{?with_jasper:BuildRequires: jasper-devel >= 1.700.5}
BuildRequires: jbigkit-devel
BuildRequires: lcms2-devel >= 2.0
%{?with_fpx:BuildRequires: libfpx-devel >= 1.2.0.4-3}
-%{?with_gomp:BuildRequires: libgomp-devel}
+%{?with_openmp:BuildRequires: libgomp-devel}
BuildRequires: libjpeg-devel >= 6b
BuildRequires: liblqr-devel >= 0.1.0
BuildRequires: libltdl-devel
BuildRequires: libwebp-devel
%{?with_wmf:BuildRequires: libwmf-devel >= 2:0.2.2}
BuildRequires: libxml2-devel >= 2.0
-%{?with_mupdf:BuildRequires: mupdf-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: 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: xz
%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
Requires: fontconfig-devel >= 2.1.0
Requires: freetype-devel >= 2.0.2
Requires: lcms2-devel >= 2.0
-%{?with_gomp:Requires: libgomp-devel}
+%{?with_openmp:Requires: libgomp-devel}
Requires: libjpeg-devel >= 6b
Requires: liblqr-devel >= 0.1.0
Requires: libltdl-devel
%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}='
%{__autoheader}
%{__automake}
%configure \
+ --with-gcc-arch=no \
%{!?with_opencl:--disable-opencl} \
- %{!?with_gomp:--disable-openmp} \
+ %{!?with_openmp:--disable-openmp} \
--disable-silent-rules \
--enable-fast-install \
- %{?with_hdri:--enable-hdri} \
+ %{__enable_disable hdri} \
--enable-shared \
--enable-static \
--with-modules \
--with-fpx%{!?with_fpx:=no} \
--with-gslib%{!?with_gs:=no} \
--with-gvc%{!?with_graphviz:=no} \
- --with-jp2%{!?with_jasper:=no} \
--with-magick_plus_plus%{!?with_cxx:=no} \
- --with-mupdf%{!?with_mupdf:=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} \
pkgdocdir=%{_docdir}/%{name}-doc-%{version}
# for coders development
-install -d $RPM_BUILD_ROOT%{_includedir}/ImageMagick-6/private/magick
-cp -p magick/{blob,blob-private,exception-private,image-private,monitor-private,quantum-private,static,studio}.h $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}/%{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}/%{name}-%{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/info.la
%attr(755,root,root) %{modulesdir}/coders/inline.so
%{modulesdir}/coders/inline.la
+%attr(755,root,root) %{modulesdir}/coders/json.so
+%{modulesdir}/coders/json.la
%attr(755,root,root) %{modulesdir}/coders/ipl.so
%{modulesdir}/coders/ipl.la
%attr(755,root,root) %{modulesdir}/coders/jnx.so
%{modulesdir}/coders/sfw.la
%attr(755,root,root) %{modulesdir}/coders/sgi.so
%{modulesdir}/coders/sgi.la
+%attr(755,root,root) %{modulesdir}/coders/sixel.so
+%{modulesdir}/coders/sixel.la
%attr(755,root,root) %{modulesdir}/coders/stegano.so
%{modulesdir}/coders/stegano.la
%attr(755,root,root) %{modulesdir}/coders/sun.so
%{modulesdir}/coders/vid.la
%attr(755,root,root) %{modulesdir}/coders/viff.so
%{modulesdir}/coders/viff.la
+%attr(755,root,root) %{modulesdir}/coders/vips.so
+%{modulesdir}/coders/vips.la
%attr(755,root,root) %{modulesdir}/coders/wbmp.so
%{modulesdir}/coders/wbmp.la
%attr(755,root,root) %{modulesdir}/coders/wpg.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
-%attr(755,root,root) %{_libdir}/libMagickCore-6.%{abisuf}.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libMagickCore-6.%{abisuf}.so.1
-%attr(755,root,root) %{_libdir}/libMagickWand-6.%{abisuf}.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libMagickWand-6.%{abisuf}.so.1
+%attr(755,root,root) %{_libdir}/libMagickCore-%{mver}.%{abisuf}.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libMagickCore-%{mver}.%{abisuf}.so.2
+%attr(755,root,root) %{_libdir}/libMagickWand-%{mver}.%{abisuf}.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libMagickWand-%{mver}.%{abisuf}.so.2
%dir %{_libdir}/ImageMagick-%{ver}
%dir %{_libdir}/ImageMagick-%{ver}/config-%{abisuf}
%{_libdir}/ImageMagick-%{ver}/config-%{abisuf}/configure.xml
%attr(755,root,root) %{modulesdir}/coders/jpeg.so
%{modulesdir}/coders/jpeg.la
-%if %{with jasper}
+%if %{with openjpeg}
%files coder-jpeg2
%defattr(644,root,root,755)
-# R: jasper, libjpeg
+# R: openjpeg2, libjpeg
%attr(755,root,root) %{modulesdir}/coders/jp2.so
%{modulesdir}/coders/jp2.la
%endif
%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
+%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}/%{pname}.%{abisuf}.pc
%{_pkgconfigdir}/ImageMagick.pc
-%{_pkgconfigdir}/MagickCore-6.%{abisuf}.pc
+%{_pkgconfigdir}/MagickCore-%{mver}.%{abisuf}.pc
%{_pkgconfigdir}/MagickCore.pc
-%{_pkgconfigdir}/MagickWand-6.%{abisuf}.pc
+%{_pkgconfigdir}/MagickWand-%{mver}.%{abisuf}.pc
%{_pkgconfigdir}/MagickWand.pc
-%{_pkgconfigdir}/Wand-6.%{abisuf}.pc
+%{_pkgconfigdir}/Wand-%{mver}.%{abisuf}.pc
%{_pkgconfigdir}/Wand.pc
%{_mandir}/man1/Magick-config.1*
%{_mandir}/man1/MagickCore-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.3
+%attr(755,root,root) %{_libdir}/libMagick++-%{mver}.%{abisuf}.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libMagick++-%{mver}.%{abisuf}.so.6
%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
+%attr(755,root,root) %{_libdir}/libMagick++-%{mver}.%{abisuf}.so
+%{_includedir}/%{pname}/Magick++
+%{_includedir}/%{pname}/Magick++.h
+%{_pkgconfigdir}/ImageMagick++-%{mver}.%{abisuf}.pc
%{_pkgconfigdir}/ImageMagick++.pc
-%{_pkgconfigdir}/Magick++-6.%{abisuf}.pc
+%{_pkgconfigdir}/Magick++-%{mver}.%{abisuf}.pc
%{_pkgconfigdir}/Magick++.pc
%{_mandir}/man1/Magick++-config.1*
%files c++-static
%defattr(644,root,root,755)
-%{_libdir}/libMagick++-6.%{abisuf}.a
+%{_libdir}/libMagick++-%{mver}.%{abisuf}.a
%endif