# Template file for 'mandrel'
pkgname=mandrel
version=22.1.0.0
revision=1
_java_ver=11
_mx_ver=6.1.2
archs="aarch64* x86_64*"  # upstream supported archs
create_wrksrc=yes
hostmakedepends="openjdk${_java_ver} openjdk${_java_ver}-jmods
 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="a93ef67c75c52ff90faba95236100c4f702df2de87593b9bb00da3a2cbec3a23
 8cf3aefe5f9aa7869ddaf02376be5febc20831461ce524c912f3f22fbf922863
 ae7a7d2a195666e32126f51dad5b55abbc204a13e89582172cc461a29ae84205"
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
}
