# Contributor: Ɓukasz Jendrysik # Contributor: Carlo Landmeter # Maintainer: Natanael Copa pkgname=imagemagick _pkgname=ImageMagick pkgver=7.1.1.14 pkgrel=0 _pkgver=${pkgver%.*}-${pkgver##*.} _abiver=7 pkgdesc="Collection of tools and libraries for many image formats" url="https://imagemagick.org/" arch="all" license="ImageMagick" options="libtool" depends_dev="$pkgname=$pkgver-r$pkgrel" install="$pkgname.post-upgrade" makedepends=" chrpath fftw-dev fontconfig-dev freetype-dev ghostscript-dev lcms2-dev libheif-dev libjpeg-turbo-dev libpng-dev libraw-dev librsvg-dev libtool libwebp-dev libx11-dev libxext-dev libxml2-dev pango-dev perl-dev tiff-dev zlib-dev " checkdepends="freetype fontconfig ghostscript ghostscript-fonts lcms2 graphviz" subpackages=" $pkgname-doc $pkgname-static $pkgname-dev $pkgname-c++:_cxx $pkgname-libs $pkgname-perlmagick:_perlmagick $pkgname-perlmagick-doc:_perlmagick_doc $pkgname-heic $pkgname-jpeg $pkgname-pango $pkgname-pdf $pkgname-raw $pkgname-svg $pkgname-tiff $pkgname-webp " source="https://imagemagick.org/archive/releases/ImageMagick-$_pkgver.tar.xz" builddir="$srcdir/$_pkgname-$_pkgver" case "$CARCH" in s390x) ;; *) makedepends="$makedepends libjxl-dev" subpackages="$subpackages $pkgname-jxl" _jxl="--with-jxl" ;; esac # secfixes: # 7.1.0.52-r0: # - CVE-2022-44267 # - CVE-2022-44268 # 7.1.0.47-r0: # - CVE-2022-3213 # 7.1.0.30-r0: # - CVE-2022-1115 # - CVE-2022-1114 # - CVE-2022-2719 # 7.1.0.24-r0: # - CVE-2022-0284 # 7.1.0.10-r0: # - CVE-2021-39212 # 7.1.0.0-r0: # - CVE-2021-34183 # 7.0.11.9-r0: # - CVE-2021-3574 # 7.0.11.1-r0: # - CVE-2021-20241 # - CVE-2021-20243 # - CVE-2021-20244 # - CVE-2021-20245 # - CVE-2021-20246 # - CVE-2021-20309 # - CVE-2021-20310 # - CVE-2021-20311 # - CVE-2021-20312 # - CVE-2021-20313 # 7.0.10.57-r0: # - CVE-2021-20176 # - CVE-2021-20224 # 7.0.10.42-r0: # - CVE-2020-29599 # 7.0.10.35-r0: # - CVE-2020-27560 # 7.0.10.31-r0: # - CVE-2021-3596 # - CVE-2022-28463 # - CVE-2022-32545 # - CVE-2022-32546 # - CVE-2022-32547 # 7.0.10.18-r0: # - CVE-2020-13902 # 7.0.10.8-r0: # - CVE-2020-19667 # 7.0.10.0-r0: # - CVE-2020-10251 # 7.0.9.7-r0: # - CVE-2019-19952 # 7.0.8.62-r0: # - CVE-2019-17547 # 7.0.8.56-r0: # - CVE-2019-17541 # - CVE-2019-17540 # - CVE-2019-14981 # - CVE-2019-13454 # 7.0.8.53-r0: # - CVE-2019-13391 # - CVE-2019-13311 # - CVE-2019-13310 # - CVE-2019-13309 # - CVE-2019-13308 # - CVE-2019-13307 # - CVE-2019-13306 # - CVE-2019-13305 # - CVE-2019-13304 # - CVE-2019-13303 # - CVE-2019-13302 # - CVE-2019-13301 # - CVE-2019-13300 # - CVE-2019-13299 # - CVE-2019-13298 # - CVE-2019-13297 # - CVE-2019-13296 # - CVE-2019-13295 # - CVE-2019-13137 # - CVE-2019-13136 # - CVE-2019-13135 # - CVE-2019-13134 # - CVE-2019-13133 # 7.0.8.44-r0: # - CVE-2019-19949 # - CVE-2019-19948 # - CVE-2019-16713 # - CVE-2019-16712 # - CVE-2019-16711 # - CVE-2019-15141 # - CVE-2019-15140 # - CVE-2019-15139 # - CVE-2019-14980 # - CVE-2019-11598 # - CVE-2019-11597 # - CVE-2019-11472 # 7.0.8.38-r0: # - CVE-2019-9956 # - CVE-2019-16710 # - CVE-2019-16709 # - CVE-2019-16708 # - CVE-2019-10650 # - CVE-2019-10649 build() { # pretty much doubles the performance CFLAGS="$CFLAGS -O2" \ CXXFLAGS="$CXXFLAGS -O2" \ ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ --sysconfdir=/etc \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --enable-static \ --with-fftw \ --with-gs-font-dir=/usr/share/fonts/Type1 \ --with-gslib \ --with-hdri \ --with-heic \ --with-modules \ --with-perl \ --with-perl-options="PREFIX=/usr INSTALLDIRS=vendor" \ --with-png \ --with-rsvg \ --with-threads \ --with-tiff \ --with-webp \ --with-x \ --with-xml \ $_jxl make } check() { make check } package() { make DESTDIR="$pkgdir" install if ! [ -e "$pkgdir"/usr/lib/libMagickCore-$_abiver.Q16HDRI.so ]; then error "Has ABI verision changed? (current is $_abiver)" return 1 fi # we cannot let abuild delete the *.la files due to we need *.la # for the modules rm "$pkgdir"/usr/lib/*.la find "$pkgdir" \( -name '.packlist' -o -name 'perllocal.pod' \ -o -name '*.bs' \) -delete } heic() { pkgdesc="$pkgdesc (HEIC support modules)" install_if="$pkgname=$pkgver-r$pkgrel libheif" amove usr/lib/ImageMagick-*/modules-*/coders/heic.* } jpeg() { pkgdesc="$pkgdesc (JPEG support modules)" install_if="$pkgname=$pkgver-r$pkgrel libjpeg-turbo" amove usr/lib/ImageMagick-*/modules-*/coders/jpeg.* } raw() { pkgdesc="$pkgdesc (RAW support modules)" install_if="$pkgname=$pkgver-r$pkgrel libraw" amove usr/lib/ImageMagick-*/modules-*/coders/dng.* } jxl() { pkgdesc="$pkgdesc (JpegXL support modules)" install_if="$pkgname=$pkgver-r$pkgrel libjxl" amove usr/lib/ImageMagick-*/modules-*/coders/jxl.* } pango() { pkgdesc="$pkgdesc (pango support modules)" install_if="$pkgname=$pkgver-r$pkgrel pango" amove usr/lib/ImageMagick-*/modules-*/coders/pango.* } pdf() { pkgdesc="$pkgdesc (PDF support modules)" install_if="$pkgname=$pkgver-r$pkgrel ghostscript" amove \ usr/lib/ImageMagick-*/modules-*/coders/pdf.* \ usr/lib/ImageMagick-*/modules-*/coders/ps.* } svg() { pkgdesc="$pkgdesc (SVG support modules)" install_if="$pkgname=$pkgver-r$pkgrel librsvg" amove usr/lib/ImageMagick-*/modules-*/coders/svg.* } tiff() { pkgdesc="$pkgdesc (TIFF support modules)" install_if="$pkgname=$pkgver-r$pkgrel tiff" amove usr/lib/ImageMagick-*/modules-*/coders/tiff.* } webp() { pkgdesc="$pkgdesc (WebP support modules)" install_if="$pkgname=$pkgver-r$pkgrel libwebp" amove usr/lib/ImageMagick-*/modules-*/coders/webp.* } _cxx() { pkgdesc="ImageMagick Magick++ library (C++ bindings)" amove usr/lib/libMagick++*.so.* } _perlmagick() { pkgdesc="PerlMagick Perl Modules for ImageMagick" amove usr/lib/perl5 # Strip all the rpath that include /home scanelf --recursive --rpath "$subpkgdir" | awk '/home/{print $3;}' | xargs chrpath -d } _perlmagick_doc() { pkgdesc="PerlMagick Perl Module Documentation for ImageMagick" mkdir -p "$subpkgdir" cd "$builddir"/PerlMagick make DESTDIR="$subpkgdir" doc_vendor_install } sha512sums=" 5656c464f597b76d36075e7cda2fa0f5aae0b31040a1d94120d72b38927896b28198b863c769970050d0cb1bd49984fd4b84f9aa0e60f6c25ec3b6b1bd4f3281 ImageMagick-7.1.1-14.tar.xz "