Skip to content

Instantly share code, notes, and snippets.

@lazar-mitrovic
Created February 28, 2020 23:42
Show Gist options
  • Save lazar-mitrovic/a0ab0c769fd9c616b5a8e497a3d94160 to your computer and use it in GitHub Desktop.
Save lazar-mitrovic/a0ab0c769fd9c616b5a8e497a3d94160 to your computer and use it in GitHub Desktop.
Gets latest GraalVM aarch64 distribution, pulls glibc static libs and packs them in Gluon compatible zip.
#!/bin/bash
set -e
urldecode() { : "${*//+/ }"; echo -e "${_//%/\\x}"; }
mkdir -p arm
pushd arm
LATEST_GRAAL_URL=$(curl -s "https://api.github.com/repos/graalvm/graalvm-ce-dev-builds/releases" \
| grep -Po "['\"]browser_download_url['\"]\s*:\s*['\"]\K(.*)(?=['\"])" \
| grep -m1 "graalvm-ce-java11-linux-aarch64-.*-dev.tar.gz")
echo "$LATEST_GRAAL_URL"
LATEST_GRAAL_FILENAME=$(urldecode $(basename $LATEST_GRAAL_URL))
LATEST_GRAAL_VERSION=$(urldecode $(basename $(dirname $LATEST_GRAAL_URL)))
if [ ! -f "$LATEST_GRAAL_FILENAME" ]; then
wget --continue "$LATEST_GRAAL_URL"
fi
LATEST_GRAAL_DIR=$(tar -tzf "$LATEST_GRAAL_FILENAME" | head -1 | cut -f1 -d"/")
if [ ! -d "$LATEST_GRAAL_DIR" ]; then
tar -kxzf "$LATEST_GRAAL_FILENAME" -C "."
fi
echo "Latest GraalVM dir: $LATEST_GRAAL_DIR"
SUBSLOC="labs-staticjdk/lib/static/"
mkdir -p $SUBSLOC
GRAALLIB=$LATEST_GRAAL_DIR/lib
cp $GRAALLIB/*.a $SUBSLOC
cp $GRAALLIB/svm/clibraries/linux-aarch64/*a $SUBSLOC
OUTPUT_ZIP="labs-staticjdk-linux-aarch64-glibc-$LATEST_GRAAL_VERSION.zip"
[ -f "$OUTPUT_ZIP" ] && rm "$OUTPUT_ZIP"
zip -r $OUTPUT_ZIP labs-staticjdk
popd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment