# Template file for 'mandrel'
pkgname=mandrel
version=21.3.1.0
revision=1
_java_ver=11
_mx_ver=5.309.2
archs="aarch64* x86_64*"  # upstream supported archs
wrksrc="mandrel-${version}"
create_wrksrc=yes
hostmakedepends="openjdk${_java_ver} openjdk${_java_ver}-src
 openjdk${_java_ver}-static-libs python3"
makedepends="zlib-devel"
short_desc="Downstream distribution of the GraalVM community edition"
maintainer="Leah Neukirchen <leah@vuxu.org>"
license="GPL-2.0-only, Classpath-exception-2.0"
homepage="https://github.com/graalvm/mandrel"
distfiles="https://github.com/graalvm/mandrel-packaging/archive/refs/tags/mandrel-${version}-Final.tar.gz>packaging-${version}.tar.gz
 https://github.com/graalvm/mandrel/archive/refs/tags/mandrel-${version}-Final.tar.gz
 https://github.com/graalvm/mx/archive/refs/tags/${_mx_ver}.tar.gz"
checksum="a92bf8d88f6496c1455c9b355fff95fca2fddd2710a558dd2618fe9857bcad01
 7dec53ea2c36491896bc388bc60ca804abc5c26b0d4697d930a45cb5c9884469
 fcb980a4980ff5f391fad050c493dc6cd045356a12912d833d3041fe54e62a56"
shlib_provides="libawt.so libawt_xawt.so libjava.so libjli.so libjvm.so libjawt.so"
nocross=yes

post_patch() {
	if [ "$XBPS_TARGET_LIBC" = musl ]; then
		# XXX: only static builds with native-image work
		# (else TEXTREL issues)
		patch --no-backup-if-mismatch -d mandrel-mandrel-* -p0 < ${FILESDIR}/musl.patch
	fi
}

do_build() {
	cd mandrel-packaging-*
	export JAVA_HOME=/usr/lib/jvm/openjdk${_java_ver}
	$JAVA_HOME/bin/java -ea build.java \
		--mx-home $PWD/../mx-* \
		--mandrel-repo $PWD/../mandrel-mandrel-* \
		--verbose
}

do_install() {
	cd mandrel-packaging*/mandrel-java*

	vmkdir usr/lib/jvm/mandrel${_java_ver}
	vcopy . usr/lib/jvm/mandrel${_java_ver}

	vlicense LICENSE
	vlicense THIRD_PARTY_LICENSE.txt
}
