Merge pull request #257433 from thiagokokada/graalvm-bump

graalvm-ce: 22.3.1 -> 21.0.0

authored by

Thiago Kenji Okada and committed by
GitHub
88c5afe1 bd9b686c

+400 -953
+4
nixos/doc/manual/release-notes/rl-2311.section.md
··· 165 165 166 166 - PHP now defaults to PHP 8.2, updated from 8.1. 167 167 168 + - 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. 169 + 170 + - GraalPy (`graalCEPackages.graalpy`), TruffleRuby (`graalCEPackages.truffleruby`), GraalJS (`graalCEPackages.graaljs`) and GraalNodeJS (`grallCEPackages.graalnodejs`) are now indepedent from the main GraalVM derivation. 171 + 168 172 - 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. 169 173 170 174 - `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
-2
pkgs/build-support/build-graalvm-native-image/default.nix
··· 71 71 platforms = graalvmDrv.meta.platforms; 72 72 # default to executable name 73 73 mainProgram = executable; 74 - # need to have native-image-installable-svm available 75 - broken = !(builtins.any (p: (p.product or "") == "native-image-installable-svm") graalvmDrv.products); 76 74 } // meta; 77 75 } // extraArgs)
+90 -42
pkgs/development/compilers/graalvm/community-edition/buildGraalvm.nix
··· 7 7 , darwin 8 8 , fontconfig 9 9 , glib 10 + , glibc 10 11 , gtk3 11 12 , makeWrapper 13 + , musl 14 + , runCommandCC 12 15 , setJavaClassPath 13 16 , unzip 14 17 , xorg 15 18 , zlib 16 19 # extra params 17 - , javaVersion 18 - , meta ? { } 19 - , products ? [ ] 20 + , extraCLibs ? [ ] 20 21 , gtkSupport ? stdenv.isLinux 22 + , useMusl ? false 21 23 , ... 22 24 } @ args: 23 25 26 + assert useMusl -> stdenv.isLinux; 24 27 let 25 28 extraArgs = builtins.removeAttrs args [ 26 29 "lib" ··· 32 35 "darwin" 33 36 "fontconfig" 34 37 "glib" 38 + "glibc" 35 39 "gtk3" 36 40 "makeWrapper" 41 + "musl" 42 + "runCommandCC" 37 43 "setJavaClassPath" 38 44 "unzip" 39 45 "xorg" 40 46 "zlib" 41 - "javaVersion" 47 + "extraCLibs" 48 + "gtkSupport" 49 + "useMusl" 50 + "passthru" 42 51 "meta" 43 - "products" 44 - "gtkSupport" 45 52 ]; 53 + 54 + cLibs = lib.optionals stdenv.isLinux ( 55 + [ glibc zlib.static ] 56 + ++ lib.optionals (!useMusl) [ glibc.static ] 57 + ++ lib.optionals useMusl [ musl ] 58 + ++ extraCLibs 59 + ); 60 + 61 + # GraalVM 21.3.0+ expects musl-gcc as <system>-musl-gcc 62 + musl-gcc = (runCommandCC "musl-gcc" { } '' 63 + mkdir -p $out/bin 64 + ln -s ${lib.getDev musl}/bin/musl-gcc $out/bin/${stdenv.hostPlatform.system}-musl-gcc 65 + ''); 66 + # GraalVM 23.0.0+ (i.e.: JDK 21.0.0+) clean-up the environment inside darwin 67 + # So we need to re-added some env vars to make everything work correctly again 68 + darwin-cc = (runCommandCC "darwin-cc" 69 + { 70 + nativeBuildInputs = [ makeWrapper ]; 71 + buildInputs = [ darwin.apple_sdk.frameworks.Foundation zlib ]; 72 + } '' 73 + makeWrapper ${stdenv.cc}/bin/cc $out/bin/cc \ 74 + --prefix NIX_CFLAGS_COMPILE_${stdenv.cc.suffixSalt} : "$NIX_CFLAGS_COMPILE" \ 75 + --prefix NIX_LDFLAGS_${stdenv.cc.suffixSalt} : "$NIX_LDFLAGS" 76 + ''); 77 + binPath = lib.makeBinPath ( 78 + lib.optionals stdenv.isDarwin [ darwin-cc ] 79 + ++ lib.optionals useMusl [ musl-gcc ] 80 + ++ [ stdenv.cc ] 81 + ); 82 + 46 83 runtimeLibraryPath = lib.makeLibraryPath 47 84 ([ cups ] ++ lib.optionals gtkSupport [ cairo glib gtk3 ]); 48 - mapProducts = key: default: (map (p: p.graalvmPhases.${key} or default) products); 49 - concatProducts = key: lib.concatStringsSep "\n" (mapProducts key ""); 50 85 51 - graalvmXXX-ce = stdenv.mkDerivation ({ 52 - pname = "graalvm${javaVersion}-ce"; 86 + graalvm-ce = stdenv.mkDerivation ({ 87 + pname = "graalvm-ce"; 53 88 54 89 unpackPhase = '' 55 90 runHook preUnpack ··· 71 106 72 107 # Sanity check 73 108 if [ ! -d "$out/bin" ]; then 74 - echo "The `bin` is directory missing after extracting the graalvm" 75 - echo "tarball, please compare the directory structure of the" 76 - echo "tarball with what happens in the unpackPhase (in particular" 77 - echo "with regards to the `--strip-components` flag)." 78 - exit 1 109 + echo "The `bin` is directory missing after extracting the graalvm" 110 + echo "tarball, please compare the directory structure of the" 111 + echo "tarball with what happens in the unpackPhase (in particular" 112 + echo "with regards to the `--strip-components` flag)." 113 + exit 1 79 114 fi 80 115 81 116 runHook postUnpack 82 117 ''; 83 118 84 - postUnpack = '' 85 - for product in ${toString products}; do 86 - cp -Rv $product/* $out 87 - done 88 - ''; 89 - 90 119 dontStrip = true; 91 120 92 121 nativeBuildInputs = [ unzip makeWrapper ] ··· 106 135 xorg.libXtst 107 136 ]; 108 137 109 - preInstall = concatProducts "preInstall"; 110 138 postInstall = '' 111 139 # jni.h expects jni_md.h to be in the header search path. 112 140 ln -sf $out/include/linux/*_md.h $out/include/ ··· 115 143 # Set JAVA_HOME automatically. 116 144 mkdir -p $out/nix-support 117 145 cat > $out/nix-support/setup-hook << EOF 118 - if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi 146 + if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi 119 147 EOF 120 - '' + concatProducts "postInstall"; 148 + 149 + wrapProgram $out/bin/native-image \ 150 + --prefix PATH : ${binPath} \ 151 + ${toString (map (l: "--add-flags '-H:CLibraryPath=${l}/lib'") cLibs)} 152 + ''; 121 153 122 154 preFixup = lib.optionalString (stdenv.isLinux) '' 123 155 for bin in $(find "$out/bin" -executable -type f); do 124 156 wrapProgram "$bin" --prefix LD_LIBRARY_PATH : "${runtimeLibraryPath}" 125 157 done 126 - '' + concatProducts "preFixup"; 127 - postFixup = concatProducts "postFixup"; 158 + ''; 128 159 129 160 doInstallCheck = true; 130 161 installCheckPhase = '' 131 162 runHook preInstallCheck 132 163 133 164 ${# broken in darwin 134 - lib.optionalString stdenv.isLinux '' 165 + lib.optionalString stdenv.isLinux '' 135 166 echo "Testing Jshell" 136 167 echo '1 + 1' | $out/bin/jshell 137 168 ''} 138 169 139 - echo ${ 140 - lib.escapeShellArg '' 141 - public class HelloWorld { 142 - public static void main(String[] args) { 143 - System.out.println("Hello World"); 144 - } 170 + echo ${lib.escapeShellArg '' 171 + public class HelloWorld { 172 + public static void main(String[] args) { 173 + System.out.println("Hello World"); 145 174 } 146 - '' 147 - } > HelloWorld.java 175 + } 176 + ''} > HelloWorld.java 148 177 $out/bin/javac HelloWorld.java 149 178 150 179 # run on JVM with Graal Compiler 151 180 echo "Testing GraalVM" 152 181 $out/bin/java -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler HelloWorld | fgrep 'Hello World' 153 182 154 - ${concatProducts "installCheckPhase"} 183 + echo "Ahead-Of-Time compilation" 184 + $out/bin/native-image -H:+UnlockExperimentalVMOptions -H:-CheckToolchain -H:+ReportExceptionStackTraces HelloWorld 185 + ./helloworld | fgrep 'Hello World' 186 + 187 + ${# --static is only available in Linux 188 + lib.optionalString (stdenv.isLinux && !useMusl) '' 189 + echo "Ahead-Of-Time compilation with -H:+StaticExecutableWithDynamicLibC" 190 + $out/bin/native-image -H:+UnlockExperimentalVMOptions -H:+StaticExecutableWithDynamicLibC HelloWorld 191 + ./helloworld | fgrep 'Hello World' 192 + 193 + echo "Ahead-Of-Time compilation with --static" 194 + $out/bin/native-image --static HelloWorld 195 + ./helloworld | fgrep 'Hello World' 196 + ''} 197 + 198 + ${# --static is only available in Linux 199 + lib.optionalString (stdenv.isLinux && useMusl) '' 200 + echo "Ahead-Of-Time compilation with --static and --libc=musl" 201 + $out/bin/native-image --static HelloWorld --libc=musl 202 + ./helloworld | fgrep 'Hello World' 203 + ''} 155 204 156 205 runHook postInstallCheck 157 206 ''; 158 207 159 208 passthru = { 160 - inherit products; 161 - home = graalvmXXX-ce; 162 - updateScript = ./update.sh; 163 - }; 209 + home = graalvm-ce; 210 + updateScript = [ ./update.sh "graalvm-ce" ]; 211 + } // (args.passhtru or { }); 164 212 165 213 meta = with lib; ({ 166 214 homepage = "https://www.graalvm.org/"; ··· 169 217 sourceProvenance = with sourceTypes; [ binaryNativeCode ]; 170 218 mainProgram = "java"; 171 219 maintainers = with maintainers; teams.graalvm-ce.members ++ [ ]; 172 - } // meta); 220 + } // (args.meta or { })); 173 221 } // extraArgs); 174 222 in 175 - graalvmXXX-ce 223 + graalvm-ce
+23 -55
pkgs/development/compilers/graalvm/community-edition/buildGraalvmProduct.nix
··· 1 1 { lib 2 2 , stdenv 3 3 , autoPatchelfHook 4 + , darwin 4 5 , graalvm-ce 5 6 , makeWrapper 6 - , perl 7 - , unzip 8 7 , zlib 9 8 , libxcrypt-legacy 10 9 # extra params 11 10 , product 12 - , javaVersion 13 11 , extraBuildInputs ? [ ] 14 12 , extraNativeBuildInputs ? [ ] 15 - , graalvmPhases ? { } 16 - , meta ? { } 17 - , passthru ? { } 18 13 , ... 19 14 } @ args: 20 15 ··· 23 18 "lib" 24 19 "stdenv" 25 20 "autoPatchelfHook" 21 + "darwin" 26 22 "graalvm-ce" 23 + "libxcrypt-legacy" 27 24 "makeWrapper" 28 - "perl" 29 - "unzip" 30 25 "zlib" 31 26 "product" 32 - "javaVersion" 33 27 "extraBuildInputs" 34 28 "extraNativeBuildInputs" 35 - "graalvmPhases" 36 29 "meta" 37 - "passthru" 38 30 ]; 39 31 in 40 32 stdenv.mkDerivation ({ 41 - pname = "${product}-java${javaVersion}"; 33 + pname = product; 42 34 43 - nativeBuildInputs = [ perl unzip makeWrapper ] 35 + nativeBuildInputs = [ makeWrapper ] 44 36 ++ lib.optional stdenv.isLinux autoPatchelfHook 45 37 ++ extraNativeBuildInputs; 46 38 ··· 48 40 stdenv.cc.cc.lib # libstdc++.so.6 49 41 zlib 50 42 libxcrypt-legacy # libcrypt.so.1 (default is .2 now) 51 - ] ++ extraBuildInputs; 43 + ] 44 + ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Foundation 45 + ++ extraBuildInputs; 52 46 53 47 unpackPhase = '' 54 48 runHook preUnpack 55 49 56 - unpack_jar() { 57 - local jar="$1" 58 - unzip -q -o "$jar" -d "$out" 59 - perl -ne 'use File::Path qw(make_path); 60 - use File::Basename qw(dirname); 61 - if (/^(.+) = (.+)$/) { 62 - make_path dirname("$ENV{out}/$1"); 63 - symlink $2, "$ENV{out}/$1"; 64 - }' "$out/META-INF/symlinks" 65 - perl -ne 'if (/^(.+) = ([r-])([w-])([x-])([r-])([w-])([x-])([r-])([w-])([x-])$/) { 66 - my $mode = ($2 eq 'r' ? 0400 : 0) + ($3 eq 'w' ? 0200 : 0) + ($4 eq 'x' ? 0100 : 0) + 67 - ($5 eq 'r' ? 0040 : 0) + ($6 eq 'w' ? 0020 : 0) + ($7 eq 'x' ? 0010 : 0) + 68 - ($8 eq 'r' ? 0004 : 0) + ($9 eq 'w' ? 0002 : 0) + ($10 eq 'x' ? 0001 : 0); 69 - chmod $mode, "$ENV{out}/$1"; 70 - }' "$out/META-INF/permissions" 71 - rm -rf "$out/META-INF" 72 - } 50 + mkdir -p "$out" 73 51 74 - unpack_jar "$src" 52 + tar xf "$src" -C "$out" --strip-components=1 53 + 54 + # Sanity check 55 + if [ ! -d "$out/bin" ]; then 56 + echo "The `bin` is directory missing after extracting the graalvm" 57 + echo "tarball, please compare the directory structure of the" 58 + echo "tarball with what happens in the unpackPhase (in particular" 59 + echo "with regards to the `--strip-components` flag)." 60 + exit 1 61 + fi 75 62 76 63 runHook postUnpack 77 64 ''; 78 65 79 - # Allow autoPatchelf to automatically fix lib references between products 80 - fixupPhase = '' 81 - runHook preFixup 82 - 83 - mkdir -p $out/lib 84 - shopt -s globstar 85 - ln -s $out/languages/**/lib/*.so $out/lib 86 - 87 - runHook postFixup 88 - ''; 89 - 90 - dontInstall = true; 91 - dontBuild = true; 92 66 dontStrip = true; 93 67 94 68 passthru = { 95 - inherit product javaVersion; 96 - # build phases that are going to run during GraalVM derivation build, 97 - # since they depend in having the fully setup GraalVM environment 98 - # e.g.: graalvmPhases.installCheckPhase will run the checks only after 99 - # GraalVM+products is build 100 - # see buildGraalvm.nix file for the available phases 101 - inherit graalvmPhases; 102 - } // passthru; 69 + updateScript = [ ./update.sh product ]; 70 + } // (args.passhtru or { }); 103 71 104 - meta = with lib; ({ 72 + meta = ({ 105 73 inherit (graalvm-ce.meta) homepage license sourceProvenance maintainers platforms; 106 74 description = "High-Performance Polyglot VM (Product: ${product})"; 107 - } // meta); 75 + } // (args.meta or { })); 108 76 } // extraArgs)
+8 -225
pkgs/development/compilers/graalvm/community-edition/default.nix
··· 4 4 , fetchurl 5 5 }: 6 6 7 - let 7 + { 8 8 buildGraalvm = callPackage ./buildGraalvm.nix; 9 + 9 10 buildGraalvmProduct = callPackage ./buildGraalvmProduct.nix; 10 - javaPlatform = { 11 - "aarch64-linux" = "linux-aarch64"; 12 - "x86_64-linux" = "linux-amd64"; 13 - "aarch64-darwin" = "darwin-aarch64"; 14 - "x86_64-darwin" = "darwin-amd64"; 15 - }; 16 - javaPlatformVersion = javaVersion: 17 - "${javaVersion}-${javaPlatform.${stdenv.system} or (throw "Unsupported platform: ${stdenv.system}")}"; 18 - source = product: javaVersion: (import ./hashes.nix).${product}.${javaPlatformVersion javaVersion} 19 - or (throw "Unsupported product combination: product=${product} java=${javaVersion} system=${stdenv.system}"); 20 11 21 - in 22 - rec { 23 - inherit buildGraalvm buildGraalvmProduct; 12 + graalvm-ce = callPackage ./graalvm-ce { }; 24 13 25 - ### Java 11 ### 14 + graalvm-ce-musl = callPackage ./graalvm-ce { useMusl = true; }; 26 15 27 - # Mostly available for build purposes, not to be exposed at the top level 28 - graalvm11-ce-bare = buildGraalvm rec { 29 - version = "22.3.1"; 30 - javaVersion = "11"; 31 - src = fetchurl (source "graalvm-ce" javaVersion); 32 - meta.platforms = builtins.attrNames javaPlatform; 33 - products = [ ]; 34 - }; 16 + graaljs = callPackage ./graaljs { }; 35 17 36 - graalvm11-ce = graalvm11-ce-bare.override { 37 - products = [ native-image-installable-svm-java11 ]; 38 - }; 18 + graalnodejs = callPackage ./graalnodejs { }; 39 19 40 - # Mostly available for testing, not to be exposed at the top level 41 - graalvm11-ce-full = graalvm11-ce-bare.override { 42 - products = [ 43 - js-installable-svm-java11 44 - llvm-installable-svm-java11 45 - native-image-installable-svm-java11 46 - nodejs-installable-svm-java11 47 - python-installable-svm-java11 48 - ruby-installable-svm-java11 49 - wasm-installable-svm-java11 50 - ]; 51 - }; 20 + graalpy = callPackage ./graalpy { }; 52 21 53 - js-installable-svm-java11 = callPackage ./js-installable-svm.nix rec { 54 - javaVersion = "11"; 55 - version = "22.3.1"; 56 - src = fetchurl (source "js-installable-svm" javaVersion); 57 - }; 58 - 59 - llvm-installable-svm-java11 = callPackage ./llvm-installable-svm.nix rec { 60 - javaVersion = "11"; 61 - version = "22.3.1"; 62 - src = fetchurl (source "llvm-installable-svm" javaVersion); 63 - }; 64 - 65 - native-image-installable-svm-java11 = callPackage ./native-image-installable-svm.nix rec { 66 - javaVersion = "11"; 67 - version = "22.3.1"; 68 - src = fetchurl (source "native-image-installable-svm" javaVersion); 69 - }; 70 - 71 - nodejs-installable-svm-java11 = callPackage ./nodejs-installable-svm.nix rec { 72 - javaVersion = "11"; 73 - version = "22.3.1"; 74 - src = fetchurl (source "nodejs-installable-svm" javaVersion); 75 - graalvm-ce = graalvm11-ce-bare; 76 - }; 77 - 78 - python-installable-svm-java11 = callPackage ./python-installable-svm.nix rec { 79 - javaVersion = "11"; 80 - version = "22.3.1"; 81 - src = fetchurl (source "python-installable-svm" javaVersion); 82 - }; 83 - 84 - ruby-installable-svm-java11 = callPackage ./ruby-installable-svm.nix rec { 85 - javaVersion = "11"; 86 - version = "22.3.1"; 87 - src = fetchurl (source "ruby-installable-svm" javaVersion); 88 - llvm-installable-svm = llvm-installable-svm-java11; 89 - }; 90 - 91 - wasm-installable-svm-java11 = callPackage ./wasm-installable-svm.nix rec { 92 - javaVersion = "11"; 93 - version = "22.3.1"; 94 - src = fetchurl (source "wasm-installable-svm" javaVersion); 95 - }; 96 - 97 - ### Java 17 ### 98 - 99 - # Mostly available for build purposes, not to be exposed at the top level 100 - graalvm17-ce-bare = buildGraalvm rec { 101 - version = "22.3.1"; 102 - javaVersion = "17"; 103 - src = fetchurl (source "graalvm-ce" javaVersion); 104 - meta.platforms = builtins.attrNames javaPlatform; 105 - products = [ ]; 106 - }; 107 - 108 - graalvm17-ce = graalvm17-ce-bare.override { 109 - products = [ native-image-installable-svm-java17 ]; 110 - }; 111 - 112 - # Mostly available for testing, not to be exposed at the top level 113 - graalvm17-ce-full = graalvm17-ce-bare.override { 114 - products = [ 115 - js-installable-svm-java17 116 - llvm-installable-svm-java17 117 - native-image-installable-svm-java17 118 - nodejs-installable-svm-java17 119 - python-installable-svm-java17 120 - ruby-installable-svm-java17 121 - wasm-installable-svm-java17 122 - ]; 123 - }; 124 - 125 - js-installable-svm-java17 = callPackage ./js-installable-svm.nix rec { 126 - javaVersion = "17"; 127 - version = "22.3.1"; 128 - src = fetchurl (source "js-installable-svm" javaVersion); 129 - }; 130 - 131 - llvm-installable-svm-java17 = callPackage ./llvm-installable-svm.nix rec { 132 - javaVersion = "17"; 133 - version = "22.3.1"; 134 - src = fetchurl (source "llvm-installable-svm" javaVersion); 135 - }; 136 - 137 - native-image-installable-svm-java17 = callPackage ./native-image-installable-svm.nix rec { 138 - javaVersion = "17"; 139 - version = "22.3.1"; 140 - src = fetchurl (source "native-image-installable-svm" javaVersion); 141 - }; 142 - 143 - nodejs-installable-svm-java17 = callPackage ./nodejs-installable-svm.nix rec { 144 - javaVersion = "17"; 145 - version = "22.3.1"; 146 - src = fetchurl (source "nodejs-installable-svm" javaVersion); 147 - graalvm-ce = graalvm17-ce-bare; 148 - }; 149 - 150 - python-installable-svm-java17 = callPackage ./python-installable-svm.nix rec { 151 - javaVersion = "17"; 152 - version = "22.3.1"; 153 - src = fetchurl (source "python-installable-svm" javaVersion); 154 - }; 155 - 156 - ruby-installable-svm-java17 = callPackage ./ruby-installable-svm.nix rec { 157 - javaVersion = "17"; 158 - version = "22.3.1"; 159 - src = fetchurl (source "ruby-installable-svm" javaVersion); 160 - llvm-installable-svm = llvm-installable-svm-java17; 161 - }; 162 - 163 - wasm-installable-svm-java17 = callPackage ./wasm-installable-svm.nix rec { 164 - javaVersion = "17"; 165 - version = "22.3.1"; 166 - src = fetchurl (source "wasm-installable-svm" javaVersion); 167 - }; 168 - 169 - ### Java 19 ### 170 - 171 - # Mostly available for build purposes, not to be exposed at the top level 172 - graalvm19-ce-bare = buildGraalvm rec { 173 - version = "22.3.1"; 174 - javaVersion = "19"; 175 - src = fetchurl (source "graalvm-ce" javaVersion); 176 - meta.platforms = builtins.attrNames javaPlatform; 177 - products = [ ]; 178 - }; 179 - 180 - graalvm19-ce = graalvm19-ce-bare.override { 181 - products = [ native-image-installable-svm-java19 ]; 182 - }; 183 - 184 - # Mostly available for testing, not to be exposed at the top level 185 - graalvm19-ce-full = graalvm19-ce-bare.override { 186 - products = [ 187 - js-installable-svm-java19 188 - llvm-installable-svm-java19 189 - native-image-installable-svm-java19 190 - nodejs-installable-svm-java19 191 - python-installable-svm-java19 192 - ruby-installable-svm-java19 193 - wasm-installable-svm-java19 194 - ]; 195 - }; 196 - 197 - js-installable-svm-java19 = callPackage ./js-installable-svm.nix rec { 198 - javaVersion = "19"; 199 - version = "22.3.1"; 200 - src = fetchurl (source "js-installable-svm" javaVersion); 201 - }; 202 - 203 - llvm-installable-svm-java19 = callPackage ./llvm-installable-svm.nix rec { 204 - javaVersion = "19"; 205 - version = "22.3.1"; 206 - src = fetchurl (source "llvm-installable-svm" javaVersion); 207 - }; 208 - 209 - native-image-installable-svm-java19 = callPackage ./native-image-installable-svm.nix rec { 210 - javaVersion = "19"; 211 - version = "22.3.1"; 212 - src = fetchurl (source "native-image-installable-svm" javaVersion); 213 - }; 214 - 215 - nodejs-installable-svm-java19 = callPackage ./nodejs-installable-svm.nix rec { 216 - javaVersion = "19"; 217 - version = "22.3.1"; 218 - src = fetchurl (source "nodejs-installable-svm" javaVersion); 219 - graalvm-ce = graalvm19-ce-bare; 220 - }; 221 - 222 - python-installable-svm-java19 = callPackage ./python-installable-svm.nix rec { 223 - javaVersion = "19"; 224 - version = "22.3.1"; 225 - src = fetchurl (source "python-installable-svm" javaVersion); 226 - }; 227 - 228 - ruby-installable-svm-java19 = callPackage ./ruby-installable-svm.nix rec { 229 - javaVersion = "19"; 230 - version = "22.3.1"; 231 - src = fetchurl (source "ruby-installable-svm" javaVersion); 232 - llvm-installable-svm = llvm-installable-svm-java19; 233 - }; 234 - 235 - wasm-installable-svm-java19 = callPackage ./wasm-installable-svm.nix rec { 236 - javaVersion = "19"; 237 - version = "22.3.1"; 238 - src = fetchurl (source "wasm-installable-svm" javaVersion); 239 - }; 22 + truffleruby = callPackage ./truffleruby { }; 240 23 }
+17
pkgs/development/compilers/graalvm/community-edition/graaljs/default.nix
··· 1 + { stdenv 2 + , fetchurl 3 + , graalvmCEPackages 4 + }: 5 + 6 + graalvmCEPackages.buildGraalvmProduct { 7 + src = fetchurl (import ./hashes.nix).hashes.${stdenv.system}; 8 + version = (import ./hashes.nix).version; 9 + 10 + product = "js-installable-svm"; 11 + 12 + doInstallCheck = true; 13 + installCheckPhase = '' 14 + echo "Testing GraalJS" 15 + echo '1 + 1' | $out/bin/js 16 + ''; 17 + }
+22
pkgs/development/compilers/graalvm/community-edition/graaljs/hashes.nix
··· 1 + # Generated by update.sh script 2 + { 3 + "version" = "23.1.0"; 4 + "hashes" = { 5 + "aarch64-linux" = { 6 + sha256 = "09q88nsbz0lrl866x3hqxm3hb5wpn4x5rp6pk69x1v6xzl58wzq2"; 7 + url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graaljs-community-23.1.0-linux-aarch64.tar.gz"; 8 + }; 9 + "x86_64-linux" = { 10 + sha256 = "0zlk0gpxwjkh4wxsc310kl80ipgk5si1lmyx0q2hqsw9lm98n41g"; 11 + url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graaljs-community-23.1.0-linux-amd64.tar.gz"; 12 + }; 13 + "x86_64-darwin" = { 14 + sha256 = "1y5mc92yync85ywcahvq8x9jlla0rzjd4g7cm6q7p21wvfwp4d5q"; 15 + url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graaljs-community-23.1.0-macos-amd64.tar.gz"; 16 + }; 17 + "aarch64-darwin" = { 18 + sha256 = "0ph3c6jgbvm3cliyqlccd2l292a7p0051l3sv7yf3318r6zrrk7m"; 19 + url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graaljs-community-23.1.0-macos-aarch64.tar.gz"; 20 + }; 21 + }; 22 + }
+17
pkgs/development/compilers/graalvm/community-edition/graalnodejs/default.nix
··· 1 + { stdenv 2 + , fetchurl 3 + , graalvmCEPackages 4 + }: 5 + 6 + graalvmCEPackages.buildGraalvmProduct { 7 + src = fetchurl (import ./hashes.nix).hashes.${stdenv.system}; 8 + version = (import ./hashes.nix).version; 9 + 10 + product = "nodejs-installable-svm"; 11 + 12 + doInstallCheck = true; 13 + installCheckPhase = '' 14 + echo "Testing NodeJS" 15 + $out/bin/npx --help 16 + ''; 17 + }
+22
pkgs/development/compilers/graalvm/community-edition/graalnodejs/hashes.nix
··· 1 + # Generated by update.sh script 2 + { 3 + "version" = "23.1.0"; 4 + "hashes" = { 5 + "aarch64-linux" = { 6 + sha256 = "056x616pp0b25wsryzrfrfnjaxr3444fc3hmv8jspl4pjxjrais2"; 7 + url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graalnodejs-community-23.1.0-linux-aarch64.tar.gz"; 8 + }; 9 + "x86_64-linux" = { 10 + sha256 = "1si2ifwihszv06sqd25mswibiqbxhxgj6yw829f8zrdhs0sra2nz"; 11 + url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graalnodejs-community-23.1.0-linux-amd64.tar.gz"; 12 + }; 13 + "x86_64-darwin" = { 14 + sha256 = "1ffkdavrs92h3f5yil15v3i7r9aggkpfqd13gl5ipqlrk6pykhr7"; 15 + url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graalnodejs-community-23.1.0-macos-amd64.tar.gz"; 16 + }; 17 + "aarch64-darwin" = { 18 + sha256 = "1g6pql0pdxhxwpjqyfkaq07dar8sx2wipsyrjc7hmz3z7pjxcf5i"; 19 + url = "https://github.com/oracle/graaljs/releases/download/graal-23.1.0/graalnodejs-community-23.1.0-macos-aarch64.tar.gz"; 20 + }; 21 + }; 22 + }
+18
pkgs/development/compilers/graalvm/community-edition/graalpy/default.nix
··· 1 + { stdenv 2 + , fetchurl 3 + , graalvmCEPackages 4 + }: 5 + 6 + graalvmCEPackages.buildGraalvmProduct { 7 + src = fetchurl (import ./hashes.nix).hashes.${stdenv.system}; 8 + version = (import ./hashes.nix).version; 9 + 10 + product = "graalpy"; 11 + 12 + doInstallCheck = true; 13 + installCheckPhase = '' 14 + echo "Testing GraalPy" 15 + $out/bin/graalpy -c 'print(1 + 1)' 16 + echo '1 + 1' | $out/bin/graalpy 17 + ''; 18 + }
+22
pkgs/development/compilers/graalvm/community-edition/graalpy/hashes.nix
··· 1 + # Generated by update.sh script 2 + { 3 + "version" = "23.1.0"; 4 + "hashes" = { 5 + "aarch64-linux" = { 6 + sha256 = "0n0zz86h7jsqgdiyj6vj7qw57ny40jpmfvylyxq70riy86a4zp67"; 7 + url = "https://github.com/oracle/graalpython/releases/download/graal-23.1.0/graalpy-community-23.1.0-linux-aarch64.tar.gz"; 8 + }; 9 + "x86_64-linux" = { 10 + sha256 = "0nnv255f2bqc4l88iw48f71874ryjn16bb8qn1yk7daj1pck80vj"; 11 + url = "https://github.com/oracle/graalpython/releases/download/graal-23.1.0/graalpy-community-23.1.0-linux-amd64.tar.gz"; 12 + }; 13 + "x86_64-darwin" = { 14 + sha256 = "16kp66l0176sbd8jzvq3y3z7d9zvkqzdaw8vrvnk2qkipa136n0k"; 15 + url = "https://github.com/oracle/graalpython/releases/download/graal-23.1.0/graalpy-community-23.1.0-macos-amd64.tar.gz"; 16 + }; 17 + "aarch64-darwin" = { 18 + sha256 = "17clq7n1n5ww22rh9gp5h9ljhjvggcik8amhd70pwl4cjgv9mhsv"; 19 + url = "https://github.com/oracle/graalpython/releases/download/graal-23.1.0/graalpy-community-23.1.0-macos-aarch64.tar.gz"; 20 + }; 21 + }; 22 + }
+12
pkgs/development/compilers/graalvm/community-edition/graalvm-ce/default.nix
··· 1 + { stdenv 2 + , fetchurl 3 + , graalvmCEPackages 4 + , useMusl ? false 5 + }: 6 + 7 + graalvmCEPackages.buildGraalvm { 8 + inherit useMusl; 9 + src = fetchurl (import ./hashes.nix).hashes.${stdenv.system}; 10 + version = (import ./hashes.nix).version; 11 + meta.platforms = builtins.attrNames (import ./hashes.nix).hashes; 12 + }
+22
pkgs/development/compilers/graalvm/community-edition/graalvm-ce/hashes.nix
··· 1 + # Generated by update.sh script 2 + { 3 + "version" = "21.0.0"; 4 + "hashes" = { 5 + "aarch64-linux" = { 6 + sha256 = "199h3d6zayw28xlyggldap6nafh5fnpfbshs0rsf94dfgv7r4kmv"; 7 + 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"; 8 + }; 9 + "x86_64-linux" = { 10 + sha256 = "06dkb1yimk5q3yzjk6kjsrs2pkbjxgz9jr5vj6wfb2y5ri0jjhkc"; 11 + 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"; 12 + }; 13 + "x86_64-darwin" = { 14 + sha256 = "1qbz3xfxj7nwb01cy99hd22k3pim8j43blcdcys48l8xcb234nlk"; 15 + 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"; 16 + }; 17 + "aarch64-darwin" = { 18 + sha256 = "0dqgsp0bhqvv07b9kb0cxqm5cw47kapzbfbw13570ydgc0gfg3f5"; 19 + 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"; 20 + }; 21 + }; 22 + }
-391
pkgs/development/compilers/graalvm/community-edition/hashes.nix
··· 1 - # Generated by pkgs/development/compilers/graalvm/community-edition/update.sh script 2 - { 3 - "llvm-installable-svm" = { 4 - "11-linux-aarch64" = { 5 - sha256 = "0h8xkvsixcwak5dymkj3jgjv11w3ivnd6d45v5pdbymd0m2ifia8"; 6 - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java11-linux-aarch64-22.3.1.jar"; 7 - }; 8 - "17-linux-aarch64" = { 9 - sha256 = "1zww45z7m3mvzg47fwc3jgqz3hkra220isf4ih8sv6kjg1jc4y14"; 10 - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java17-linux-aarch64-22.3.1.jar"; 11 - }; 12 - "19-linux-aarch64" = { 13 - sha256 = "13gg5hqg3pzn3qprl76i2wpmfagf5zw4w9hl18993ing21k5d0kq"; 14 - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java19-linux-aarch64-22.3.1.jar"; 15 - }; 16 - "11-linux-amd64" = { 17 - sha256 = "133m9vg9rlp2xkndh3d6b8ybq8vwch99rj1b50xr6bz8r6306ara"; 18 - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java11-linux-amd64-22.3.1.jar"; 19 - }; 20 - "17-linux-amd64" = { 21 - sha256 = "0nz09idp8wawm3yinsplzvxhld8yav06l1nqj02gxrc1kxd5nsr1"; 22 - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java17-linux-amd64-22.3.1.jar"; 23 - }; 24 - "19-linux-amd64" = { 25 - sha256 = "1b5jsazjxkqlswl0h5yx7nx16zjjlvw967i6kypp4js80zg79s8m"; 26 - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java19-linux-amd64-22.3.1.jar"; 27 - }; 28 - "11-darwin-aarch64" = { 29 - sha256 = "0ngcm3ara7g1xz4kh515igpyrjhr1k5z9nf4vsaw4lpa5sqljv7z"; 30 - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java11-darwin-aarch64-22.3.1.jar"; 31 - }; 32 - "17-darwin-aarch64" = { 33 - sha256 = "1lr8kk82c3l9hx7wc5hqmpqfgvpk72xg1h07b6cgibry1bm6baj6"; 34 - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java17-darwin-aarch64-22.3.1.jar"; 35 - }; 36 - "19-darwin-aarch64" = { 37 - sha256 = "0mdiiag4hkddfgjamqn8y63s7xrfhq1wjvc7rw2sldykg7x0813i"; 38 - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java19-darwin-aarch64-22.3.1.jar"; 39 - }; 40 - "11-darwin-amd64" = { 41 - sha256 = "058pzrd90xx4yi7mm2fvs2npqcdkb2nzhqfwfz5v202038igi61g"; 42 - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java11-darwin-amd64-22.3.1.jar"; 43 - }; 44 - "17-darwin-amd64" = { 45 - sha256 = "10rfz8ddq82zpf6cy2y0gx1bx0zhjzm3gwwdb1j7mll0hvwp84sg"; 46 - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java17-darwin-amd64-22.3.1.jar"; 47 - }; 48 - "19-darwin-amd64" = { 49 - sha256 = "0h5sf99ypwz0bafq4jm71ynszfgsrlnhmcjh0kl6sy5g1q8ij0jf"; 50 - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/llvm-installable-svm-java19-darwin-amd64-22.3.1.jar"; 51 - }; 52 - }; 53 - "nodejs-installable-svm" = { 54 - "11-linux-aarch64" = { 55 - sha256 = "0slzvbmxwa4a6m9c0hbdp8ryh9crfq7mv6y2j4hik5m457jq98cp"; 56 - url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java11-linux-aarch64-22.3.1.jar"; 57 - }; 58 - "17-linux-aarch64" = { 59 - sha256 = "1ldivy5hmq2mxmzh40hglzngylahnzyqh9rav73nicl5mz8hk4l2"; 60 - url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java17-linux-aarch64-22.3.1.jar"; 61 - }; 62 - "19-linux-aarch64" = { 63 - sha256 = "12chjbfz530kyp46bya8wcwciwlhp873hc6mvsjcf5swa3g7cwcl"; 64 - url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java19-linux-aarch64-22.3.1.jar"; 65 - }; 66 - "11-linux-amd64" = { 67 - sha256 = "1p1y52b4lky2fbkml5vqy7dn9vqzj19jq5f3c90mgsfk4c7xhi66"; 68 - url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java11-linux-amd64-22.3.1.jar"; 69 - }; 70 - "17-linux-amd64" = { 71 - sha256 = "0j1gkpszklzm069bccm6wgq8iq0k41bcrca0kf8pbl2y11hwywpc"; 72 - url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java17-linux-amd64-22.3.1.jar"; 73 - }; 74 - "19-linux-amd64" = { 75 - sha256 = "1gdkn0srkh8bn7c81f8s7ykd12pnz5r75rif76zhzdllhx63nn5v"; 76 - url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java19-linux-amd64-22.3.1.jar"; 77 - }; 78 - "11-darwin-aarch64" = { 79 - sha256 = "1fbqc3a7i91as1sbwg2yr1zx0wz4jsaxcz9pfqy8a0z88m8vivbs"; 80 - url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java11-darwin-aarch64-22.3.1.jar"; 81 - }; 82 - "17-darwin-aarch64" = { 83 - sha256 = "1swzkp0imcv30fxfwblgad57fvpsvhfpv93s8zj1lwrbarggl2y3"; 84 - url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java17-darwin-aarch64-22.3.1.jar"; 85 - }; 86 - "19-darwin-aarch64" = { 87 - sha256 = "11kpgd6vxc8dm9z5ihkwbjbbspk53m3k9b550zf0zs3as9yjbp22"; 88 - url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java19-darwin-aarch64-22.3.1.jar"; 89 - }; 90 - "11-darwin-amd64" = { 91 - sha256 = "0n3hm8dd0ya86hxbxv07sfp22y02vhhzahkxk2j2162n9hcdmkwk"; 92 - url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java11-darwin-amd64-22.3.1.jar"; 93 - }; 94 - "17-darwin-amd64" = { 95 - sha256 = "0xkjqcch22bm32mczj6xs8rzsl2n6vy9hmzwfy9a71w1kpkbjn3a"; 96 - url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java17-darwin-amd64-22.3.1.jar"; 97 - }; 98 - "19-darwin-amd64" = { 99 - sha256 = "1yrh6iahai3aw7lpz89mrq782b1bysqqr9vkqdgcv00by1a7yd10"; 100 - url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/nodejs-installable-svm-java19-darwin-amd64-22.3.1.jar"; 101 - }; 102 - }; 103 - "wasm-installable-svm" = { 104 - "11-linux-aarch64" = { 105 - sha256 = "1d67jm41psypkhpy77cb2l00smhni3pgkybwx79z7dzcyid7p2l1"; 106 - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/wasm-installable-svm-java11-linux-aarch64-22.3.1.jar"; 107 - }; 108 - "17-linux-aarch64" = { 109 - sha256 = "1cg9zxyjirfl0afr9cppg2h17j8qdidi4llbal2g5w1p2v9zq78b"; 110 - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/wasm-installable-svm-java17-linux-aarch64-22.3.1.jar"; 111 - }; 112 - "19-linux-aarch64" = { 113 - sha256 = "1vaqf3ilp3kg280adynww4l07sbcd5hih86akpd25rbxn45khz9s"; 114 - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/wasm-installable-svm-java19-linux-aarch64-22.3.1.jar"; 115 - }; 116 - "11-linux-amd64" = { 117 - sha256 = "19v7jqhvijmzzb0i9q6hbvrmqnmmzbyvai3il9f357qvv6r6lylb"; 118 - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/wasm-installable-svm-java11-linux-amd64-22.3.1.jar"; 119 - }; 120 - "17-linux-amd64" = { 121 - sha256 = "0sfnsy0r4qf7ni9mh437dad1d8sidajcra2azsmy5qdmh091zhj5"; 122 - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/wasm-installable-svm-java17-linux-amd64-22.3.1.jar"; 123 - }; 124 - "19-linux-amd64" = { 125 - sha256 = "1k7jqsh5wg7c7a6mhqgxghn20qwx70bky49p2a6imcsygnilqgim"; 126 - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/wasm-installable-svm-java19-linux-amd64-22.3.1.jar"; 127 - }; 128 - "11-darwin-amd64" = { 129 - sha256 = "0764d97mla5cii4iyvyb43v62dk8ff3plqjmdc69qqxx8mdzpwqv"; 130 - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/wasm-installable-svm-java11-darwin-amd64-22.3.1.jar"; 131 - }; 132 - "17-darwin-amd64" = { 133 - sha256 = "1ip6ybm7p28bs2lifxqhq6fyvfm3wmacv6dqziyl2v7v7yl0iw4i"; 134 - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/wasm-installable-svm-java17-darwin-amd64-22.3.1.jar"; 135 - }; 136 - "19-darwin-amd64" = { 137 - sha256 = "14d3djmacj81rj5sqf30z060iywndn6kw1n58kg12jvmgipbm3iq"; 138 - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/wasm-installable-svm-java19-darwin-amd64-22.3.1.jar"; 139 - }; 140 - }; 141 - "js-installable-svm" = { 142 - "11-linux-aarch64" = { 143 - sha256 = "1b8vnjjsa548c6j3dycxp57i9xmyvndiz2xhv7fm10izcplyspxq"; 144 - url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java11-linux-aarch64-22.3.1.jar"; 145 - }; 146 - "17-linux-aarch64" = { 147 - sha256 = "1kcy3mjk908zs7f3k95awp6294cwr06hand4cbw1lsnfvp0qwhk7"; 148 - url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java17-linux-aarch64-22.3.1.jar"; 149 - }; 150 - "19-linux-aarch64" = { 151 - sha256 = "1mk8qzdfsbjhfx0ds8rk9jm2g6g2lv8bppmnwpgrkm232c8i0dgw"; 152 - url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java19-linux-aarch64-22.3.1.jar"; 153 - }; 154 - "11-linux-amd64" = { 155 - sha256 = "0sq80a4nnvik560whgv5vwlsszi8z02idvpd92p0caf03bra9x2b"; 156 - url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java11-linux-amd64-22.3.1.jar"; 157 - }; 158 - "17-linux-amd64" = { 159 - sha256 = "0fd160yxsi09m97z7vqh5kwf1g0p0hn4niy48glj9jhirfqzzw0c"; 160 - url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java17-linux-amd64-22.3.1.jar"; 161 - }; 162 - "19-linux-amd64" = { 163 - sha256 = "0ghx41aldb30yjd0sdrfm89i7d6q0aca18bm7j1qyg9gnmkvxnmn"; 164 - url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java19-linux-amd64-22.3.1.jar"; 165 - }; 166 - "11-darwin-aarch64" = { 167 - sha256 = "18g0xixzk45yrxv3zfs7qrdyj0b3ksp59jhbcis0vwy9gx8094wq"; 168 - url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java11-darwin-aarch64-22.3.1.jar"; 169 - }; 170 - "17-darwin-aarch64" = { 171 - sha256 = "0cf4iivkniilvbqyniqxcz1qf49cs4lxi0axjsk9sz1zmxcq0bnk"; 172 - url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java17-darwin-aarch64-22.3.1.jar"; 173 - }; 174 - "19-darwin-aarch64" = { 175 - sha256 = "03wxaim069rp69njh4gdchsm3b9s7crxihbk1arvz2cpgy9x1zvc"; 176 - url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java19-darwin-aarch64-22.3.1.jar"; 177 - }; 178 - "11-darwin-amd64" = { 179 - sha256 = "0ibcz6ivx068ndf45j9pghm8qwq287glqxf0xx08kjxnhms67p52"; 180 - url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java11-darwin-amd64-22.3.1.jar"; 181 - }; 182 - "17-darwin-amd64" = { 183 - sha256 = "16q7whnvdrk8lb4fp96qr3p567kggyk9q5iqcn081qk8xjkbx0zv"; 184 - url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java17-darwin-amd64-22.3.1.jar"; 185 - }; 186 - "19-darwin-amd64" = { 187 - sha256 = "13nx6kwcx100166ba4h7h97ravw4hyiqnvhszqbdffn54y0x5dwl"; 188 - url = "https://github.com/graalvm/graaljs/releases/download/vm-22.3.1/js-installable-svm-java19-darwin-amd64-22.3.1.jar"; 189 - }; 190 - }; 191 - "python-installable-svm" = { 192 - "11-linux-aarch64" = { 193 - sha256 = "1yl36x5svld7qnm3m6vmacm2n4d6l9vhdxhaypvlv2bbfbnym3c5"; 194 - url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java11-linux-aarch64-22.3.1.jar"; 195 - }; 196 - "17-linux-aarch64" = { 197 - sha256 = "0ggx5rwz3qnnxgz407r8yx12556pcbirhnc44972l77r320rdmqc"; 198 - url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java17-linux-aarch64-22.3.1.jar"; 199 - }; 200 - "19-linux-aarch64" = { 201 - sha256 = "1d0a7didgzgn45q7zg4iidmy2gckhaf796mbraqz5hjlig4vscr7"; 202 - url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java19-linux-aarch64-22.3.1.jar"; 203 - }; 204 - "11-linux-amd64" = { 205 - sha256 = "11c19a20v3ff83dxzs9hf1z89kh0qich41b03gx8mancf12jfwnl"; 206 - url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java11-linux-amd64-22.3.1.jar"; 207 - }; 208 - "17-linux-amd64" = { 209 - sha256 = "0pga44whhvm98d8j2v2bpl9rkbvr9bv947rc4imlbf01cyxjwl71"; 210 - url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java17-linux-amd64-22.3.1.jar"; 211 - }; 212 - "19-linux-amd64" = { 213 - sha256 = "0nwa1nrclh3p12cacp98wbx9p3zhs44b8srbr27vqgc10z78c1wz"; 214 - url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java19-linux-amd64-22.3.1.jar"; 215 - }; 216 - "11-darwin-aarch64" = { 217 - sha256 = "0qnh8i9nazrv25jhn13wp7qqm9wwhcz4kpp2ygvsdmf9s3d2f5lf"; 218 - url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java11-darwin-aarch64-22.3.1.jar"; 219 - }; 220 - "17-darwin-aarch64" = { 221 - sha256 = "0j13xvy9d19glipz4wdma2y02g0cnksg1iij4247fjhpqh0axkdz"; 222 - url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java17-darwin-aarch64-22.3.1.jar"; 223 - }; 224 - "19-darwin-aarch64" = { 225 - sha256 = "0n7vx5lxbgpjvzv0y1fqsrk0j61vrzjm2ksh0lkdnz1zrr5mqgsh"; 226 - url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java19-darwin-aarch64-22.3.1.jar"; 227 - }; 228 - "11-darwin-amd64" = { 229 - sha256 = "1ny5664h7pibvskmm51mlxrxkbbj2dvxsv2yqbq6v51a57wm1yzn"; 230 - url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java11-darwin-amd64-22.3.1.jar"; 231 - }; 232 - "17-darwin-amd64" = { 233 - sha256 = "01jjncx8jm1yrps2nj217vgcmjaqclmpb27rdp3qn7k64w5wzipg"; 234 - url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java17-darwin-amd64-22.3.1.jar"; 235 - }; 236 - "19-darwin-amd64" = { 237 - sha256 = "00agpvp1yw884lm6d88d2l8629qpbpdlik2g621yz4vf9y7qki83"; 238 - url = "https://github.com/graalvm/graalpython/releases/download/vm-22.3.1/python-installable-svm-java19-darwin-amd64-22.3.1.jar"; 239 - }; 240 - }; 241 - "native-image-installable-svm" = { 242 - "11-linux-aarch64" = { 243 - sha256 = "0z9rbmci6yz7f7mqd3xzsxc5ih4hq72lyzqfchan7fr6mh38d6gw"; 244 - 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"; 245 - }; 246 - "17-linux-aarch64" = { 247 - sha256 = "03v20fc9famlnbrznpasnd5gdl5k9nl4dlj3pp6bad4y6l7rqnx5"; 248 - 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"; 249 - }; 250 - "19-linux-aarch64" = { 251 - sha256 = "13gg1zj7ivzrgwvyvsbwbrchryjqmi00km7jxajjjbr1k7jkdc5v"; 252 - 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"; 253 - }; 254 - "11-linux-amd64" = { 255 - sha256 = "1yb7kpbs7hrzlysvrqjzgfz678p1hbg6237jzb35zmwdaczav51n"; 256 - 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"; 257 - }; 258 - "17-linux-amd64" = { 259 - sha256 = "00fbyqsj4xj9ay8bki1190lf59bgrzvla8lzzq51p53a1bdrhhmv"; 260 - 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"; 261 - }; 262 - "19-linux-amd64" = { 263 - sha256 = "1ayx0ag00i9868xz5xzc9fmwipkhz5qsldfmxk16cxp5vi71yhb1"; 264 - 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"; 265 - }; 266 - "11-darwin-aarch64" = { 267 - sha256 = "1kaqvkbhj3iifq6asyrpy225a89y7klzbh7an1ycnvc2hvqkv4nz"; 268 - 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"; 269 - }; 270 - "17-darwin-aarch64" = { 271 - sha256 = "09l7x4x8yanq55v6y6wpfx94mvsq1bpbnihknjc6dnq3vcrci77n"; 272 - 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"; 273 - }; 274 - "19-darwin-aarch64" = { 275 - sha256 = "0dfddqgkz9b5akpgfw7sj4sl9wwknmh7qzk3pq2dpvf6892168wb"; 276 - 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"; 277 - }; 278 - "11-darwin-amd64" = { 279 - sha256 = "036w9dmdcs46kmjqr3086mg389fgr3h1zysavfq8cbh199x0ibia"; 280 - 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"; 281 - }; 282 - "17-darwin-amd64" = { 283 - sha256 = "1hvjfvcn878bzvi944v3x23sby72hbfvg5s3zzspyc37l5cdpqi3"; 284 - 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"; 285 - }; 286 - "19-darwin-amd64" = { 287 - sha256 = "1829fnyz62gcnj0664hl9w3vjyb3xfc84gpnblhhdx77c9y8gf6b"; 288 - 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"; 289 - }; 290 - }; 291 - "graalvm-ce" = { 292 - "11-linux-aarch64" = { 293 - sha256 = "1g4a3z9993pq52j3jf25pbcq9rvl8jz1yar8c859jw5chaf3ysml"; 294 - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java11-linux-aarch64-22.3.1.tar.gz"; 295 - }; 296 - "17-linux-aarch64" = { 297 - sha256 = "06288dwbql943nii74i9mngzb38h2nzrxzzgs346mgk2965gwm59"; 298 - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java17-linux-aarch64-22.3.1.tar.gz"; 299 - }; 300 - "19-linux-aarch64" = { 301 - sha256 = "03bakx00rl2c0hyvp5skfha57cijlpvmsnfgv2ancn3ypyqx1c4m"; 302 - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java19-linux-aarch64-22.3.1.tar.gz"; 303 - }; 304 - "11-linux-amd64" = { 305 - sha256 = "1f6xkdnxn6xsm24sqw24rsca72wm7v6q96m23l5fng5ym0jpfm2m"; 306 - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java11-linux-amd64-22.3.1.tar.gz"; 307 - }; 308 - "17-linux-amd64" = { 309 - sha256 = "0aci9i28rq5nk2qya9dcg5hxr3sgsbv7f5x8679hrjrqmrclmkrs"; 310 - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java17-linux-amd64-22.3.1.tar.gz"; 311 - }; 312 - "19-linux-amd64" = { 313 - sha256 = "0byxf2d4c3vwygjg5rbwwi22k1pv0yqjz03n8m67v2vsbs09vnbw"; 314 - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java19-linux-amd64-22.3.1.tar.gz"; 315 - }; 316 - "11-darwin-aarch64" = { 317 - sha256 = "0cbcm9d211m4b6g1bkpfksma917lzqkl4kx38vm1nrwjkll357y5"; 318 - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java11-darwin-aarch64-22.3.1.tar.gz"; 319 - }; 320 - "17-darwin-aarch64" = { 321 - sha256 = "1qbw3hlmqcrmd70xk56463scdxr50n66z2n3c24h68qlwwlpqc73"; 322 - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java17-darwin-aarch64-22.3.1.tar.gz"; 323 - }; 324 - "19-darwin-aarch64" = { 325 - sha256 = "09n9qz58lfwl2ag8s3n6dm11p5nnbz6gfralfyfj72wwfghcsckc"; 326 - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java19-darwin-aarch64-22.3.1.tar.gz"; 327 - }; 328 - "11-darwin-amd64" = { 329 - sha256 = "0a12rzf99x5l29f6bwm6myk18dgnrx2c9rwmii2pm864y7azlnij"; 330 - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java11-darwin-amd64-22.3.1.tar.gz"; 331 - }; 332 - "17-darwin-amd64" = { 333 - sha256 = "02lclv2j3v850izh84wdvksi3d3xmgpfl7x85vzifhgsvagm6sz4"; 334 - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java17-darwin-amd64-22.3.1.tar.gz"; 335 - }; 336 - "19-darwin-amd64" = { 337 - sha256 = "1b3r43jpgip12if1fld41qiigqgn32zqs6992ji206dxq6xwli23"; 338 - url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java19-darwin-amd64-22.3.1.tar.gz"; 339 - }; 340 - }; 341 - "ruby-installable-svm" = { 342 - "11-linux-aarch64" = { 343 - sha256 = "10wm1sq7smywy63mzlsbn21kzd65yaqj8yismpq8bz19h9skas7w"; 344 - url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java11-linux-aarch64-22.3.1.jar"; 345 - }; 346 - "17-linux-aarch64" = { 347 - sha256 = "0kh1w49yp3kpfvhqw19bbx51ay1wgzq80gsrfqax4zm5ixz4wsbz"; 348 - url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java17-linux-aarch64-22.3.1.jar"; 349 - }; 350 - "19-linux-aarch64" = { 351 - sha256 = "1c3xw9h85g3p5w12zrlvl036ay3218g5405hkh7qaah00affgx5l"; 352 - url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java19-linux-aarch64-22.3.1.jar"; 353 - }; 354 - "11-linux-amd64" = { 355 - sha256 = "0avsawgfkqbgqc2hm8zmz37qg9ag3ddni3my8g73kvzfkghsdabh"; 356 - url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java11-linux-amd64-22.3.1.jar"; 357 - }; 358 - "17-linux-amd64" = { 359 - sha256 = "1ib00pqdhzl24y97j16mm86qwrijqjnmhjmk3g5vdhyhh099vjp1"; 360 - url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java17-linux-amd64-22.3.1.jar"; 361 - }; 362 - "19-linux-amd64" = { 363 - sha256 = "1j42y6gwf84xgjnawwqymxv4702gsy0vriwdfd09nbp600sjzga5"; 364 - url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java19-linux-amd64-22.3.1.jar"; 365 - }; 366 - "11-darwin-aarch64" = { 367 - sha256 = "1im75qad89xa2nbl80csnwn56k6n11zv5g91xlkqq4xk300v1saj"; 368 - url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java11-darwin-aarch64-22.3.1.jar"; 369 - }; 370 - "17-darwin-aarch64" = { 371 - sha256 = "1pfzsisf4sgzxmk3r1p4apzqkwipjpf8naly3v94i5v3b5gbnczx"; 372 - url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java17-darwin-aarch64-22.3.1.jar"; 373 - }; 374 - "19-darwin-aarch64" = { 375 - sha256 = "0xysf43q0zpin3lmffmb3n7y4rsm1zm19ndys1vrn8szz4jcxpsq"; 376 - url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java19-darwin-aarch64-22.3.1.jar"; 377 - }; 378 - "11-darwin-amd64" = { 379 - sha256 = "1jfls71y92hw09s869v2qw8pypgl1fciqz3m9zcd2602hikysq6c"; 380 - url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java11-darwin-amd64-22.3.1.jar"; 381 - }; 382 - "17-darwin-amd64" = { 383 - sha256 = "03x2h4sw72l05xxg73xj9mzzkxffbjpv8hdi59rgxxljnz0ai6rx"; 384 - url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java17-darwin-amd64-22.3.1.jar"; 385 - }; 386 - "19-darwin-amd64" = { 387 - sha256 = "02nkjlv306wyms7swibn5rz0w8sx6pwvh1lilgvv4xnbj7wps2q7"; 388 - url = "https://github.com/oracle/truffleruby/releases/download/vm-22.3.1/ruby-installable-svm-java19-darwin-amd64-22.3.1.jar"; 389 - }; 390 - }; 391 - }
-17
pkgs/development/compilers/graalvm/community-edition/js-installable-svm.nix
··· 1 - { lib 2 - , stdenv 3 - , graalvmCEPackages 4 - , javaVersion 5 - , src 6 - , version 7 - }: 8 - 9 - graalvmCEPackages.buildGraalvmProduct rec { 10 - inherit src javaVersion version; 11 - product = "js-installable-svm"; 12 - 13 - graalvmPhases.installCheckPhase = '' 14 - echo "Testing GraalJS" 15 - echo '1 + 1' | $out/bin/js 16 - ''; 17 - }
-18
pkgs/development/compilers/graalvm/community-edition/llvm-installable-svm.nix
··· 1 - { lib 2 - , stdenv 3 - , graalvmCEPackages 4 - , javaVersion 5 - , src 6 - , version 7 - }: 8 - 9 - graalvmCEPackages.buildGraalvmProduct rec { 10 - inherit src javaVersion version; 11 - product = "llvm-installable-svm"; 12 - 13 - # TODO: improve this test 14 - graalvmPhases.installCheckPhase = '' 15 - echo "Testing llvm" 16 - $out/bin/lli --help 17 - ''; 18 - }
-60
pkgs/development/compilers/graalvm/community-edition/native-image-installable-svm.nix
··· 1 - { lib 2 - , stdenv 3 - , graalvmCEPackages 4 - , gcc 5 - , glibc 6 - , javaVersion 7 - , musl 8 - , src 9 - , version 10 - , writeShellScriptBin 11 - , zlib 12 - , useMusl ? false 13 - , extraCLibs ? [ ] 14 - }: 15 - 16 - assert useMusl -> stdenv.isLinux; 17 - let 18 - cLibs = [ glibc zlib.static ] 19 - ++ lib.optionals (!useMusl) [ glibc.static ] 20 - ++ lib.optionals useMusl [ musl ] 21 - ++ extraCLibs; 22 - # GraalVM 21.3.0+ expects musl-gcc as <system>-musl-gcc 23 - musl-gcc = (writeShellScriptBin "${stdenv.hostPlatform.system}-musl-gcc" ''${lib.getDev musl}/bin/musl-gcc "$@"''); 24 - binPath = lib.makeBinPath ([ gcc ] ++ lib.optionals useMusl [ musl-gcc ]); 25 - in 26 - graalvmCEPackages.buildGraalvmProduct rec { 27 - inherit src javaVersion version; 28 - product = "native-image-installable-svm"; 29 - 30 - graalvmPhases.postInstall = lib.optionalString stdenv.isLinux '' 31 - wrapProgram $out/bin/native-image \ 32 - --prefix PATH : ${binPath} \ 33 - ${lib.concatStringsSep " " 34 - (map (l: "--add-flags '-H:CLibraryPath=${l}/lib'") cLibs)} 35 - ''; 36 - 37 - graalvmPhases.installCheckPhase = '' 38 - echo "Ahead-Of-Time compilation" 39 - $out/bin/native-image -H:-CheckToolchain -H:+ReportExceptionStackTraces HelloWorld 40 - ./helloworld | fgrep 'Hello World' 41 - 42 - ${# --static is only available in Linux 43 - lib.optionalString (stdenv.isLinux && !useMusl) '' 44 - echo "Ahead-Of-Time compilation with -H:+StaticExecutableWithDynamicLibC" 45 - $out/bin/native-image -H:+StaticExecutableWithDynamicLibC HelloWorld 46 - ./helloworld | fgrep 'Hello World' 47 - 48 - echo "Ahead-Of-Time compilation with --static" 49 - $out/bin/native-image --static HelloWorld 50 - ./helloworld | fgrep 'Hello World' 51 - ''} 52 - 53 - ${# --static is only available in Linux 54 - lib.optionalString (stdenv.isLinux && useMusl) '' 55 - echo "Ahead-Of-Time compilation with --static and --libc=musl" 56 - $out/bin/native-image --static HelloWorld --libc=musl 57 - ./helloworld | fgrep 'Hello World' 58 - ''} 59 - ''; 60 - }
-21
pkgs/development/compilers/graalvm/community-edition/nodejs-installable-svm.nix
··· 1 - { lib 2 - , stdenv 3 - , graalvmCEPackages 4 - , graalvm-ce 5 - , javaVersion 6 - , src 7 - , version 8 - }: 9 - 10 - graalvmCEPackages.buildGraalvmProduct rec { 11 - inherit src javaVersion version; 12 - product = "nodejs-installable-svm"; 13 - 14 - extraNativeBuildInputs = [ graalvm-ce ]; 15 - 16 - # TODO: improve test 17 - graalvmPhases.installCheckPhase = '' 18 - echo "Testing NodeJS" 19 - $out/bin/npx --help 20 - ''; 21 - }
-18
pkgs/development/compilers/graalvm/community-edition/python-installable-svm.nix
··· 1 - { lib 2 - , stdenv 3 - , graalvmCEPackages 4 - , javaVersion 5 - , src 6 - , version 7 - }: 8 - 9 - graalvmCEPackages.buildGraalvmProduct rec { 10 - inherit src javaVersion version; 11 - product = "python-installable-svm"; 12 - 13 - graalvmPhases.installCheckPhase = '' 14 - echo "Testing GraalPython" 15 - $out/bin/graalpy -c 'print(1 + 1)' 16 - echo '1 + 1' | $out/bin/graalpy 17 - ''; 18 - }
+11 -10
pkgs/development/compilers/graalvm/community-edition/ruby-installable-svm.nix pkgs/development/compilers/graalvm/community-edition/truffleruby/default.nix
··· 1 1 { lib 2 2 , stdenv 3 + , fetchurl 3 4 , graalvmCEPackages 4 - , llvm-installable-svm 5 + , libyaml 5 6 , openssl 6 - , javaVersion 7 - , src 8 - , version 9 7 }: 10 8 11 - graalvmCEPackages.buildGraalvmProduct rec { 12 - inherit src javaVersion version; 13 - product = "ruby-installable-svm"; 9 + graalvmCEPackages.buildGraalvmProduct { 10 + src = fetchurl (import ./hashes.nix).hashes.${stdenv.system}; 11 + version = (import ./hashes.nix).version; 12 + 13 + product = "truffleruby"; 14 14 15 15 extraBuildInputs = [ 16 - llvm-installable-svm 16 + libyaml 17 17 openssl 18 18 ]; 19 19 20 20 preFixup = lib.optionalString stdenv.isLinux '' 21 - patchelf $out/languages/ruby/lib/mri/openssl.so \ 21 + patchelf $out/lib/mri/openssl.so \ 22 22 --replace-needed libssl.so.10 libssl.so \ 23 23 --replace-needed libcrypto.so.10 libcrypto.so 24 24 ''; 25 25 26 - graalvmPhases.installCheckPhase = '' 26 + doInstallCheck = true; 27 + installCheckPhase = '' 27 28 echo "Testing TruffleRuby" 28 29 # Fixup/silence warnings about wrong locale 29 30 export LANG=C
+22
pkgs/development/compilers/graalvm/community-edition/truffleruby/hashes.nix
··· 1 + # Generated by update.sh script 2 + { 3 + "version" = "23.1.0"; 4 + "hashes" = { 5 + "aarch64-linux" = { 6 + sha256 = "05q0xqm7qa9mw7v4kwyhbqsx27x19msf9rbbzq60dinp5724r721"; 7 + url = "https://github.com/oracle/truffleruby/releases/download/graal-23.1.0/truffleruby-community-23.1.0-linux-aarch64.tar.gz"; 8 + }; 9 + "x86_64-linux" = { 10 + sha256 = "0bfcqcax9424vsdqzr18mxkhi2wpzc4xaji98anm8mcjkyl1r89q"; 11 + url = "https://github.com/oracle/truffleruby/releases/download/graal-23.1.0/truffleruby-community-23.1.0-linux-amd64.tar.gz"; 12 + }; 13 + "x86_64-darwin" = { 14 + sha256 = "1yj9nk670hgh9104s1j207mqldagfvvvscj4bfgf3jlbcq5hvlhn"; 15 + url = "https://github.com/oracle/truffleruby/releases/download/graal-23.1.0/truffleruby-community-23.1.0-macos-amd64.tar.gz"; 16 + }; 17 + "aarch64-darwin" = { 18 + sha256 = "1nmqyn4vzwjsvq7dly8qn1xx973jg027xfbs988vf3nljnhkpq5l"; 19 + url = "https://github.com/oracle/truffleruby/releases/download/graal-23.1.0/truffleruby-community-23.1.0-macos-aarch64.tar.gz"; 20 + }; 21 + }; 22 + }
+82 -59
pkgs/development/compilers/graalvm/community-edition/update.sh
··· 1 1 #!/usr/bin/env nix-shell 2 2 #!nix-shell -p coreutils curl.out nix jq gnused -i bash 3 3 4 + # Usage: 5 + # ./update.sh [PRODUCT] 6 + # 7 + # Examples: 8 + # $ ./update.sh graalvm-ce # will generate ./graalvm-ce/hashes.nix 9 + # $ ./update.sh # same as above 10 + # $ ./update.sh graalpy # will generate ./graalpy/hashes.nix 11 + # 12 + # Environment variables: 13 + # FORCE=1 to force the update of a product (e.g.: skip up-to-date checks) 14 + # VERSION=xx.xx will assume that xx.xx is the new version 15 + 4 16 set -eou pipefail 5 17 6 18 cd "$(dirname "${BASH_SOURCE[0]}")" 7 19 tmpfile="$(mktemp --suffix=.nix)" 20 + readonly tmpfile 8 21 9 22 trap 'rm -rf "$tmpfile"' EXIT 10 23 ··· 16 29 [ "$1" = "$(echo -e "$1\n$2" | sort -V | head -n1)" ] 17 30 } 18 31 19 - readonly hashes_nix="hashes.nix" 32 + readonly product="${1:-graalvm-ce}" 33 + readonly hashes_nix="$product/hashes.nix" 20 34 readonly nixpkgs=../../../../.. 21 35 22 - readonly current_version="$(nix-instantiate "$nixpkgs" --eval --strict -A graalvm-ce.version --json | jq -r)" 36 + mkdir -p "$product" 23 37 24 - if [[ -z "${1:-}" ]]; then 25 - readonly gh_version="$(curl \ 38 + declare -r -A update_urls=( 39 + [graalvm-ce]="https://api.github.com/repos/graalvm/graalvm-ce-builds/releases/latest" 40 + [graaljs]="https://api.github.com/repos/oracle/graaljs/releases/latest" 41 + [graalnodejs]="https://api.github.com/repos/oracle/graaljs/releases/latest" 42 + [graalpy]="https://api.github.com/repos/oracle/graalpython/releases/latest" 43 + [truffleruby]="https://api.github.com/repos/oracle/truffleruby/releases/latest" 44 + ) 45 + 46 + current_version="$(nix-instantiate "$nixpkgs" --eval --strict -A "graalvmCEPackages.${product}.version" --json | jq -r)" 47 + readonly current_version 48 + 49 + if [[ -z "${VERSION:-}" ]]; then 50 + gh_version="$(curl \ 26 51 ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \ 27 - -s https://api.github.com/repos/graalvm/graalvm-ce-builds/releases/latest | \ 52 + -s "${update_urls[$product]}" | \ 28 53 jq --raw-output .tag_name)" 29 - readonly new_version="${gh_version//vm-/}" 54 + new_version="${gh_version//jdk-/}" 55 + new_version="${new_version//graal-/}" 30 56 else 31 - readonly new_version="$1" 57 + new_version="$VERSION" 32 58 fi 59 + readonly new_version 33 60 34 61 info "Current version: $current_version" 35 62 info "New version: $new_version" 36 63 if verlte "$new_version" "$current_version"; then 37 - info "graalvm-ce $current_version is up-to-date." 64 + info "$product $current_version is up-to-date." 38 65 [[ -z "${FORCE:-}" ]] && exit 0 39 66 else 40 - info "graalvm-ce $current_version is out-of-date. Updating..." 67 + info "$product $current_version is out-of-date. Updating..." 41 68 fi 42 69 70 + # Make sure to get the `-community` versions! 43 71 declare -r -A products_urls=( 44 - [graalvm-ce]="https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${new_version}/graalvm-ce-java@platform@-${new_version}.tar.gz" 45 - [js-installable-svm]="https://github.com/graalvm/graaljs/releases/download/vm-${new_version}/js-installable-svm-java@platform@-${new_version}.jar" 46 - [llvm-installable-svm]="https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${new_version}/llvm-installable-svm-java@platform@-${new_version}.jar" 47 - [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" 48 - [nodejs-installable-svm]="https://github.com/graalvm/graaljs/releases/download/vm-${new_version}/nodejs-installable-svm-java@platform@-${new_version}.jar" 49 - [python-installable-svm]="https://github.com/graalvm/graalpython/releases/download/vm-${new_version}/python-installable-svm-java@platform@-${new_version}.jar" 50 - [ruby-installable-svm]="https://github.com/oracle/truffleruby/releases/download/vm-${new_version}/ruby-installable-svm-java@platform@-${new_version}.jar" 51 - [wasm-installable-svm]="https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${new_version}/wasm-installable-svm-java@platform@-${new_version}.jar" 72 + [graalvm-ce]="https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-${new_version}/graalvm-community-jdk-${new_version}_@platform@_bin.tar.gz" 73 + [graaljs]="https://github.com/oracle/graaljs/releases/download/graal-${new_version}/graaljs-community-${new_version}-@platform@.tar.gz" 74 + [graalnodejs]="https://github.com/oracle/graaljs/releases/download/graal-${new_version}/graalnodejs-community-${new_version}-@platform@.tar.gz" 75 + [graalpy]="https://github.com/oracle/graalpython/releases/download/graal-${new_version}/graalpy-community-${new_version}-@platform@.tar.gz" 76 + [truffleruby]="https://github.com/oracle/truffleruby/releases/download/graal-${new_version}/truffleruby-community-${new_version}-@platform@.tar.gz" 52 77 ) 53 78 54 - readonly platforms=( 55 - "11-linux-aarch64" 56 - "17-linux-aarch64" 57 - "19-linux-aarch64" 58 - "11-linux-amd64" 59 - "17-linux-amd64" 60 - "19-linux-amd64" 61 - "11-darwin-aarch64" 62 - "17-darwin-aarch64" 63 - "19-darwin-aarch64" 64 - "11-darwin-amd64" 65 - "17-darwin-amd64" 66 - "19-darwin-amd64" 67 - ) 79 + # Argh, this is really inconsistent... 80 + if [[ "$product" == "graalvm-ce" ]]; then 81 + declare -r -A platforms=( 82 + [aarch64-linux]="linux-aarch64" 83 + [x86_64-linux]="linux-x64" 84 + [aarch64-darwin]="macos-aarch64" 85 + [x86_64-darwin]="macos-x64" 86 + ) 87 + else 88 + declare -r -A platforms=( 89 + [aarch64-linux]="linux-aarch64" 90 + [x86_64-linux]="linux-amd64" 91 + [aarch64-darwin]="macos-aarch64" 92 + [x86_64-darwin]="macos-amd64" 93 + ) 94 + fi 68 95 69 - info "Generating '$hashes_nix' file for 'graalvm-ce' $new_version. This will take a while..." 96 + info "Generating '$hashes_nix' file for '$product' $new_version. This will take a while..." 70 97 71 98 # Indentation of `echo_file` function is on purpose to make it easier to visualize the output 72 - echo_file "# Generated by $0 script" 99 + echo_file "# Generated by $(basename $0) script" 73 100 echo_file "{" 74 - for product in "${!products_urls[@]}"; do 75 - url="${products_urls["${product}"]}" 76 - echo_file " \"$product\" = {" 77 - for platform in "${platforms[@]}"; do 78 - args=("${url//@platform@/$platform}") 79 - # Get current hashes to skip derivations already in /nix/store to reuse cache when the version is the same 80 - # e.g.: when adding a new product and running this script with FORCE=1 81 - if [[ "$current_version" == "$new_version" ]] && \ 82 - previous_hash="$(nix-instantiate --eval "$hashes_nix" -A "$product.$platform.sha256" --json | jq -r)"; then 83 - args+=("$previous_hash" "--type" "sha256") 84 - else 85 - info "Hash in '$product' for '$platform' not found. Re-downloading it..." 86 - fi 87 - if hash="$(nix-prefetch-url "${args[@]}")"; then 88 - echo_file " \"$platform\" = {" 101 + echo_file " \"version\" = \"$new_version\";" 102 + url="${products_urls["${product}"]}" 103 + echo_file " \"hashes\" = {" 104 + for nix_platform in "${!platforms[@]}"; do 105 + product_platform="${platforms[$nix_platform]}" 106 + args=("${url//@platform@/$product_platform}") 107 + # Get current hashes to skip derivations already in /nix/store to reuse cache when the version is the same 108 + # e.g.: when adding a new product and running this script with FORCE=1 109 + if [[ "$current_version" == "$new_version" ]] && \ 110 + previous_hash="$(nix-instantiate --eval "$hashes_nix" -A "hashes.$nix_platform.sha256" --json | jq -r)"; then 111 + args+=("$previous_hash" "--type" "sha256") 112 + else 113 + info "Hash in '$product' for '$nix_platform' not found. Re-downloading it..." 114 + fi 115 + if hash="$(nix-prefetch-url "${args[@]}")"; then 116 + echo_file " \"$nix_platform\" = {" 89 117 echo_file " sha256 = \"$hash\";" 90 - echo_file " url = \"${url//@platform@/${platform}}\";" 118 + echo_file " url = \"${url//@platform@/${product_platform}}\";" 91 119 echo_file " };" 92 - else 93 - info "Error while downloading '$product' for '$platform'. Skipping it..." 94 - fi 95 - done 120 + else 121 + info "Error while downloading '$product' for '$nix_platform'. Skipping it..." 122 + fi 123 + done 96 124 echo_file " };" 97 - done 98 125 echo_file "}" 99 126 100 - info "Updating graalvm-ce version..." 101 - # update-source-version does not work here since it expects src attribute 102 - sed "s|$current_version|$new_version|" -i default.nix 103 - 104 - info "Moving the temporary file to hashes.nix" 127 + info "Moving the temporary file to '$hashes_nix'" 105 128 mv "$tmpfile" "$hashes_nix" 106 129 107 130 info "Done!"
-22
pkgs/development/compilers/graalvm/community-edition/wasm-installable-svm.nix
··· 1 - { lib 2 - , stdenv 3 - , graalvm-ce 4 - , graalvmCEPackages 5 - , javaVersion 6 - , src 7 - , version 8 - }: 9 - 10 - graalvmCEPackages.buildGraalvmProduct rec { 11 - inherit src javaVersion version; 12 - product = "wasm-installable-svm"; 13 - 14 - # TODO: improve this test 15 - graalvmPhases.installCheckPhase = '' 16 - echo "Testing wasm" 17 - $out/bin/wasm --help 18 - ''; 19 - 20 - # Not supported in aarch64-darwin yet as GraalVM 22.3.1 release 21 - meta.platforms = builtins.filter (p: p != "aarch64-darwin") graalvm-ce.meta.platforms; 22 - }
+2 -2
pkgs/development/interpreters/babashka/default.nix
··· 15 15 sha256 = "sha256-O3pLELYmuuB+Bf1vHTWQ+u7Ymi3qYiMRpCwvEq+GeBQ="; 16 16 }; 17 17 18 - graalvmDrv = graalvmCEPackages.graalvm19-ce; 18 + graalvmDrv = graalvmCEPackages.graalvm-ce; 19 19 20 20 executable = "bb"; 21 21 ··· 38 38 39 39 # As of v1.2.174, this will remove references to ${graalvmDrv}/conf/chronology, 40 40 # not sure the implications of this but this file is not available in 41 - # graalvm19-ce anyway. 41 + # graalvm-ce anyway. 42 42 postInstall = '' 43 43 remove-references-to -t ${graalvmDrv} $out/bin/${executable} 44 44 '';
+3 -5
pkgs/top-level/aliases.nix
··· 687 687 gpgstats = throw "gpgstats has been removed: upstream is gone"; # Added 2022-02-06 688 688 gpshell = throw "gpshell has been removed, because it was unmaintained in nixpkgs"; # added 2021-12-17 689 689 690 - graalvm11 = graalvm11-ce; 691 - graalvm8-ce = throw "graalvm8-ce has been removed by upstream"; # Added 2021-10-19 692 - graalvm8 = throw "graalvm8-ce has been removed by upstream"; # Added 2021-10-19 693 - graalvm8-ee = throw "graalvm8-ee has been removed because it is unmaintained"; # Added 2022-04-15 694 - graalvm11-ee = throw "graalvm11-ee has been removed because it is unmaintained"; # Added 2022-04-15 690 + 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 691 + 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 692 + 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 695 693 gradio = throw "gradio has been removed because it is unmaintained, use shortwave instead"; # Added 2022-06-03 696 694 gradle_4 = throw "gradle_4 has been removed because it's no longer being updated"; # Added 2023-01-17 697 695 gradle_5 = throw "gradle_5 has been removed because it's no longer being updated"; # Added 2023-01-17
+3 -6
pkgs/top-level/all-packages.nix
··· 8634 8634 }; 8635 8635 dapl-native = callPackage ../development/interpreters/dzaima-apl { 8636 8636 buildNativeImage = true; 8637 - jdk = graalvm11-ce; 8637 + jdk = graalvm-ce; 8638 8638 }; 8639 8639 8640 8640 gnucap = callPackage ../applications/science/electronics/gnucap { }; ··· 16471 16471 16472 16472 graalvmCEPackages = 16473 16473 recurseIntoAttrs (callPackage ../development/compilers/graalvm/community-edition { }); 16474 - graalvm-ce = graalvm11-ce; 16475 - graalvm11-ce = graalvmCEPackages.graalvm11-ce; 16476 - graalvm17-ce = graalvmCEPackages.graalvm17-ce; 16477 - graalvm19-ce = graalvmCEPackages.graalvm19-ce; 16474 + graalvm-ce = graalvmCEPackages.graalvm-ce; 16478 16475 buildGraalvmNativeImage = (callPackage ../build-support/build-graalvm-native-image { 16479 16476 graalvmDrv = graalvm-ce; 16480 16477 }).override; ··· 17762 17759 }; 17763 17760 dbqn-native = callPackage ../development/interpreters/bqn/dzaima-bqn { 17764 17761 buildNativeImage = true; 17765 - jdk = graalvm11-ce; 17762 + jdk = graalvm-ce; 17766 17763 }; 17767 17764 17768 17765 chibi = callPackage ../development/interpreters/chibi { };