Merge pull request #257433 from thiagokokada/graalvm-bump

graalvm-ce: 22.3.1 -> 21.0.0
This commit is contained in:
Thiago Kenji Okada
2023-09-29 11:12:22 +01:00
committed by GitHub
26 changed files with 400 additions and 953 deletions

View File

@@ -165,6 +165,10 @@
- PHP now defaults to PHP 8.2, updated from 8.1.
- GraalVM has been updated to the latest version, and this brings significant changes. Upstream don't release multiple versions targeting different JVMs anymore, so now we only have one GraalVM derivation (`graalvm-ce`). While at first glance the version may seem a downgrade (22.3.1 -> 21.0.0), the major version is now following the JVM it targets (so this latest version targets JVM 21). Also some products like `llvm-installable-svm` and `native-image-svm` were incorporate to the main GraalVM derivation, so they're included by default.
- GraalPy (`graalCEPackages.graalpy`), TruffleRuby (`graalCEPackages.truffleruby`), GraalJS (`graalCEPackages.graaljs`) and GraalNodeJS (`grallCEPackages.graalnodejs`) are now indepedent from the main GraalVM derivation.
- The ISC DHCP package and corresponding module have been removed, because they are end of life upstream. See https://www.isc.org/blogs/isc-dhcp-eol/ for details and switch to a different DHCP implementation like kea or dnsmasq.
- `prometheus-unbound-exporter` has been replaced by the Let's Encrypt maintained version, since the previous version was archived. This requires some changes to the module configuration, most notable `controlInterface` needs migration

View File

@@ -71,7 +71,5 @@ stdenv.mkDerivation ({
platforms = graalvmDrv.meta.platforms;
# default to executable name
mainProgram = executable;
# need to have native-image-installable-svm available
broken = !(builtins.any (p: (p.product or "") == "native-image-installable-svm") graalvmDrv.products);
} // meta;
} // extraArgs)

View File

@@ -7,20 +7,23 @@
, darwin
, fontconfig
, glib
, glibc
, gtk3
, makeWrapper
, musl
, runCommandCC
, setJavaClassPath
, unzip
, xorg
, zlib
# extra params
, javaVersion
, meta ? { }
, products ? [ ]
, extraCLibs ? [ ]
, gtkSupport ? stdenv.isLinux
, useMusl ? false
, ...
} @ args:
assert useMusl -> stdenv.isLinux;
let
extraArgs = builtins.removeAttrs args [
"lib"
@@ -32,24 +35,56 @@ let
"darwin"
"fontconfig"
"glib"
"glibc"
"gtk3"
"makeWrapper"
"musl"
"runCommandCC"
"setJavaClassPath"
"unzip"
"xorg"
"zlib"
"javaVersion"
"meta"
"products"
"extraCLibs"
"gtkSupport"
"useMusl"
"passthru"
"meta"
];
cLibs = lib.optionals stdenv.isLinux (
[ glibc zlib.static ]
++ lib.optionals (!useMusl) [ glibc.static ]
++ lib.optionals useMusl [ musl ]
++ extraCLibs
);
# GraalVM 21.3.0+ expects musl-gcc as <system>-musl-gcc
musl-gcc = (runCommandCC "musl-gcc" { } ''
mkdir -p $out/bin
ln -s ${lib.getDev musl}/bin/musl-gcc $out/bin/${stdenv.hostPlatform.system}-musl-gcc
'');
# GraalVM 23.0.0+ (i.e.: JDK 21.0.0+) clean-up the environment inside darwin
# So we need to re-added some env vars to make everything work correctly again
darwin-cc = (runCommandCC "darwin-cc"
{
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ darwin.apple_sdk.frameworks.Foundation zlib ];
} ''
makeWrapper ${stdenv.cc}/bin/cc $out/bin/cc \
--prefix NIX_CFLAGS_COMPILE_${stdenv.cc.suffixSalt} : "$NIX_CFLAGS_COMPILE" \
--prefix NIX_LDFLAGS_${stdenv.cc.suffixSalt} : "$NIX_LDFLAGS"
'');
binPath = lib.makeBinPath (
lib.optionals stdenv.isDarwin [ darwin-cc ]
++ lib.optionals useMusl [ musl-gcc ]
++ [ stdenv.cc ]
);
runtimeLibraryPath = lib.makeLibraryPath
([ cups ] ++ lib.optionals gtkSupport [ cairo glib gtk3 ]);
mapProducts = key: default: (map (p: p.graalvmPhases.${key} or default) products);
concatProducts = key: lib.concatStringsSep "\n" (mapProducts key "");
graalvmXXX-ce = stdenv.mkDerivation ({
pname = "graalvm${javaVersion}-ce";
graalvm-ce = stdenv.mkDerivation ({
pname = "graalvm-ce";
unpackPhase = ''
runHook preUnpack
@@ -71,22 +106,16 @@ let
# Sanity check
if [ ! -d "$out/bin" ]; then
echo "The `bin` is directory missing after extracting the graalvm"
echo "tarball, please compare the directory structure of the"
echo "tarball with what happens in the unpackPhase (in particular"
echo "with regards to the `--strip-components` flag)."
exit 1
echo "The `bin` is directory missing after extracting the graalvm"
echo "tarball, please compare the directory structure of the"
echo "tarball with what happens in the unpackPhase (in particular"
echo "with regards to the `--strip-components` flag)."
exit 1
fi
runHook postUnpack
'';
postUnpack = ''
for product in ${toString products}; do
cp -Rv $product/* $out
done
'';
dontStrip = true;
nativeBuildInputs = [ unzip makeWrapper ]
@@ -106,7 +135,6 @@ let
xorg.libXtst
];
preInstall = concatProducts "preInstall";
postInstall = ''
# jni.h expects jni_md.h to be in the header search path.
ln -sf $out/include/linux/*_md.h $out/include/
@@ -115,52 +143,72 @@ let
# Set JAVA_HOME automatically.
mkdir -p $out/nix-support
cat > $out/nix-support/setup-hook << EOF
if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
EOF
'' + concatProducts "postInstall";
wrapProgram $out/bin/native-image \
--prefix PATH : ${binPath} \
${toString (map (l: "--add-flags '-H:CLibraryPath=${l}/lib'") cLibs)}
'';
preFixup = lib.optionalString (stdenv.isLinux) ''
for bin in $(find "$out/bin" -executable -type f); do
wrapProgram "$bin" --prefix LD_LIBRARY_PATH : "${runtimeLibraryPath}"
done
'' + concatProducts "preFixup";
postFixup = concatProducts "postFixup";
'';
doInstallCheck = true;
installCheckPhase = ''
runHook preInstallCheck
${# broken in darwin
lib.optionalString stdenv.isLinux ''
lib.optionalString stdenv.isLinux ''
echo "Testing Jshell"
echo '1 + 1' | $out/bin/jshell
''}
echo ${
lib.escapeShellArg ''
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
echo ${lib.escapeShellArg ''
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
''
} > HelloWorld.java
}
''} > HelloWorld.java
$out/bin/javac HelloWorld.java
# run on JVM with Graal Compiler
echo "Testing GraalVM"
$out/bin/java -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler HelloWorld | fgrep 'Hello World'
${concatProducts "installCheckPhase"}
echo "Ahead-Of-Time compilation"
$out/bin/native-image -H:+UnlockExperimentalVMOptions -H:-CheckToolchain -H:+ReportExceptionStackTraces HelloWorld
./helloworld | fgrep 'Hello World'
${# --static is only available in Linux
lib.optionalString (stdenv.isLinux && !useMusl) ''
echo "Ahead-Of-Time compilation with -H:+StaticExecutableWithDynamicLibC"
$out/bin/native-image -H:+UnlockExperimentalVMOptions -H:+StaticExecutableWithDynamicLibC HelloWorld
./helloworld | fgrep 'Hello World'
echo "Ahead-Of-Time compilation with --static"
$out/bin/native-image --static HelloWorld
./helloworld | fgrep 'Hello World'
''}
${# --static is only available in Linux
lib.optionalString (stdenv.isLinux && useMusl) ''
echo "Ahead-Of-Time compilation with --static and --libc=musl"
$out/bin/native-image --static HelloWorld --libc=musl
./helloworld | fgrep 'Hello World'
''}
runHook postInstallCheck
'';
passthru = {
inherit products;
home = graalvmXXX-ce;
updateScript = ./update.sh;
};
home = graalvm-ce;
updateScript = [ ./update.sh "graalvm-ce" ];
} // (args.passhtru or { });
meta = with lib; ({
homepage = "https://www.graalvm.org/";
@@ -169,7 +217,7 @@ let
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
mainProgram = "java";
maintainers = with maintainers; teams.graalvm-ce.members ++ [ ];
} // meta);
} // (args.meta or { }));
} // extraArgs);
in
graalvmXXX-ce
graalvm-ce

View File

@@ -1,20 +1,15 @@
{ lib
, stdenv
, autoPatchelfHook
, darwin
, graalvm-ce
, makeWrapper
, perl
, unzip
, zlib
, libxcrypt-legacy
# extra params
, product
, javaVersion
, extraBuildInputs ? [ ]
, extraNativeBuildInputs ? [ ]
, graalvmPhases ? { }
, meta ? { }
, passthru ? { }
, ...
} @ args:
@@ -23,24 +18,21 @@ let
"lib"
"stdenv"
"autoPatchelfHook"
"darwin"
"graalvm-ce"
"libxcrypt-legacy"
"makeWrapper"
"perl"
"unzip"
"zlib"
"product"
"javaVersion"
"extraBuildInputs"
"extraNativeBuildInputs"
"graalvmPhases"
"meta"
"passthru"
];
in
stdenv.mkDerivation ({
pname = "${product}-java${javaVersion}";
pname = product;
nativeBuildInputs = [ perl unzip makeWrapper ]
nativeBuildInputs = [ makeWrapper ]
++ lib.optional stdenv.isLinux autoPatchelfHook
++ extraNativeBuildInputs;
@@ -48,61 +40,37 @@ stdenv.mkDerivation ({
stdenv.cc.cc.lib # libstdc++.so.6
zlib
libxcrypt-legacy # libcrypt.so.1 (default is .2 now)
] ++ extraBuildInputs;
]
++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Foundation
++ extraBuildInputs;
unpackPhase = ''
runHook preUnpack
unpack_jar() {
local jar="$1"
unzip -q -o "$jar" -d "$out"
perl -ne 'use File::Path qw(make_path);
use File::Basename qw(dirname);
if (/^(.+) = (.+)$/) {
make_path dirname("$ENV{out}/$1");
symlink $2, "$ENV{out}/$1";
}' "$out/META-INF/symlinks"
perl -ne 'if (/^(.+) = ([r-])([w-])([x-])([r-])([w-])([x-])([r-])([w-])([x-])$/) {
my $mode = ($2 eq 'r' ? 0400 : 0) + ($3 eq 'w' ? 0200 : 0) + ($4 eq 'x' ? 0100 : 0) +
($5 eq 'r' ? 0040 : 0) + ($6 eq 'w' ? 0020 : 0) + ($7 eq 'x' ? 0010 : 0) +
($8 eq 'r' ? 0004 : 0) + ($9 eq 'w' ? 0002 : 0) + ($10 eq 'x' ? 0001 : 0);
chmod $mode, "$ENV{out}/$1";
}' "$out/META-INF/permissions"
rm -rf "$out/META-INF"
}
mkdir -p "$out"
unpack_jar "$src"
tar xf "$src" -C "$out" --strip-components=1
# Sanity check
if [ ! -d "$out/bin" ]; then
echo "The `bin` is directory missing after extracting the graalvm"
echo "tarball, please compare the directory structure of the"
echo "tarball with what happens in the unpackPhase (in particular"
echo "with regards to the `--strip-components` flag)."
exit 1
fi
runHook postUnpack
'';
# Allow autoPatchelf to automatically fix lib references between products
fixupPhase = ''
runHook preFixup
mkdir -p $out/lib
shopt -s globstar
ln -s $out/languages/**/lib/*.so $out/lib
runHook postFixup
'';
dontInstall = true;
dontBuild = true;
dontStrip = true;
passthru = {
inherit product javaVersion;
# build phases that are going to run during GraalVM derivation build,
# since they depend in having the fully setup GraalVM environment
# e.g.: graalvmPhases.installCheckPhase will run the checks only after
# GraalVM+products is build
# see buildGraalvm.nix file for the available phases
inherit graalvmPhases;
} // passthru;
updateScript = [ ./update.sh product ];
} // (args.passhtru or { });
meta = with lib; ({
meta = ({
inherit (graalvm-ce.meta) homepage license sourceProvenance maintainers platforms;
description = "High-Performance Polyglot VM (Product: ${product})";
} // meta);
} // (args.meta or { }));
} // extraArgs)

View File

@@ -4,237 +4,20 @@
, fetchurl
}:
let
{
buildGraalvm = callPackage ./buildGraalvm.nix;
buildGraalvmProduct = callPackage ./buildGraalvmProduct.nix;
javaPlatform = {
"aarch64-linux" = "linux-aarch64";
"x86_64-linux" = "linux-amd64";
"aarch64-darwin" = "darwin-aarch64";
"x86_64-darwin" = "darwin-amd64";
};
javaPlatformVersion = javaVersion:
"${javaVersion}-${javaPlatform.${stdenv.system} or (throw "Unsupported platform: ${stdenv.system}")}";
source = product: javaVersion: (import ./hashes.nix).${product}.${javaPlatformVersion javaVersion}
or (throw "Unsupported product combination: product=${product} java=${javaVersion} system=${stdenv.system}");
in
rec {
inherit buildGraalvm buildGraalvmProduct;
graalvm-ce = callPackage ./graalvm-ce { };
### Java 11 ###
graalvm-ce-musl = callPackage ./graalvm-ce { useMusl = true; };
# Mostly available for build purposes, not to be exposed at the top level
graalvm11-ce-bare = buildGraalvm rec {
version = "22.3.1";
javaVersion = "11";
src = fetchurl (source "graalvm-ce" javaVersion);
meta.platforms = builtins.attrNames javaPlatform;
products = [ ];
};
graaljs = callPackage ./graaljs { };
graalvm11-ce = graalvm11-ce-bare.override {
products = [ native-image-installable-svm-java11 ];
};
graalnodejs = callPackage ./graalnodejs { };
# Mostly available for testing, not to be exposed at the top level
graalvm11-ce-full = graalvm11-ce-bare.override {
products = [
js-installable-svm-java11
llvm-installable-svm-java11
native-image-installable-svm-java11
nodejs-installable-svm-java11
python-installable-svm-java11
ruby-installable-svm-java11
wasm-installable-svm-java11
];
};
graalpy = callPackage ./graalpy { };
js-installable-svm-java11 = callPackage ./js-installable-svm.nix rec {
javaVersion = "11";
version = "22.3.1";
src = fetchurl (source "js-installable-svm" javaVersion);
};
llvm-installable-svm-java11 = callPackage ./llvm-installable-svm.nix rec {
javaVersion = "11";
version = "22.3.1";
src = fetchurl (source "llvm-installable-svm" javaVersion);
};
native-image-installable-svm-java11 = callPackage ./native-image-installable-svm.nix rec {
javaVersion = "11";
version = "22.3.1";
src = fetchurl (source "native-image-installable-svm" javaVersion);
};
nodejs-installable-svm-java11 = callPackage ./nodejs-installable-svm.nix rec {
javaVersion = "11";
version = "22.3.1";
src = fetchurl (source "nodejs-installable-svm" javaVersion);
graalvm-ce = graalvm11-ce-bare;
};
python-installable-svm-java11 = callPackage ./python-installable-svm.nix rec {
javaVersion = "11";
version = "22.3.1";
src = fetchurl (source "python-installable-svm" javaVersion);
};
ruby-installable-svm-java11 = callPackage ./ruby-installable-svm.nix rec {
javaVersion = "11";
version = "22.3.1";
src = fetchurl (source "ruby-installable-svm" javaVersion);
llvm-installable-svm = llvm-installable-svm-java11;
};
wasm-installable-svm-java11 = callPackage ./wasm-installable-svm.nix rec {
javaVersion = "11";
version = "22.3.1";
src = fetchurl (source "wasm-installable-svm" javaVersion);
};
### Java 17 ###
# Mostly available for build purposes, not to be exposed at the top level
graalvm17-ce-bare = buildGraalvm rec {
version = "22.3.1";
javaVersion = "17";
src = fetchurl (source "graalvm-ce" javaVersion);
meta.platforms = builtins.attrNames javaPlatform;
products = [ ];
};
graalvm17-ce = graalvm17-ce-bare.override {
products = [ native-image-installable-svm-java17 ];
};
# Mostly available for testing, not to be exposed at the top level
graalvm17-ce-full = graalvm17-ce-bare.override {
products = [
js-installable-svm-java17
llvm-installable-svm-java17
native-image-installable-svm-java17
nodejs-installable-svm-java17
python-installable-svm-java17
ruby-installable-svm-java17
wasm-installable-svm-java17
];
};
js-installable-svm-java17 = callPackage ./js-installable-svm.nix rec {
javaVersion = "17";
version = "22.3.1";
src = fetchurl (source "js-installable-svm" javaVersion);
};
llvm-installable-svm-java17 = callPackage ./llvm-installable-svm.nix rec {
javaVersion = "17";
version = "22.3.1";
src = fetchurl (source "llvm-installable-svm" javaVersion);
};
native-image-installable-svm-java17 = callPackage ./native-image-installable-svm.nix rec {
javaVersion = "17";
version = "22.3.1";
src = fetchurl (source "native-image-installable-svm" javaVersion);
};
nodejs-installable-svm-java17 = callPackage ./nodejs-installable-svm.nix rec {
javaVersion = "17";
version = "22.3.1";
src = fetchurl (source "nodejs-installable-svm" javaVersion);
graalvm-ce = graalvm17-ce-bare;
};
python-installable-svm-java17 = callPackage ./python-installable-svm.nix rec {
javaVersion = "17";
version = "22.3.1";
src = fetchurl (source "python-installable-svm" javaVersion);
};
ruby-installable-svm-java17 = callPackage ./ruby-installable-svm.nix rec {
javaVersion = "17";
version = "22.3.1";
src = fetchurl (source "ruby-installable-svm" javaVersion);
llvm-installable-svm = llvm-installable-svm-java17;
};
wasm-installable-svm-java17 = callPackage ./wasm-installable-svm.nix rec {
javaVersion = "17";
version = "22.3.1";
src = fetchurl (source "wasm-installable-svm" javaVersion);
};
### Java 19 ###
# Mostly available for build purposes, not to be exposed at the top level
graalvm19-ce-bare = buildGraalvm rec {
version = "22.3.1";
javaVersion = "19";
src = fetchurl (source "graalvm-ce" javaVersion);
meta.platforms = builtins.attrNames javaPlatform;
products = [ ];
};
graalvm19-ce = graalvm19-ce-bare.override {
products = [ native-image-installable-svm-java19 ];
};
# Mostly available for testing, not to be exposed at the top level
graalvm19-ce-full = graalvm19-ce-bare.override {
products = [
js-installable-svm-java19
llvm-installable-svm-java19
native-image-installable-svm-java19
nodejs-installable-svm-java19
python-installable-svm-java19
ruby-installable-svm-java19
wasm-installable-svm-java19
];
};
js-installable-svm-java19 = callPackage ./js-installable-svm.nix rec {
javaVersion = "19";
version = "22.3.1";
src = fetchurl (source "js-installable-svm" javaVersion);
};
llvm-installable-svm-java19 = callPackage ./llvm-installable-svm.nix rec {
javaVersion = "19";
version = "22.3.1";
src = fetchurl (source "llvm-installable-svm" javaVersion);
};
native-image-installable-svm-java19 = callPackage ./native-image-installable-svm.nix rec {
javaVersion = "19";
version = "22.3.1";
src = fetchurl (source "native-image-installable-svm" javaVersion);
};
nodejs-installable-svm-java19 = callPackage ./nodejs-installable-svm.nix rec {
javaVersion = "19";
version = "22.3.1";
src = fetchurl (source "nodejs-installable-svm" javaVersion);
graalvm-ce = graalvm19-ce-bare;
};
python-installable-svm-java19 = callPackage ./python-installable-svm.nix rec {
javaVersion = "19";
version = "22.3.1";
src = fetchurl (source "python-installable-svm" javaVersion);
};
ruby-installable-svm-java19 = callPackage ./ruby-installable-svm.nix rec {
javaVersion = "19";
version = "22.3.1";
src = fetchurl (source "ruby-installable-svm" javaVersion);
llvm-installable-svm = llvm-installable-svm-java19;
};
wasm-installable-svm-java19 = callPackage ./wasm-installable-svm.nix rec {
javaVersion = "19";
version = "22.3.1";
src = fetchurl (source "wasm-installable-svm" javaVersion);
};
truffleruby = callPackage ./truffleruby { };
}

View File

@@ -0,0 +1,17 @@
{ stdenv
, fetchurl
, graalvmCEPackages
}:
graalvmCEPackages.buildGraalvmProduct {
src = fetchurl (import ./hashes.nix).hashes.${stdenv.system};
version = (import ./hashes.nix).version;
product = "js-installable-svm";
doInstallCheck = true;
installCheckPhase = ''
echo "Testing GraalJS"
echo '1 + 1' | $out/bin/js
'';
}

View File

@@ -0,0 +1,22 @@
# Generated by update.sh script
{
"version" = "23.1.0";
"hashes" = {
"aarch64-linux" = {
sha256 = "09q88nsbz0lrl866x3hqxm3hb5wpn4x5rp6pk69x1v6xzl58wzq2";
url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graaljs-community-23.1.0-linux-aarch64.tar.gz";
};
"x86_64-linux" = {
sha256 = "0zlk0gpxwjkh4wxsc310kl80ipgk5si1lmyx0q2hqsw9lm98n41g";
url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graaljs-community-23.1.0-linux-amd64.tar.gz";
};
"x86_64-darwin" = {
sha256 = "1y5mc92yync85ywcahvq8x9jlla0rzjd4g7cm6q7p21wvfwp4d5q";
url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graaljs-community-23.1.0-macos-amd64.tar.gz";
};
"aarch64-darwin" = {
sha256 = "0ph3c6jgbvm3cliyqlccd2l292a7p0051l3sv7yf3318r6zrrk7m";
url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graaljs-community-23.1.0-macos-aarch64.tar.gz";
};
};
}

View File

@@ -0,0 +1,17 @@
{ stdenv
, fetchurl
, graalvmCEPackages
}:
graalvmCEPackages.buildGraalvmProduct {
src = fetchurl (import ./hashes.nix).hashes.${stdenv.system};
version = (import ./hashes.nix).version;
product = "nodejs-installable-svm";
doInstallCheck = true;
installCheckPhase = ''
echo "Testing NodeJS"
$out/bin/npx --help
'';
}

View File

@@ -0,0 +1,22 @@
# Generated by update.sh script
{
"version" = "23.1.0";
"hashes" = {
"aarch64-linux" = {
sha256 = "056x616pp0b25wsryzrfrfnjaxr3444fc3hmv8jspl4pjxjrais2";
url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graalnodejs-community-23.1.0-linux-aarch64.tar.gz";
};
"x86_64-linux" = {
sha256 = "1si2ifwihszv06sqd25mswibiqbxhxgj6yw829f8zrdhs0sra2nz";
url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graalnodejs-community-23.1.0-linux-amd64.tar.gz";
};
"x86_64-darwin" = {
sha256 = "1ffkdavrs92h3f5yil15v3i7r9aggkpfqd13gl5ipqlrk6pykhr7";
url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graalnodejs-community-23.1.0-macos-amd64.tar.gz";
};
"aarch64-darwin" = {
sha256 = "1g6pql0pdxhxwpjqyfkaq07dar8sx2wipsyrjc7hmz3z7pjxcf5i";
url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graalnodejs-community-23.1.0-macos-aarch64.tar.gz";
};
};
}

View File

@@ -0,0 +1,18 @@
{ stdenv
, fetchurl
, graalvmCEPackages
}:
graalvmCEPackages.buildGraalvmProduct {
src = fetchurl (import ./hashes.nix).hashes.${stdenv.system};
version = (import ./hashes.nix).version;
product = "graalpy";
doInstallCheck = true;
installCheckPhase = ''
echo "Testing GraalPy"
$out/bin/graalpy -c 'print(1 + 1)'
echo '1 + 1' | $out/bin/graalpy
'';
}

View File

@@ -0,0 +1,22 @@
# Generated by update.sh script
{
"version" = "23.1.0";
"hashes" = {
"aarch64-linux" = {
sha256 = "0n0zz86h7jsqgdiyj6vj7qw57ny40jpmfvylyxq70riy86a4zp67";
url = "https://github.com/oracle/graalpython/releases/download/graal-23.1.0/graalpy-community-23.1.0-linux-aarch64.tar.gz";
};
"x86_64-linux" = {
sha256 = "0nnv255f2bqc4l88iw48f71874ryjn16bb8qn1yk7daj1pck80vj";
url = "https://github.com/oracle/graalpython/releases/download/graal-23.1.0/graalpy-community-23.1.0-linux-amd64.tar.gz";
};
"x86_64-darwin" = {
sha256 = "16kp66l0176sbd8jzvq3y3z7d9zvkqzdaw8vrvnk2qkipa136n0k";
url = "https://github.com/oracle/graalpython/releases/download/graal-23.1.0/graalpy-community-23.1.0-macos-amd64.tar.gz";
};
"aarch64-darwin" = {
sha256 = "17clq7n1n5ww22rh9gp5h9ljhjvggcik8amhd70pwl4cjgv9mhsv";
url = "https://github.com/oracle/graalpython/releases/download/graal-23.1.0/graalpy-community-23.1.0-macos-aarch64.tar.gz";
};
};
}

View File

@@ -0,0 +1,12 @@
{ stdenv
, fetchurl
, graalvmCEPackages
, useMusl ? false
}:
graalvmCEPackages.buildGraalvm {
inherit useMusl;
src = fetchurl (import ./hashes.nix).hashes.${stdenv.system};
version = (import ./hashes.nix).version;
meta.platforms = builtins.attrNames (import ./hashes.nix).hashes;
}

View File

@@ -0,0 +1,22 @@
# Generated by update.sh script
{
"version" = "21.0.0";
"hashes" = {
"aarch64-linux" = {
sha256 = "199h3d6zayw28xlyggldap6nafh5fnpfbshs0rsf94dfgv7r4kmv";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-21.0.0/graalvm-community-jdk-21.0.0_linux-aarch64_bin.tar.gz";
};
"x86_64-linux" = {
sha256 = "06dkb1yimk5q3yzjk6kjsrs2pkbjxgz9jr5vj6wfb2y5ri0jjhkc";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-21.0.0/graalvm-community-jdk-21.0.0_linux-x64_bin.tar.gz";
};
"x86_64-darwin" = {
sha256 = "1qbz3xfxj7nwb01cy99hd22k3pim8j43blcdcys48l8xcb234nlk";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-21.0.0/graalvm-community-jdk-21.0.0_macos-x64_bin.tar.gz";
};
"aarch64-darwin" = {
sha256 = "0dqgsp0bhqvv07b9kb0cxqm5cw47kapzbfbw13570ydgc0gfg3f5";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-21.0.0/graalvm-community-jdk-21.0.0_macos-aarch64_bin.tar.gz";
};
};
}

View File

@@ -1,391 +0,0 @@
# Generated by pkgs/development/compilers/graalvm/community-edition/update.sh script
{
"llvm-installable-svm" = {
"11-linux-aarch64" = {
sha256 = "0h8xkvsixcwak5dymkj3jgjv11w3ivnd6d45v5pdbymd0m2ifia8";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java11-linux-aarch64-22.3.1.jar";
};
"17-linux-aarch64" = {
sha256 = "1zww45z7m3mvzg47fwc3jgqz3hkra220isf4ih8sv6kjg1jc4y14";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java17-linux-aarch64-22.3.1.jar";
};
"19-linux-aarch64" = {
sha256 = "13gg5hqg3pzn3qprl76i2wpmfagf5zw4w9hl18993ing21k5d0kq";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java19-linux-aarch64-22.3.1.jar";
};
"11-linux-amd64" = {
sha256 = "133m9vg9rlp2xkndh3d6b8ybq8vwch99rj1b50xr6bz8r6306ara";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java11-linux-amd64-22.3.1.jar";
};
"17-linux-amd64" = {
sha256 = "0nz09idp8wawm3yinsplzvxhld8yav06l1nqj02gxrc1kxd5nsr1";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java17-linux-amd64-22.3.1.jar";
};
"19-linux-amd64" = {
sha256 = "1b5jsazjxkqlswl0h5yx7nx16zjjlvw967i6kypp4js80zg79s8m";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java19-linux-amd64-22.3.1.jar";
};
"11-darwin-aarch64" = {
sha256 = "0ngcm3ara7g1xz4kh515igpyrjhr1k5z9nf4vsaw4lpa5sqljv7z";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java11-darwin-aarch64-22.3.1.jar";
};
"17-darwin-aarch64" = {
sha256 = "1lr8kk82c3l9hx7wc5hqmpqfgvpk72xg1h07b6cgibry1bm6baj6";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java17-darwin-aarch64-22.3.1.jar";
};
"19-darwin-aarch64" = {
sha256 = "0mdiiag4hkddfgjamqn8y63s7xrfhq1wjvc7rw2sldykg7x0813i";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java19-darwin-aarch64-22.3.1.jar";
};
"11-darwin-amd64" = {
sha256 = "058pzrd90xx4yi7mm2fvs2npqcdkb2nzhqfwfz5v202038igi61g";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java11-darwin-amd64-22.3.1.jar";
};
"17-darwin-amd64" = {
sha256 = "10rfz8ddq82zpf6cy2y0gx1bx0zhjzm3gwwdb1j7mll0hvwp84sg";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java17-darwin-amd64-22.3.1.jar";
};
"19-darwin-amd64" = {
sha256 = "0h5sf99ypwz0bafq4jm71ynszfgsrlnhmcjh0kl6sy5g1q8ij0jf";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java19-darwin-amd64-22.3.1.jar";
};
};
"nodejs-installable-svm" = {
"11-linux-aarch64" = {
sha256 = "0slzvbmxwa4a6m9c0hbdp8ryh9crfq7mv6y2j4hik5m457jq98cp";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java11-linux-aarch64-22.3.1.jar";
};
"17-linux-aarch64" = {
sha256 = "1ldivy5hmq2mxmzh40hglzngylahnzyqh9rav73nicl5mz8hk4l2";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java17-linux-aarch64-22.3.1.jar";
};
"19-linux-aarch64" = {
sha256 = "12chjbfz530kyp46bya8wcwciwlhp873hc6mvsjcf5swa3g7cwcl";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java19-linux-aarch64-22.3.1.jar";
};
"11-linux-amd64" = {
sha256 = "1p1y52b4lky2fbkml5vqy7dn9vqzj19jq5f3c90mgsfk4c7xhi66";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java11-linux-amd64-22.3.1.jar";
};
"17-linux-amd64" = {
sha256 = "0j1gkpszklzm069bccm6wgq8iq0k41bcrca0kf8pbl2y11hwywpc";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java17-linux-amd64-22.3.1.jar";
};
"19-linux-amd64" = {
sha256 = "1gdkn0srkh8bn7c81f8s7ykd12pnz5r75rif76zhzdllhx63nn5v";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java19-linux-amd64-22.3.1.jar";
};
"11-darwin-aarch64" = {
sha256 = "1fbqc3a7i91as1sbwg2yr1zx0wz4jsaxcz9pfqy8a0z88m8vivbs";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java11-darwin-aarch64-22.3.1.jar";
};
"17-darwin-aarch64" = {
sha256 = "1swzkp0imcv30fxfwblgad57fvpsvhfpv93s8zj1lwrbarggl2y3";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java17-darwin-aarch64-22.3.1.jar";
};
"19-darwin-aarch64" = {
sha256 = "11kpgd6vxc8dm9z5ihkwbjbbspk53m3k9b550zf0zs3as9yjbp22";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java19-darwin-aarch64-22.3.1.jar";
};
"11-darwin-amd64" = {
sha256 = "0n3hm8dd0ya86hxbxv07sfp22y02vhhzahkxk2j2162n9hcdmkwk";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java11-darwin-amd64-22.3.1.jar";
};
"17-darwin-amd64" = {
sha256 = "0xkjqcch22bm32mczj6xs8rzsl2n6vy9hmzwfy9a71w1kpkbjn3a";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java17-darwin-amd64-22.3.1.jar";
};
"19-darwin-amd64" = {
sha256 = "1yrh6iahai3aw7lpz89mrq782b1bysqqr9vkqdgcv00by1a7yd10";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java19-darwin-amd64-22.3.1.jar";
};
};
"wasm-installable-svm" = {
"11-linux-aarch64" = {
sha256 = "1d67jm41psypkhpy77cb2l00smhni3pgkybwx79z7dzcyid7p2l1";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/wasm-installable-svm-java11-linux-aarch64-22.3.1.jar";
};
"17-linux-aarch64" = {
sha256 = "1cg9zxyjirfl0afr9cppg2h17j8qdidi4llbal2g5w1p2v9zq78b";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/wasm-installable-svm-java17-linux-aarch64-22.3.1.jar";
};
"19-linux-aarch64" = {
sha256 = "1vaqf3ilp3kg280adynww4l07sbcd5hih86akpd25rbxn45khz9s";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/wasm-installable-svm-java19-linux-aarch64-22.3.1.jar";
};
"11-linux-amd64" = {
sha256 = "19v7jqhvijmzzb0i9q6hbvrmqnmmzbyvai3il9f357qvv6r6lylb";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/wasm-installable-svm-java11-linux-amd64-22.3.1.jar";
};
"17-linux-amd64" = {
sha256 = "0sfnsy0r4qf7ni9mh437dad1d8sidajcra2azsmy5qdmh091zhj5";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/wasm-installable-svm-java17-linux-amd64-22.3.1.jar";
};
"19-linux-amd64" = {
sha256 = "1k7jqsh5wg7c7a6mhqgxghn20qwx70bky49p2a6imcsygnilqgim";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/wasm-installable-svm-java19-linux-amd64-22.3.1.jar";
};
"11-darwin-amd64" = {
sha256 = "0764d97mla5cii4iyvyb43v62dk8ff3plqjmdc69qqxx8mdzpwqv";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/wasm-installable-svm-java11-darwin-amd64-22.3.1.jar";
};
"17-darwin-amd64" = {
sha256 = "1ip6ybm7p28bs2lifxqhq6fyvfm3wmacv6dqziyl2v7v7yl0iw4i";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/wasm-installable-svm-java17-darwin-amd64-22.3.1.jar";
};
"19-darwin-amd64" = {
sha256 = "14d3djmacj81rj5sqf30z060iywndn6kw1n58kg12jvmgipbm3iq";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/wasm-installable-svm-java19-darwin-amd64-22.3.1.jar";
};
};
"js-installable-svm" = {
"11-linux-aarch64" = {
sha256 = "1b8vnjjsa548c6j3dycxp57i9xmyvndiz2xhv7fm10izcplyspxq";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java11-linux-aarch64-22.3.1.jar";
};
"17-linux-aarch64" = {
sha256 = "1kcy3mjk908zs7f3k95awp6294cwr06hand4cbw1lsnfvp0qwhk7";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java17-linux-aarch64-22.3.1.jar";
};
"19-linux-aarch64" = {
sha256 = "1mk8qzdfsbjhfx0ds8rk9jm2g6g2lv8bppmnwpgrkm232c8i0dgw";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java19-linux-aarch64-22.3.1.jar";
};
"11-linux-amd64" = {
sha256 = "0sq80a4nnvik560whgv5vwlsszi8z02idvpd92p0caf03bra9x2b";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java11-linux-amd64-22.3.1.jar";
};
"17-linux-amd64" = {
sha256 = "0fd160yxsi09m97z7vqh5kwf1g0p0hn4niy48glj9jhirfqzzw0c";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java17-linux-amd64-22.3.1.jar";
};
"19-linux-amd64" = {
sha256 = "0ghx41aldb30yjd0sdrfm89i7d6q0aca18bm7j1qyg9gnmkvxnmn";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java19-linux-amd64-22.3.1.jar";
};
"11-darwin-aarch64" = {
sha256 = "18g0xixzk45yrxv3zfs7qrdyj0b3ksp59jhbcis0vwy9gx8094wq";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java11-darwin-aarch64-22.3.1.jar";
};
"17-darwin-aarch64" = {
sha256 = "0cf4iivkniilvbqyniqxcz1qf49cs4lxi0axjsk9sz1zmxcq0bnk";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java17-darwin-aarch64-22.3.1.jar";
};
"19-darwin-aarch64" = {
sha256 = "03wxaim069rp69njh4gdchsm3b9s7crxihbk1arvz2cpgy9x1zvc";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java19-darwin-aarch64-22.3.1.jar";
};
"11-darwin-amd64" = {
sha256 = "0ibcz6ivx068ndf45j9pghm8qwq287glqxf0xx08kjxnhms67p52";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java11-darwin-amd64-22.3.1.jar";
};
"17-darwin-amd64" = {
sha256 = "16q7whnvdrk8lb4fp96qr3p567kggyk9q5iqcn081qk8xjkbx0zv";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java17-darwin-amd64-22.3.1.jar";
};
"19-darwin-amd64" = {
sha256 = "13nx6kwcx100166ba4h7h97ravw4hyiqnvhszqbdffn54y0x5dwl";
url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java19-darwin-amd64-22.3.1.jar";
};
};
"python-installable-svm" = {
"11-linux-aarch64" = {
sha256 = "1yl36x5svld7qnm3m6vmacm2n4d6l9vhdxhaypvlv2bbfbnym3c5";
url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java11-linux-aarch64-22.3.1.jar";
};
"17-linux-aarch64" = {
sha256 = "0ggx5rwz3qnnxgz407r8yx12556pcbirhnc44972l77r320rdmqc";
url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java17-linux-aarch64-22.3.1.jar";
};
"19-linux-aarch64" = {
sha256 = "1d0a7didgzgn45q7zg4iidmy2gckhaf796mbraqz5hjlig4vscr7";
url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java19-linux-aarch64-22.3.1.jar";
};
"11-linux-amd64" = {
sha256 = "11c19a20v3ff83dxzs9hf1z89kh0qich41b03gx8mancf12jfwnl";
url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java11-linux-amd64-22.3.1.jar";
};
"17-linux-amd64" = {
sha256 = "0pga44whhvm98d8j2v2bpl9rkbvr9bv947rc4imlbf01cyxjwl71";
url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java17-linux-amd64-22.3.1.jar";
};
"19-linux-amd64" = {
sha256 = "0nwa1nrclh3p12cacp98wbx9p3zhs44b8srbr27vqgc10z78c1wz";
url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java19-linux-amd64-22.3.1.jar";
};
"11-darwin-aarch64" = {
sha256 = "0qnh8i9nazrv25jhn13wp7qqm9wwhcz4kpp2ygvsdmf9s3d2f5lf";
url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java11-darwin-aarch64-22.3.1.jar";
};
"17-darwin-aarch64" = {
sha256 = "0j13xvy9d19glipz4wdma2y02g0cnksg1iij4247fjhpqh0axkdz";
url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java17-darwin-aarch64-22.3.1.jar";
};
"19-darwin-aarch64" = {
sha256 = "0n7vx5lxbgpjvzv0y1fqsrk0j61vrzjm2ksh0lkdnz1zrr5mqgsh";
url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java19-darwin-aarch64-22.3.1.jar";
};
"11-darwin-amd64" = {
sha256 = "1ny5664h7pibvskmm51mlxrxkbbj2dvxsv2yqbq6v51a57wm1yzn";
url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java11-darwin-amd64-22.3.1.jar";
};
"17-darwin-amd64" = {
sha256 = "01jjncx8jm1yrps2nj217vgcmjaqclmpb27rdp3qn7k64w5wzipg";
url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java17-darwin-amd64-22.3.1.jar";
};
"19-darwin-amd64" = {
sha256 = "00agpvp1yw884lm6d88d2l8629qpbpdlik2g621yz4vf9y7qki83";
url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java19-darwin-amd64-22.3.1.jar";
};
};
"native-image-installable-svm" = {
"11-linux-aarch64" = {
sha256 = "0z9rbmci6yz7f7mqd3xzsxc5ih4hq72lyzqfchan7fr6mh38d6gw";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/native-image-installable-svm-java11-linux-aarch64-22.3.1.jar";
};
"17-linux-aarch64" = {
sha256 = "03v20fc9famlnbrznpasnd5gdl5k9nl4dlj3pp6bad4y6l7rqnx5";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/native-image-installable-svm-java17-linux-aarch64-22.3.1.jar";
};
"19-linux-aarch64" = {
sha256 = "13gg1zj7ivzrgwvyvsbwbrchryjqmi00km7jxajjjbr1k7jkdc5v";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/native-image-installable-svm-java19-linux-aarch64-22.3.1.jar";
};
"11-linux-amd64" = {
sha256 = "1yb7kpbs7hrzlysvrqjzgfz678p1hbg6237jzb35zmwdaczav51n";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/native-image-installable-svm-java11-linux-amd64-22.3.1.jar";
};
"17-linux-amd64" = {
sha256 = "00fbyqsj4xj9ay8bki1190lf59bgrzvla8lzzq51p53a1bdrhhmv";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/native-image-installable-svm-java17-linux-amd64-22.3.1.jar";
};
"19-linux-amd64" = {
sha256 = "1ayx0ag00i9868xz5xzc9fmwipkhz5qsldfmxk16cxp5vi71yhb1";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/native-image-installable-svm-java19-linux-amd64-22.3.1.jar";
};
"11-darwin-aarch64" = {
sha256 = "1kaqvkbhj3iifq6asyrpy225a89y7klzbh7an1ycnvc2hvqkv4nz";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/native-image-installable-svm-java11-darwin-aarch64-22.3.1.jar";
};
"17-darwin-aarch64" = {
sha256 = "09l7x4x8yanq55v6y6wpfx94mvsq1bpbnihknjc6dnq3vcrci77n";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/native-image-installable-svm-java17-darwin-aarch64-22.3.1.jar";
};
"19-darwin-aarch64" = {
sha256 = "0dfddqgkz9b5akpgfw7sj4sl9wwknmh7qzk3pq2dpvf6892168wb";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/native-image-installable-svm-java19-darwin-aarch64-22.3.1.jar";
};
"11-darwin-amd64" = {
sha256 = "036w9dmdcs46kmjqr3086mg389fgr3h1zysavfq8cbh199x0ibia";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/native-image-installable-svm-java11-darwin-amd64-22.3.1.jar";
};
"17-darwin-amd64" = {
sha256 = "1hvjfvcn878bzvi944v3x23sby72hbfvg5s3zzspyc37l5cdpqi3";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/native-image-installable-svm-java17-darwin-amd64-22.3.1.jar";
};
"19-darwin-amd64" = {
sha256 = "1829fnyz62gcnj0664hl9w3vjyb3xfc84gpnblhhdx77c9y8gf6b";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/native-image-installable-svm-java19-darwin-amd64-22.3.1.jar";
};
};
"graalvm-ce" = {
"11-linux-aarch64" = {
sha256 = "1g4a3z9993pq52j3jf25pbcq9rvl8jz1yar8c859jw5chaf3ysml";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java11-linux-aarch64-22.3.1.tar.gz";
};
"17-linux-aarch64" = {
sha256 = "06288dwbql943nii74i9mngzb38h2nzrxzzgs346mgk2965gwm59";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java17-linux-aarch64-22.3.1.tar.gz";
};
"19-linux-aarch64" = {
sha256 = "03bakx00rl2c0hyvp5skfha57cijlpvmsnfgv2ancn3ypyqx1c4m";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java19-linux-aarch64-22.3.1.tar.gz";
};
"11-linux-amd64" = {
sha256 = "1f6xkdnxn6xsm24sqw24rsca72wm7v6q96m23l5fng5ym0jpfm2m";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java11-linux-amd64-22.3.1.tar.gz";
};
"17-linux-amd64" = {
sha256 = "0aci9i28rq5nk2qya9dcg5hxr3sgsbv7f5x8679hrjrqmrclmkrs";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java17-linux-amd64-22.3.1.tar.gz";
};
"19-linux-amd64" = {
sha256 = "0byxf2d4c3vwygjg5rbwwi22k1pv0yqjz03n8m67v2vsbs09vnbw";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java19-linux-amd64-22.3.1.tar.gz";
};
"11-darwin-aarch64" = {
sha256 = "0cbcm9d211m4b6g1bkpfksma917lzqkl4kx38vm1nrwjkll357y5";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java11-darwin-aarch64-22.3.1.tar.gz";
};
"17-darwin-aarch64" = {
sha256 = "1qbw3hlmqcrmd70xk56463scdxr50n66z2n3c24h68qlwwlpqc73";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java17-darwin-aarch64-22.3.1.tar.gz";
};
"19-darwin-aarch64" = {
sha256 = "09n9qz58lfwl2ag8s3n6dm11p5nnbz6gfralfyfj72wwfghcsckc";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java19-darwin-aarch64-22.3.1.tar.gz";
};
"11-darwin-amd64" = {
sha256 = "0a12rzf99x5l29f6bwm6myk18dgnrx2c9rwmii2pm864y7azlnij";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java11-darwin-amd64-22.3.1.tar.gz";
};
"17-darwin-amd64" = {
sha256 = "02lclv2j3v850izh84wdvksi3d3xmgpfl7x85vzifhgsvagm6sz4";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java17-darwin-amd64-22.3.1.tar.gz";
};
"19-darwin-amd64" = {
sha256 = "1b3r43jpgip12if1fld41qiigqgn32zqs6992ji206dxq6xwli23";
url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java19-darwin-amd64-22.3.1.tar.gz";
};
};
"ruby-installable-svm" = {
"11-linux-aarch64" = {
sha256 = "10wm1sq7smywy63mzlsbn21kzd65yaqj8yismpq8bz19h9skas7w";
url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java11-linux-aarch64-22.3.1.jar";
};
"17-linux-aarch64" = {
sha256 = "0kh1w49yp3kpfvhqw19bbx51ay1wgzq80gsrfqax4zm5ixz4wsbz";
url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java17-linux-aarch64-22.3.1.jar";
};
"19-linux-aarch64" = {
sha256 = "1c3xw9h85g3p5w12zrlvl036ay3218g5405hkh7qaah00affgx5l";
url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java19-linux-aarch64-22.3.1.jar";
};
"11-linux-amd64" = {
sha256 = "0avsawgfkqbgqc2hm8zmz37qg9ag3ddni3my8g73kvzfkghsdabh";
url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java11-linux-amd64-22.3.1.jar";
};
"17-linux-amd64" = {
sha256 = "1ib00pqdhzl24y97j16mm86qwrijqjnmhjmk3g5vdhyhh099vjp1";
url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java17-linux-amd64-22.3.1.jar";
};
"19-linux-amd64" = {
sha256 = "1j42y6gwf84xgjnawwqymxv4702gsy0vriwdfd09nbp600sjzga5";
url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java19-linux-amd64-22.3.1.jar";
};
"11-darwin-aarch64" = {
sha256 = "1im75qad89xa2nbl80csnwn56k6n11zv5g91xlkqq4xk300v1saj";
url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java11-darwin-aarch64-22.3.1.jar";
};
"17-darwin-aarch64" = {
sha256 = "1pfzsisf4sgzxmk3r1p4apzqkwipjpf8naly3v94i5v3b5gbnczx";
url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java17-darwin-aarch64-22.3.1.jar";
};
"19-darwin-aarch64" = {
sha256 = "0xysf43q0zpin3lmffmb3n7y4rsm1zm19ndys1vrn8szz4jcxpsq";
url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java19-darwin-aarch64-22.3.1.jar";
};
"11-darwin-amd64" = {
sha256 = "1jfls71y92hw09s869v2qw8pypgl1fciqz3m9zcd2602hikysq6c";
url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java11-darwin-amd64-22.3.1.jar";
};
"17-darwin-amd64" = {
sha256 = "03x2h4sw72l05xxg73xj9mzzkxffbjpv8hdi59rgxxljnz0ai6rx";
url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java17-darwin-amd64-22.3.1.jar";
};
"19-darwin-amd64" = {
sha256 = "02nkjlv306wyms7swibn5rz0w8sx6pwvh1lilgvv4xnbj7wps2q7";
url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java19-darwin-amd64-22.3.1.jar";
};
};
}

View File

@@ -1,17 +0,0 @@
{ lib
, stdenv
, graalvmCEPackages
, javaVersion
, src
, version
}:
graalvmCEPackages.buildGraalvmProduct rec {
inherit src javaVersion version;
product = "js-installable-svm";
graalvmPhases.installCheckPhase = ''
echo "Testing GraalJS"
echo '1 + 1' | $out/bin/js
'';
}

View File

@@ -1,18 +0,0 @@
{ lib
, stdenv
, graalvmCEPackages
, javaVersion
, src
, version
}:
graalvmCEPackages.buildGraalvmProduct rec {
inherit src javaVersion version;
product = "llvm-installable-svm";
# TODO: improve this test
graalvmPhases.installCheckPhase = ''
echo "Testing llvm"
$out/bin/lli --help
'';
}

View File

@@ -1,60 +0,0 @@
{ lib
, stdenv
, graalvmCEPackages
, gcc
, glibc
, javaVersion
, musl
, src
, version
, writeShellScriptBin
, zlib
, useMusl ? false
, extraCLibs ? [ ]
}:
assert useMusl -> stdenv.isLinux;
let
cLibs = [ glibc zlib.static ]
++ lib.optionals (!useMusl) [ glibc.static ]
++ lib.optionals useMusl [ musl ]
++ extraCLibs;
# GraalVM 21.3.0+ expects musl-gcc as <system>-musl-gcc
musl-gcc = (writeShellScriptBin "${stdenv.hostPlatform.system}-musl-gcc" ''${lib.getDev musl}/bin/musl-gcc "$@"'');
binPath = lib.makeBinPath ([ gcc ] ++ lib.optionals useMusl [ musl-gcc ]);
in
graalvmCEPackages.buildGraalvmProduct rec {
inherit src javaVersion version;
product = "native-image-installable-svm";
graalvmPhases.postInstall = lib.optionalString stdenv.isLinux ''
wrapProgram $out/bin/native-image \
--prefix PATH : ${binPath} \
${lib.concatStringsSep " "
(map (l: "--add-flags '-H:CLibraryPath=${l}/lib'") cLibs)}
'';
graalvmPhases.installCheckPhase = ''
echo "Ahead-Of-Time compilation"
$out/bin/native-image -H:-CheckToolchain -H:+ReportExceptionStackTraces HelloWorld
./helloworld | fgrep 'Hello World'
${# --static is only available in Linux
lib.optionalString (stdenv.isLinux && !useMusl) ''
echo "Ahead-Of-Time compilation with -H:+StaticExecutableWithDynamicLibC"
$out/bin/native-image -H:+StaticExecutableWithDynamicLibC HelloWorld
./helloworld | fgrep 'Hello World'
echo "Ahead-Of-Time compilation with --static"
$out/bin/native-image --static HelloWorld
./helloworld | fgrep 'Hello World'
''}
${# --static is only available in Linux
lib.optionalString (stdenv.isLinux && useMusl) ''
echo "Ahead-Of-Time compilation with --static and --libc=musl"
$out/bin/native-image --static HelloWorld --libc=musl
./helloworld | fgrep 'Hello World'
''}
'';
}

View File

@@ -1,21 +0,0 @@
{ lib
, stdenv
, graalvmCEPackages
, graalvm-ce
, javaVersion
, src
, version
}:
graalvmCEPackages.buildGraalvmProduct rec {
inherit src javaVersion version;
product = "nodejs-installable-svm";
extraNativeBuildInputs = [ graalvm-ce ];
# TODO: improve test
graalvmPhases.installCheckPhase = ''
echo "Testing NodeJS"
$out/bin/npx --help
'';
}

View File

@@ -1,18 +0,0 @@
{ lib
, stdenv
, graalvmCEPackages
, javaVersion
, src
, version
}:
graalvmCEPackages.buildGraalvmProduct rec {
inherit src javaVersion version;
product = "python-installable-svm";
graalvmPhases.installCheckPhase = ''
echo "Testing GraalPython"
$out/bin/graalpy -c 'print(1 + 1)'
echo '1 + 1' | $out/bin/graalpy
'';
}

View File

@@ -1,29 +1,30 @@
{ lib
, stdenv
, fetchurl
, graalvmCEPackages
, llvm-installable-svm
, libyaml
, openssl
, javaVersion
, src
, version
}:
graalvmCEPackages.buildGraalvmProduct rec {
inherit src javaVersion version;
product = "ruby-installable-svm";
graalvmCEPackages.buildGraalvmProduct {
src = fetchurl (import ./hashes.nix).hashes.${stdenv.system};
version = (import ./hashes.nix).version;
product = "truffleruby";
extraBuildInputs = [
llvm-installable-svm
libyaml
openssl
];
preFixup = lib.optionalString stdenv.isLinux ''
patchelf $out/languages/ruby/lib/mri/openssl.so \
patchelf $out/lib/mri/openssl.so \
--replace-needed libssl.so.10 libssl.so \
--replace-needed libcrypto.so.10 libcrypto.so
'';
graalvmPhases.installCheckPhase = ''
doInstallCheck = true;
installCheckPhase = ''
echo "Testing TruffleRuby"
# Fixup/silence warnings about wrong locale
export LANG=C

View File

@@ -0,0 +1,22 @@
# Generated by update.sh script
{
"version" = "23.1.0";
"hashes" = {
"aarch64-linux" = {
sha256 = "05q0xqm7qa9mw7v4kwyhbqsx27x19msf9rbbzq60dinp5724r721";
url = "https://github.com/oracle/truffleruby/releases/download/graal-23.1.0/truffleruby-community-23.1.0-linux-aarch64.tar.gz";
};
"x86_64-linux" = {
sha256 = "0bfcqcax9424vsdqzr18mxkhi2wpzc4xaji98anm8mcjkyl1r89q";
url = "https://github.com/oracle/truffleruby/releases/download/graal-23.1.0/truffleruby-community-23.1.0-linux-amd64.tar.gz";
};
"x86_64-darwin" = {
sha256 = "1yj9nk670hgh9104s1j207mqldagfvvvscj4bfgf3jlbcq5hvlhn";
url = "https://github.com/oracle/truffleruby/releases/download/graal-23.1.0/truffleruby-community-23.1.0-macos-amd64.tar.gz";
};
"aarch64-darwin" = {
sha256 = "1nmqyn4vzwjsvq7dly8qn1xx973jg027xfbs988vf3nljnhkpq5l";
url = "https://github.com/oracle/truffleruby/releases/download/graal-23.1.0/truffleruby-community-23.1.0-macos-aarch64.tar.gz";
};
};
}

View File

@@ -1,10 +1,23 @@
#!/usr/bin/env nix-shell
#!nix-shell -p coreutils curl.out nix jq gnused -i bash
# Usage:
# ./update.sh [PRODUCT]
#
# Examples:
# $ ./update.sh graalvm-ce # will generate ./graalvm-ce/hashes.nix
# $ ./update.sh # same as above
# $ ./update.sh graalpy # will generate ./graalpy/hashes.nix
#
# Environment variables:
# FORCE=1 to force the update of a product (e.g.: skip up-to-date checks)
# VERSION=xx.xx will assume that xx.xx is the new version
set -eou pipefail
cd "$(dirname "${BASH_SOURCE[0]}")"
tmpfile="$(mktemp --suffix=.nix)"
readonly tmpfile
trap 'rm -rf "$tmpfile"' EXIT
@@ -16,92 +29,102 @@ verlte() {
[ "$1" = "$(echo -e "$1\n$2" | sort -V | head -n1)" ]
}
readonly hashes_nix="hashes.nix"
readonly product="${1:-graalvm-ce}"
readonly hashes_nix="$product/hashes.nix"
readonly nixpkgs=../../../../..
readonly current_version="$(nix-instantiate "$nixpkgs" --eval --strict -A graalvm-ce.version --json | jq -r)"
mkdir -p "$product"
if [[ -z "${1:-}" ]]; then
readonly gh_version="$(curl \
declare -r -A update_urls=(
[graalvm-ce]="https://api.github.com/repos/graalvm/graalvm-ce-builds/releases/latest"
[graaljs]="https://api.github.com/repos/oracle/graaljs/releases/latest"
[graalnodejs]="https://api.github.com/repos/oracle/graaljs/releases/latest"
[graalpy]="https://api.github.com/repos/oracle/graalpython/releases/latest"
[truffleruby]="https://api.github.com/repos/oracle/truffleruby/releases/latest"
)
current_version="$(nix-instantiate "$nixpkgs" --eval --strict -A "graalvmCEPackages.${product}.version" --json | jq -r)"
readonly current_version
if [[ -z "${VERSION:-}" ]]; then
gh_version="$(curl \
${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \
-s https://api.github.com/repos/graalvm/graalvm-ce-builds/releases/latest | \
-s "${update_urls[$product]}" | \
jq --raw-output .tag_name)"
readonly new_version="${gh_version//vm-/}"
new_version="${gh_version//jdk-/}"
new_version="${new_version//graal-/}"
else
readonly new_version="$1"
new_version="$VERSION"
fi
readonly new_version
info "Current version: $current_version"
info "New version: $new_version"
if verlte "$new_version" "$current_version"; then
info "graalvm-ce $current_version is up-to-date."
info "$product $current_version is up-to-date."
[[ -z "${FORCE:-}" ]] && exit 0
else
info "graalvm-ce $current_version is out-of-date. Updating..."
info "$product $current_version is out-of-date. Updating..."
fi
# Make sure to get the `-community` versions!
declare -r -A products_urls=(
[graalvm-ce]="https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${new_version}/graalvm-ce-java@platform@-${new_version}.tar.gz"
[js-installable-svm]="https://github.com/graalvm/graaljs/releases/download/vm-${new_version}/js-installable-svm-java@platform@-${new_version}.jar"
[llvm-installable-svm]="https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${new_version}/llvm-installable-svm-java@platform@-${new_version}.jar"
[native-image-installable-svm]="https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${new_version}/native-image-installable-svm-java@platform@-${new_version}.jar"
[nodejs-installable-svm]="https://github.com/graalvm/graaljs/releases/download/vm-${new_version}/nodejs-installable-svm-java@platform@-${new_version}.jar"
[python-installable-svm]="https://github.com/graalvm/graalpython/releases/download/vm-${new_version}/python-installable-svm-java@platform@-${new_version}.jar"
[ruby-installable-svm]="https://github.com/oracle/truffleruby/releases/download/vm-${new_version}/ruby-installable-svm-java@platform@-${new_version}.jar"
[wasm-installable-svm]="https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${new_version}/wasm-installable-svm-java@platform@-${new_version}.jar"
[graalvm-ce]="https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-${new_version}/graalvm-community-jdk-${new_version}_@platform@_bin.tar.gz"
[graaljs]="https://github.com/oracle/graaljs/releases/download/graal-${new_version}/graaljs-community-${new_version}-@platform@.tar.gz"
[graalnodejs]="https://github.com/oracle/graaljs/releases/download/graal-${new_version}/graalnodejs-community-${new_version}-@platform@.tar.gz"
[graalpy]="https://github.com/oracle/graalpython/releases/download/graal-${new_version}/graalpy-community-${new_version}-@platform@.tar.gz"
[truffleruby]="https://github.com/oracle/truffleruby/releases/download/graal-${new_version}/truffleruby-community-${new_version}-@platform@.tar.gz"
)
readonly platforms=(
"11-linux-aarch64"
"17-linux-aarch64"
"19-linux-aarch64"
"11-linux-amd64"
"17-linux-amd64"
"19-linux-amd64"
"11-darwin-aarch64"
"17-darwin-aarch64"
"19-darwin-aarch64"
"11-darwin-amd64"
"17-darwin-amd64"
"19-darwin-amd64"
)
# Argh, this is really inconsistent...
if [[ "$product" == "graalvm-ce" ]]; then
declare -r -A platforms=(
[aarch64-linux]="linux-aarch64"
[x86_64-linux]="linux-x64"
[aarch64-darwin]="macos-aarch64"
[x86_64-darwin]="macos-x64"
)
else
declare -r -A platforms=(
[aarch64-linux]="linux-aarch64"
[x86_64-linux]="linux-amd64"
[aarch64-darwin]="macos-aarch64"
[x86_64-darwin]="macos-amd64"
)
fi
info "Generating '$hashes_nix' file for 'graalvm-ce' $new_version. This will take a while..."
info "Generating '$hashes_nix' file for '$product' $new_version. This will take a while..."
# Indentation of `echo_file` function is on purpose to make it easier to visualize the output
echo_file "# Generated by $0 script"
echo_file "# Generated by $(basename $0) script"
echo_file "{"
for product in "${!products_urls[@]}"; do
url="${products_urls["${product}"]}"
echo_file " \"$product\" = {"
for platform in "${platforms[@]}"; do
args=("${url//@platform@/$platform}")
# Get current hashes to skip derivations already in /nix/store to reuse cache when the version is the same
# e.g.: when adding a new product and running this script with FORCE=1
if [[ "$current_version" == "$new_version" ]] && \
previous_hash="$(nix-instantiate --eval "$hashes_nix" -A "$product.$platform.sha256" --json | jq -r)"; then
args+=("$previous_hash" "--type" "sha256")
else
info "Hash in '$product' for '$platform' not found. Re-downloading it..."
fi
if hash="$(nix-prefetch-url "${args[@]}")"; then
echo_file " \"$platform\" = {"
echo_file " \"version\" = \"$new_version\";"
url="${products_urls["${product}"]}"
echo_file " \"hashes\" = {"
for nix_platform in "${!platforms[@]}"; do
product_platform="${platforms[$nix_platform]}"
args=("${url//@platform@/$product_platform}")
# Get current hashes to skip derivations already in /nix/store to reuse cache when the version is the same
# e.g.: when adding a new product and running this script with FORCE=1
if [[ "$current_version" == "$new_version" ]] && \
previous_hash="$(nix-instantiate --eval "$hashes_nix" -A "hashes.$nix_platform.sha256" --json | jq -r)"; then
args+=("$previous_hash" "--type" "sha256")
else
info "Hash in '$product' for '$nix_platform' not found. Re-downloading it..."
fi
if hash="$(nix-prefetch-url "${args[@]}")"; then
echo_file " \"$nix_platform\" = {"
echo_file " sha256 = \"$hash\";"
echo_file " url = \"${url//@platform@/${platform}}\";"
echo_file " url = \"${url//@platform@/${product_platform}}\";"
echo_file " };"
else
info "Error while downloading '$product' for '$platform'. Skipping it..."
fi
done
echo_file " };"
else
info "Error while downloading '$product' for '$nix_platform'. Skipping it..."
fi
done
echo_file " };"
echo_file "}"
info "Updating graalvm-ce version..."
# update-source-version does not work here since it expects src attribute
sed "s|$current_version|$new_version|" -i default.nix
info "Moving the temporary file to hashes.nix"
info "Moving the temporary file to '$hashes_nix'"
mv "$tmpfile" "$hashes_nix"
info "Done!"

View File

@@ -1,22 +0,0 @@
{ lib
, stdenv
, graalvm-ce
, graalvmCEPackages
, javaVersion
, src
, version
}:
graalvmCEPackages.buildGraalvmProduct rec {
inherit src javaVersion version;
product = "wasm-installable-svm";
# TODO: improve this test
graalvmPhases.installCheckPhase = ''
echo "Testing wasm"
$out/bin/wasm --help
'';
# Not supported in aarch64-darwin yet as GraalVM 22.3.1 release
meta.platforms = builtins.filter (p: p != "aarch64-darwin") graalvm-ce.meta.platforms;
}

View File

@@ -15,7 +15,7 @@ buildGraalvmNativeImage rec {
sha256 = "sha256-O3pLELYmuuB+Bf1vHTWQ+u7Ymi3qYiMRpCwvEq+GeBQ=";
};
graalvmDrv = graalvmCEPackages.graalvm19-ce;
graalvmDrv = graalvmCEPackages.graalvm-ce;
executable = "bb";
@@ -38,7 +38,7 @@ buildGraalvmNativeImage rec {
# As of v1.2.174, this will remove references to ${graalvmDrv}/conf/chronology,
# not sure the implications of this but this file is not available in
# graalvm19-ce anyway.
# graalvm-ce anyway.
postInstall = ''
remove-references-to -t ${graalvmDrv} $out/bin/${executable}
'';

View File

@@ -687,11 +687,9 @@ mapAliases ({
gpgstats = throw "gpgstats has been removed: upstream is gone"; # Added 2022-02-06
gpshell = throw "gpshell has been removed, because it was unmaintained in nixpkgs"; # added 2021-12-17
graalvm11 = graalvm11-ce;
graalvm8-ce = throw "graalvm8-ce has been removed by upstream"; # Added 2021-10-19
graalvm8 = throw "graalvm8-ce has been removed by upstream"; # Added 2021-10-19
graalvm8-ee = throw "graalvm8-ee has been removed because it is unmaintained"; # Added 2022-04-15
graalvm11-ee = throw "graalvm11-ee has been removed because it is unmaintained"; # Added 2022-04-15
graalvm11-ce = throw "graalvm11-ce has been removed because upstream dropped support to different JDK versions for each GraalVM release. Please use graalvm-ce instead"; # Added 2023-09-26
graalvm17-ce = throw "graalvm17-ce has been removed because upstream dropped support to different JDK versions for each GraalVM release. Please use graalvm-ce instead"; # Added 2023-09-26
graalvm19-ce = throw "graalvm19-ce has been removed because upstream dropped support to different JDK versions for each GraalVM release. Please use graalvm-ce instead"; # Added 2023-09-26
gradio = throw "gradio has been removed because it is unmaintained, use shortwave instead"; # Added 2022-06-03
gradle_4 = throw "gradle_4 has been removed because it's no longer being updated"; # Added 2023-01-17
gradle_5 = throw "gradle_5 has been removed because it's no longer being updated"; # Added 2023-01-17

View File

@@ -8634,7 +8634,7 @@ with pkgs;
};
dapl-native = callPackage ../development/interpreters/dzaima-apl {
buildNativeImage = true;
jdk = graalvm11-ce;
jdk = graalvm-ce;
};
gnucap = callPackage ../applications/science/electronics/gnucap { };
@@ -16471,10 +16471,7 @@ with pkgs;
graalvmCEPackages =
recurseIntoAttrs (callPackage ../development/compilers/graalvm/community-edition { });
graalvm-ce = graalvm11-ce;
graalvm11-ce = graalvmCEPackages.graalvm11-ce;
graalvm17-ce = graalvmCEPackages.graalvm17-ce;
graalvm19-ce = graalvmCEPackages.graalvm19-ce;
graalvm-ce = graalvmCEPackages.graalvm-ce;
buildGraalvmNativeImage = (callPackage ../build-support/build-graalvm-native-image {
graalvmDrv = graalvm-ce;
}).override;
@@ -17762,7 +17759,7 @@ with pkgs;
};
dbqn-native = callPackage ../development/interpreters/bqn/dzaima-bqn {
buildNativeImage = true;
jdk = graalvm11-ce;
jdk = graalvm-ce;
};
chibi = callPackage ../development/interpreters/chibi { };