mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-04-18 15:36:59 +02:00
119 lines
3.4 KiB
Text
119 lines
3.4 KiB
Text
# Contributor: Simon Frankenberger <simon-alpine@fraho.eu>
|
|
# Maintainer: Simon Frankenberger <simon-alpine@fraho.eu>
|
|
pkgname=openjdk21-mandrel
|
|
pkgver=23.1.6.0
|
|
pkgrel=0
|
|
_jdkver=21
|
|
pkgdesc="GraalVM Native Image builder for OpenJDK $_jdkver"
|
|
url="https://github.com/graalvm/mandrel"
|
|
# Upstream supports only these architectures.
|
|
# aarch64: openjdk exception when building
|
|
arch="x86_64"
|
|
license="GPL-2.0-only WITH Classpath-exception-2.0"
|
|
depends="
|
|
bash
|
|
gcc
|
|
musl-dev
|
|
openjdk$_jdkver
|
|
zlib-dev
|
|
zlib-static
|
|
"
|
|
makedepends="
|
|
git
|
|
gpg
|
|
ninja-build
|
|
ninja-is-really-ninja
|
|
openjdk$_jdkver-static-libs
|
|
python3
|
|
py3-setuptools
|
|
"
|
|
# see common.json, defined as "mx_version"
|
|
_mx_ver=6.46.1
|
|
source="mandrel-packaging-$pkgver-Final.tar.gz::https://github.com/graalvm/mandrel-packaging/archive/mandrel-$pkgver-Final.tar.gz
|
|
https://github.com/graalvm/mandrel/archive/mandrel-$pkgver-Final.tar.gz
|
|
https://github.com/graalvm/mx/archive/$_mx_ver/graalvm-mx-$_mx_ver.tar.gz
|
|
fix-file-system-loop-exception.patch
|
|
Example.java
|
|
"
|
|
builddir="$srcdir/mandrel-packaging-$pkgver"
|
|
# net: fetches some dependencies in build phase
|
|
# textrels: libnative-image-*.so have TEXTRELs.
|
|
options="net textrels"
|
|
|
|
export MX_CACHE_DIR="$srcdir/.mx"
|
|
export JAVA_HOME="/usr/lib/jvm/java-$_jdkver-openjdk"
|
|
|
|
unpack() {
|
|
default_unpack
|
|
|
|
mv mandrel-mandrel-$pkgver-Final mandrel-$pkgver
|
|
mv mandrel-packaging-mandrel-$pkgver-Final mandrel-packaging-$pkgver
|
|
}
|
|
|
|
prepare() {
|
|
default_prepare
|
|
|
|
cd "$srcdir"
|
|
# Build scripts require the sources to be git repositories.
|
|
local dir; for dir in mandrel-$pkgver mandrel-packaging-$pkgver; do
|
|
cd "$srcdir/$dir"
|
|
git init --quiet
|
|
git add .
|
|
git -c user.name=mandrel -c user.email=mandrel@example.com -c commit.gpgsign=false commit --quiet --message Import
|
|
git -c tag.gpgsign=false tag "mandrel-$pkgver-Final"
|
|
done
|
|
|
|
mkdir -p "$srcdir/.home"
|
|
}
|
|
|
|
build() {
|
|
java -ea build.java \
|
|
--mx-home "$srcdir/mx-$_mx_ver" \
|
|
--mandrel-home "$builddir/dist" \
|
|
--mandrel-repo "$srcdir/mandrel-$pkgver" \
|
|
--mandrel-version "$pkgver" \
|
|
--skip-clean
|
|
}
|
|
|
|
# TODO: Run upstream's integration tests.
|
|
check() {
|
|
mkdir -p "$srcdir/test"
|
|
cd "$srcdir"/test
|
|
|
|
cp ../Example.java .
|
|
javac Example.java
|
|
GRAALVM_HOME="$builddir/dist" "$builddir"/dist/bin/native-image Example
|
|
|
|
ldd example
|
|
ls -lh example
|
|
./example
|
|
}
|
|
|
|
package() {
|
|
local destdir="$pkgdir$JAVA_HOME"
|
|
|
|
cd "$builddir"/dist
|
|
|
|
# Copy only files unique to Mandrel (the rest is copied from OpenJDK).
|
|
mkdir -p "$destdir"/lib
|
|
cp -r lib/libnative-image-*.so \
|
|
lib/graalvm \
|
|
lib/jvmci \
|
|
lib/svm \
|
|
lib/truffle \
|
|
"$destdir"/lib/
|
|
|
|
mkdir -p "$destdir"/bin
|
|
cp -d bin/native-image "$destdir"/bin/
|
|
|
|
# Remove source JARs.
|
|
find "$destdir" -name '*.zip' -delete
|
|
}
|
|
|
|
sha512sums="
|
|
b121ce7f4d58734c1659835c0b53685838b7695cd3f71762f95d45abb4c6558fa532a5b39336472e1bb433649f09f9cbca588ee3e6ba580635dae1cee3c810b5 mandrel-packaging-23.1.6.0-Final.tar.gz
|
|
91545d95bdcf25f4dc1be5e902f1daa61649964c557fda50b0dcd619639d3b82b33e4d46fe885a0bcbbb46010d44027fa3e80f71a1027696551dee6258900352 mandrel-23.1.6.0-Final.tar.gz
|
|
145e67d6d1656c3da4980d9dc833ec61ed50040cc69e35ed890d4fceec9534e80b56f7c04112edaf01ccfd21b2a3ec5ea951bd2706270afe99006178dbdcb4b5 graalvm-mx-6.46.1.tar.gz
|
|
8d98ef2316a12e58e2a7d920533fcaab30dc81ceadba66206af1af9a8f7f21af5cac41a6a80d2a4aef8c1eb3b293a518f242ec0530e5c955418bfb7da1d4f72b fix-file-system-loop-exception.patch
|
|
601ac59e59d32cbaf91f7541bd8173b38c68cbec96a7fb74227017afc8e5dc6ce4b8be03e92dd34cf52370e5d52beb780808af57b17c79c53ae8ec64cd34a92d Example.java
|
|
"
|