Skip to content

Instantly share code, notes, and snippets.

@lucaswerkmeister
Created September 30, 2023 15:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lucaswerkmeister/1fc04809144403ae46478c61ac40a4ea to your computer and use it in GitHub Desktop.
Save lucaswerkmeister/1fc04809144403ae46478c61ac40a4ea to your computer and use it in GitHub Desktop.
Provisional graal-nodejs-bin AUR package
# source
/*.tar.gz
# build
/src/
/pkg/
# package
/*.pkg.tar*
# Maintainer: Lucas Werkmeister <mail@lucaswerkmeister.de>
java_=21
pkgname=graal-nodejs-bin
pkgver=23.1.0
pkgrel=1
pkgdesc='GraalVM-based, ployglot-enabled implementation of Node.js'
arch=('x86_64'
'aarch64')
url='https://github.com/oracle/graaljs'
license=('custom')
depends=("jdk-graalvm-bin>=${java_}" "jdk-graalvm-bin<$((java_+1))")
# optdepends=("graaljs-jdk${java_}-bin: JavaScript support for non-native mode (with --jvm)") # TODO
source_x86_64=("https://github.com/oracle/graaljs/releases/download/graal-${pkgver}/graalnodejs-community-jvm-${pkgver}-linux-amd64.tar.gz")
source_aarch64=("https://github.com/oracle/graaljs/releases/download/graal-${pkgver}/graalnodejs-community-jvm-${pkgver}-linux-aarch64.tar.gz")
sha256sums_x86_64=('1bb93ca15eebcb1fccea3c5df4caad3fca1c79655270edfa51287c3caee95931')
sha256sums_aarch64=('2ae3ec661ad797a8a1dc209d24033b1f97a6b8343cad94cedd3bbd88ddef4a99')
package() {
case "$CARCH" in
'x86_64') cd "graalnodejs-community-${pkgver}-linux-amd64";;
'aarch64') cd "graalnodejs-community-${pkgver}-linux-aarch64";;
*) printf >&2 'Unsupported architecture %s\n' "$CARCH"; return 1;;
esac
mkdir -p "$pkgdir/usr/lib/jvm/java-${java_}-graalvm/"
cp -a -t "$pkgdir/usr/lib/jvm/java-${java_}-graalvm/" *
# remove files shared between several packages
rm \
"$pkgdir/usr/lib/jvm/java-${java_}-graalvm/LICENSE.txt" \
"$pkgdir/usr/lib/jvm/java-${java_}-graalvm/THIRD_PARTY_LICENSE.txt" \
"$pkgdir/usr/lib/jvm/java-${java_}-graalvm/native-image.properties" \
"$pkgdir/usr/lib/jvm/java-${java_}-graalvm/release"
# remove files already found in jdk-graalvm-bin
rm -r \
"$pkgdir/usr/lib/jvm/java-${java_}-graalvm/jvm/" \
"$pkgdir/usr/lib/jvm/java-${java_}-graalvm/lib/libjsig.so"
install -DTm644 LICENSE_GRAALNODEJS.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
@lucaswerkmeister
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment