diff --git a/pkgs/development/compilers/graalvm/community-edition/buildGraalvm.nix b/pkgs/development/compilers/graalvm/community-edition/buildGraalvm.nix index d360da5dfa6c3..4459389fca537 100644 --- a/pkgs/development/compilers/graalvm/community-edition/buildGraalvm.nix +++ b/pkgs/development/compilers/graalvm/community-edition/buildGraalvm.nix @@ -120,27 +120,39 @@ let xorg.libXtst ]; - postInstall = '' - # jni.h expects jni_md.h to be in the header search path. - ln -sf $out/include/linux/*_md.h $out/include/ - - mkdir -p $out/share - # move files in $out like LICENSE.txt - find $out/ -maxdepth 1 -type f -exec mv {} $out/share \; - # symbolic link to $out/lib/svm/LICENSE_NATIVEIMAGE.txt - rm -f $out/LICENSE_NATIVEIMAGE.txt - - # copy-paste openjdk's preFixup - # Set JAVA_HOME automatically. - mkdir -p $out/nix-support - cat > $out/nix-support/setup-hook << EOF - if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi - EOF - - wrapProgram $out/bin/native-image \ - --prefix PATH : ${binPath} \ - ${toString (map (l: "--add-flags '-H:CLibraryPath=${l}/lib'") cLibs)} - ''; + postInstall = + let + preservedNixVariables = [ + "-ENIX_BINTOOLS" + "-ENIX_CC" + "-ENIX_CFLAGS_COMPILE" + "-ENIX_LDFLAGS" + "-ENIX_CC_WRAPPER_TARGET_HOST_${stdenv.cc.suffixSalt}" + "-ENIX_BINTOOLS_WRAPPER_TARGET_HOST_${stdenv.cc.suffixSalt}" + ]; + preservedNixVariablesAsFlags = (map (f: "--add-flags '${f}'") preservedNixVariables); + in + '' + # jni.h expects jni_md.h to be in the header search path. + ln -sf $out/include/linux/*_md.h $out/include/ + + mkdir -p $out/share + # move files in $out like LICENSE.txt + find $out/ -maxdepth 1 -type f -exec mv {} $out/share \; + # symbolic link to $out/lib/svm/LICENSE_NATIVEIMAGE.txt + rm -f $out/LICENSE_NATIVEIMAGE.txt + + # copy-paste openjdk's preFixup + # Set JAVA_HOME automatically. + mkdir -p $out/nix-support + cat > $out/nix-support/setup-hook << EOF + if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi + EOF + + wrapProgram $out/bin/native-image \ + --prefix PATH : ${binPath} \ + ${toString ((map (l: "--add-flags '-H:CLibraryPath=${l}/lib'") cLibs) ++ preservedNixVariablesAsFlags)} + ''; preFixup = lib.optionalString (stdenv.hostPlatform.isLinux) '' for bin in $(find "$out/bin" -executable -type f); do