# Contributor: Will Jordan <will.jordan@gmail.com>
maintainer="Lovell Fuller <aports@lovell.info>"
pkgname=vips
pkgver=8.16.1
pkgrel=0
pkgdesc="fast image processing library with low memory needs"
url="https://libvips.github.io/libvips/"
arch="all"
license="LGPL-2.1-or-later"
makedepends="
	cfitsio-dev
	cgif-dev
	expat-dev
	fftw-dev
	glib-dev
	gobject-introspection-dev
	highway-dev
	imagemagick-dev
	lcms2-dev
	libarchive-dev
	libexif-dev
	libheif-dev
	libimagequant-dev
	libjpeg-turbo-dev
	librsvg-dev
	libspng-dev
	libwebp-dev
	meson
	openexr-dev
	openjpeg-dev
	pango-dev
	poppler-dev
	tiff-dev
	zlib-dev
	"
checkdepends="bc"
subpackages="
	$pkgname-dev
	$pkgname-doc
	$pkgname-lang
	$pkgname-poppler
	$pkgname-magick
	$pkgname-heif
	$pkgname-tools
	$pkgname-cpp
	"
source="https://github.com/libvips/libvips/releases/download/v$pkgver/vips-$pkgver.tar.xz"

case "$CARCH" in
s390x)
	;;
*)
	makedepends="$makedepends libjxl-dev"
	subpackages="$subpackages $pkgname-jxl"
	;;
esac

case "$CARCH" in
armhf)
	# take forever
	options="$options !check"
	;;
esac

# secfixes:
#   8.9.0-r0:
#     - CVE-2020-20739
#   8.8.2-r0:
#     - CVE-2019-17534

build() {
	CFLAGS="$CFLAGS -O2" \
	CXXFLAGS="$CXXFLAGS -O2" \
	abuild-meson \
		-Db_ndebug=true \
		-Db_lto=true \
		. output
	meson compile -C output
}

check() {
	meson test -t 10 --print-errorlogs -C output
}

package() {
	DESTDIR="$pkgdir" meson install --no-rebuild -C output
}

tools() {
	pkgdesc="Command-line tools for $pkgname"

	amove usr/bin
}

poppler() {
	pkgdesc="Poppler support for $pkgname"
	install_if="$pkgname=$pkgver-r$pkgrel poppler-glib"

	amove usr/lib/vips-modules-${pkgver%.*}/vips-poppler.so
}

magick() {
	pkgdesc="Imagemagick support for $pkgname"
	install_if="$pkgname=$pkgver-r$pkgrel imagemagick"

	amove usr/lib/vips-modules-${pkgver%.*}/vips-magick.so
}

jxl() {
	pkgdesc="JpegXL support for $pkgname"
	install_if="$pkgname=$pkgver-r$pkgrel libjxl"

	amove usr/lib/vips-modules-${pkgver%.*}/vips-jxl.so
}

heif() {
	pkgdesc="Libheif support for $pkgname"
	install_if="$pkgname=$pkgver-r$pkgrel libheif"

	amove usr/lib/vips-modules-${pkgver%.*}/vips-heif.so
}

cpp() {
	pkgdesc="$pkgname (c++ library)"

	amove usr/lib/libvips-cpp.so.*
}

sha512sums="
0046c48d5c08351258a176d91995f8baf003917fd7780b25f5921f259c03da072661f26c22b4524306e035d80956957c5045dbbf9a5ab4f87e9b8e16d81f7319  vips-8.16.1.tar.xz
"
