- Update to 6.9.1-10: * New version 6.9.1-10, SVN revision 19269. * coders/magick.c: added "-define h:format=FMT" and "-define magick:format=FMT" options. FMT can be any output format supported by ImageMagick except "H" or "MAGICK". If this define is omitted, the encoder uses GIF by default for pseudoclass images and PNM for directclass images, as previously. Made "MAGICK" (read-write) and "H" (write-only) visible in the format list. * Removed incorrect EOF check in the DDS reader (reference http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=28065). * Fixed undefined behaviors (reference http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=28067). * Return exception message for unknown image properties. * Color shift removed when reading transparent gray images (reference http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=28081) OBS-URL: https://build.opensuse.org/request/show/318978 OBS-URL: https://build.opensuse.org/package/show/graphics/ImageMagick?expand=0&rev=239
431 lines
16 KiB
RPMSpec
431 lines
16 KiB
RPMSpec
#
|
|
# spec file for package ImageMagick
|
|
#
|
|
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
Name: ImageMagick
|
|
|
|
BuildRequires: autoconf >= 2.69
|
|
BuildRequires: dcraw
|
|
%if 0%{?suse_version} >= 1140
|
|
BuildRequires: dejavu-fonts
|
|
%endif
|
|
BuildRequires: fdupes
|
|
BuildRequires: fftw3-devel
|
|
BuildRequires: freetype2-devel
|
|
BuildRequires: gcc-c++
|
|
BuildRequires: ghostscript-devel
|
|
BuildRequires: libbz2-devel
|
|
BuildRequires: libdjvulibre-devel
|
|
BuildRequires: libexif-devel
|
|
BuildRequires: libjasper-devel
|
|
BuildRequires: libjbig-devel
|
|
BuildRequires: libjpeg-devel
|
|
BuildRequires: liblcms2-devel
|
|
%if 0%{?suse_version} >= 1140
|
|
BuildRequires: liblqr-devel
|
|
%endif
|
|
BuildRequires: librsvg-devel
|
|
BuildRequires: libtiff-devel >= 4.0.3
|
|
BuildRequires: libtool
|
|
BuildRequires: libwebp-devel
|
|
BuildRequires: libwmf-devel
|
|
BuildRequires: libxml2-devel
|
|
BuildRequires: lzma-devel
|
|
%if 0%{?suse_version} >= 1310
|
|
BuildRequires: mupdf-devel-static
|
|
%endif
|
|
%if 0%{?suse_version} >= 1140
|
|
BuildRequires: openexr-devel
|
|
%endif
|
|
BuildRequires: openjpeg2-devel >= 2.1.0
|
|
%if 0%{?suse_version} >= 1140
|
|
BuildRequires: p7zip
|
|
%endif
|
|
BuildRequires: pango-devel
|
|
BuildRequires: pkgconfig
|
|
BuildRequires: xdg-utils
|
|
BuildRequires: xz
|
|
BuildRequires: zip
|
|
|
|
%define maj 6
|
|
%define mfr_version %{maj}.9.1
|
|
%define mfr_revision 10
|
|
%define quantum_depth 16
|
|
%define source_version %{mfr_version}-%{mfr_revision}
|
|
%define clibver 2
|
|
%define cxxlibver 6
|
|
%define libspec -%{maj}_Q%{quantum_depth}
|
|
Version: %{mfr_version}.%{mfr_revision}
|
|
Release: 0
|
|
Summary: Viewer and Converter for Images
|
|
License: ImageMagick
|
|
Group: Productivity/Graphics/Other
|
|
Url: http://www.imagemagick.org
|
|
Source: http://www.imagemagick.org/download/releases/ImageMagick-%{mfr_version}-%{mfr_revision}.tar.xz
|
|
# To get mtime of file
|
|
Source1: ImageMagick.changes
|
|
Source2: baselibs.conf
|
|
Source3: http://www.imagemagick.org/download/releases/ImageMagick-%{mfr_version}-%{mfr_revision}.tar.xz.asc
|
|
Source4: ImageMagick.keyring
|
|
# suse specific patches
|
|
Patch0: ImageMagick-6.6.8.9-examples.patch
|
|
Patch1: ImageMagick-6.6.8.9-doc.patch
|
|
Patch2: ImageMagick-6.7.6.1-no-dist-lzip.patch
|
|
Patch3: ImageMagick-6.8.4.0-rpath.patch
|
|
# workaround for http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=23462
|
|
# upstream insists on XPMCompliance, so leaving this for compatibility reasons
|
|
Patch4: ImageMagick-6.8.5.7-no-XPMCompliance.patch
|
|
# bugs
|
|
# will ask upstream if needed, or if other solution exists
|
|
Patch11: ImageMagick-6.8.4.0-dont-build-in-install.patch
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
|
|
%package -n perl-PerlMagick
|
|
Requires: ImageMagick = %{version}
|
|
Requires: libMagickCore%{libspec}-%{clibver} = %{version}
|
|
Requires: perl = %{perl_version}
|
|
Summary: Perl interface for ImageMagick
|
|
Group: Development/Libraries/Perl
|
|
|
|
%package devel
|
|
Requires: ImageMagick = %{version}
|
|
Requires: libMagickCore%{libspec}-%{clibver} = %{version}
|
|
Requires: libMagickWand%{libspec}-%{clibver} = %{version}
|
|
Summary: Include Files and Libraries Mandatory for Development
|
|
Group: Development/Libraries/C and C++
|
|
Requires: glibc-devel
|
|
# bnc#741947:
|
|
Requires: libbz2-devel
|
|
|
|
%package extra
|
|
Requires: ImageMagick = %{version}
|
|
Requires: libMagickCore%{libspec}-%{clibver} = %{version}
|
|
Summary: Viewer and Converter for Images - extra codecs
|
|
Group: Productivity/Graphics/Other
|
|
#delegates configured in delegates.xml that imagemagick can use
|
|
Recommends: autotrace dcraw transfig ghostscript_any hp2xx netpbm ghostpcl libwmf
|
|
|
|
%package -n libMagickCore%{libspec}-%{clibver}
|
|
Summary: Viewer and Converter for Images - runtime library
|
|
Group: Productivity/Graphics/Other
|
|
Suggests: ImageMagick-extra = %{version}
|
|
|
|
%package -n libMagickWand%{libspec}-%{clibver}
|
|
Summary: Viewer and Converter for Images - runtime library
|
|
Group: Productivity/Graphics/Other
|
|
|
|
%package -n libMagick++%{libspec}-%{cxxlibver}
|
|
Requires: ImageMagick
|
|
Summary: C++ Interface for ImageMagick - runtime library
|
|
Group: Development/Libraries/C and C++
|
|
|
|
%package -n libMagick++-devel
|
|
Requires: ImageMagick-devel = %{version}
|
|
Requires: libMagick++%{libspec}-%{cxxlibver} = %{version}
|
|
Requires: libstdc++-devel
|
|
Summary: C++ Interface for ImageMagick - files mandatory for development
|
|
Group: Development/Libraries/C and C++
|
|
|
|
%package doc
|
|
Summary: Document Files for ImageMagick Library
|
|
Group: Development/Libraries/C and C++
|
|
%if 0%{?suse_version} >= 1120
|
|
BuildArch: noarch
|
|
%endif
|
|
|
|
%description
|
|
ImageMagick is a robust collection of tools and libraries to read,
|
|
write, and manipulate an image in many image formats, including popular
|
|
formats like TIFF, JPEG, PNG, PDF, PhotoCD, and GIF. With ImageMagick,
|
|
you can create images dynamically, making it suitable for Web
|
|
applications. You can also resize, rotate, sharpen, color-reduce, or
|
|
add special effects to an image and save your completed work in many
|
|
different image formats. Image processing operations are available from
|
|
the command line as well as through C, C++, and PERL-based programming
|
|
interfaces.
|
|
|
|
%description devel
|
|
ImageMagick is a robust collection of tools and libraries to read,
|
|
write, and manipulate an image in many image formats, including popular
|
|
formats like TIFF, JPEG, PNG, PDF, PhotoCD, and GIF. With ImageMagick,
|
|
you can create images dynamically, making it suitable for Web
|
|
applications. You can also resize, rotate, sharpen, color-reduce, or
|
|
add special effects to an image and save your completed work in many
|
|
different image formats. Image processing operations are available from
|
|
the command line as well as through C, C++, and PERL-based programming
|
|
interfaces.
|
|
|
|
%description extra
|
|
This package adds support for djvu, wmf and jpeg2000 formats and
|
|
installs optional helper applications.
|
|
|
|
ImageMagick is a robust collection of tools and libraries to read,
|
|
write, and manipulate an image in many image formats, including popular
|
|
formats like TIFF, JPEG, PNG, PDF, PhotoCD, and GIF. With ImageMagick,
|
|
you can create images dynamically, making it suitable for Web
|
|
applications. You can also resize, rotate, sharpen, color-reduce, or
|
|
add special effects to an image and save your completed work in many
|
|
different image formats. Image processing operations are available from
|
|
the command line as well as through C, C++, and PERL-based programming
|
|
interfaces.
|
|
|
|
%description -n libMagickCore%{libspec}-%{clibver}
|
|
ImageMagick is a robust collection of tools and libraries to read,
|
|
write, and manipulate an image in many image formats, including popular
|
|
formats like TIFF, JPEG, PNG, PDF, PhotoCD, and GIF. With ImageMagick,
|
|
you can create images dynamically, making it suitable for Web
|
|
applications. You can also resize, rotate, sharpen, color-reduce, or
|
|
add special effects to an image and save your completed work in many
|
|
different image formats. Image processing operations are available from
|
|
the command line as well as through C, C++, and PERL-based programming
|
|
interfaces.
|
|
|
|
%description -n libMagickWand%{libspec}-%{clibver}
|
|
ImageMagick is a robust collection of tools and libraries to read,
|
|
write, and manipulate an image in many image formats, including popular
|
|
formats like TIFF, JPEG, PNG, PDF, PhotoCD, and GIF. With ImageMagick,
|
|
you can create images dynamically, making it suitable for Web
|
|
applications. You can also resize, rotate, sharpen, color-reduce, or
|
|
add special effects to an image and save your completed work in many
|
|
different image formats. Image processing operations are available from
|
|
the command line as well as through C, C++, and PERL-based programming
|
|
interfaces.
|
|
|
|
%description -n perl-PerlMagick
|
|
PerlMagick is an objected-oriented Perl interface to ImageMagick. Use
|
|
the module to read, manipulate, or write an image or image sequence
|
|
from within a Perl script. This makes it suitable for Web CGI scripts.
|
|
|
|
%description -n libMagick++%{libspec}-%{cxxlibver}
|
|
This is Magick++, the object-oriented C++ API for the ImageMagick
|
|
image-processing library.
|
|
|
|
Magick++ supports an object model inspired by PerlMagick. Magick++
|
|
should be faster than PerlMagick since it is written in a compiled
|
|
language which is not parsed at run-time. This makes it suitable for
|
|
Web CGI programs. Images support implicit reference counting so that
|
|
copy constructors and assignment incur almost no cost. The cost of
|
|
actually copying an image (if necessary) is done just before
|
|
modification and this copy is managed automatically by Magick++.
|
|
De-referenced copies are automatically deleted. The image objects
|
|
support value (rather than pointer) semantics so it is trivial to
|
|
support multiple generations of an image in memory at one time.
|
|
|
|
%description -n libMagick++-devel
|
|
This is Magick++, the object-oriented C++ API for the ImageMagick
|
|
image-processing library.
|
|
|
|
Magick++ supports an object model inspired by PerlMagick. Magick++
|
|
should be faster than PerlMagick since it is written in a compiled
|
|
language which is not parsed at run-time. This makes it suitable for
|
|
Web CGI programs. Images support implicit reference counting so that
|
|
copy constructors and assignment incur almost no cost. The cost of
|
|
actually copying an image (if necessary) is done just before
|
|
modification and this copy is managed automatically by Magick++.
|
|
De-referenced copies are automatically deleted. The image objects
|
|
support value (rather than pointer) semantics so it is trivial to
|
|
support multiple generations of an image in memory at one time.
|
|
|
|
%description doc
|
|
HTML documentation for ImageMagick library and scene examples.
|
|
|
|
%prep
|
|
%setup -q -n ImageMagick-%{source_version}
|
|
%patch0
|
|
%patch1
|
|
%patch2
|
|
%patch3 -p1
|
|
%patch4 -p1
|
|
%patch11 -p1
|
|
|
|
# remove executeable bits from per demos
|
|
chmod -x PerlMagick/demo/*.pl
|
|
|
|
%build
|
|
export CFLAGS="$RPM_OPT_FLAGS"
|
|
export CXXFLAGS="$RPM_OPT_FLAGS"
|
|
export LDFLAGS="-L%{_libdir}"
|
|
# for MODULES_DIRNAME setup purpose see bnc#866442
|
|
export MODULES_DIRNAME="modules-%{maj}_Q%{quantum_depth}-%{clibver}"
|
|
# for SHAREARCH_DIRNAME setup purpose see bnc#866442
|
|
export SHAREARCH_DIRNAME="config-%{maj}_Q%{quantum_depth}-%{clibver}"
|
|
# for CONFIGURE_RELATIVE_PATH setup purpose see bnc#866442
|
|
sed -i 's:^\(CONFIGURE_RELATIVE_PATH=.*\):\1_Q%{quantum_depth}-%{clibver}:' configure.ac
|
|
CHANGES=`stat --format="%y" %SOURCE1|cut --characters=1-10`
|
|
# Use mtime of .changes for build time
|
|
sed -i -e "s|^PACKAGE_RELEASE_DATE.*$|PACKAGE_RELEASE_DATE=\"$CHANGES\"|" version.sh
|
|
autoreconf --force --install -v
|
|
automake
|
|
%configure --with-pic \
|
|
--enable-shared \
|
|
--without-frozenpaths \
|
|
--with-magick_plus_plus \
|
|
--with-modules \
|
|
--with-threads \
|
|
--with-perl \
|
|
--with-perl-options="INSTALLDIRS=vendor CC='%__cc -L$PWD/magick/.libs' LDDLFLAGS='-shared -L$PWD/magick/.libs'" \
|
|
--disable-static \
|
|
--with-graphviz \
|
|
--with-djvu \
|
|
--with-lcms2 \
|
|
--with-jbig \
|
|
--with-openjp2 \
|
|
%if 0%{?suse_version} >= 1140
|
|
--with-openexr \
|
|
%endif
|
|
--with-rsvg \
|
|
--with-webp \
|
|
--with-wmf \
|
|
--with-quantum-depth=%{quantum_depth} \
|
|
--without-gcc-arch
|
|
# don't build together, PerlMagick could be miscompiled when using parallel build[1]
|
|
# [1] http://pkgs.fedoraproject.org/cgit/ImageMagick.git/tree/ImageMagick.spec
|
|
make %{?_smp_mflags} all
|
|
make -j1 perl-build
|
|
|
|
%if 0%{?suse_version} >= 1140
|
|
%check
|
|
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/magick/.libs:$PWD/wand/.libs
|
|
export MAGICK_CODER_MODULE_PATH=$PWD/coders/.libs
|
|
export MAGICK_CODER_FILTER_PATH=$PWD/filters/.libs
|
|
export MAGICK_CONFIGURE_PATH=$PWD/config
|
|
cd PerlMagick
|
|
make test
|
|
%endif
|
|
|
|
%install
|
|
%{__make} install \
|
|
DESTDIR=%{buildroot} \
|
|
pkgdocdir=%{_defaultdocdir}/%{name}/
|
|
%perl_process_packlist
|
|
cd 'Magick++'
|
|
%{__rm} -rf demo/{.deps,.libs,*.C,*.o,Makefile*,run_demos.bat}
|
|
PATH='/bin:/usr/bin' find demo -type f -perm /111 -execdir %{__rm} -rf '{}' ';'
|
|
%{__mv} demo/makefile.2 demo/Makefile
|
|
cd ..
|
|
%{__mv} -t %{buildroot}%{_sysconfdir}/%{name}* %{buildroot}%{_datadir}/%{name}*/*.xml
|
|
PATH='/bin:/usr/bin' find %{buildroot}/%{_libdir} -name "*.la" ! -empty \
|
|
-execdir %{__sed} -i -e 's@ -L/usr/src[^ ]*@@g' -e 's@ /usr/lib/libltdl.la@@g' '{}' ';'
|
|
%{__rm} %{buildroot}%{_libdir}/*.la
|
|
|
|
#remove duplicates
|
|
%if 0%{?suse_version} > 1020
|
|
%fdupes -s %{buildroot}%{_defaultdocdir}/%{name}
|
|
%fdupes -s %{buildroot}%{_includedir}/%{name}-%{maj}
|
|
%fdupes -s %{buildroot}%{_libdir}/pkgconfig
|
|
%endif
|
|
|
|
%post -n libMagickCore%{libspec}-%{clibver} -p /sbin/ldconfig
|
|
|
|
%postun -n libMagickCore%{libspec}-%{clibver} -p /sbin/ldconfig
|
|
|
|
%post -n libMagickWand%{libspec}-%{clibver} -p /sbin/ldconfig
|
|
|
|
%postun -n libMagickWand%{libspec}-%{clibver} -p /sbin/ldconfig
|
|
|
|
%post -n libMagick++%{libspec}-%{cxxlibver} -p /sbin/ldconfig
|
|
|
|
%postun -n libMagick++%{libspec}-%{cxxlibver} -p /sbin/ldconfig
|
|
|
|
%files
|
|
%defattr(-,root,root)
|
|
%{_bindir}/[^MW]*
|
|
%doc %{_mandir}/man1/*
|
|
%exclude %{_mandir}/man1/*-config.1.gz
|
|
|
|
%files -n libMagickCore%{libspec}-%{clibver}
|
|
%defattr(-,root,root)
|
|
%doc LICENSE
|
|
%dir %{_sysconfdir}/ImageMagick*
|
|
%config %{_sysconfdir}/ImageMagick*/*
|
|
%{_libdir}/libMagickCore*.so.%{clibver}*
|
|
%dir %{_libdir}/ImageMagick*
|
|
%dir %{_libdir}/ImageMagick*/modules*
|
|
%dir %{_libdir}/ImageMagick*/modules*/*
|
|
%exclude %{_libdir}/ImageMagick*/modules*/*/wmf.*
|
|
%exclude %{_libdir}/ImageMagick*/modules*/*/jp2.*
|
|
%exclude %{_libdir}/ImageMagick*/modules*/*/djvu.*
|
|
%{_libdir}/ImageMagick*/modules*/*/*.so
|
|
# don't remove la files, see bnc#579798
|
|
%{_libdir}/ImageMagick*/modules*/*/*.la
|
|
%{_libdir}/ImageMagick*/config*
|
|
|
|
%files -n libMagickWand%{libspec}-%{clibver}
|
|
%defattr(-,root,root)
|
|
%{_libdir}/libMagickWand*.so.%{clibver}*
|
|
|
|
%files extra
|
|
%defattr(-,root,root)
|
|
%{_libdir}/ImageMagick*/modules*/*/wmf.so
|
|
# don't remove la files, see bnc#579798
|
|
%{_libdir}/ImageMagick*/modules*/*/wmf.la
|
|
%{_libdir}/ImageMagick*/modules*/*/jp2.so
|
|
%{_libdir}/ImageMagick*/modules*/*/jp2.la
|
|
%{_libdir}/ImageMagick*/modules*/*/djvu.so
|
|
%{_libdir}/ImageMagick*/modules*/*/djvu.la
|
|
|
|
%files devel
|
|
%defattr(-,root,root)
|
|
%{_libdir}/libMagickCore*.so
|
|
%{_libdir}/libMagickWand*.so
|
|
%dir %{_includedir}/ImageMagick*
|
|
%{_includedir}/ImageMagick*/magick
|
|
%{_includedir}/ImageMagick*/wand
|
|
%{_bindir}/MagickCore-config
|
|
%{_bindir}/MagickWand-config
|
|
%{_bindir}/Magick-config
|
|
%{_bindir}/Wand-config
|
|
%{_libdir}/pkgconfig/MagickCore*.pc
|
|
%{_libdir}/pkgconfig/ImageMagick.pc
|
|
%{_libdir}/pkgconfig/ImageMagick-*.pc
|
|
%{_libdir}/pkgconfig/*Wand*.pc
|
|
%doc %{_mandir}/man1/*-config.1.gz
|
|
%exclude %{_mandir}/man1/Magick++-config.1.gz
|
|
|
|
%files -n perl-PerlMagick
|
|
%defattr(-,root,root,-)
|
|
%doc PerlMagick/README.txt
|
|
%doc PerlMagick/demo
|
|
%doc %{_mandir}/man3/*
|
|
%{perl_vendorarch}/auto/Image
|
|
%{perl_vendorarch}/Image
|
|
%if 0%{?suse_version} < 1140
|
|
/var/adm/perl-modules/ImageMagick
|
|
%endif
|
|
|
|
%files -n libMagick++%{libspec}-%{cxxlibver}
|
|
%defattr(-,root,root)
|
|
%{_libdir}/libMagick++*.so.%{cxxlibver}*
|
|
|
|
%files -n libMagick++-devel
|
|
%defattr(-,root,root)
|
|
%doc Magick++/demo
|
|
%doc Magick++/NEWS Magick++/README Magick++/AUTHORS
|
|
%{_libdir}/libMagick++*.so
|
|
%{_includedir}/ImageMagick*/Magick++.h
|
|
%{_includedir}/ImageMagick*/Magick++
|
|
%{_bindir}/Magick++-config
|
|
%{_libdir}/pkgconfig/ImageMagick++*.pc
|
|
%{_libdir}/pkgconfig/Magick++*.pc
|
|
%doc %{_mandir}/man1/Magick++-config.1.gz
|
|
|
|
%files doc
|
|
%defattr(-,root,root)
|
|
%{_defaultdocdir}/%{name}
|
|
|
|
%changelog
|