# # spec file for package ImageMagick # # Copyright (c) 2012 SUSE LINUX Products 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/ # %bcond_with xtp %bcond_without DCraw %bcond_without FreeType %bcond_without CXX %bcond_without Ghostscript %bcond_without LCMS %bcond_without TIFF %bcond_without WMF %bcond_without XML %bcond_without DejaVu %bcond_without EXIF %bcond_without JPEG %bcond_without WEBP # build against librsvg [bnc#724222] %bcond_without RSVG Name: ImageMagick %define xtp_version 5.4.3 %define mfr_version 6.6.9 %define mfr_revision 9 %define source_version %{mfr_version}-%{mfr_revision} %define source_locator http://image_magick.veidrodis.com/image_magick/ImageMagick-%{source_version}.tar.bz2 License: Apache-2.0 Group: Productivity/Graphics/Other AutoReqProv: on Version: %{mfr_version}.%{mfr_revision} Release: 0 %define libver 4 Summary: Viewer and Converter for Images Url: http://www.imagemagick.org BuildRequires: fdupes BuildRequires: libbz2-devel BuildRequires: libtool BuildRequires: lzma-devel BuildRequires: pkgconfig %if %{with DCraw} BuildRequires: dcraw %endif %if %{with FreeType} BuildRequires: freetype2-devel %endif %if %{with CXX} BuildRequires: gcc-c++ %endif %if %{with Ghostscript} BuildRequires: ghostscript-fonts-other BuildRequires: ghostscript-fonts-std BuildRequires: ghostscript-library %endif %if %{with LCMS} BuildRequires: liblcms2-devel %endif %if %{with TIFF} BuildRequires: libtiff-devel %endif %if %{with WMF} BuildRequires: libwmf-devel %endif %if %{with XML} BuildRequires: libxml2-devel %endif %if %{with DejaVu} BuildRequires: libdjvulibre-devel %endif %if %{with EXIF} BuildRequires: libexif-devel %endif %if %{with JPEG} BuildRequires: libjasper-devel %endif %if %{with WEBP} BuildRequires: libwebp-devel %endif %if %{with RSVG} BuildRequires: librsvg-devel %endif %define xtp_version 5.4.3 %define mfr_version 6.7.4 %define mfr_revision 7 %define source_version %{mfr_version}-%{mfr_revision} %define libver 5 Summary: Viewer and Converter for Images Group: Productivity/Graphics/Other Source: http://image_magick.veidrodis.com/image_magick/ImageMagick-%{source_version}.tar.bz2 # To get mtime of file Source1: ImageMagick.changes %if %{with xtp} Source2: xtp-%{xtp_version}.tar.bz2 %endif Source3: baselibs.conf Source4: wlb.tar.bz Patch1: ImageMagick-6.6.8.9-examples.patch Patch2: ImageMagick-6.6.8.9-doc.patch # remove inc-struct.diff as soon as it will be not comfortable to port # see http://www.imagemagick.org/discourse-server/viewtopic.php?f=2&t=18435&hilit=include # for upstream progress Patch3: ImageMagick-6.6.9.1-inc-struct.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build Provides: imagemag = %{version} Obsoletes: imagemag < %{version} Recommends: %{name}-doc = %{version} %package -n perl-PerlMagick Requires: perl = %{perl_version} ImageMagick = %{version} libMagickCore%{libver} = %{version} Summary: Perl interface for ImageMagick License: SUSE-ImageMagick Group: Development/Libraries/Perl %package devel Requires: libMagickCore%{libver} = %{version} libMagickWand%{libver} = %{version} Requires: ImageMagick = %{version} Summary: Include Files and Libraries Mandatory for Development License: SUSE-ImageMagick Group: Development/Libraries/C and C++ Requires: glibc-devel # bnc#741947: Requires: libbz2-devel %package extra Requires: ImageMagick = %{version} libMagickCore%{libver} = %{version} Summary: Viewer and Converter for Images - extra codecs License: SUSE-ImageMagick 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%{libver} Summary: Viewer and Converter for Images - runtime library License: SUSE-ImageMagick Group: Productivity/Graphics/Other Suggests: ImageMagick-extra = %{version} %package -n libMagickWand%{libver} Summary: Viewer and Converter for Images - runtime library License: SUSE-ImageMagick Group: Productivity/Graphics/Other %package -n libMagick++%{libver} Requires: ImageMagick Summary: C++ Interface for ImageMagick - runtime library License: SUSE-ImageMagick Group: Development/Libraries/C and C++ # was last used in openSUSE 10.2 Provides: ImageMagick-Magick++ = %{version} Obsoletes: ImageMagick-Magick++ < %{version} %package -n libMagick++-devel Requires: ImageMagick-devel = %{version} libMagick++%{libver} = %{version} libstdc++-devel Summary: C++ Interface for ImageMagick - files mandatory for development License: SUSE-ImageMagick Group: Development/Libraries/C and C++ Provides: ImageMagick-Magick++-devel = %{version} Obsoletes: ImageMagick-Magick++-devel < %{version} %package doc Summary: ImageMagick application suite documentation License: SUSE-ImageMagick Group: Documentation/HTML %if 0%{?suse_version} >= 1120 BuildArch: noarch %endif %if !0%{?make_jobs:1} %define make_jobs %{__make} %{?_smp_mflags} V=1 %endif %prep rm -rf xtp-%{xtp_version} %if %{with xtp} %setup -n ImageMagick-%{source_version} -b 2 %else %setup -n ImageMagick-%{source_version} -a 4 %endif %patch1 %patch2 %patch3 -p1 # remove together with inc-struct.diff ---- echo>header-test.c '#include "wand.h"' # echo>wand.h '#include "wand/MagickWand.h"' # %{make_jobs} header-test.o # chmod a-x PerlMagick/demo/* # move demo out of libtool operation %fdupes Magick++/demo %{__cp} -R -twww/Magick++ Magick++/demo %build %define CFLAGS ${RPM_OPT_FLAGS} %define LDFLAGS -L%{_libdir} %define system_ltdl 0 %if %system_ltdl cp -f %{_datadir}/libtool/libltdl/*.{c,h} ltdl mv ltdl/ltdl.c ltdl/ltdl.c.orig sed -e "s:::" ltdl/ltdl.c.orig >ltdl/ltdl.c %endif 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 %if %{with xtp} pushd ../xtp-%{xtp_version} autoreconf --force --install popd %endif %if %{suse_version} <= 1030 # openmp does not work with perl module OPENMP="--disable-openmp" %endif %configure --with-pic \ --enable-shared \ --without-frozenpaths \ --with-magick_plus_plus \ --with-modules \ --with-threads \ --without-perl \ --disable-static \ --with-djvu=yes $OPENMP CFLAGS="%{CFLAGS}" CXXFLAGS="%{CFLAGS}" LDFLAGS="%{LDFLAGS}" %{make_jobs} all cd PerlMagick perl Makefile.PL %{make_jobs} LD_RUN_PATH="%{_libdir}:%{_prefix}/X11R6/%{_lib}" # %if %{with xtp} cd ../../xtp-%{xtp_version} %configure "CFLAGS=${RPM_OPT_FLAGS} -D_GNU_SOURCE" "CXXFLAGS=${RPM_OPT_FLAGS}" %{make_jobs} %endif %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 # LANG set to a value that used to crash IM LANG=pl_PL.UTF-8 %{make_jobs} check cd PerlMagick %{make_jobs} test %install %{__install} -d "${RPM_BUILD_ROOT%}"'{_defaultdocdir}/%{name}/images' %{makeinstall} \ DESTDIR=$RPM_BUILD_ROOT \ pkgdocdir=%{_defaultdocdir}/%{name}/ cd PerlMagick %{make_jobs} "DESTDIR=${RPM_BUILD_ROOT}" 'LD_RUN_PATH=%{_libdir}:%{_prefix}/X11R6/%{_lib}' install_vendor %perl_process_packlist cd .. %if %{with xtp} pushd ../xtp-%{xtp_version} %{make_jobs} DESTDIR=$RPM_BUILD_ROOT install popd %endif %{__mv} -t "${RPM_BUILD_ROOT}"'%{_sysconfdir}'/%{name}* "${RPM_BUILD_ROOT}"'%{_datadir}'/%{name}*/*.xml %{__cp} -a -t "${RPM_BUILD_ROOT}"'%{_defaultdocdir}/%{name}/' scenes PATH='/bin:/usr/bin' find "${RPM_BUILD_ROOT}/%{_libdir}" -name "*.la" ! -empty \ -execdir %{__sed} -i -e 's@ -L/usr/src[^ ]*@@g' -e 's@ /usr/lib/libltdl.la@@g' '{}' ';' %{__rm} -f "${RPM_BUILD_ROOT}"'%{_libdir}'/libltdl.* %{__rm} -f "${RPM_BUILD_ROOT}"'%{_libdir}'/*.la echo>'%{buildroot}%{_includedir}/%{name}/wand.h' '#include "wand/MagickWand.h"' %if 0%{?suse_version} > 1020 %fdupes '%{buildroot}%{_prefix}' %endif rm -rf %{buildroot}/%{_datadir}/doc/%{name} %post -n libMagickCore%{libver} -p /sbin/ldconfig %postun -n libMagickCore%{libver} -p /sbin/ldconfig %post -n libMagickWand%{libver} -p /sbin/ldconfig %postun -n libMagickWand%{libver} -p /sbin/ldconfig %post -n libMagick++%{libver} -p /sbin/ldconfig %postun -n libMagick++%{libver} -p /sbin/ldconfig %files %defattr(-,root,root) %doc QuickStart.txt README.txt NEWS.txt ChangeLog LICENSE %{_bindir}/[^MW]* %doc %{_mandir}/man1/* %exclude %{_mandir}/man1/*-config.1.gz # moved to doc %exclude %{_docdir}/* %dir %{_sysconfdir}/ImageMagick* %config %{_sysconfdir}/ImageMagick*/* %dir %{_libdir}/ImageMagick* %dir %{_libdir}/ImageMagick*/modules* %dir %{_libdir}/ImageMagick*/modules*/* %{_libdir}/ImageMagick*/config %{_libdir}/ImageMagick*/modules*/*/*.so %exclude %{_libdir}/ImageMagick*/modules*/*/wmf.* %exclude %{_libdir}/ImageMagick*/modules*/*/jp2.* %exclude %{_libdir}/ImageMagick*/modules*/*/djvu.* # don't remove la files, see bnc#579798 %{_libdir}/ImageMagick*/modules*/*/*.la %files -n libMagickCore%{libver} %defattr(-,root,root) %doc LICENSE %{_libdir}/libMagickCore.so.%{libver}* %files -n libMagickWand%{libver} %defattr(-,root,root) %doc LICENSE %{_libdir}/libMagickWand.so.%{libver}* %files extra %defattr(-,root,root) %doc LICENSE %{_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) %doc LICENSE %{_libdir}/libMagickCore.so %{_libdir}/libMagickWand.so %dir %{_includedir}/ImageMagick %{_includedir}/ImageMagick/magick %{_includedir}/ImageMagick/wand %{_includedir}/ImageMagick/wand.h %{_bindir}/MagickCore-config %{_bindir}/MagickWand-config %{_bindir}/Magick-config %{_bindir}/Wand-config %{_libdir}/pkgconfig/ImageMagick.pc %{_libdir}/pkgconfig/Wand.pc %{_libdir}/pkgconfig/MagickCore.pc %{_libdir}/pkgconfig/MagickWand.pc %doc %{_mandir}/man1/*-config.1.gz %exclude %{_mandir}/man1/Magick++-config.1.gz %files -n perl-PerlMagick %defattr(-,root,root) %doc LICENSE %doc PerlMagick/README.txt %doc PerlMagick/demo %if %suse_version < 1140 /var/adm/perl-modules/ImageMagick %endif %doc %{_mandir}/man3/Image::Magick.3pm* %{perl_vendorarch}/auto/Image %{perl_vendorarch}/Image %files -n libMagick++%{libver} %defattr(-,root,root) %doc LICENSE %{_libdir}/libMagick++.so.%{libver}* %files -n libMagick++-devel %defattr(-,root,root) %doc LICENSE %doc www/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) %doc %{_docdir}/%{name} %exclude %{_docdir}/%{name}/ChangeLog %exclude %{_docdir}/%{name}/LICENSE %exclude %{_docdir}/%{name}/NEWS.txt %exclude %{_docdir}/%{name}/QuickStart.txt %exclude %{_docdir}/%{name}/README.txt %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%{libver} 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%{libver} 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++%{libver} 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. %changelog