# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=java-lz4
pkgver=1.8.0
pkgrel=2
pkgdesc="LZ4 compression for Java"
url="https://github.com/lz4/lz4-java"
# aarch64, ppc64le: hangs during build
# riscv64: blocked by java-jre-headless
arch="all !riscv64 !aarch64 !ppc64le"
license="Apache-2.0"
depends="java-jre-headless $pkgname-native lz4-dev xxhash-dev"
makedepends="apache-ant"
subpackages="$pkgname-native"
source="https://github.com/lz4/lz4-java/archive/$pkgver/lz4-java-$pkgver.tar.gz
	0001-ivy-location.patch
	0002-dont-bundle-natives.patch
	0003-openjdk21-compatibility.patch
	"
builddir="$srcdir/lz4-java-$pkgver"

build() {
	mkdir -p src/lz4/lib
	ant ivy-bootstrap
	ant jar -lib .ant -Divy.default.ivy.user.dir=/tmp/ivy2
}

package() {
	install -m644 -D dist/lz4-java.jar \
		"$pkgdir"/usr/share/java/lz4-$pkgver.jar
	ln -sf lz4-$pkgver.jar "$pkgdir"/usr/share/java/lz4.jar
}

native() {
	depends=""
	local soname="liblz4-java.so"

	install -m755 -D "$builddir"/build/jni/*/*/*/*/*/$soname \
		"$subpkgdir"/usr/lib/$soname.$pkgver
	ln -sf $soname.$pkgver "$subpkgdir"/usr/lib/$soname
}

sha512sums="
ae78748d984d2ede18018d5e9ae6aee0d5fe6ac8b56d717f863968cfad6e9f85b62305692345ba16002bee68278e87a0364aa98aeb92e2af6dc169e5d5b612d4  lz4-java-1.8.0.tar.gz
bd80cac3454db4cd95fab162d0031d4866cc7a9f9822f1231d5f9c766aa550398b9e27fad48c8150c0c8a538673ca3ad7de95edff9bd790d3351ba318ea44c49  0001-ivy-location.patch
9d435cd35af15988d8844b38d7d00ad423062680323e9d5d395f431e736668ee10148bc3a0147a430cea522983a4ca54e57557d7330c42347bd71c2c9a06d622  0002-dont-bundle-natives.patch
74d5a77fdbebcd9f92c44dd7053bfc76f6944b2702245c0ff3e2644babaa16a97cd5cdf7630882bd852f7cb636892f7d2e4cb61160d17ad617174ec1d0056b1c  0003-openjdk21-compatibility.patch
"
