Accepting request 519613 from home:scarabeus_iv:branches:graphics

- Sort the header with spec-cleaner and convert the deps to .pc ones
- Drop --with-pic, applies to static library only
- Add --disable-silent-rules to see the compilation output in log
- Fix graphviz/lcms options to match configure ones
- Remove indirect-reads switch not present in configure.ac at all

OBS-URL: https://build.opensuse.org/request/show/519613
OBS-URL: https://build.opensuse.org/package/show/graphics/ImageMagick?expand=0&rev=297
This commit is contained in:
Petr Gajdos 2017-08-30 08:09:59 +00:00 committed by Git OBS Bridge
parent f5abf2008f
commit a32f97a7c7
2 changed files with 81 additions and 84 deletions

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Mon Aug 28 16:48:28 UTC 2017 - tchvatal@suse.com
- Sort the header with spec-cleaner and convert the deps to .pc ones
- Drop --with-pic, applies to static library only
- Add --disable-silent-rules to see the compilation output in log
- Fix graphviz/lcms options to match configure ones
- Remove indirect-reads switch not present in configure.ac at all
-------------------------------------------------------------------
Mon Aug 28 15:06:48 UTC 2017 - pgajdos@suse.com

View File

@ -16,43 +16,6 @@
#
Name: ImageMagick
BuildRequires: autoconf >= 2.69
BuildRequires: chrpath
BuildRequires: dcraw
BuildRequires: dejavu-fonts
BuildRequires: dos2unix
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
BuildRequires: liblqr-devel
BuildRequires: librsvg-devel
BuildRequires: libtiff-devel >= 4.0.3
BuildRequires: libtool
BuildRequires: libwebp-devel
BuildRequires: libwmf-devel
BuildRequires: libxml2-devel
BuildRequires: lzma-devel
BuildRequires: mupdf-devel-static
BuildRequires: openexr-devel
BuildRequires: openjpeg2-devel >= 2.1.0
BuildRequires: p7zip
BuildRequires: pango-devel
BuildRequires: pkgconfig
BuildRequires: xdg-utils
BuildRequires: xz
BuildRequires: zip
%define maj 7
%define mfr_version %{maj}.0.6
%define mfr_revision 7
@ -62,6 +25,7 @@ BuildRequires: zip
%define cwandver 3
%define cxxlibver 3
%define libspec -%{maj}_Q%{quantum_depth}HDRI
Name: ImageMagick
Version: %{mfr_version}.%{mfr_revision}
Release: 0
Summary: Viewer and Converter for Images
@ -77,32 +41,71 @@ Patch0: ImageMagick-disable-insecure-coders.patch
# workaround, see https://github.com/ImageMagick/ImageMagick/issues/439
Patch1: ImageMagick-relax-filter.t.patch
Patch2: ImageMagick-library-installable-in-parallel.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: autoconf >= 2.69
BuildRequires: chrpath
BuildRequires: dcraw
BuildRequires: dejavu-fonts
BuildRequires: dos2unix
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: libjasper-devel
BuildRequires: libjbig-devel
BuildRequires: libjpeg-devel
BuildRequires: libtool
BuildRequires: libwmf-devel
BuildRequires: lzma-devel
BuildRequires: mupdf-devel-static
BuildRequires: p7zip
BuildRequires: pkgconfig
BuildRequires: xdg-utils
BuildRequires: xz
BuildRequires: zip
BuildRequires: pkgconfig(OpenEXR)
BuildRequires: pkgconfig(bzip2)
BuildRequires: pkgconfig(ddjvuapi)
BuildRequires: pkgconfig(fftw3)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(ijs)
BuildRequires: pkgconfig(lcms2)
BuildRequires: pkgconfig(libexif)
BuildRequires: pkgconfig(libopenjp2) >= 2.1.0
BuildRequires: pkgconfig(librsvg-2.0)
BuildRequires: pkgconfig(libtiff-4) >= 4.0.3
BuildRequires: pkgconfig(libwebp)
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(lqr-1)
BuildRequires: pkgconfig(pango)
%package -n perl-PerlMagick
Summary: Perl interface for ImageMagick
Group: Development/Libraries/Perl
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}%{cwandver} = %{version}
Summary: Include Files and Libraries Mandatory for Development
Group: Development/Libraries/C and C++
Requires: ImageMagick = %{version}
Requires: glibc-devel
Requires: libMagickCore%{libspec}%{clibver} = %{version}
Requires: libMagickWand%{libspec}%{cwandver} = %{version}
# bnc#741947:
Requires: libbz2-devel
Requires: pkgconfig(bzip2)
%package extra
Summary: Viewer and Converter for Images - extra codecs
Group: Productivity/Graphics/Other
Requires: ImageMagick = %{version}
Requires: libMagickCore%{libspec}%{clibver} = %{version}
Summary: Viewer and Converter for Images - extra codecs
#delegates configured in delegates.xml that imagemagick can use
Group: Productivity/Graphics/Other
Recommends: autotrace dcraw transfig ghostscript_any hp2xx netpbm ghostpcl libwmf
Recommends: autotrace
Recommends: dcraw
Recommends: ghostpcl
Recommends: ghostscript_any
Recommends: hp2xx
Recommends: libwmf
Recommends: netpbm
Recommends: transfig
%package -n libMagickCore%{libspec}%{clibver}
Summary: Viewer and Converter for Images - runtime library
@ -114,16 +117,16 @@ 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++
Requires: ImageMagick
%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++
Requires: libMagick++%{libspec}%{cxxlibver} = %{version}
Requires: libstdc++-devel
Requires: pkgconfig(ImageMagick) = %{version}
%package doc
Summary: Document Files for ImageMagick Library
@ -238,18 +241,18 @@ export MODULES_DIRNAME="modules%{libspec}%{clibver}"
export SHAREARCH_DIRNAME="config%{libspec}%{clibver}"
export CONFIGURE_RELATIVE_PATH="ImageMagick%{libspec}%{clibver}"
%configure \
--with-pic \
--disable-silent-rules \
--enable-shared \
--without-frozenpaths \
--with-magick_plus_plus \
--with-modules \
--with-threads \
--with-perl \
--with-perl-options="INSTALLDIRS=vendor %{?perl_prefix} CC='%__cc -L$PWD/magick/.libs' LDDLFLAGS='-shared -L$PWD/magick/.libs'" \
--with-perl-options="INSTALLDIRS=vendor %{?perl_prefix} CC='gcc -L$PWD/magick/.libs' LDDLFLAGS='-shared -L$PWD/magick/.libs'" \
--disable-static \
--with-graphviz \
--with-gvc \
--with-djvu \
--with-lcms2 \
--with-lcms \
--with-jbig \
--with-openjp2 \
--with-openexr \
@ -259,7 +262,6 @@ export CONFIGURE_RELATIVE_PATH="ImageMagick%{libspec}%{clibver}"
--with-quantum-depth=%{quantum_depth} \
--without-gcc-arch \
--enable-pipes=no \
--enable-indirect-reads=no \
--enable-reproducible-build=yes
# don't build together, PerlMagick could be miscompiled when using parallel build[1]
# [1] http://pkgs.fedoraproject.org/cgit/ImageMagick.git/tree/ImageMagick.spec
@ -274,7 +276,7 @@ dos2unix www/api/*.php
chmod -x PerlMagick/demo/*.pl
%check
make check
make %{?_smp_mflags} check
export MAGICK_CODER_MODULE_PATH=$PWD/coders/.libs
export MAGICK_CODER_FILTER_PATH=$PWD/filters/.libs
export MAGICK_CONFIGURE_PATH=$PWD/config
@ -284,11 +286,11 @@ cd PerlMagick
# checksums
rm t/montage.t
%endif
make test
make %{?_smp_mflags} test
cd ..
%install
%{__make} install \
make install \
DESTDIR=%{buildroot} \
pkgdocdir=%{_defaultdocdir}/%{name}-%{maj}/
# symlink header file relative to /usr/include/ImageMagick-7/
@ -297,10 +299,10 @@ ln -s ./MagickCore %{buildroot}%{_includedir}/%{name}-%{maj}/magick
ln -s ./MagickWand %{buildroot}%{_includedir}/%{name}-%{maj}/wand
# these will be included via %doc
rm -r %{buildroot}%{_datadir}/doc/%{name}-%{maj}/
mv -t %{buildroot}%{_sysconfdir}/%{name}* %{buildroot}%{_datadir}/%{name}*/*.xml
mv -t %{buildroot}%{_sysconfdir}/%{name}* %{buildroot}%{_datadir}/%{name}*/*.xml
rm %{buildroot}%{_libdir}/*.la
# remove RPATH from perl module
perl_module=$(find %{buildroot}/usr/lib/perl5 -name '*.so')
perl_module=$(find %{buildroot}%{_prefix}/lib/perl5 -name '*.so')
chmod 755 $perl_module
chrpath -d $perl_module
chmod 555 $perl_module
@ -313,29 +315,23 @@ sed -i 's:%{buildroot}::' %{buildroot}/%{_libdir}/ImageMagick-%{mfr_version}/con
%perl_process_packlist
%post -n libMagickCore%{libspec}%{clibver} -p /sbin/ldconfig
%postun -n libMagickCore%{libspec}%{clibver} -p /sbin/ldconfig
%post -n libMagickWand%{libspec}%{cwandver} -p /sbin/ldconfig
%postun -n libMagickWand%{libspec}%{cwandver} -p /sbin/ldconfig
%post -n libMagick++%{libspec}%{cxxlibver} -p /sbin/ldconfig
%postun -n libMagick++%{libspec}%{cxxlibver} -p /sbin/ldconfig
%files
%defattr(-,root,root)
%doc LICENSE ChangeLog NEWS.txt
%{_bindir}/[^MW]*
%doc %{_mandir}/man1/*
%exclude %{_mandir}/man1/*-config.1.gz
%{_mandir}/man1/*
%exclude %{_mandir}/man1/*-config.1%{ext_man}
%files -n libMagickCore%{libspec}%{clibver}
%defattr(-,root,root)
%doc LICENSE ChangeLog NEWS.txt
%{_libdir}/libMagickCore*.so.%{clibver}*
%dir %{_sysconfdir}/ImageMagick*
%config %{_sysconfdir}/ImageMagick*/*
%{_libdir}/libMagickCore*.so.%{clibver}*
%dir %{_libdir}/ImageMagick*
%dir %{_libdir}/ImageMagick*/modules*
%dir %{_libdir}/ImageMagick*/modules*/*
@ -348,21 +344,17 @@ sed -i 's:%{buildroot}::' %{buildroot}/%{_libdir}/ImageMagick-%{mfr_version}/con
%{_libdir}/ImageMagick*/config*
%files -n libMagickWand%{libspec}%{cwandver}
%defattr(-,root,root)
%{_libdir}/libMagickWand*.so.%{cwandver}*
%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*
@ -375,23 +367,20 @@ sed -i 's:%{buildroot}::' %{buildroot}/%{_libdir}/ImageMagick-%{mfr_version}/con
%{_libdir}/pkgconfig/MagickCore*.pc
%{_libdir}/pkgconfig/ImageMagick*.pc
%{_libdir}/pkgconfig/MagickWand*.pc
%doc %{_mandir}/man1/*-config.1.gz
%exclude %{_mandir}/man1/Magick++-config.1.gz
%{_mandir}/man1/*-config.1%{ext_man}
%exclude %{_mandir}/man1/Magick++-config.1%{ext_man}
%files -n perl-PerlMagick
%defattr(-,root,root,-)
%doc PerlMagick/README.txt
%doc PerlMagick/examples
%doc %{_mandir}/man3/*
%{_mandir}/man3/*
%{perl_vendorarch}/auto/Image
%{perl_vendorarch}/Image
%files -n libMagick++%{libspec}%{cxxlibver}
%defattr(-,root,root)
%{_libdir}/libMagick++*.so.%{cxxlibver}*
%files -n libMagick++-devel
%defattr(-,root,root)
%doc Magick++/examples
%doc Magick++/NEWS Magick++/README Magick++/AUTHORS
%{_libdir}/libMagick++*.so
@ -399,10 +388,9 @@ sed -i 's:%{buildroot}::' %{buildroot}/%{_libdir}/ImageMagick-%{mfr_version}/con
%{_includedir}/ImageMagick*/Magick++
%{_bindir}/Magick++-config
%{_libdir}/pkgconfig/Magick++*.pc
%doc %{_mandir}/man1/Magick++-config.1.gz
%{_mandir}/man1/Magick++-config.1%{ext_man}
%files doc
%defattr(-,root,root)
%{_defaultdocdir}/%{name}-%{maj}
%changelog