From b06aeee2a088d84f1ff3e9d2f12bdc77bcacf069 Mon Sep 17 00:00:00 2001 From: sohalt Date: Mon, 22 Jan 2024 10:40:34 +0100 Subject: [PATCH 1/3] babashka: 1.3.186 -> 1.3.188 --- pkgs/development/interpreters/babashka/clojure-tools.nix | 4 ++-- pkgs/development/interpreters/babashka/default.nix | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/interpreters/babashka/clojure-tools.nix b/pkgs/development/interpreters/babashka/clojure-tools.nix index 732b3631583b..afd170a41938 100644 --- a/pkgs/development/interpreters/babashka/clojure-tools.nix +++ b/pkgs/development/interpreters/babashka/clojure-tools.nix @@ -6,10 +6,10 @@ }: clojure.overrideAttrs (previousAttrs: { pname = "babashka-clojure-tools"; - version = "1.11.1.1413"; + version = "1.11.1.1435"; src = fetchurl { url = previousAttrs.src.url; - hash = "sha256-k8Olo63KUcWFgGNBmr9myD2/JOoV4f2S95v35mI4H+A="; + hash = "sha256-RS/FebIED8RYYXRXBKXZPRROO0HqyDo0zhb+p4Q5m8A="; }; }) diff --git a/pkgs/development/interpreters/babashka/default.nix b/pkgs/development/interpreters/babashka/default.nix index c56ca1ed252c..d548dee0345b 100644 --- a/pkgs/development/interpreters/babashka/default.nix +++ b/pkgs/development/interpreters/babashka/default.nix @@ -9,11 +9,11 @@ let babashka-unwrapped = buildGraalvmNativeImage rec { pname = "babashka-unwrapped"; - version = "1.3.186"; + version = "1.3.188"; src = fetchurl { url = "https://github.com/babashka/babashka/releases/download/v${version}/babashka-${version}-standalone.jar"; - sha256 = "sha256-T7inTJHSnUySituU0fcgZ0xWjIY3yb8BlSakqym67ew="; + sha256 = "sha256-EjsSUPWiLQcCos2oyVXt3VzLlGEfiXK5CqJZ1NMvF/E="; }; graalvmDrv = graalvmCEPackages.graalvm-ce; From 2f6981d6e155129a5f9963e789e04a4b20b5ce58 Mon Sep 17 00:00:00 2001 From: sohalt Date: Mon, 22 Jan 2024 12:44:31 +0100 Subject: [PATCH 2/3] build-graalvm-native-image: do not use NATIVE_IMAGE_DEPRECATED_BUILDER_SANITATION Packages that require access to environment variables in the build should specify these using `-E` arguments in `nativeImageBuildArgs` or using a `native-image.properties` as described here: https://www.graalvm.org/22.1/reference-manual/native-image/BuildConfiguration/#embedding-a-configuration-file Specifying NATIVE_IMAGE_DEPRECATED_BUILDER_SANITATION=true breaks with packages that list their environment variables explicitly in `native-image.properties`. --- pkgs/build-support/build-graalvm-native-image/default.nix | 7 ------- 1 file changed, 7 deletions(-) diff --git a/pkgs/build-support/build-graalvm-native-image/default.nix b/pkgs/build-support/build-graalvm-native-image/default.nix index 0612db2ad79b..e5fe1abe1d11 100644 --- a/pkgs/build-support/build-graalvm-native-image/default.nix +++ b/pkgs/build-support/build-graalvm-native-image/default.nix @@ -49,13 +49,6 @@ stdenv.mkDerivation ({ nativeImageBuildArgs = nativeImageBuildArgs ++ extraNativeImageBuildArgs ++ [ graalvmXmx ]; - # Workaround GraalVM issue where the builder does not have access to the - # environment variables since 21.0.0 - # https://github.com/oracle/graal/pull/6095 - # https://github.com/oracle/graal/pull/6095 - # https://github.com/oracle/graal/issues/7502 - env.NATIVE_IMAGE_DEPRECATED_BUILDER_SANITATION = "true"; - buildPhase = args.buildPhase or '' runHook preBuild From 9d353905ea94632d19b88c08086234231a8a1879 Mon Sep 17 00:00:00 2001 From: sohalt Date: Mon, 22 Jan 2024 17:48:14 +0100 Subject: [PATCH 3/3] build-graalvm-native-image: pass whole environment Pass the whole environment to the native-image build process by generating a -E option for every environment variable. This has the same effect as setting NATIVE_IMAGE_DEPRECATED_BUILDER_SANITATION=true but is compatible with packages providing -E options themselves --- pkgs/build-support/build-graalvm-native-image/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/build-support/build-graalvm-native-image/default.nix b/pkgs/build-support/build-graalvm-native-image/default.nix index e5fe1abe1d11..815c2bf14aae 100644 --- a/pkgs/build-support/build-graalvm-native-image/default.nix +++ b/pkgs/build-support/build-graalvm-native-image/default.nix @@ -52,7 +52,7 @@ stdenv.mkDerivation ({ buildPhase = args.buildPhase or '' runHook preBuild - native-image -jar "$jar" ''${nativeImageBuildArgs[@]} + native-image -jar "$jar" $(export -p | sed -n 's/^declare -x \([^=]\+\)=.*$/ -E\1/p' | tr -d \\n) ''${nativeImageBuildArgs[@]} runHook postBuild '';