# ImageMagick has adopted a new Version.Patchlevel version numbering system... # 5.4.0.3 is actually version 5.4.0, Patchlevel 3. %define VER 6.2.5 %define Patchlevel 4 Summary: An X application for displaying and manipulating images. Name: ImageMagick %if "%{Patchlevel}" != "" Version: %{VER}.%{Patchlevel} %else Version: %{VER} %endif Release: 7 License: freeware Group: Applications/Multimedia %if "%{Patchlevel}" != "" Source: ftp://ftp.ImageMagick.org/pub/ImageMagick/ImageMagick-%{VER}-%{Patchlevel}.tar.bz2 %else Source: ftp://ftp.ImageMagick.org/pub/ImageMagick/ImageMagick-%{version}.tar.bz2 %endif Source1: magick_small.png Patch1: ImageMagick-6.2.1-local_doc.patch Patch2: ImageMagick-6.2.5-format-string-again.patch Patch3: ImageMagick-6.2.5-yet-another-overflow.patch Patch4: ImageMagick-6.2.5-multilib.patch Url: http://www.imagemagick.org/ Buildroot: %{_tmppath}/%{name}-%{version}-root BuildPrereq: bzip2-devel, freetype-devel, libjpeg-devel, libpng-devel BuildPrereq: libtiff-devel, libungif-devel, zlib-devel, perl BuildRequires: freetype-devel >= 2.0.1 BuildRequires: automake >= 1.7 autoconf >= 2.58 libtool >= 1.5 BuildRequires: ghostscript-devel BuildRequires: libwmf-devel BuildRequires: libX11-devel, libXext-devel, libXt-devel %description ImageMagick(TM) 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 dis play 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: Static libraries 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: libtiff-devel Requires: libjpeg-devel Requires: lcms-devel Requires: pkgconfig %description devel ImageMagick-devel contains the static libraries 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 perl Summary: ImageMagick perl bindings Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} Requires: perl >= 5.6.0 %define perl_vendorarch %(perl -MConfig -le 'print $Config{installvendorarch}') Prereq: %{perl_vendorarch} %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} Requires: %{name}-devel = %{version} %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}-%{VER} %patch1 -p1 -b .local_doc %patch2 -p1 -b .format-string-again %patch3 -p1 -b .yet-another-overflow %patch4 -p1 -b .multilib %build %configure --enable-shared \ --with-modules \ --with-perl \ --with-x \ --with-threads \ --with-magick_plus_plus \ --with-gslib \ --with-wmf \ --with-perl-options="INSTALLDIRS=vendor %{?perl_prefix} CC='%__cc -L$PWD/magick/.libs' LDDLFLAGS='-shared -L$PWD/magick/.libs'" \ --with-windows-font-dir=%{_datadir}/fonts/default/TrueType \ --without-dps make %install rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT # perlmagick: fix perl path of demo files %{__perl} -MExtUtils::MakeMaker -e 'MY->fixin(@ARGV)' PerlMagick/demo/*.pl find $RPM_BUILD_ROOT -name "*.bs" |xargs rm -f find $RPM_BUILD_ROOT -name ".packlist" |xargs rm -f find $RPM_BUILD_ROOT -name "perllocal.pod" |xargs rm -f # perlmagick: build files list echo "%defattr(-,root,root)" > perl-pkg-files find $RPM_BUILD_ROOT/%{_libdir}/perl* -type f -print \ | sed "s@^$RPM_BUILD_ROOT@@g" > perl-pkg-files find $RPM_BUILD_ROOT%{perl_vendorarch} -type d -print \ | sed "s@^$RPM_BUILD_ROOT@%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 rm -rf $RPM_BUILD_ROOT%{_libdir}/ImageMagick # Keep config rm -rf $RPM_BUILD_ROOT%{_datadir}/%{name}-%{VER}/[a-b,d-z,A-Z]* rm -rf $RPM_BUILD_ROOT%{_libdir}/libltdl.* rm -f $RPM_BUILD_ROOT%{_libdir}/ImageMagick-*/modules*/*/*.a rm -f $RPM_BUILD_ROOT%{_libdir}/*.{a,la} # fix multilib issues %ifarch x86_64 s390x ia64 ppc64 %define wordsize 64 %else %define wordsize 32 %endif mv $RPM_BUILD_ROOT%{_includedir}/magick/magick-config.h \ $RPM_BUILD_ROOT%{_includedir}/magick/magick-config-%{wordsize}.h cat >$RPM_BUILD_ROOT%{_includedir}/magick/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 %clean rm -rf $RPM_BUILD_ROOT %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 NEWS %attr(755,root,root) %{_libdir}/libMagick.so.* %attr(755,root,root) %{_libdir}/libWand.so.* %{_bindir}/[a-z]* %{_libdir}/ImageMagick* %{_datadir}/ImageMagick* %{_mandir}/man[145]/[a-z]* %{_mandir}/man1/ImageMagick.* %{_datadir}/doc/ImageMagick* %files devel %defattr(-,root,root) %{_bindir}/Magick-config %{_bindir}/Wand-config %{_libdir}/libMagick.so %{_libdir}/libWand.so %{_libdir}/pkgconfig/ImageMagick.pc %{_libdir}/pkgconfig/Wand.pc %{_includedir}/magick %{_includedir}/wand %{_mandir}/man1/Magick-config.* %{_mandir}/man1/Wand-config.* %files c++ %defattr(-,root,root) %{_libdir}/libMagick++.so.* %files c++-devel %defattr(-,root,root) %{_bindir}/Magick++-config %{_includedir}/Magick++ %{_includedir}/Magick++.h %{_libdir}/libMagick++.so %{_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 * Fri Jun 2 2006 Matthias Clasen - 6.2.5.4-7 - Fix multilib issues * Thu May 25 2006 Matthias Clasen - 6.2.5.4-6 - Fix a heap overflow CVE-2006-2440 (#192279) - Include required .la files * Mon Mar 20 2006 Matthias Clasen - 6.2.5.4-5 - Don't ship .la and .a files (#185237) * Mon Feb 13 2006 Jesse Keating - 6.2.5.4-4.2.1 - rebump for build order issues during double-long bump * Fri Feb 10 2006 Jesse Keating - 6.2.5.4-4.2 - bump again for double-long bug on ppc(64) * Tue Feb 07 2006 Jesse Keating - 6.2.5.4-4.1 - rebuilt for new gcc4.1 snapshot and glibc changes * Mon Jan 30 2006 Matthias Clasen 6.2.5.4-4 - Make -devel require lcms-devel (#179200) * Mon Jan 23 2006 Matthias Clasen 6.2.5.4-3 - Fix linking of DSOs. (#176695) * Mon Jan 9 2006 Matthias Clasen 6.2.5.4-2 - fix a format string vulnerability (CVE-2006-0082) * Fri Dec 09 2005 Jesse Keating - rebuilt * Tue Nov 1 2005 Matthias Clasen 6.2.5.4-1 - Switch requires to modular X - Update to 6.2.5 * Tue Sep 20 2005 Matthias Clasen 6.2.4.6-1 - Update to 6.2.4-6 - Drop upstreamed patches - Disable DPS (#158984) - Add missing requires (#165931) * Thu Jun 9 2005 Tim Waugh 6.2.2.0-4 - Rebuilt for fixed ghostscript. * Mon Jun 6 2005 Tim Waugh 6.2.2.0-3 - Rebuilt for new ghostscript. * Thu May 26 2005 - 6.2.2.0-2 - fix a denial of service in the xwd coder (#158791, CAN-2005-1739) * Tue Apr 26 2005 Matthias Clasen - 6.2.2.0-1 - Update to 6.2.2 to fix a heap corruption issue in the pnm coder. * Mon Apr 25 2005 Matthias Clasen - 6.2.1.7-4 - .la files for modules are needed, actually * Mon Apr 25 2005 Matthias Clasen - 6.2.1.7-3 - Really remove .la files for modules * Mon Apr 25 2005 - 6.2.1.7-1 - Update to 6.2.1 - Include multiple improvements and bugfixes by Rex Dieter et al (111961, 145466, 151196, 149970, 146518, 113951, 145449, 144977, 144570, 139298) * Sun Apr 24 2005 - 6.2.0.7-3 - Make zip compression work for tiff (#154045) * Wed Mar 16 2005 - 6.2.0.7-2 - Update to 6.2.0 to fix a number of security issues: #145112 (CAN-2005-05), #151265 (CAN-2005-0397) - Drop a lot of upstreamed patches * Wed Mar 2 2005 Matthias Clasen 6.0.7.1-7 - rebuild with gcc4 - remove an extraneous vsnprintf prototype which causes gcc4 to complain * Mon Oct 11 2004 Tim Waugh 6.0.7.1-4 - The devel subpackage requires XFree86-devel (bug #126509). - Fixed build requirements (bug #120776). From Robert Scheck. * Tue Sep 14 2004 Karsten Hopp 6.0.7.1-3 - move *.mgk files (#132007, #131708, #132397) * Sun Sep 12 2004 Karsten Hopp 6.0.7.1-1 - update to 6.0.7 Patchlevel 1, fixes #132106 * Sat Sep 4 2004 Bill Nottingham 6.0.6.2-2 - move libWand out of -devel, fix requirements (#131767) * Wed Sep 01 2004 Karsten Hopp 6.0.6.2-1 - update to latest stable version - get rid of obsolete patches - fix remaining patches * Sat Jun 19 2004 Alan Cox - Easyfixes (#124791) - fixed missing dependancy between -devel and libexif-devel * Tue Jun 15 2004 Elliot Lee - rebuilt * Tue Mar 23 2004 Karsten Hopp 5.5.7.15-1.3 - freetype patch to fix convert (#115716) * Tue Mar 02 2004 Elliot Lee - rebuilt * Fri Feb 13 2004 Elliot Lee - rebuilt * Sun Jan 25 2004 Nils Philippsen 5.5.7.15-0.2 - make perl module link against the built library instead of the installed one * Thu Jan 22 2004 Nils Philippsen 5.5.7.15-0.1 - version 5.5.7 patchlevel 15 * Mon Oct 13 2003 Nils Philippsen 5.5.7.10-0.1 - rebuild with release 0.1 to not block an official update package * Wed Sep 10 2003 Nils Philippsen 5.5.7.10-2 - hack around libtool stupidity - disable automake patch as we require automake-1.7 anyway * Wed Sep 10 2003 Nils Philippsen 5.5.7.10-1 - version 5.5.7 patchlevel 10 * Wed Jun 04 2003 Elliot Lee - rebuilt * Thu May 29 2003 Tim Powers %{nil}-4 - rebuild for RHEL to fix broken deps * Thu May 15 2003 Tim Powers 5.5.6-3 - rebuild again to fix broken dep on libMagick.so.5 * Mon May 12 2003 Karsten Hopp 5.5.6-2 - rebuild * Fri May 09 2003 Karsten Hopp 5.5.6-1 - update - specfile fixes #63897 (_target instead of _arch) #74521 (SRPM doesn't compile) #80441 (RFE: a newer version of ImageMagick is available) #88450 (-devel package missing dependancy) #57396 (convert won't read RAW format images) - verified that the upstream version fixes the following bugreports: #57544 (display cannot handle many xpm's which both ee and rh71 display can) #63727 (ImageMagick fails to handle RGBA files) #73864 (composite dumps core on certain operations) #78242 (Header files for c missing in devel rpms) #79783 (magick_config.h is missing from ImageMagick-c++-devel) #80117 (Documentation is installed twice by RPM ) #82762 (Trouble with browsing help files) #85760 (Segmentation fault) #86120 (eps->ppm convert crashes) * Wed Jan 22 2003 Tim Powers - rebuilt * Sat Jan 4 2003 Jeff Johnson 5.4.7-9 - use internal dep generator. * Mon Dec 16 2002 Tim Powers 5.4.7-8 - rebuild * Sat Dec 14 2002 Tim Powers 5.4.7-7 - don't use rpms internal dep generator * Fri Nov 22 2002 Tim Powers - fix perl paths in file list * Thu Nov 21 2002 Tim Powers - lib64'ize - don't throw stuff in /usr/X11R6, that's for X only - remove files we aren't shipping * Sat Aug 10 2002 Elliot Lee - rebuilt with gcc-3.2 (we hope) * Tue Jul 23 2002 Tim Powers 5.4.7-4 - build using gcc-3.2-0.1 * Wed Jul 03 2002 Karsten Hopp 5.4.7-3 - fix non-cpp headers in -devel package - fix #62157 (wrong path for include files in ImageMagick-devel) - fix #63897 (use _target instead of _arch) in libtool workaround - fix #65860, #65780 (tiff2ps) expands images to >10 MB Postscript files. * Mon Jul 01 2002 Karsten Hopp 5.4.7-1 - update - fix localdoc patch - fix %%files section - disable nonroot patch - fix #62100,55950,62162,63136 (display doesn't start form gnome menu) - fix libtool workaround - moved Magick*-config into -devel package (#64249) * Sun May 26 2002 Tim Powers - automated rebuild * Mon May 6 2002 Bernhard Rosenkraenzer 5.4.6-1 - 5.4.6 * Thu Mar 14 2002 Bernhard Rosenkraenzer 5.4.3.11-1 - Update to pl 11 * Fri Feb 22 2002 Bernhard Rosenkraenzer 5.4.3.5-1 - Update to 5.4.3 pl5; this fixes #58080 * Thu Jan 17 2002 Bernhard Rosenkraenzer 5.4.2.3-1 - Patchlevel 3 * Wed Jan 09 2002 Tim Powers - automated rebuild * Fri Jan 4 2002 Bernhard Rosenkraenzer 5.4.2.2-1 - Update to 5.4.2-2 - Fix #57923, also don't hardcode netscape as html viewer * Wed Dec 5 2001 Bernhard Rosenkraenzer 5.4.1-1 - 5.4.1 - Link against new libstdc++ * Fri Nov 9 2001 Bernhard Rosenkraenzer 5.4.0.5-1 - 5.4.0.5 - Make the error message when trying to display an hpgl file more explicit (#55875) * Mon Nov 5 2001 Bernhard Rosenkraenzer 5.4.0.3-1 - 5.4.0.3 - Fix names of man pages * Mon Oct 22 2001 Bernhard Rosenkraenzer 5.4.0-1 - 5.4.0 - work around build system breakage causing applications to be named %{_arch}-redhat-linux-foo rather than foo * Wed Sep 19 2001 Bernhard Rosenkraenzer 5.3.9-1 - 5.3.9 * Mon Aug 27 2001 Bernhard Rosenkraenzer 5.3.8-3 - Add delegates.mgk back, got lost during the update to 5.3.8 (Makefile bug) (#52611) * Mon Aug 20 2001 Bernhard Rosenkraenzer 5.3.8-2 - Remove Magick++ includes from -devel, they're already in -c++-devel (#51590) * Sun Jul 28 2001 Bernhard Rosenkraenzer 5.3.8-1 - 5.3.8 (bugfix release) * Sat Jul 27 2001 Than Ngo 5.3.7-3 - fix to build Perlmagic on s390 s390x * Thu Jul 26 2001 Bernhard Rosenkraenzer 5.3.7-2 - Add delegates.mgk to the package (#50725) * Tue Jul 24 2001 Bernhard Rosenkraenzer 5.3.7-1 - 5.3.7 - Fix build without previously installed ImageMagick-devel (#49816) - Move perl bindings to a separate package. * Mon Jul 9 2001 Bernhard Rosenkraenzer 5.3.6-2 - Fix build as non-root again - Shut up rpmlint * Tue Jul 3 2001 Bernhard Rosenkraenzer 5.3.6-1 - 5.3.6 - Get rid of the ia64 patch, it's no longer needed since glibc was fixed * Sat Jun 16 2001 Than Ngo - update to 5.3.5 - cleanup specfile * Sat May 19 2001 Bernhard Rosenkraenzer 5.3.3-2 - 5.3.3-respin, fixes #41196 * Tue May 1 2001 Bernhard Rosenkraenzer 5.3.3-1 - 5.3.3 - Add a desktop file for "display" (RFE#17417) * Sun Apr 15 2001 Bernhard Rosenkraenzer - 5.3.2 - work around bugs in ia64 glibc headers * Mon Jan 08 2001 Florian La Roche - remove patch for s390, it is not necessary * Mon Jan 1 2001 Bernhard Rosenkraenzer - 5.2.7 * Wed Dec 27 2000 Bernhard Rosenkraenzer - 5.2.6 * Mon Dec 18 2000 Than Ngo - ported to s390 * Mon Sep 25 2000 Bernhard Rosenkraenzer - 5.2.4 - Fix up and package the C++ bindings in the new c++/c++-devel packages. * Wed Aug 2 2000 Matt Wilson - rebuild against new libpng * Wed Jul 19 2000 Nalin Dahyabhai - include images with docs (#10312) * Thu Jul 13 2000 Matt Wilson - don't build with -ggdb, use -g instead. * Wed Jul 12 2000 Prospector - automatic rebuild * Mon Jul 3 2000 Florian La Roche - update to 5.2.2 beta * Mon Jul 3 2000 Florian La Roche - update to 5.2.1, redone patches as they failed * Fri Jun 30 2000 Matt Wilson - remove hacks to move perl man pages - don't include the perl*/man stuff, these files go in /usr/share/man now. * Thu Jun 15 2000 Nalin Dahyabhai - disable optimization on Alpha and Sparc * Wed Jun 14 2000 Nalin Dahyabhai - update to 5.2.0 - update URL - remove redundant CXXFLAGS=$RPM_OPT_FLAGS * Thu Jun 1 2000 Matt Wilson - bootstrap rebuilt to nuke broken libbz2 deps - add Prefix: tag such that the FHS macros work properly * Wed May 17 2000 Trond Eivind Glomsrød - now compiles with bzip2 1.0 - changed buildroot to include version * Fri May 5 2000 Bill Nottingham - fix compilation with new perl * Sat Mar 18 2000 Bernhard Rosenkraenzer - 5.1.1 * Thu Feb 3 2000 Bernhard Rosenkraenzer - Rebuild to get compressed man pages * Thu Nov 18 1999 Michael K. Johnson - ugly hack to print with lpr instead of lp * Mon Aug 30 1999 Bill Nottingham - update to 4.2.9 * Tue Aug 17 1999 Bill Nottingham - update to 4.2.8 * Fri Apr 09 1999 Cristian Gafton - include the perl man pages as well * Tue Apr 06 1999 Michael K. Johnson - remove --enable-16bit because it damages interoperability * Mon Apr 5 1999 Bill Nottingham - update to 4.2.2 - change ChangeLog to refer to actual dates. - strip binaries * Thu Apr 1 1999 Bill Nottingham - add more files. Oops. * Sun Mar 21 1999 Cristian Gafton - auto rebuild in the new build environment (release 2) * Wed Mar 10 1999 Bill Nottingham - version 4.2.1 * Tue Jan 19 1999 Michael K. Johnson - changed group * Tue Jan 19 1999 Cristian Gafton - hacks to make it work with the new perl - version 4.1.0 (actually installs the sonames as 4.0.10... doh!) - make sure the libraries have the x bit on * Wed Jun 10 1998 Prospector System - translations modified for de, fr * Thu May 07 1998 Prospector System - translations modified for de, fr, tr * Tue Apr 21 1998 Cristian Gafton - updated to 4.0.5 * Wed Apr 08 1998 Cristian Gafton - updated to 4.0.4 - added BuildRoot * Thu Oct 23 1997 Donnie Barnes - updated from 3.8.3 to 3.9.1 - removed PNG patch (appears to be fixed) * Wed Oct 15 1997 Erik Troan - build against new libpng * Thu Jul 10 1997 Erik Troan - built against glibc * Thu Mar 20 1997 Michael Fulbright - updated to version 3.8.3. - updated source and url tags.