]> git.pld-linux.org Git - packages/ImageMagick.git/blobdiff - ImageMagick.spec
policy.xml changes to mitigate imagetragick
[packages/ImageMagick.git] / ImageMagick.spec
index 09c4434c92040be9978bfd29a6d90a2787062405..e311d012a346e96079038d9db1eb73b870461dd5 100644 (file)
@@ -1,27 +1,27 @@
 # TODO
-# - unpackaged:
-# - pango (subpackage) DT_NEEDED: libpangocairo-1.0.so.0 libcairo.so.2 libpango-1.0.so.0 libgobject-2.0.so.0
-#        %{modulesdir}/coders/pango.la
-#        %{modulesdir}/coders/pango.so
+# - 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 support
-%bcond_without opencl          # OpenCL support
-%bcond_with    gs              # PostScript support through ghostscript library (warning: breaks jpeg!)
+%bcond_without opencl          # OpenCL computing support
+%bcond_without openmp          # OpenMP computing support
+%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!)
 # - modules:
 %bcond_without djvu            # DJVU module
 %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 features:
+%bcond_without autotrace       # Autotrace support in SVG module
 
+%define                ver     6.9.4
+%define                pver    1
 %include       /usr/lib/rpm/macros.perl
-%define                ver 6.7.9
-%define                pver    10
-%define                QuantumDepth    16
 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
@@ -33,37 +33,36 @@ Summary(tr.UTF-8):  X altında resim gösterme, çevirme ve değişiklik yapma
 Summary(uk.UTF-8):     Перегляд, конвертування та обробка зображень під X Window
 Name:          ImageMagick
 Version:       %{ver}%{?pver:.%{pver}}
-Release:       0.1
+Release:       2
 Epoch:         1
 License:       Apache-like
 Group:         X11/Applications/Graphics
-Source0:       ftp://ftp.imagemagick.org/pub/ImageMagick/legacy/%{name}-%{ver}-%{pver}.tar.xz
-# Source0-md5: e6c4da963f7651674dca48f2b9f575bb
-Patch0:                %{name}-ac.patch
+Source0:       ftp://ftp.imagemagick.org/pub/ImageMagick/%{name}-%{ver}-%{pver}.tar.xz
+# Source0-md5: 430d33915b19f38012b55f98904c4f37
+Patch0:                config.patch
 Patch1:                %{name}-link.patch
 Patch2:                %{name}-libpath.patch
 Patch3:                %{name}-ldflags.patch
 Patch4:                %{name}-lt.patch
-Patch5:                agread-param.patch
 URL:           http://www.imagemagick.org/
 %{?with_opencl:BuildRequires:  OpenCL-devel}
 BuildRequires: OpenEXR-devel >= 1.0.6
-BuildRequires: autoconf >= 2.67
-BuildRequires: automake >= 1:1.11
+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}
 BuildRequires: expat-devel >= 1.95.7
 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
@@ -75,16 +74,19 @@ BuildRequires:      libtool >= 2:2.2
 BuildRequires: libwebp-devel
 %{?with_wmf:BuildRequires:     libwmf-devel >= 2:0.2.2}
 BuildRequires: libxml2-devel >= 2.0
-BuildRequires: perl-devel >= 1:5.8.0
+%{?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: 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: xz
-BuildRequires: xz-devel
+BuildRequires: xz-devel >= 2.9.0
 BuildRequires: zlib-devel
 Requires:      %{name}-libs = %{epoch}:%{version}-%{release}
 Suggests:      shared-color-profiles
@@ -92,7 +94,13 @@ Obsoletes:   ImageMagick-coder-dps
 Obsoletes:     ImageMagick-coder-mpeg
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define                modulesdir      %{_libdir}/ImageMagick-%{ver}/modules-Q%{QuantumDepth}
+%if %{!?QuantumDepth:1}%{?QuantumDepth:0}
+%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
@@ -190,7 +198,7 @@ Requires:   fftw3-devel >= 3.0
 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
@@ -537,6 +545,19 @@ Language (MSL) files.
 Moduł kodera dla plików Magick Persistent Registry (MPR) i Magick
 Scripting Language (MSL).
 
+%package coder-pango
+Summary:       Coder module to read pango markup language format
+Summary(pl.UTF-8):     Moduł kodera do odczytu formatu języka znaczników pango
+Group:         X11/Applications/Graphics
+URL:           http://www.imagemagick.org/Usage/text/#pango
+Requires:      %{name} = %{epoch}:%{version}-%{release}
+
+%description coder-pango
+Coder module to read pango markup language format.
+
+%description coder-pango -l pl.UTF-8
+Moduł kodera do odczytu formatu języka znaczników pango.
+
 %package coder-pdf
 Summary:       Coder module for PDF files
 Summary(pl.UTF-8):     Moduł kodera dla plików PDF
@@ -642,7 +663,6 @@ Moduł kodera dla plików WMF.
 %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}='
 
@@ -656,28 +676,32 @@ touch www/Magick++/NEWS.html www/Magick++/ChangeLog.html
 %{__autoheader}
 %{__automake}
 %configure \
-       --disable-ltdl-install \
+       --with-gcc-arch=no \
        %{!?with_opencl:--disable-opencl} \
-       %{!?with_gomp:--disable-openmp} \
+       %{!?with_openmp:--disable-openmp} \
        --disable-silent-rules \
        --enable-fast-install \
+       %{__enable_disable hdri} \
        --enable-shared \
        --enable-static \
-       --without-dps \
-       --with%{!?with_djvu:out}-djvu \
-       --with%{!?with_fpx:out}-fpx \
-       --with%{!?with_graphviz:out}-gvc \
-       --with%{!?with_gs:out}-gslib \
-       --with%{!?with_jasper:out}-jp2 \
-       --with%{!?with_cxx:out}-magick_plus_plus \
-       --with%{!?with_wmf:out}-wmf \
-       --with%{!?with_exr:out}-openexr \
-       --with-gs-font-dir=%{_fontsdir}/Type1 \
        --with-modules \
+       --with-autotrace%{!?with_autotrace:=no} \
+       --with-djvu%{!?with_djvu:=no} \
+       --with-dps=no \
+       --with-fpx%{!?with_fpx:=no} \
+       --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-rsvg \
        --with-threads \
+       --with-webp \
        --with-x
 
 %{__make} -j1
@@ -691,11 +715,18 @@ install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-perl-%{version}
        DESTDIR=$RPM_BUILD_ROOT \
        pkgdocdir=%{_docdir}/%{name}-doc-%{version}
 
+# for coders development
+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%{_docdir}/%{name}-%{ver}/{ChangeLog,LICENSE,NEWS.txt}
 %{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/auto/Image/Magick/.packlist
 %{__rm} $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
+# packaged as %doc
+%{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{mver}/{ChangeLog,LICENSE,NEWS.txt}
+# obsoleted by pkg-config
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.la
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -711,10 +742,10 @@ rm -rf $RPM_BUILD_ROOT
 %dir %{modulesdir}
 %dir %{modulesdir}/coders
 %dir %{modulesdir}/filters
-%dir %{_datadir}/ImageMagick-%{ver}
-%{_datadir}/ImageMagick-%{ver}/*.xml
-%dir %{_sysconfdir}/ImageMagick
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ImageMagick/*.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
@@ -783,6 +814,8 @@ rm -rf $RPM_BUILD_ROOT
 %{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
@@ -795,6 +828,8 @@ rm -rf $RPM_BUILD_ROOT
 %{modulesdir}/coders/magick.la
 %attr(755,root,root) %{modulesdir}/coders/map.so
 %{modulesdir}/coders/map.la
+%attr(755,root,root) %{modulesdir}/coders/mask.so
+%{modulesdir}/coders/mask.la
 %attr(755,root,root) %{modulesdir}/coders/mat.so
 %{modulesdir}/coders/mat.la
 %attr(755,root,root) %{modulesdir}/coders/matte.so
@@ -849,6 +884,8 @@ rm -rf $RPM_BUILD_ROOT
 %{modulesdir}/coders/raw.la
 %attr(755,root,root) %{modulesdir}/coders/rgb.so
 %{modulesdir}/coders/rgb.la
+%attr(755,root,root) %{modulesdir}/coders/rgf.so
+%{modulesdir}/coders/rgf.la
 %attr(755,root,root) %{modulesdir}/coders/rla.so
 %{modulesdir}/coders/rla.la
 %attr(755,root,root) %{modulesdir}/coders/rle.so
@@ -861,6 +898,8 @@ rm -rf $RPM_BUILD_ROOT
 %{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
@@ -887,6 +926,8 @@ rm -rf $RPM_BUILD_ROOT
 %{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
@@ -903,6 +944,8 @@ rm -rf $RPM_BUILD_ROOT
 %{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
@@ -945,18 +988,16 @@ rm -rf $RPM_BUILD_ROOT
 %files libs
 %defattr(644,root,root,755)
 %doc ChangeLog LICENSE AUTHORS.txt
-%attr(755,root,root) %{_libdir}/libMagickCore.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libMagickCore.so.5
-%attr(755,root,root) %{_libdir}/libMagickWand.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libMagickWand.so.5
+%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
-%{_libdir}/ImageMagick-%{ver}/config/configure.xml
+%dir %{_libdir}/ImageMagick-%{ver}/config-%{abisuf}
+%{_libdir}/ImageMagick-%{ver}/config-%{abisuf}/configure.xml
 
 %files coder-caption
 %defattr(644,root,root,755)
-# R: pango, fontconfig
-%defattr(644,root,root,755)
 %attr(755,root,root) %{modulesdir}/coders/caption.so
 %{modulesdir}/coders/caption.la
 
@@ -1002,10 +1043,10 @@ rm -rf $RPM_BUILD_ROOT
 %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
@@ -1024,6 +1065,12 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{modulesdir}/coders/msl.so
 %{modulesdir}/coders/msl.la
 
+%files coder-pango
+%defattr(644,root,root,755)
+# R: cairo, pango
+%attr(755,root,root) %{modulesdir}/coders/pango.so
+%{modulesdir}/coders/pango.la
+
 %files coder-pdf
 %defattr(644,root,root,755)
 # R: libtiff, libjpeg
@@ -1046,7 +1093,7 @@ rm -rf $RPM_BUILD_ROOT
 
 %files coder-svg
 %defattr(644,root,root,755)
-# R: libxml2, librsvg
+# R: libxml2, librsvg, %{?with_autotrace:autotrace}
 %attr(755,root,root) %{modulesdir}/coders/svg.so
 %{modulesdir}/coders/svg.la
 
@@ -1082,14 +1129,19 @@ rm -rf $RPM_BUILD_ROOT
 %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.so
-%attr(755,root,root) %{_libdir}/libMagickWand.so
-%dir %{_includedir}/ImageMagick
-%{_includedir}/ImageMagick/magick
-%{_includedir}/ImageMagick/wand
+%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-%{mver}.%{abisuf}.pc
 %{_pkgconfigdir}/MagickCore.pc
+%{_pkgconfigdir}/MagickWand-%{mver}.%{abisuf}.pc
 %{_pkgconfigdir}/MagickWand.pc
+%{_pkgconfigdir}/Wand-%{mver}.%{abisuf}.pc
 %{_pkgconfigdir}/Wand.pc
 %{_mandir}/man1/Magick-config.1*
 %{_mandir}/man1/MagickCore-config.1*
@@ -1098,36 +1150,43 @@ rm -rf $RPM_BUILD_ROOT
 
 %files static
 %defattr(644,root,root,755)
-%{_libdir}/libMagickCore.a
-%{_libdir}/libMagickWand.a
+%{_libdir}/libMagickCore-%{mver}.%{abisuf}.a
+%{_libdir}/libMagickWand-%{mver}.%{abisuf}.a
 
 %files -n perl-%{name}
 %defattr(644,root,root,755)
 %{perl_vendorarch}/Image/Magick.pm
+%dir %{perl_vendorarch}/Image/Magick
+%{perl_vendorarch}/Image/Magick/%{abisuf}.pm
 %dir %{perl_vendorarch}/auto/Image/Magick
 %{perl_vendorarch}/auto/Image/Magick/autosplit.ix
-%{perl_vendorarch}/auto/Image/Magick/Magick.bs
 %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
 %{_mandir}/man3/Image::Magick.3pm*
+%{_mandir}/man3/Image::Magick::%{abisuf}.3pm*
 %{_examplesdir}/%{name}-perl-%{version}
 
 %if %{with cxx}
 %files c++
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libMagick++.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libMagick++.so.5
+%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++.so
-%{_includedir}/ImageMagick/Magick++
-%{_includedir}/ImageMagick/Magick++.h
+%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++-%{mver}.%{abisuf}.pc
 %{_pkgconfigdir}/Magick++.pc
 %{_mandir}/man1/Magick++-config.1*
 
 %files c++-static
 %defattr(644,root,root,755)
-%{_libdir}/libMagick++.a
+%{_libdir}/libMagick++-%{mver}.%{abisuf}.a
 %endif
This page took 0.147822 seconds and 4 git commands to generate.