Accepting request 519920 from graphics

- fix previous submission
- remove ghostscript recommends

- 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

- another attempt to make a libMagickCore* version installable with
  another version [bsc#1054659]
  + ImageMagick-library-installable-in-parallel.patch

OBS-URL: https://build.opensuse.org/request/show/519920
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ImageMagick?expand=0&rev=142
This commit is contained in:
Dominique Leuenberger 2017-09-07 20:08:21 +00:00 committed by Git OBS Bridge
commit d6f9e51129
3 changed files with 114 additions and 85 deletions

View File

@ -0,0 +1,15 @@
Index: ImageMagick-7.0.6-7/configure
===================================================================
--- ImageMagick-7.0.6-7.orig/configure 2017-08-12 15:28:32.000000000 +0200
+++ ImageMagick-7.0.6-7/configure 2017-08-28 16:56:48.177815147 +0200
@@ -34903,7 +34903,9 @@ fi
# Subdirectory to place architecture-dependent configuration files
-CONFIGURE_RELATIVE_PATH="${PACKAGE_NAME}-${MAGICK_MAJOR_VERSION}"
+if test "x$CONFIGURE_RELATIVE_PATH" = "x"; then
+ CONFIGURE_RELATIVE_PATH="${PACKAGE_NAME}-${MAGICK_MAJOR_VERSION}"
+fi
cat >>confdefs.h <<_ACEOF
#define CONFIGURE_RELATIVE_PATH "$CONFIGURE_RELATIVE_PATH"

View File

@ -1,3 +1,25 @@
-------------------------------------------------------------------
Thu Aug 31 11:51:46 UTC 2017 - pgajdos@suse.com
- fix previous submission
- remove ghostscript recommends
-------------------------------------------------------------------
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
- another attempt to make a libMagickCore* version installable with
another version [bsc#1054659]
+ ImageMagick-library-installable-in-parallel.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Aug 14 10:41:56 UTC 2017 - pgajdos@suse.com Mon Aug 14 10:41:56 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 maj 7
%define mfr_version %{maj}.0.6 %define mfr_version %{maj}.0.6
%define mfr_revision 7 %define mfr_revision 7
@ -62,6 +25,7 @@ BuildRequires: zip
%define cwandver 3 %define cwandver 3
%define cxxlibver 3 %define cxxlibver 3
%define libspec -%{maj}_Q%{quantum_depth}HDRI %define libspec -%{maj}_Q%{quantum_depth}HDRI
Name: ImageMagick
Version: %{mfr_version}.%{mfr_revision} Version: %{mfr_version}.%{mfr_revision}
Release: 0 Release: 0
Summary: Viewer and Converter for Images Summary: Viewer and Converter for Images
@ -76,32 +40,70 @@ Source3: ImageMagick.keyring
Patch0: ImageMagick-disable-insecure-coders.patch Patch0: ImageMagick-disable-insecure-coders.patch
# workaround, see https://github.com/ImageMagick/ImageMagick/issues/439 # workaround, see https://github.com/ImageMagick/ImageMagick/issues/439
Patch1: ImageMagick-relax-filter.t.patch Patch1: ImageMagick-relax-filter.t.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build Patch2: ImageMagick-library-installable-in-parallel.patch
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 %package -n perl-PerlMagick
Summary: Perl interface for ImageMagick
Group: Development/Libraries/Perl
Requires: ImageMagick = %{version} Requires: ImageMagick = %{version}
Requires: libMagickCore%{libspec}%{clibver} = %{version} Requires: libMagickCore%{libspec}%{clibver} = %{version}
Requires: perl = %{perl_version} Requires: perl = %{perl_version}
Summary: Perl interface for ImageMagick
Group: Development/Libraries/Perl
%package devel %package devel
Requires: ImageMagick = %{version}
Requires: libMagickCore%{libspec}%{clibver} = %{version}
Requires: libMagickWand%{libspec}%{cwandver} = %{version}
Summary: Include Files and Libraries Mandatory for Development Summary: Include Files and Libraries Mandatory for Development
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: ImageMagick = %{version}
Requires: glibc-devel Requires: glibc-devel
Requires: libMagickCore%{libspec}%{clibver} = %{version}
Requires: libMagickWand%{libspec}%{cwandver} = %{version}
# bnc#741947: # bnc#741947:
Requires: libbz2-devel Requires: pkgconfig(bzip2)
%package extra %package extra
Summary: Viewer and Converter for Images - extra codecs
Group: Productivity/Graphics/Other
Requires: ImageMagick = %{version} Requires: ImageMagick = %{version}
Requires: libMagickCore%{libspec}%{clibver} = %{version} Requires: libMagickCore%{libspec}%{clibver} = %{version}
Summary: Viewer and Converter for Images - extra codecs Recommends: autotrace
#delegates configured in delegates.xml that imagemagick can use Recommends: dcraw
Group: Productivity/Graphics/Other Recommends: hp2xx
Recommends: autotrace dcraw transfig ghostscript_any hp2xx netpbm ghostpcl libwmf Recommends: libwmf
Recommends: netpbm
Recommends: transfig
%package -n libMagickCore%{libspec}%{clibver} %package -n libMagickCore%{libspec}%{clibver}
Summary: Viewer and Converter for Images - runtime library Summary: Viewer and Converter for Images - runtime library
@ -113,16 +115,16 @@ Summary: Viewer and Converter for Images - runtime library
Group: Productivity/Graphics/Other Group: Productivity/Graphics/Other
%package -n libMagick++%{libspec}%{cxxlibver} %package -n libMagick++%{libspec}%{cxxlibver}
Requires: ImageMagick
Summary: C++ Interface for ImageMagick - runtime library Summary: C++ Interface for ImageMagick - runtime library
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: ImageMagick
%package -n libMagick++-devel %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 Summary: C++ Interface for ImageMagick - files mandatory for development
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: libMagick++%{libspec}%{cxxlibver} = %{version}
Requires: libstdc++-devel
Requires: pkgconfig(ImageMagick) = %{mfr_version}
%package doc %package doc
Summary: Document Files for ImageMagick Library Summary: Document Files for ImageMagick Library
@ -229,21 +231,26 @@ HTML documentation for ImageMagick library and scene examples.
%setup -q -n ImageMagick-%{source_version} %setup -q -n ImageMagick-%{source_version}
%patch0 -p1 %patch0 -p1
%patch1 -p1 %patch1 -p1
%patch2 -p1
%build %build
# make library binary package parallel installable
export MODULES_DIRNAME="modules%{libspec}%{clibver}"
export SHAREARCH_DIRNAME="config%{libspec}%{clibver}"
export CONFIGURE_RELATIVE_PATH="ImageMagick%{libspec}%{clibver}"
%configure \ %configure \
--with-pic \ --disable-silent-rules \
--enable-shared \ --enable-shared \
--without-frozenpaths \ --without-frozenpaths \
--with-magick_plus_plus \ --with-magick_plus_plus \
--with-modules \ --with-modules \
--with-threads \ --with-threads \
--with-perl \ --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 \ --disable-static \
--with-graphviz \ --with-gvc \
--with-djvu \ --with-djvu \
--with-lcms2 \ --with-lcms \
--with-jbig \ --with-jbig \
--with-openjp2 \ --with-openjp2 \
--with-openexr \ --with-openexr \
@ -253,7 +260,6 @@ HTML documentation for ImageMagick library and scene examples.
--with-quantum-depth=%{quantum_depth} \ --with-quantum-depth=%{quantum_depth} \
--without-gcc-arch \ --without-gcc-arch \
--enable-pipes=no \ --enable-pipes=no \
--enable-indirect-reads=no \
--enable-reproducible-build=yes --enable-reproducible-build=yes
# don't build together, PerlMagick could be miscompiled when using parallel build[1] # don't build together, PerlMagick could be miscompiled when using parallel build[1]
# [1] http://pkgs.fedoraproject.org/cgit/ImageMagick.git/tree/ImageMagick.spec # [1] http://pkgs.fedoraproject.org/cgit/ImageMagick.git/tree/ImageMagick.spec
@ -268,7 +274,7 @@ dos2unix www/api/*.php
chmod -x PerlMagick/demo/*.pl chmod -x PerlMagick/demo/*.pl
%check %check
make check make %{?_smp_mflags} check
export MAGICK_CODER_MODULE_PATH=$PWD/coders/.libs export MAGICK_CODER_MODULE_PATH=$PWD/coders/.libs
export MAGICK_CODER_FILTER_PATH=$PWD/filters/.libs export MAGICK_CODER_FILTER_PATH=$PWD/filters/.libs
export MAGICK_CONFIGURE_PATH=$PWD/config export MAGICK_CONFIGURE_PATH=$PWD/config
@ -278,11 +284,11 @@ cd PerlMagick
# checksums # checksums
rm t/montage.t rm t/montage.t
%endif %endif
make test make %{?_smp_mflags} test
cd .. cd ..
%install %install
%{__make} install \ make install \
DESTDIR=%{buildroot} \ DESTDIR=%{buildroot} \
pkgdocdir=%{_defaultdocdir}/%{name}-%{maj}/ pkgdocdir=%{_defaultdocdir}/%{name}-%{maj}/
# symlink header file relative to /usr/include/ImageMagick-7/ # symlink header file relative to /usr/include/ImageMagick-7/
@ -294,12 +300,12 @@ 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 rm %{buildroot}%{_libdir}/*.la
# remove RPATH from perl module # 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 chmod 755 $perl_module
chrpath -d $perl_module chrpath -d $perl_module
chmod 555 $perl_module chmod 555 $perl_module
# remove %%{buildroot} from distributed file # remove %%{buildroot} from distributed file
sed -i 's:%{buildroot}::' %{buildroot}/%{_libdir}/ImageMagick-%{mfr_version}/config-Q16HDRI/configure.xml sed -i 's:%{buildroot}::' %{buildroot}/%{_libdir}/ImageMagick-%{mfr_version}/config%{libspec}%{clibver}/configure.xml
#remove duplicates #remove duplicates
%fdupes -s %{buildroot}%{_defaultdocdir}/%{name}-%{maj} %fdupes -s %{buildroot}%{_defaultdocdir}/%{name}-%{maj}
%fdupes -s %{buildroot}%{_includedir}/%{name}-%{maj} %fdupes -s %{buildroot}%{_includedir}/%{name}-%{maj}
@ -307,29 +313,23 @@ sed -i 's:%{buildroot}::' %{buildroot}/%{_libdir}/ImageMagick-%{mfr_version}/con
%perl_process_packlist %perl_process_packlist
%post -n libMagickCore%{libspec}%{clibver} -p /sbin/ldconfig %post -n libMagickCore%{libspec}%{clibver} -p /sbin/ldconfig
%postun -n libMagickCore%{libspec}%{clibver} -p /sbin/ldconfig %postun -n libMagickCore%{libspec}%{clibver} -p /sbin/ldconfig
%post -n libMagickWand%{libspec}%{cwandver} -p /sbin/ldconfig %post -n libMagickWand%{libspec}%{cwandver} -p /sbin/ldconfig
%postun -n libMagickWand%{libspec}%{cwandver} -p /sbin/ldconfig %postun -n libMagickWand%{libspec}%{cwandver} -p /sbin/ldconfig
%post -n libMagick++%{libspec}%{cxxlibver} -p /sbin/ldconfig %post -n libMagick++%{libspec}%{cxxlibver} -p /sbin/ldconfig
%postun -n libMagick++%{libspec}%{cxxlibver} -p /sbin/ldconfig %postun -n libMagick++%{libspec}%{cxxlibver} -p /sbin/ldconfig
%files %files
%defattr(-,root,root) %doc LICENSE ChangeLog NEWS.txt
%{_bindir}/[^MW]* %{_bindir}/[^MW]*
%doc %{_mandir}/man1/* %{_mandir}/man1/*
%exclude %{_mandir}/man1/*-config.1.gz %exclude %{_mandir}/man1/*-config.1%{ext_man}
%files -n libMagickCore%{libspec}%{clibver} %files -n libMagickCore%{libspec}%{clibver}
%defattr(-,root,root)
%doc LICENSE ChangeLog NEWS.txt %doc LICENSE ChangeLog NEWS.txt
%{_libdir}/libMagickCore*.so.%{clibver}*
%dir %{_sysconfdir}/ImageMagick* %dir %{_sysconfdir}/ImageMagick*
%config %{_sysconfdir}/ImageMagick*/* %config %{_sysconfdir}/ImageMagick*/*
%{_libdir}/libMagickCore*.so.%{clibver}*
%dir %{_libdir}/ImageMagick* %dir %{_libdir}/ImageMagick*
%dir %{_libdir}/ImageMagick*/modules* %dir %{_libdir}/ImageMagick*/modules*
%dir %{_libdir}/ImageMagick*/modules*/* %dir %{_libdir}/ImageMagick*/modules*/*
@ -342,21 +342,17 @@ sed -i 's:%{buildroot}::' %{buildroot}/%{_libdir}/ImageMagick-%{mfr_version}/con
%{_libdir}/ImageMagick*/config* %{_libdir}/ImageMagick*/config*
%files -n libMagickWand%{libspec}%{cwandver} %files -n libMagickWand%{libspec}%{cwandver}
%defattr(-,root,root)
%{_libdir}/libMagickWand*.so.%{cwandver}* %{_libdir}/libMagickWand*.so.%{cwandver}*
%files extra %files extra
%defattr(-,root,root)
%{_libdir}/ImageMagick*/modules*/*/wmf.so %{_libdir}/ImageMagick*/modules*/*/wmf.so
# don't remove la files, see bnc#579798 # don't remove la files, see bnc#579798
%{_libdir}/ImageMagick*/modules*/*/wmf.la
%{_libdir}/ImageMagick*/modules*/*/jp2.so %{_libdir}/ImageMagick*/modules*/*/jp2.so
%{_libdir}/ImageMagick*/modules*/*/jp2.la %{_libdir}/ImageMagick*/modules*/*/jp2.la
%{_libdir}/ImageMagick*/modules*/*/djvu.so %{_libdir}/ImageMagick*/modules*/*/djvu.so
%{_libdir}/ImageMagick*/modules*/*/djvu.la %{_libdir}/ImageMagick*/modules*/*/djvu.la
%files devel %files devel
%defattr(-,root,root)
%{_libdir}/libMagickCore*.so %{_libdir}/libMagickCore*.so
%{_libdir}/libMagickWand*.so %{_libdir}/libMagickWand*.so
%dir %{_includedir}/ImageMagick* %dir %{_includedir}/ImageMagick*
@ -369,23 +365,20 @@ sed -i 's:%{buildroot}::' %{buildroot}/%{_libdir}/ImageMagick-%{mfr_version}/con
%{_libdir}/pkgconfig/MagickCore*.pc %{_libdir}/pkgconfig/MagickCore*.pc
%{_libdir}/pkgconfig/ImageMagick*.pc %{_libdir}/pkgconfig/ImageMagick*.pc
%{_libdir}/pkgconfig/MagickWand*.pc %{_libdir}/pkgconfig/MagickWand*.pc
%doc %{_mandir}/man1/*-config.1.gz %{_mandir}/man1/*-config.1%{ext_man}
%exclude %{_mandir}/man1/Magick++-config.1.gz %exclude %{_mandir}/man1/Magick++-config.1%{ext_man}
%files -n perl-PerlMagick %files -n perl-PerlMagick
%defattr(-,root,root,-)
%doc PerlMagick/README.txt %doc PerlMagick/README.txt
%doc PerlMagick/examples %doc PerlMagick/examples
%doc %{_mandir}/man3/* %{_mandir}/man3/*
%{perl_vendorarch}/auto/Image %{perl_vendorarch}/auto/Image
%{perl_vendorarch}/Image %{perl_vendorarch}/Image
%files -n libMagick++%{libspec}%{cxxlibver} %files -n libMagick++%{libspec}%{cxxlibver}
%defattr(-,root,root)
%{_libdir}/libMagick++*.so.%{cxxlibver}* %{_libdir}/libMagick++*.so.%{cxxlibver}*
%files -n libMagick++-devel %files -n libMagick++-devel
%defattr(-,root,root)
%doc Magick++/examples %doc Magick++/examples
%doc Magick++/NEWS Magick++/README Magick++/AUTHORS %doc Magick++/NEWS Magick++/README Magick++/AUTHORS
%{_libdir}/libMagick++*.so %{_libdir}/libMagick++*.so
@ -393,10 +386,9 @@ sed -i 's:%{buildroot}::' %{buildroot}/%{_libdir}/ImageMagick-%{mfr_version}/con
%{_includedir}/ImageMagick*/Magick++ %{_includedir}/ImageMagick*/Magick++
%{_bindir}/Magick++-config %{_bindir}/Magick++-config
%{_libdir}/pkgconfig/Magick++*.pc %{_libdir}/pkgconfig/Magick++*.pc
%doc %{_mandir}/man1/Magick++-config.1.gz %{_mandir}/man1/Magick++-config.1%{ext_man}
%files doc %files doc
%defattr(-,root,root)
%{_defaultdocdir}/%{name}-%{maj} %{_defaultdocdir}/%{name}-%{maj}
%changelog %changelog