about summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorThiago Kenji Okada <thiagokokada@gmail.com>2024-03-26 23:23:09 +0000
committerGitHub <noreply@github.com>2024-03-26 23:23:09 +0000
commit282bea96a8a3904a68503a9a19e8e27c43a0e01e (patch)
tree81cbd4b332b10faa33f2ab2be7a15508a78f6054 /pkgs/development
parent315433842b8e7a889437afdf5d97e667cd6f049b (diff)
parente1a7ec5583b2c1b5fef89153ee0727d1f4d61904 (diff)
Merge pull request #299203 from thiagokokada/fix-graalvm-x86_64-darwin
buildGraalvm: fix build in x86_64-darwin
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/compilers/graalvm/community-edition/buildGraalvm.nix18
-rw-r--r--pkgs/development/compilers/graalvm/community-edition/default.nix29
2 files changed, 23 insertions, 24 deletions
diff --git a/pkgs/development/compilers/graalvm/community-edition/buildGraalvm.nix b/pkgs/development/compilers/graalvm/community-edition/buildGraalvm.nix
index 858d7443ff626..34ed06e1de123 100644
--- a/pkgs/development/compilers/graalvm/community-edition/buildGraalvm.nix
+++ b/pkgs/development/compilers/graalvm/community-edition/buildGraalvm.nix
@@ -107,7 +107,7 @@ let
       ++ lib.optional stdenv.isLinux autoPatchelfHook;
 
     propagatedBuildInputs = [ setJavaClassPath zlib ]
-      ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Foundation;
+      ++ lib.optional stdenv.isDarwin darwin.apple_sdk_11_0.frameworks.Foundation;
 
     buildInputs = lib.optionals stdenv.isLinux [
       alsa-lib # libasound.so wanted by lib/libjsound.so
@@ -165,33 +165,27 @@ let
       echo "Testing GraalVM"
       $out/bin/java -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler HelloWorld | fgrep 'Hello World'
 
-      # Workaround GraalVM issue where the builder does not have access to the
-      # environment variables since 21.0.0
-      # Only needed for native-image tests
-      # https://github.com/oracle/graal/pull/6095
-      # https://github.com/oracle/graal/pull/6095
-      # https://github.com/oracle/graal/issues/7502
-      export NATIVE_IMAGE_DEPRECATED_BUILDER_SANITATION="true";
+      extraNativeImageArgs="$(export -p | sed -n 's/^declare -x \([^=]\+\)=.*$/ -E\1/p' | tr -d \\n)"
 
       echo "Ahead-Of-Time compilation"
-      $out/bin/native-image -H:+UnlockExperimentalVMOptions -H:-CheckToolchain -H:+ReportExceptionStackTraces HelloWorld
+      $out/bin/native-image -H:+UnlockExperimentalVMOptions -H:-CheckToolchain -H:+ReportExceptionStackTraces -march=compatibility $extraNativeImageArgs HelloWorld
       ./helloworld | fgrep 'Hello World'
 
       ${# --static is only available in Linux
       lib.optionalString (stdenv.isLinux && !useMusl) ''
         echo "Ahead-Of-Time compilation with -H:+StaticExecutableWithDynamicLibC"
-        $out/bin/native-image -H:+UnlockExperimentalVMOptions -H:+StaticExecutableWithDynamicLibC HelloWorld
+        $out/bin/native-image -H:+UnlockExperimentalVMOptions -H:+StaticExecutableWithDynamicLibC -march=compatibility $extraNativeImageArgs HelloWorld
         ./helloworld | fgrep 'Hello World'
 
         echo "Ahead-Of-Time compilation with --static"
-        $out/bin/native-image --static HelloWorld
+        $out/bin/native-image $extraNativeImageArgs -march=compatibility --static HelloWorld
         ./helloworld | fgrep 'Hello World'
       ''}
 
       ${# --static is only available in Linux
       lib.optionalString (stdenv.isLinux && useMusl) ''
         echo "Ahead-Of-Time compilation with --static and --libc=musl"
-        $out/bin/native-image --static HelloWorld --libc=musl
+        $out/bin/native-image $extraNativeImageArgs -march=compatibility --libc=musl --static HelloWorld
         ./helloworld | fgrep 'Hello World'
       ''}
 
diff --git a/pkgs/development/compilers/graalvm/community-edition/default.nix b/pkgs/development/compilers/graalvm/community-edition/default.nix
index a29a81783c9cf..bfc9c729689c4 100644
--- a/pkgs/development/compilers/graalvm/community-edition/default.nix
+++ b/pkgs/development/compilers/graalvm/community-edition/default.nix
@@ -1,23 +1,28 @@
 { lib
-, stdenv
-, callPackage
-, fetchurl
+, pkgs
 }:
 
+lib.makeScope pkgs.newScope (self:
 {
-  buildGraalvm = callPackage ./buildGraalvm.nix;
+  stdenv =
+    if pkgs.stdenv.isDarwin then
+      pkgs.darwin.apple_sdk_11_0.stdenv
+    else
+      pkgs.stdenv;
 
-  buildGraalvmProduct = callPackage ./buildGraalvmProduct.nix;
+  buildGraalvm = self.callPackage ./buildGraalvm.nix;
 
-  graalvm-ce = callPackage ./graalvm-ce { };
+  buildGraalvmProduct = self.callPackage ./buildGraalvmProduct.nix;
 
-  graalvm-ce-musl = callPackage ./graalvm-ce { useMusl = true; };
+  graalvm-ce = self.callPackage ./graalvm-ce { };
 
-  graaljs = callPackage ./graaljs { };
+  graalvm-ce-musl = self.callPackage ./graalvm-ce { useMusl = true; };
 
-  graalnodejs = callPackage ./graalnodejs { };
+  graaljs = self.callPackage ./graaljs { };
 
-  graalpy = callPackage ./graalpy { };
+  graalnodejs = self.callPackage ./graalnodejs { };
 
-  truffleruby = callPackage ./truffleruby { };
-}
+  graalpy = self.callPackage ./graalpy { };
+
+  truffleruby = self.callPackage ./truffleruby { };
+})