Skip to content

Instantly share code, notes, and snippets.

@guymers
Last active July 28, 2026 20:48
Show Gist options
  • Select an option

  • Save guymers/8626436bffe04cc4514c260387da7d54 to your computer and use it in GitHub Desktop.

Select an option

Save guymers/8626436bffe04cc4514c260387da7d54 to your computer and use it in GitHub Desktop.
AUR graalvm-jdk-ce-bin
THIS_JDK='graalvm-ce'
fix_default() {
if [ ! -x /usr/bin/java ]; then
/usr/bin/archlinux-java unset
echo ""
else
/usr/bin/archlinux-java get
fi
}
post_install() {
default=$(fix_default)
case ${default} in
"")
/usr/bin/archlinux-java set ${THIS_JDK}
;;
${THIS_JDK})
# Nothing
;;
*)
echo "Default Java environment is already set to '${default}'"
echo "See 'archlinux-java help' to change it"
;;
esac
if [ ! -f /etc/ssl/certs/java/cacerts ]; then
/usr/bin/update-ca-trust
fi
}
post_upgrade() {
default=$(fix_default)
if [ -z "${default}" ]; then
/usr/bin/archlinux-java set ${THIS_JDK}
fi
if [ ! -f /etc/ssl/certs/java/cacerts ]; then
/usr/bin/update-ca-trust
fi
}
pre_remove() {
if [ "x$(fix_default)" = "x${THIS_JDK}" ]; then
# Check JRE is still available
if [ -x /usr/lib/jvm/${THIS_JDK}/bin/java ]; then
/usr/bin/archlinux-java unset
fi
fi
}
_javaver=25
_innovationver=2
pkgver="${_javaver}.${_innovationver}.4"
_jdkver="${_javaver}.0.4"
_graalver="${pkgver}+7.1"
pkgrel=1
pkgname="graalvm-jdk-ce-bin"
pkgdesc="GraalVM is a high-performance JDK designed to accelerate Java application performance while consuming fewer resources."
arch=('aarch64' 'x86_64')
url='https://www.graalvm.org/'
license=('custom')
depends=(
'java-environment-common>=3'
'java-runtime-common>=3'
'ca-certificates-utils'
)
provides=(
"java-environment=21"
"java-environment=${_javaver}"
"java-runtime=${_javaver}"
"java-runtime-headless=${_javaver}"
)
install="$pkgname.install"
source_x86_64=("https://github.com/graalvm/graalvm-ce-builds/releases/download/graal-${pkgver}/graalvm-community-jdk-${_javaver}i${_innovationver}-${_jdkver}_linux-x64_bin.tar.gz")
source_aarch64=("https://github.com/graalvm/graalvm-ce-builds/releases/download/graal-${pkgver}/graalvm-community-jdk-${_javaver}i${_innovationver}-${pkgver}_linux-aarch64_bin.tar.gz")
sha256sums_x86_64=('3f4a89de8eaa96f2ed677f09957c7e872cd8467aad3537f8b5394c1b8c4b942e')
sha256sums_aarch64=('22286f7ecd21b9aedb3226b9bf797469e1bd3eefc491e12ef3dd49b452d230b7')
_jdkname="graalvm-ce"
_jvmdir="/usr/lib/jvm/${_jdkname}"
package() {
cd "graalvm-community-${_graalver}"
install -dm 755 "${pkgdir}/${_jvmdir}"
cp -a -t "${pkgdir}/${_jvmdir}/" *
# Conf
install -dm 755 "${pkgdir}/etc"
cp -r conf "${pkgdir}/etc/${_jdkname}"
rm -r "${pkgdir}/${_jvmdir}/conf"
ln -s "/etc/${_jdkname}" "${pkgdir}/${_jvmdir}/conf"
# Legal
install -dm 755 "${pkgdir}/usr/share/licenses"
cp -r legal "${pkgdir}/usr/share/licenses/${_jdkname}"
rm -r "${pkgdir}/${_jvmdir}/legal"
ln -s "/usr/share/licenses/${_jdkname}" "${pkgdir}/${_jvmdir}/legal"
# Link JKS keystore from ca-certificates-utils
rm -f "${pkgdir}/${_jvmdir}/lib/security/cacerts"
ln -sf /etc/ssl/certs/java/cacerts "${pkgdir}/${_jvmdir}/lib/security/cacerts"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment