# Template file for 'mandrel'
pkgname=mandrel
version=22.3.1.0
revision=1
_java_ver=17
_mx_ver=6.16.0
archs="aarch64* x86_64*"  # upstream supported archs
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="dd37f4a8f628b8909228f489e12363427df9d0f95d1afedad39a2443b22a806d
 bfe15128e8ffb5fd108ee20477e5ee1572c63405d6d0b93d905185356128dcec
 aeec921e0669c72575dd9af54b5d5413d744dac590c82db46ae2bf60c4dfeb1b"
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 PATH=/usr/libexec/chroot-git:$PATH
	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
}
