# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
setvar pkgname = 'java-jna'
setvar _pkgname = ${pkgname#java-}
setvar pkgver = '4.3.0'
setvar pkgrel = '0'
setvar pkgdesc = ""JNA provides Java programs easy access to native shared libraries.""
setvar url = ""https://github.com/java-native-access/jna""
setvar arch = ""all""
setvar license = ""ASL-2.0 LGPL-2.1""
setvar depends = ""openjdk8-jre-base""
setvar makedepends = ""apache-ant autoconf automake libffi-dev>=3.2 libtool openjdk8""
setvar subpackages = ""$pkgname-native""
setvar source = ""$pkgname-$pkgver.tar.gz::https://github.com/java-native-access/$_pkgname/archive/$pkgver.tar.gz
	0001-jar-without-natives.patch
	""
setvar builddir = ""$srcdir/$_pkgname-$pkgver""

proc prepare {
	default_prepare || return 1

	cd $builddir

	# Disable Java AWT support (requires some X libs).
	sed -i -E "s/^(CDEFINES=.*)$/\1 -DNO_JAWT/g" native/Makefile || return 1

	# Remove bundled libffi sources, we're gonna use headers form libffi-dev.
	rm -r native/libffi || return 1

	find -name "*.jar" -exec rm {} + || return 1
}

proc build {
	cd $builddir

	ant clean"

	# Parallel build doesn't work here!
	MAKEFLAGS="-j1"" \
		ant native -Drelease=true -Ddynlink.native=true \
		&& ant jar -Domit-jnilib=true
}

proc package {
	setvar depends = ""$depends $pkgname-native""

	install -m644 -D "$builddir"/build/jna.jar \
		"$pkgdir"/usr/share/java/$_pkgname-$pkgver.jar || return 1
	ln -sf $_pkgname-$pkgver.jar "$pkgdir"/usr/share/java/$_pkgname.jar
}

proc native {
	local soname="libjnidispatch.so"

	cd $builddir

	local sover="$(sed -En 's/^JNA_JNI_VERSION=([^ ]+).*/\1/p' native/Makefile)"
	test -n $sover || return 1

	install -m755 -D build/native-linux-*/$soname \
		"$subpkgdir"/usr/lib/$soname.$sover || return 1
	ln -sf $soname.$sover "$subpkgdir"/usr/lib/$soname
}

setvar md5sums = ""2de8ba99fc91809935e6c2ab02f49a82  java-jna-4.3.0.tar.gz
2eceb51b9eafbe0a7f162fe6b3297c03  0001-jar-without-natives.patch""
setvar sha256sums = ""f7e3ef21051ef7dcc2176db19aca6b759c2809bd93c363c6fe697cdf86908ae8  java-jna-4.3.0.tar.gz
bad5487a1c8aa4e227b1a27fbac787e9d84a6bf748325708cdf045b625bd1f82  0001-jar-without-natives.patch""
setvar sha512sums = ""5e27771c114ead302196f7f99bc4928e12acd72687a481501a4c1753952517b7ed411828f9f4a7ae4631a4473a86720b4eba7bae9e22704c53dfc7a46609fa3d  java-jna-4.3.0.tar.gz
67110a14ef0879c590427c919ec0057aab5902ba1fb3a3a1aa9f9c395aefb31f4b2244d0a2a59fde1a2fae418ee45d666f3fd780784c6194abe533f4f5cbebbc  0001-jar-without-natives.patch""