ImageMagick/ImageMagick.spec

429 lines
15 KiB
RPMSpec

#
# spec file for package ImageMagick (Version 6.5.8.9)
#
# Copyright (c) 2010 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/
#
# norootforbuild
Name: ImageMagick
BuildRequires: dcraw freetype2-devel gcc-c++ ghostscript-fonts-other ghostscript-fonts-std
BuildRequires: ghostscript-library liblcms-devel libtiff-devel libwmf-devel
BuildRequires: libxml2-devel pkgconfig
BuildRequires: fdupes libdjvulibre-devel libexif-devel libjasper-devel
Obsoletes: imagemag
Provides: imagemag
%define xtp_version 5.4.3
%define prefix /usr
%define perl_prefix /usr
License: PERMISSIVE-OSI-COMPLIANT
Group: Productivity/Graphics/Other
AutoReqProv: on
Version: 6.5.8.9
Release: 1
%define source_version 6.5.8-9
Summary: Viewer and Converter for Images
Url: http://www.imagemagick.org
Source: ImageMagick-%{source_version}.tar.bz2
Source2: xtp-%{xtp_version}.tar.bz2
Source3: baselibs.conf
Patch1: ImageMagick-%{version}-examples.patch
Patch2: ImageMagick-%{version}-doc.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%package -n perl-PerlMagick
License: Public Domain, Freeware
Requires: perl = %{perl_version} ImageMagick = %{version} libMagickCore2 = %{version}
Summary: Perl interface for ImageMagick
Group: Development/Libraries/Perl
AutoReqProv: on
%package devel
License: PERMISSIVE-OSI-COMPLIANT
Requires: ImageMagick = %{version} libMagickCore2 = %{version} libtiff-devel libjpeg-devel liblcms-devel freetype2-devel xorg-x11-devel libpng-devel bzip2 libxml2-devel libjasper libwmf-devel
Summary: Include Files and Libraries Mandatory for Development
Group: Development/Libraries/C and C++
AutoReqProv: on
%package extra
License: PERMISSIVE-OSI-COMPLIANT
Requires: ImageMagick = %{version} libMagickCore2 = %{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
AutoReqProv: on
%package -n libMagickCore2
License: PERMISSIVE-OSI-COMPLIANT
Summary: Viewer and Converter for Images - runtime library
Group: Productivity/Graphics/Other
Suggests: ImageMagick-extra = %{version}
AutoReqProv: on
%package -n libMagickWand2
License: PERMISSIVE-OSI-COMPLIANT
Summary: Viewer and Converter for Images - runtime library
Group: Productivity/Graphics/Other
AutoReqProv: on
%package -n libMagick++2
License: PERMISSIVE-OSI-COMPLIANT
Requires: ImageMagick = %{version}
Summary: C++ Interface for ImageMagick - runtime library
Group: Development/Libraries/C and C++
AutoReqProv: on
# was last used in openSUSE 10.2
Provides: ImageMagick-Magick++ = 6.3.3
Obsoletes: ImageMagick-Magick++ <= 6.3.3
%package -n libMagick++-devel
License: PERMISSIVE-OSI-COMPLIANT
Requires: ImageMagick-devel = %{version} libMagick++2 = %{version} libstdc++-devel
Summary: C++ Interface for ImageMagick - files mandatory for development
Group: Development/Libraries/C and C++
Provides: ImageMagick-Magick++-devel
Obsoletes: ImageMagick-Magick++-devel <= %{version}
AutoReqProv: on
%package doc
License: PERMISSIVE-OSI-COMPLIANT
Summary: Document Files for ImageMagick Library
Group: Development/Libraries/C and C++
Requires: ImageMagick = %{version}
%prep
rm -rf xtp-%{xtp_version}
%setup -n ImageMagick-%{source_version} -b 2
%patch1
%patch2
%build
%define system_ltdl 0
%if %system_ltdl
cp -f /usr/share/libtool/libltdl/*.{c,h} ltdl
mv ltdl/ltdl.c ltdl/ltdl.c.orig
sed -e "s:<config.h>:<magick/magick-config.h>:" ltdl/ltdl.c.orig >ltdl/ltdl.c
%endif
autoreconf --force --install -v
pushd ../xtp-%{xtp_version}
autoreconf --force --install
popd
export CFLAGS="$RPM_OPT_FLAGS -fstack-protector-all"
export CXXFLAGS="$RPM_OPT_FLAGS -fstack-protector-all"
%if %suse_version <= 1030
# openmp does not work with perl module
OPENMP="--disable-openmp"
%endif
export LDFLAGS="-L%{_libdir}"
./configure --prefix=%{prefix} --libdir=%{_libdir} \
--mandir=%{_mandir} --enable-shared --without-frozenpaths \
--with-largefiles --with-magick_plus_plus --with-modules\
--with-threads --without-perl --disable-static \
--enable-libtool-verbose --with-djvu=yes $OPENMP
make %{?jobs:-j%jobs} all
cd PerlMagick
perl Makefile.PL
make %{?jobs:-j%jobs} LD_RUN_PATH="/usr/%{_lib}:/usr/X11R6/%{_lib}"
#
cd ../../xtp-%{xtp_version}
export CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE"
export CXXFLAGS="$RPM_OPT_FLAGS"
./configure --prefix=%{prefix} --libdir=%{_libdir} --mandir=%{_mandir}
make %{?jobs:-j%jobs}
%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
%install
install -d $RPM_BUILD_ROOT/%{_defaultdocdir}/%{name}/images
make install \
DESTDIR=$RPM_BUILD_ROOT \
pkgdocdir=%{_defaultdocdir}/%{name}/
install -m 644 ChangeLog \
QuickStart.txt README.txt \
$RPM_BUILD_ROOT/%{_defaultdocdir}/%{name}/
cd PerlMagick
make DESTDIR=$RPM_BUILD_ROOT LD_RUN_PATH="/usr/%{_lib}:/usr/X11R6/%{_lib}" install_vendor
%perl_process_packlist
cd ../Magick++
rm -rf demo/{.deps,.libs,*.C,*.o,Makefile*,run_demos.bat} `find demo -type f -perm +111`
mv demo/makefile.2 demo/Makefile
cd ..
pushd ../xtp-%{xtp_version}
make DESTDIR=$RPM_BUILD_ROOT install
popd
mv -f $RPM_BUILD_ROOT/usr/share/ImageMagick*/config/* $RPM_BUILD_ROOT/%{_libdir}/ImageMagick*/config
rmdir $RPM_BUILD_ROOT/usr/share/ImageMagick*/config
mv -f $RPM_BUILD_ROOT/usr/share/ImageMagick*/* $RPM_BUILD_ROOT/%{_defaultdocdir}/%{name}/
cp -a scenes $RPM_BUILD_ROOT/%{_defaultdocdir}/%{name}/
find $RPM_BUILD_ROOT/%{_libdir} -name "*.la" -print0 | xargs -0 -r perl -spi -e "s@ -L/usr/src[^ ]*@@g;s@ /usr/lib/libltdl.la@@g"
rm -f $RPM_BUILD_ROOT/%{_libdir}/libltdl.*
rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la
%if 0%{?suse_version} > 1020
%fdupes $RPM_BUILD_ROOT/usr/include/ImageMagick/wand
%fdupes $RPM_BUILD_ROOT/usr/share/doc/packages/ImageMagick/www/api
%endif
%clean
rm -rf $RPM_BUILD_ROOT
%post -n libMagickCore2 -p /sbin/ldconfig
%postun -n libMagickCore2 -p /sbin/ldconfig
%post -n libMagickWand2 -p /sbin/ldconfig
%postun -n libMagickWand2 -p /sbin/ldconfig
%post -n libMagick++2 -p /sbin/ldconfig
%postun -n libMagick++2 -p /sbin/ldconfig
%files
%defattr(-,root,root)
%docdir %{_docdir}/%{name}
%{_docdir}/%{name}/*.txt
%{_docdir}/%{name}/ChangeLog
%{_docdir}/%{name}/LICENSE
%{prefix}/bin/[^MW]*
%doc %{_mandir}/man1/*
%files -n libMagickCore2
%defattr(-,root,root)
%dir %{_libdir}/ImageMagick*/config
%config %{_libdir}/ImageMagick*/config/*
%{_libdir}/libMagickCore.so.2*
%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
%{_libdir}/ImageMagick*/modules*/*/*.la
%files -n libMagickWand2
%defattr(-,root,root)
%{_libdir}/libMagickWand.so.2*
%files extra
%defattr(-,root,root)
%{_libdir}/ImageMagick*/modules*/*/wmf.so
%{_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 %{prefix}/include/ImageMagick
%{prefix}/include/ImageMagick/magick
%{prefix}/include/ImageMagick/wand
%{prefix}/bin/MagickCore-config
%{prefix}/bin/MagickWand-config
%{prefix}/bin/Magick-config
%{prefix}/bin/Wand-config
%{_libdir}/pkgconfig/ImageMagick.pc
%{_libdir}/pkgconfig/Wand.pc
%{_libdir}/pkgconfig/MagickCore.pc
%{_libdir}/pkgconfig/MagickWand.pc
%files -n perl-PerlMagick
%defattr(-,root,root)
%doc PerlMagick/README.txt
%doc PerlMagick/demo
/var/adm/perl-modules/ImageMagick
%doc %{_mandir}/man3/Image::Magick.3pm*
%{perl_vendorarch}/auto/Image
%{perl_vendorarch}/Image
%files -n libMagick++2
%defattr(-,root,root)
%{_libdir}/libMagick++.so.2*
%files -n libMagick++-devel
%defattr(-,root,root)
%doc Magick++/demo
%doc Magick++/NEWS Magick++/README Magick++/AUTHORS
%{_libdir}/libMagick++.so
%{prefix}/include/ImageMagick/Magick++.h
%{prefix}/include/ImageMagick/Magick++
%{prefix}/bin/Magick++-config
%{_libdir}/pkgconfig/ImageMagick++.pc
%{_libdir}/pkgconfig/Magick++.pc
%files doc
%defattr(-,root,root)
%dir %{_docdir}/%{name}
%{_docdir}/%{name}/index.html
%{_docdir}/%{name}/www
%{_docdir}/%{name}/images
%{_docdir}/%{name}/scenes
%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.
Authors:
--------
John Cristy <cristy@dupont.com>
%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.
Authors:
--------
John Cristy <cristy@dupont.com>
%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.
Authors:
--------
John Cristy <cristy@dupont.com>
%description -n libMagickCore2
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.
Authors:
--------
John Cristy <cristy@dupont.com>
%description -n libMagickWand2
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.
Authors:
--------
John Cristy <cristy@dupont.com>
%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.
Authors:
--------
John Cristy <cristy@dupont.com>
%description -n libMagick++2
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.
Authors:
--------
Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
%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.
Authors:
--------
Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
%description doc
HTML documentation for ImageMagick library and scene examples.
%changelog