# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=imagemagick
_pkgname=ImageMagick
pkgver=7.0.9.20
pkgrel=0
_pkgver=${pkgver%.*}-${pkgver##*.}
_abiver=7
pkgdesc="Collection of tools and libraries for many image formats"
url="https://www.imagemagick.org/"
arch="all"
license="ImageMagick"
options="libtool !checkroot"
makedepends="zlib-dev libpng-dev libjpeg-turbo-dev freetype-dev fontconfig-dev
	perl-dev ghostscript-dev libtool tiff-dev lcms2-dev
	libwebp-dev libxml2-dev libx11-dev libxext-dev chrpath
	libheif-dev"

case "$CARCH" in
	s390x) ;;
	*) makedepends="$makedepends librsvg-dev" ;;
esac

checkdepends="freetype fontconfig ghostscript ghostscript-fonts lcms2 graphviz"
subpackages="$pkgname-doc $pkgname-dev $pkgname-c++:_cxx $pkgname-libs $pkgname-perlmagick:_perlmagick $pkgname-perlmagick-doc:_perlmagick_doc"
source="$_pkgname-$_pkgver.tar.gz::https://github.com/ImageMagick/ImageMagick/archive/$_pkgver.tar.gz
	disable-avaraging-tests.patch"
builddir="$srcdir/$_pkgname-$_pkgver"

# secfixes:
#   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() {
	case "$CARCH" in
		s390x) ;;
		*) _conf_args="--with-rsvg" ;;
	esac

	# fix doc dir, Gentoo bug 91911
	sed -i -e \
		's:DOCUMENTATION_PATH="$DATA_DIR/doc/$DOCUMENTATION_RELATIVE_PATH":DOCUMENTATION_PATH="/usr/share/doc/imagemagick":g' \
		configure
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--sysconfdir=/etc \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
		--disable-static \
		--disable-openmp \
		--with-threads \
		--with-x \
		--with-tiff \
		--with-png \
		--with-webp \
		--with-gslib \
		--with-gs-font-dir=/usr/share/fonts/Type1 \
		--with-heic \
		--with-modules \
		--with-xml \
		--with-perl \
		--with-perl-options="PREFIX=/usr INSTALLDIRS=vendor" \
		$_conf_args \
		$_pic
	make
}

check() {
	make check
}

package() {
	make -j1 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
}

_cxx() {
	pkgdesc="ImageMagick Magick++ library (C++ bindings)"
	mkdir -p "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libMagick++*.so.* "$subpkgdir"/usr/lib/
}

_perlmagick() {
	pkgdesc="PerlMagick Perl Modules for ImageMagick"
	mkdir -p "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/perl5 "$subpkgdir"/usr/lib/
	# Strip all the rpath that include /home
	scanelf --recursive --rpath "$subpkgdir" | awk '/home/{print $3;}' | xargs chrpath -d
#	chrpath -d "$subpkgdir"/usr/lib/perl5/vendor_perl/auto/Image/Magick/Q16HDRI/Q16HDRI.so
#	chrpath -d "$subpkgdir"/usr/lib/perl5/vendor_perl/auto/Image/Magick/Magick.so
}

_perlmagick_doc() {
	pkgdesc="PerlMagick Perl Module Documentation for ImageMagick"
	mkdir -p "$subpkgdir"
	cd "$builddir"/PerlMagick
	make -j1 DESTDIR="$subpkgdir" doc_vendor_install
}

sha512sums="bfdce2388b0160e2dfd15828768f1ff5e46df53619fe8656dc63fb6e333165ffb68a9f1f313d8bb5cd4d1a8f4f04016ca3ce5253f7507c24b84a92e1f77c0352  ImageMagick-7.0.9-20.tar.gz
58afb2da075a6208b6a990ff297b3a827d260687c3355198a8b4d987e1596c0b0cd78aff6f0be0e1896e537fbe44a3d467473183f5f149664ea6e6fb3d3291a9  disable-avaraging-tests.patch"
