diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
index 33b0b3faea6f..6ced05e52dd8 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
@@ -1518,6 +1518,17 @@
pkgs.cosmoc.
+
+
+ pkgs.graalvmXX-ce packages no longer
+ provide support for Python/Ruby/WASM, instead focusing only in
+ Java and Native Image Support. If you need to add support
+ back, please see the
+ pkgs.graalvmCEPackages.mkGraal function to
+ create your own customized version of GraalVM with support for
+ what you need.
+
+
diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md
index a671f08acfd9..e0204c355d03 100644
--- a/nixos/doc/manual/release-notes/rl-2205.section.md
+++ b/nixos/doc/manual/release-notes/rl-2205.section.md
@@ -554,6 +554,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- `pkgs.cosmopolitan` no longer provides the `cosmoc` command. It has been moved to `pkgs.cosmoc`.
+- `pkgs.graalvmXX-ce` packages no longer provide support for Python/Ruby/WASM, instead focusing only in Java and Native Image Support. If you need to add support back, please see the `pkgs.graalvmCEPackages.mkGraal` function to create your own customized version of GraalVM with support for what you need.
+
## Other Notable Changes {#sec-release-22.05-notable-changes}
diff --git a/pkgs/build-support/build-graalvm-native-image/default.nix b/pkgs/build-support/build-graalvm-native-image/default.nix
index d34f562bc537..760896706ac2 100644
--- a/pkgs/build-support/build-graalvm-native-image/default.nix
+++ b/pkgs/build-support/build-graalvm-native-image/default.nix
@@ -55,5 +55,7 @@ stdenv.mkDerivation (args // {
platforms = graalvmDrv.meta.platforms;
# default to executable name
mainProgram = executable;
+ # need to have native-image-installable-svm available
+ broken = !(builtins.elem "native-image-installable-svm" graalvmDrv.products);
} // meta;
})
diff --git a/pkgs/development/compilers/graalvm/community-edition/default.nix b/pkgs/development/compilers/graalvm/community-edition/default.nix
index 6f42bfcc4539..e45c89b3f1be 100644
--- a/pkgs/development/compilers/graalvm/community-edition/default.nix
+++ b/pkgs/development/compilers/graalvm/community-edition/default.nix
@@ -18,11 +18,9 @@ let
graalvm11-ce-dev-version = "22.2.0-dev-20220401_1942";
graalvm17-ce-dev-version = "22.2.0-dev-20220401_1942";
- commonProducts = [
+ products = [
"graalvm-ce"
"native-image-installable-svm"
- "ruby-installable-svm"
- "wasm-installable-svm"
];
in
@@ -32,24 +30,21 @@ in
graalvm11-ce = mkGraal rec {
config = {
x86_64-darwin = {
+ inherit products;
arch = "darwin-amd64";
- products = commonProducts ++ [ "python-installable-svm" ];
};
x86_64-linux = {
+ inherit products;
arch = "linux-amd64";
- products = commonProducts ++ [ "python-installable-svm" ];
};
aarch64-darwin = {
+ inherit products;
arch = "darwin-aarch64";
- products = [
- "graalvm-ce"
- "native-image-installable-svm"
- ];
version = graalvm11-ce-dev-version;
};
aarch64-linux = {
+ inherit products;
arch = "linux-aarch64";
- products = commonProducts;
};
};
defaultVersion = graalvm11-ce-release-version;
@@ -57,29 +52,25 @@ in
platforms = builtins.attrNames config;
};
- # TODO: fix aarch64-linux, failing during Native Image compilation
- # "Caused by: java.io.IOException: Cannot run program
- # "/nix/store/1q1mif7h3lgxdaxg6j39hli5azikrfla-gcc-wrapper-9.3.0/bin/gcc" (in
- # directory"/tmp/SVM-4194439592488143713"): error=0, Failed to exec spawn
- # helper: pid: 19865, exit value: 1"
graalvm17-ce = mkGraal rec {
config = {
x86_64-darwin = {
+ inherit products;
arch = "darwin-amd64";
- products = commonProducts ++ [ "python-installable-svm" ];
};
x86_64-linux = {
+ inherit products;
arch = "linux-amd64";
- products = commonProducts ++ [ "python-installable-svm" ];
};
aarch64-darwin = {
+ inherit products;
arch = "darwin-aarch64";
- products = [
- "graalvm-ce"
- "native-image-installable-svm"
- ];
version = graalvm17-ce-dev-version;
};
+ aarch64-linux = {
+ inherit products;
+ arch = "linux-aarch64";
+ };
};
defaultVersion = graalvm17-ce-release-version;
javaVersion = "17";
diff --git a/pkgs/development/compilers/graalvm/community-edition/graalvm11-ce-sources.json b/pkgs/development/compilers/graalvm/community-edition/graalvm11-ce-sources.json
index 070c783d0336..e3d514d58b9d 100644
--- a/pkgs/development/compilers/graalvm/community-edition/graalvm11-ce-sources.json
+++ b/pkgs/development/compilers/graalvm/community-edition/graalvm11-ce-sources.json
@@ -1,12 +1,12 @@
{
"darwin-aarch64": {
- "graalvm-ce|java11|22.2.0-dev-20220401_1942": {
- "sha256": "c83dee740ae148486598759e44a717b09d8124e4ea50f9da1e7d49d016572b89",
- "url": "https://github.com/graalvm/graalvm-ce-dev-builds/releases/download/22.2.0-dev-20220401_1942/graalvm-ce-java11-darwin-aarch64-dev.tar.gz"
+ "graalvm-ce|java11|22.2.0-dev-20220414_2112": {
+ "sha256": "7d1d39a7cc2579112e745943fa5b557405b501f5c3c3fde441f9a31c7627d18d",
+ "url": "https://github.com/graalvm/graalvm-ce-dev-builds/releases/download/22.2.0-dev-20220414_2112/graalvm-ce-java11-darwin-aarch64-dev.tar.gz"
},
- "native-image-installable-svm|java11|22.2.0-dev-20220401_1942": {
- "sha256": "661311ae26bfd6c46360b9e65aabe9361dc5cd05878a404343adf16925ae78fa",
- "url": "https://github.com/graalvm/graalvm-ce-dev-builds/releases/download/22.2.0-dev-20220401_1942/native-image-installable-svm-java11-darwin-aarch64-dev.jar"
+ "native-image-installable-svm|java11|22.2.0-dev-20220414_2112": {
+ "sha256": "5ec82588bf493c38656ca7c31fff276342ce1cbadee41309ae7a3486f56f7ba7",
+ "url": "https://github.com/graalvm/graalvm-ce-dev-builds/releases/download/22.2.0-dev-20220414_2112/native-image-installable-svm-java11-darwin-aarch64-dev.jar"
}
},
"darwin-amd64": {
@@ -17,18 +17,6 @@
"native-image-installable-svm|java11|22.0.0.2": {
"sha256": "03c27de6cce61ee8073e89252212457f3fbac2c0bc9bfa4acbff12176476c176",
"url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/native-image-installable-svm-java11-darwin-amd64-22.0.0.2.jar"
- },
- "python-installable-svm|java11|22.0.0.2": {
- "sha256": "67ee2f1cc10b0189e359344c31b22f423e636ff4ec2dd7d9437c3eb0ef54e601",
- "url": "https://github.com/graalvm/graalpython/releases/download/vm-22.0.0.2/python-installable-svm-java11-darwin-amd64-22.0.0.2.jar"
- },
- "ruby-installable-svm|java11|22.0.0.2": {
- "sha256": "a25c0099a21ca1ca9904dd3acdeef509f67a13b96c6135b6de199e9805330df9",
- "url": "https://github.com/oracle/truffleruby/releases/download/vm-22.0.0.2/ruby-installable-svm-java11-darwin-amd64-22.0.0.2.jar"
- },
- "wasm-installable-svm|java11|22.0.0.2": {
- "sha256": "d74c210a8a87b8eb0c4d18a65fde6f2c03ebc94d9bf7ed87bbb9cacc460006d7",
- "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/wasm-installable-svm-java11-darwin-amd64-22.0.0.2.jar"
}
},
"linux-aarch64": {
@@ -39,14 +27,6 @@
"native-image-installable-svm|java11|22.0.0.2": {
"sha256": "51d41e890a5aabf8e7b9d4f4e0f88206ee70a261f7dbb0315d51770ab8f3009e",
"url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/native-image-installable-svm-java11-linux-aarch64-22.0.0.2.jar"
- },
- "ruby-installable-svm|java11|22.0.0.2": {
- "sha256": "e0fb582a9c6b4167e7dc267c58ca1968bd1c471b3bc5c56061b436f175486d80",
- "url": "https://github.com/oracle/truffleruby/releases/download/vm-22.0.0.2/ruby-installable-svm-java11-linux-aarch64-22.0.0.2.jar"
- },
- "wasm-installable-svm|java11|22.0.0.2": {
- "sha256": "a48470ae391c75cb2805b7fe27cde2c925c0466fdbc0623dfbb67c54f19dbf8c",
- "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/wasm-installable-svm-java11-linux-aarch64-22.0.0.2.jar"
}
},
"linux-amd64": {
@@ -57,18 +37,6 @@
"native-image-installable-svm|java11|22.0.0.2": {
"sha256": "8504a3441f5b28b8fd625f676674a9216f082ae63a4e30d43930c80f9672e71d",
"url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/native-image-installable-svm-java11-linux-amd64-22.0.0.2.jar"
- },
- "python-installable-svm|java11|22.0.0.2": {
- "sha256": "2f01d1bbc2ed2c507952d8ceaab1cb2176fc67e2d8c4b3bf5864e8d930c60c55",
- "url": "https://github.com/graalvm/graalpython/releases/download/vm-22.0.0.2/python-installable-svm-java11-linux-amd64-22.0.0.2.jar"
- },
- "ruby-installable-svm|java11|22.0.0.2": {
- "sha256": "e90f7ebc13b6c1f8e3f98881bb4fe2336870744174b2b6d41dc672d15f0b9a40",
- "url": "https://github.com/oracle/truffleruby/releases/download/vm-22.0.0.2/ruby-installable-svm-java11-linux-amd64-22.0.0.2.jar"
- },
- "wasm-installable-svm|java11|22.0.0.2": {
- "sha256": "c0fdfc40374b70f6f1597dd21660535c813dc5c3948c8a6ea9559a20f4d3fb5e",
- "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/wasm-installable-svm-java11-linux-amd64-22.0.0.2.jar"
}
}
}
diff --git a/pkgs/development/compilers/graalvm/community-edition/graalvm17-ce-sources.json b/pkgs/development/compilers/graalvm/community-edition/graalvm17-ce-sources.json
index 65e28b8b11cc..57fdd4c28846 100644
--- a/pkgs/development/compilers/graalvm/community-edition/graalvm17-ce-sources.json
+++ b/pkgs/development/compilers/graalvm/community-edition/graalvm17-ce-sources.json
@@ -1,12 +1,12 @@
{
"darwin-aarch64": {
- "graalvm-ce|java17|22.2.0-dev-20220401_1942": {
- "sha256": "f0409c59adbce62da7be46ab7d0e01abe5c080ef97d0b555e6c773f94dbfdecf",
- "url": "https://github.com/graalvm/graalvm-ce-dev-builds/releases/download/22.2.0-dev-20220401_1942/graalvm-ce-java17-darwin-aarch64-dev.tar.gz"
+ "graalvm-ce|java17|22.2.0-dev-20220415_1945": {
+ "sha256": "1dbb0e0b9c85391ea6f1a0bd95ae252a396152d83e3a0e79cffd988144259e68",
+ "url": "https://github.com/graalvm/graalvm-ce-dev-builds/releases/download/22.2.0-dev-20220415_1945/graalvm-ce-java17-darwin-aarch64-dev.tar.gz"
},
- "native-image-installable-svm|java17|22.2.0-dev-20220401_1942": {
- "sha256": "3770dc4810d7ebae8f9ca2212e91112629096a964d3caea1667b0aaf5f70c1e0",
- "url": "https://github.com/graalvm/graalvm-ce-dev-builds/releases/download/22.2.0-dev-20220401_1942/native-image-installable-svm-java17-darwin-aarch64-dev.jar"
+ "native-image-installable-svm|java17|22.2.0-dev-20220415_1945": {
+ "sha256": "029499c011ceb1a4560957db651805325a201488b5f0b7467f007c7385d004e2",
+ "url": "https://github.com/graalvm/graalvm-ce-dev-builds/releases/download/22.2.0-dev-20220415_1945/native-image-installable-svm-java17-darwin-aarch64-dev.jar"
}
},
"darwin-amd64": {
@@ -17,18 +17,16 @@
"native-image-installable-svm|java17|22.0.0.2": {
"sha256": "007fa742cd139d447f83d776b6d78e717c9df11d56a61061a5937547c20028b7",
"url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/native-image-installable-svm-java17-darwin-amd64-22.0.0.2.jar"
+ }
+ },
+ "linux-aarch64": {
+ "graalvm-ce|java17|22.0.0.2": {
+ "sha256": "c7d78387d2a144944f26773697c1b61d3478a081a1c5e7fc20f47f1f5f3c82c7",
+ "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/graalvm-ce-java17-linux-aarch64-22.0.0.2.tar.gz"
},
- "python-installable-svm|java17|22.0.0.2": {
- "sha256": "af887b0304d5ec98fab1be2cd1fca2aa3b10e84e823142a7f274560b1e0ea7c1",
- "url": "https://github.com/graalvm/graalpython/releases/download/vm-22.0.0.2/python-installable-svm-java17-darwin-amd64-22.0.0.2.jar"
- },
- "ruby-installable-svm|java17|22.0.0.2": {
- "sha256": "fc5eb6f833136ae3fda61f46fe0af66a8454ca2f803ca35eaff7336521cb468d",
- "url": "https://github.com/oracle/truffleruby/releases/download/vm-22.0.0.2/ruby-installable-svm-java17-darwin-amd64-22.0.0.2.jar"
- },
- "wasm-installable-svm|java17|22.0.0.2": {
- "sha256": "b76e6d872ce07ca9facd5b997dbb6e557ba72aa369ddd5f1664431bd11b98796",
- "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/wasm-installable-svm-java17-darwin-amd64-22.0.0.2.jar"
+ "native-image-installable-svm|java17|22.0.0.2": {
+ "sha256": "798947d0a93988929d2b8e3555f7c65225e789124cd99fbc0c3aae5f350175db",
+ "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/native-image-installable-svm-java17-linux-aarch64-22.0.0.2.jar"
}
},
"linux-amd64": {
@@ -39,18 +37,6 @@
"native-image-installable-svm|java17|22.0.0.2": {
"sha256": "8c25f650d58c2649c97061cb806dfaec9e685d5d2b80afc7cf72fe61d6891831",
"url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/native-image-installable-svm-java17-linux-amd64-22.0.0.2.jar"
- },
- "python-installable-svm|java17|22.0.0.2": {
- "sha256": "b3b78a15bd29b4eaaf0f2607e21181ca2a5b41b38ba43a3ff2656c2f6effda8a",
- "url": "https://github.com/graalvm/graalpython/releases/download/vm-22.0.0.2/python-installable-svm-java17-linux-amd64-22.0.0.2.jar"
- },
- "ruby-installable-svm|java17|22.0.0.2": {
- "sha256": "d86c9ad50cbed980fa69d69b2eccd47d31880d8c55553483f59ce9eda15628bd",
- "url": "https://github.com/oracle/truffleruby/releases/download/vm-22.0.0.2/ruby-installable-svm-java17-linux-amd64-22.0.0.2.jar"
- },
- "wasm-installable-svm|java17|22.0.0.2": {
- "sha256": "7f7e51e4a24384b3dd960c12ab9b05b1fea58a0457d6b80e3797228fab93c0bd",
- "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/wasm-installable-svm-java17-linux-amd64-22.0.0.2.jar"
}
}
}
diff --git a/pkgs/development/compilers/graalvm/community-edition/mkGraal.nix b/pkgs/development/compilers/graalvm/community-edition/mkGraal.nix
index 5b20890ced1b..8f4aaba44f08 100644
--- a/pkgs/development/compilers/graalvm/community-edition/mkGraal.nix
+++ b/pkgs/development/compilers/graalvm/community-edition/mkGraal.nix
@@ -59,6 +59,11 @@ let
(writeShellScriptBin "${stdenv.system}-musl-gcc" ''${lib.getDev musl}/bin/musl-gcc "$@"'')
]);
+ withNativeImageSvm = builtins.elem "native-image-installable-svm" platform.products;
+ withRubySvm = builtins.elem "ruby-installable-svm" platform.products;
+ withPythonSvm = builtins.elem "python-installable-svm" platform.products;
+ withWasmSvm = builtins.elem "wasm-installable-svm" platform.products;
+
graalvmXXX-ce = stdenv.mkDerivation rec {
inherit version;
pname = name;
@@ -69,7 +74,6 @@ let
alsa-lib # libasound.so wanted by lib/libjsound.so
fontconfig
freetype
- openssl # libssl.so wanted by languages/ruby/lib/mri/openssl.so
stdenv.cc.cc.lib # libstdc++.so.6
xorg.libX11
xorg.libXext
@@ -77,6 +81,8 @@ let
xorg.libXrender
xorg.libXtst
zlib
+ ] ++ lib.optionals withRubySvm [
+ openssl # libssl.so wanted by languages/ruby/lib/mri/openssl.so
];
nativeBuildInputs = [ unzip perl makeWrapper ]
@@ -172,7 +178,7 @@ let
# Workaround for libssl.so.10 wanted by TruffleRuby
# Resulting TruffleRuby cannot use `openssl` library.
- autoPatchelfIgnoreMissingDeps = stdenv.isDarwin;
+ autoPatchelfIgnoreMissingDeps = withRubySvm && stdenv.isDarwin;
preFixup = lib.optionalString (stdenv.isLinux) ''
# We cannot use -exec since wrapProgram is a function but not a
@@ -191,10 +197,14 @@ let
find "$out" -name libfontmanager.so -exec \
patchelf --add-needed libfontconfig.so {} \;
- # Workaround for libssl.so.10/libcrypto.so.10 wanted by TruffleRuby
- patchelf $out/languages/ruby/lib/mri/openssl.so \
- --replace-needed libssl.so.10 libssl.so \
- --replace-needed libcrypto.so.10 libcrypto.so
+ ${
+ lib.optionalString withRubySvm ''
+ # Workaround for libssl.so.10/libcrypto.so.10 wanted by TruffleRuby
+ patchelf $out/languages/ruby/lib/mri/openssl.so \
+ --replace-needed libssl.so.10 libssl.so \
+ --replace-needed libcrypto.so.10 libcrypto.so
+ ''
+ }
'';
# $out/bin/native-image needs zlib to build native executables.
@@ -222,7 +232,7 @@ let
$out/bin/java -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler HelloWorld | fgrep 'Hello World'
${# --static flag doesn't work for darwin
- lib.optionalString (stdenv.isLinux && !useMusl) ''
+ lib.optionalString (withNativeImageSvm && stdenv.isLinux && !useMusl) ''
echo "Ahead-Of-Time compilation"
$out/bin/native-image -H:-CheckToolchain -H:+ReportExceptionStackTraces --no-server HelloWorld
./helloworld | fgrep 'Hello World'
@@ -234,55 +244,45 @@ let
}
${# --static flag doesn't work for darwin
- lib.optionalString (stdenv.isLinux && useMusl) ''
+ lib.optionalString (withNativeImageSvm && stdenv.isLinux && useMusl) ''
echo "Ahead-Of-Time compilation with --static and --libc=musl"
$out/bin/native-image --no-server --libc=musl --static HelloWorld
./helloworld | fgrep 'Hello World'
''
}
- ${# TODO: Doesn't work on MacOS, we have this error:
- # "Launching JShell execution engine threw: Operation not permitted (Bind failed)"
- lib.optionalString (stdenv.isLinux) ''
+ ${
+ lib.optionalString withWasmSvm ''
echo "Testing Jshell"
echo '1 + 1' | $out/bin/jshell
''
}
${
- lib.optionalString (builtins.any (a: a == "python-installable-svm") platform.products) ''
+ lib.optionalString withPythonSvm ''
echo "Testing GraalPython"
$out/bin/graalpython -c 'print(1 + 1)'
echo '1 + 1' | $out/bin/graalpython
''
}
- echo "Testing TruffleRuby"
${
- lib.optionalString (builtins.any (a: a == "ruby-installable-svm") platform.products) ''
- # Hide warnings about wrong locale
- export LANG=C
- export LC_ALL=C
- $out/bin/ruby -e 'puts(1 + 1)'
- ''
- }
- ${# FIXME: irb is broken in all platforms
- # TODO: `irb` on MacOS gives an error saying "Could not find OpenSSL
- # headers, install via Homebrew or MacPorts or set OPENSSL_PREFIX", even
- # though `openssl` is in `propagatedBuildInputs`. For more details see:
- # https://github.com/NixOS/nixpkgs/pull/105815
- # TODO: "truffleruby: an internal exception escaped out of the interpreter"
- # error on linux-aarch64
- # TODO: "core/kernel.rb:234:in `gem_original_require':
- # /nix/store/wlc5xalzj2ip1l83siqw8ac5fjd52ngm-graalvm11-ce/languages/llvm/native/lib:
- # cannot read file data: Is a directory (RuntimeError)" error on linux-amd64
- lib.optionalString false ''
+ lib.optionalString withRubySvm ''
+ echo "Testing TruffleRuby"
+ # Hide warnings about wrong locale
+ export LANG=C
+ export LC_ALL=C
+ $out/bin/ruby -e 'puts(1 + 1)'
+ ''
+ # FIXME: irb is broken in all platforms
+ + lib.optionalString false ''
echo '1 + 1' | $out/bin/irb
''
}
'';
passthru = {
+ inherit (platform) products;
home = graalvmXXX-ce;
updateScript = import ./update.nix {
inherit lib writeShellScript jq sourcesFilename name config gnused defaultVersion;
diff --git a/pkgs/development/compilers/graalvm/community-edition/update.nix b/pkgs/development/compilers/graalvm/community-edition/update.nix
index 191f3cb45a15..6201ab100177 100644
--- a/pkgs/development/compilers/graalvm/community-edition/update.nix
+++ b/pkgs/development/compilers/graalvm/community-edition/update.nix
@@ -8,6 +8,7 @@
, writeShellScript
, jq
, gnused
+, forceUpdate ? false
}:
/*
@@ -199,7 +200,7 @@ let
*/
updateScriptText = newVersion: currentVersion:
- if isNew newVersion currentVersion
+ if (forceUpdate || (isNew newVersion currentVersion))
then
let
versionKey = versionKeyInDefaultNix currentVersion;
diff --git a/pkgs/development/compilers/graalvm/enterprise-edition.nix b/pkgs/development/compilers/graalvm/enterprise-edition.nix
deleted file mode 100644
index f3ca8a4f5bbb..000000000000
--- a/pkgs/development/compilers/graalvm/enterprise-edition.nix
+++ /dev/null
@@ -1,183 +0,0 @@
-{ lib, stdenv, requireFile, perl, unzip, glibc, zlib, bzip2, gdk-pixbuf, xorg, glib, fontconfig, freetype, cairo, pango, gtk3, gtk2, ffmpeg, libGL, atk, alsa-lib, setJavaClassPath }:
-
-let
- common = javaVersion:
- let
- graalvmXXX-ee = stdenv.mkDerivation rec {
- pname = "graalvm${javaVersion}-ee";
- version = "20.2.1";
- srcs = [
- (requireFile {
- name = "graalvm-ee-java${javaVersion}-linux-amd64-${version}.tar.gz";
- sha256 = { "8" = "e0bb182146283a43824dd2c2ceeb89b6ff7a93f9a85da889f8663ce1c2bd3002";
- "11" = "e5d92d361e7859fe5f88c92d7bb466e285e07f1e4e2d9944948f85fa0e3aee2b";
- }.${javaVersion};
- url = "https://www.oracle.com/technetwork/graalvm/downloads/index.html";
- })
- (requireFile {
- name = "native-image-installable-svm-svmee-java${javaVersion}-linux-amd64-${version}.jar";
- sha256 = { "8" = "37ac6a62f68adad513057a60513ba75749adf98cc73999b3918afe159900428d";
- "11" = "f62df715ad529f8b84854644ac99e0a9a349232c7f03985d20a2a8be20edaa44";
- }.${javaVersion};
- url = "https://www.oracle.com/technetwork/graalvm/downloads/index.html";
- })
- (requireFile {
- name = "llvm-toolchain-installable-java${javaVersion}-linux-amd64-${version}.jar";
- sha256 = { "8" = "da98a8c17b0c724b41d1596b57e282a1ecfcbf9140404dfb04b0d4d9fb159d8a";
- "11" = "fc442c396e92f59d034a69175104cb3565c3d128426bd939cc94c6ceccbb720f";
- }.${javaVersion};
- url = "https://www.oracle.com/technetwork/graalvm/downloads/index.html";
- })
- (requireFile {
- name = "ruby-installable-svm-svmee-java${javaVersion}-linux-amd64-${version}.jar";
- sha256 = { "8" = "44f6887249f2eb54cba98dd4d9de019da5463d92982e03bf655fffe4bb520daf";
- "11" = "941f3752ccb097958f49250586f04c305092ded3ea4c1b7d9a0f7632e47fa335";
- }.${javaVersion};
- url = "https://www.oracle.com/technetwork/graalvm/downloads/index.html";
- })
- (requireFile {
- name = "python-installable-svm-svmee-java${javaVersion}-linux-amd64-${version}.jar";
- sha256 = { "8" = "5c3993c701bd09c6064dcf4a6d9c7489620d0654b03c74682398c788c0211c09";
- "11" = "de3ebf35ce47dc399d7976cbd09fde0e85f2c10f85bc3fe8f32bb9e2b500ab70";
- }.${javaVersion};
- url = "https://www.oracle.com/technetwork/graalvm/downloads/index.html";
- })
- (requireFile {
- name = "wasm-installable-svm-svmee-java${javaVersion}-linux-amd64-${version}.jar";
- sha256 = { "8" = "c0a334b271fd32c098bb3c42eada7eafb9f536becaa756097eebe4682915b067";
- "11" = "9e801071992a0ff976bc40b640a8b9368fd8ea890ba986543658fcbaa3a7fd68";
- }.${javaVersion};
- url = "https://www.oracle.com/technetwork/graalvm/downloads/index.html";
- })
- ];
- nativeBuildInputs = [ unzip perl ];
- unpackPhase = ''
- unpack_jar() {
- jar=$1
- unzip -o $jar -d $out
- perl -ne 'use File::Path qw(make_path);
- use File::Basename qw(dirname);
- if (/^(.+) = (.+)$/) {
- make_path dirname("$ENV{out}/$1");
- system "ln -s $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
- arr=($srcs)
- tar xf ''${arr[0]} -C $out --strip-components=1
- unpack_jar ''${arr[1]}
- unpack_jar ''${arr[2]}
- unpack_jar ''${arr[3]}
- unpack_jar ''${arr[4]}
- unpack_jar ''${arr[5]}
- '';
-
- installPhase = {
- "8" = ''
- # BUG workaround http://mail.openjdk.java.net/pipermail/graal-dev/2017-December/005141.html
- substituteInPlace $out/jre/lib/security/java.security \
- --replace file:/dev/random file:/dev/./urandom \
- --replace NativePRNGBlocking SHA1PRNG
-
- # provide libraries needed for static compilation
- for f in ${glibc}/lib/* ${glibc.static}/lib/* ${zlib.static}/lib/*; do
- ln -s $f $out/jre/lib/svm/clibraries/linux-amd64/$(basename $f)
- done
-
- # allow using external truffle-api.jar and languages not included in the distrubution
- rm $out/jre/lib/jvmci/parentClassLoader.classpath
- '';
- "11" = ''
- # BUG workaround http://mail.openjdk.java.net/pipermail/graal-dev/2017-December/005141.html
- substituteInPlace $out/conf/security/java.security \
- --replace file:/dev/random file:/dev/./urandom \
- --replace NativePRNGBlocking SHA1PRNG
-
- # provide libraries needed for static compilation
- for f in ${glibc}/lib/* ${glibc.static}/lib/* ${zlib.static}/lib/*; do
- ln -s $f $out/lib/svm/clibraries/linux-amd64/$(basename $f)
- done
- '';
- }.${javaVersion};
-
- dontStrip = true;
-
- # copy-paste openjdk's preFixup
- preFixup = ''
- # Set JAVA_HOME automatically.
- mkdir -p $out/nix-support
- cat < $out/nix-support/setup-hook
- if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
- EOF
- '';
-
- postFixup = ''
- rpath="${ { "8" = "$out/jre/lib/amd64/jli:$out/jre/lib/amd64/server:$out/jre/lib/amd64";
- "11" = "$out/lib/jli:$out/lib/server:$out/lib";
- }.${javaVersion}
- }:${
- lib.strings.makeLibraryPath [ glibc xorg.libXxf86vm xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXrender
- glib zlib bzip2 alsa-lib fontconfig freetype pango gtk3 gtk2 cairo gdk-pixbuf atk ffmpeg libGL ]}"
-
- for f in $(find $out -type f -perm -0100); do
- patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$f" || true
- patchelf --set-rpath "$rpath" "$f" || true
- done
-
- for f in $(find $out -type f -perm -0100); do
- if ldd "$f" | fgrep 'not found'; then echo "in file $f"; fi
- done
- '';
-
- propagatedBuildInputs = [ setJavaClassPath zlib ]; # $out/bin/native-image needs zlib to build native executables
-
- doInstallCheck = true;
- installCheckPhase = ''
- echo ${lib.escapeShellArg ''
- public class HelloWorld {
- public static void main(String[] args) {
- System.out.println("Hello World");
- }
- }
- ''} > HelloWorld.java
- $out/bin/javac HelloWorld.java
-
- # run on JVM with Graal Compiler
- $out/bin/java -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler HelloWorld
- $out/bin/java -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler HelloWorld | fgrep 'Hello World'
-
- # Ahead-Of-Time compilation
- $out/bin/native-image --no-server HelloWorld
- ./helloworld
- ./helloworld | fgrep 'Hello World'
-
- # Ahead-Of-Time compilation with --static
- $out/bin/native-image --no-server --static HelloWorld
- ./helloworld
- ./helloworld | fgrep 'Hello World'
- '';
-
- passthru.home = graalvmXXX-ee;
-
- meta = with lib; {
- homepage = "https://www.graalvm.org/";
- description = "High-Performance Polyglot VM";
- license = licenses.unfree;
- maintainers = with maintainers; [ volth hlolli ];
- platforms = [ "x86_64-linux" ];
- };
- };
- in
- graalvmXXX-ee;
-in {
- graalvm8-ee = common "8";
- graalvm11-ee = common "11";
-}
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 3e7133a1832f..d90bb0cc1997 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -492,6 +492,8 @@ mapAliases ({
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
gr-ais = gnuradio3_7.pkgs.ais; # Added 2019-05-27, changed 2020-10-16
grantlee5 = throw "'grantlee5' has been renamed to/replaced by 'libsForQt5.grantlee'"; # Converted to throw 2022-02-22
gr-gsm = gnuradio3_7.pkgs.gsm; # Added 2019-05-27, changed 2020-10-16
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 615bf750169f..0b96ec900501 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -12792,10 +12792,6 @@ with pkgs;
graalvm = graalvm11-ce;
};
- inherit (callPackages ../development/compilers/graalvm/enterprise-edition.nix { })
- graalvm8-ee
- graalvm11-ee;
-
openshot-qt = libsForQt5.callPackage ../applications/video/openshot-qt { };
lingua-franca = callPackage ../development/compilers/lingua-franca { };