%global VERSION @PACKAGE_VERSION@ %global Patchlevel @PACKAGE_RELEASE@ Name: @PACKAGE_NAME@ Version: %{VERSION}.%{Patchlevel} Release: 3%{?dist} Summary: Use ImageMagick to convert, edit, or compose bitmap images in a variety of formats. In addition resize, rotate, shear, distort and transform images. Group: Applications/Multimedia License: http://www.imagemagick.org/script/license.php Url: http://www.imagemagick.org/ Source0: ftp://ftp.ImageMagick.org/pub/%{name}/%{name}-%{VERSION}-%{Patchlevel}.tar.xz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: bzip2-devel, freetype-devel, libjpeg-devel, libpng-devel BuildRequires: libtiff-devel, giflib-devel, zlib-devel, perl-devel >= 5.8.1 BuildRequires: ghostscript-devel, djvulibre-devel BuildRequires: libwmf-devel, jasper-devel, libtool-ltdl-devel BuildRequires: libX11-devel, libXext-devel, libXt-devel BuildRequires: lcms-devel, libxml2-devel, librsvg2-devel, OpenEXR-devel %description ImageMagick is an image display and manipulation tool for the X Window System. ImageMagick can read and write JPEG, TIFF, PNM, GIF, and Photo CD image formats. It can resize, rotate, sharpen, color reduce, or add special effects to an image, and when finished you can either save the completed work in the original format or a different one. ImageMagick also includes command line programs for creating animated or transparent .gifs, creating composite images, creating thumbnail images, and more. ImageMagick is one of your choices if you need a program to manipulate and display images. If you want to develop your own applications which use ImageMagick code or APIs, you need to install ImageMagick-devel as well. %package devel Summary: Library links and header files for ImageMagick app development Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: libX11-devel, libXext-devel, libXt-devel Requires: ghostscript-devel Requires: bzip2-devel Requires: freetype-devel Requires: libtiff-devel Requires: libjpeg-devel Requires: lcms-devel Requires: jasper-devel Requires: pkgconfig %description devel ImageMagick-devel contains the library links and header files you'll need to develop ImageMagick applications. ImageMagick is an image manipulation program. If you want to create applications that will use ImageMagick code or APIs, you need to install ImageMagick-devel as well as ImageMagick. You do not need to install it if you just want to use ImageMagick, however. %package djvu Summary: DjVu plugin for ImageMagick Group: Applications/Multimedia Requires: %{name} = %{version}-%{release} %description djvu This packages contains a plugin for ImageMagick which makes it possible to save and load DjvU files from ImageMagick and libMagickCore using applications. %package doc Summary: ImageMagick html documentation Group: Documentation %description doc ImageMagick documentation, this package contains usage (for the commandline tools) and API (for the libraries) documentation in html format. Note this documentation can also be found on the ImageMagick website: http://www.imagemagick.org/ %package perl Summary: ImageMagick perl bindings Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) %description perl Perl bindings to ImageMagick. Install ImageMagick-perl if you want to use any perl scripts that use ImageMagick. %package c++ Summary: ImageMagick Magick++ library (C++ bindings) Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} %description c++ This package contains the Magick++ library, a C++ binding to the ImageMagick graphics manipulation library. Install ImageMagick-c++ if you want to use any applications that use Magick++. %package c++-devel Summary: C++ bindings for the ImageMagick library Group: Development/Libraries Requires: %{name}-c++ = %{version}-%{release} Requires: %{name}-devel = %{version}-%{release} %description c++-devel ImageMagick-devel contains the static libraries and header files you'll need to develop ImageMagick applications using the Magick++ C++ bindings. ImageMagick is an image manipulation program. If you want to create applications that will use Magick++ code or APIs, you'll need to install ImageMagick-c++-devel, ImageMagick-devel and ImageMagick. You don't need to install it if you just want to use ImageMagick, or if you want to develop/compile applications using the ImageMagick C interface, however. %prep %setup -q -n %{name}-%{VERSION}-%{Patchlevel} sed -i 's/libltdl.la/libltdl.so/g' configure iconv -f ISO-8859-1 -t UTF-8 README.txt > README.txt.tmp touch -r README.txt README.txt.tmp mv README.txt.tmp README.txt # for %doc mkdir Magick++/examples cp -p Magick++/demo/*.cpp Magick++/demo/*.miff Magick++/examples %build %configure --enable-shared \ --disable-static \ --with-modules \ --with-perl \ --with-x \ --with-threads \ --with-magick_plus_plus \ --with-gslib \ --with-wmf \ --with-lcms \ --with-rsvg \ --with-xml \ --with-perl-options="INSTALLDIRS=vendor %{?perl_prefix} CC='%__cc -L$PWD/MagickCore/.libs' LDDLFLAGS='-shared -L$PWD/MagickCore/.libs'" \ --without-dps \ --without-included-ltdl --with-ltdl-include=%{_includedir} \ --with-ltdl-lib=%{_libdir} # Disable rpath sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool # Do *NOT* use %%{?_smp_mflags}, this causes PerlMagick to be silently misbuild make %install rm -rf %{buildroot} make install DESTDIR=%{buildroot} INSTALL="install -p" cp -a www/source %{buildroot}%{_datadir}/doc/%{name}-%{VERSION} # Delete *ONLY* _libdir/*.la files! .la files used internally to handle plugins - BUG#185237!!! rm %{buildroot}%{_libdir}/*.la # fix weird perl Magick.so permissions chmod 755 %{buildroot}%{perl_vendorarch}/auto/Image/Magick/Magick.so # perlmagick: fix perl path of demo files %{__perl} -MExtUtils::MakeMaker -e 'MY->fixin(@ARGV)' PerlMagick/demo/*.pl # perlmagick: cleanup various perl tempfiles from the build which get installed find %{buildroot} -name "*.bs" |xargs rm -f find %{buildroot} -name ".packlist" |xargs rm -f find %{buildroot} -name "perllocal.pod" |xargs rm -f # perlmagick: build files list echo "%defattr(-,root,root,-)" > perl-pkg-files find %{buildroot}/%{_libdir}/perl* -type f -print \ | sed "s@^%{buildroot}@@g" > perl-pkg-files find %{buildroot}%{perl_vendorarch} -type d -print \ | sed "s@^%{buildroot}@%dir @g" \ | grep -v '^%dir %{perl_vendorarch}$' \ | grep -v '/auto$' >> perl-pkg-files if [ -z perl-pkg-files ] ; then echo "ERROR: EMPTY FILE LIST" exit -1 fi # fix multilib issues %ifarch x86_64 s390x ia64 ppc64 alpha sparc64 %define wordsize 64 %else %define wordsize 32 %endif mv %{buildroot}%{_includedir}/%{name}/MagickCore/magick-config.h \ %{buildroot}%{_includedir}/%{name}/MagickCore/magick-config-%{wordsize}.h cat >%{buildroot}%{_includedir}/%{name}/MagickCore/magick-config.h < #if __WORDSIZE == 32 # include "magick-config-32.h" #elif __WORDSIZE == 64 # include "magick-config-64.h" #else # error "unexpected value for __WORDSIZE macro" #endif #endif EOF # Fonts must be packaged separately. It does nothave matter and demos work without it. rm PerlMagick/demo/Generic.ttf # From version around 6.7.5-6 docs go to unversioned dir. Fixing mv %{buildroot}/%{_datadir}/doc/%{name} %{buildroot}/%{_datadir}/doc/%{name}-%{VERSION} %clean rm -rf %{buildroot} %post -p /sbin/ldconfig %post c++ -p /sbin/ldconfig %postun -p /sbin/ldconfig %postun c++ -p /sbin/ldconfig %files %defattr(-,root,root,-) %doc QuickStart.txt ChangeLog Platforms.txt %doc README.txt LICENSE NOTICE AUTHORS.txt NEWS.txt %{_libdir}/libMagickCore.so.5* %{_libdir}/libMagickWand.so.5* %{_bindir}/[a-z]* %{_libdir}/%{name}-%{VERSION} %{_datadir}/%{name}-%{VERSION} %{_mandir}/man[145]/[a-z]* %{_mandir}/man1/%{name}.* %exclude %{_libdir}/%{name}-%{VERSION}/modules-Q16/coders/djvu.* %{_sysconfdir}/%{name} %files devel %defattr(-,root,root,-) %{_bindir}/MagickCore-config %{_bindir}/MagickWand-config %{_libdir}/libMagickCore.so %{_libdir}/libMagickWand.so %{_libdir}/pkgconfig/MagickCore.pc %{_libdir}/pkgconfig/ImageMagick.pc %{_libdir}/pkgconfig/MagickWand.pc %{_libdir}/pkgconfig/Wand.pc %dir %{_includedir}/%{name} %{_includedir}/%{name}/MagickCore %{_includedir}/%{name}/MagickWand %{_mandir}/man1/MagickCore-config.* %{_mandir}/man1/MagickWand-config.* %files djvu %defattr(-,root,root,-) %{_libdir}/%{name}-%{VERSION}/modules-Q16/coders/djvu.* %files doc %defattr(-,root,root,-) %doc %{_datadir}/doc/%{name}-%{VERSION} %doc LICENSE %files c++ %defattr(-,root,root,-) %doc Magick++/AUTHORS Magick++/ChangeLog Magick++/NEWS Magick++/README %doc www/Magick++/COPYING %{_libdir}/libMagick++.so.5* %files c++-devel %defattr(-,root,root,-) %doc Magick++/examples %{_bindir}/Magick++-config %{_includedir}/%{name}/Magick++ %{_includedir}/%{name}/Magick++.h %{_libdir}/libMagick++.so %{_libdir}/pkgconfig/Magick++.pc %{_libdir}/pkgconfig/ImageMagick++.pc %{_mandir}/man1/Magick++-config.* %files perl -f perl-pkg-files %defattr(-,root,root,-) %{_mandir}/man3/* %doc PerlMagick/demo/ PerlMagick/Changelog PerlMagick/README.txt %changelog * Sun May 01 2005 Cristy 1.0-0 - Port of Redhat's RPM script to support ImageMagick.