From 529c0edf72ea1f047bcabca7d858ddf90205dcb2 Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Tue, 23 Nov 2021 17:36:57 -0300 Subject: [PATCH] buildGraalvmNativeImage: allow nativeImageBuildArgs to be overwritten (cherry picked from commit a5c0f59bf732419674e15bed4188a6c0e881116e) --- .../build-graalvm-native-image/default.nix | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pkgs/build-support/build-graalvm-native-image/default.nix b/pkgs/build-support/build-graalvm-native-image/default.nix index d85a5c457744..0ed8ea0486b6 100644 --- a/pkgs/build-support/build-graalvm-native-image/default.nix +++ b/pkgs/build-support/build-graalvm-native-image/default.nix @@ -6,6 +6,15 @@ # JAR used as input for GraalVM derivation, defaults to src , jar ? args.src , dontUnpack ? (jar == args.src) + # Default native-image arguments. You probably don't want to set this, + # except in special cases. In most cases, use extraNativeBuildArgs instead +, nativeImageBuildArgs ? [ + "-jar" jar + "-H:CLibraryPath=${lib.getLib graalvm}/lib" + (lib.optionalString stdenv.isDarwin "-H:-CheckToolchain") + "-H:Name=${executable}" + "--verbose" + ] # Extra arguments to be passed to the native-image , extraNativeImageBuildArgs ? [ ] # XMX size of GraalVM during build @@ -20,16 +29,7 @@ stdenv.mkDerivation (args // { nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ graalvm glibcLocales ]; - nativeImageBuildArgs = lib.flatten ([ - "-jar" - jar - "-H:CLibraryPath=${lib.getLib graalvm}/lib" - "${lib.optionalString stdenv.isDarwin "-H:-CheckToolchain"}" - "-H:Name=${executable}" - "--verbose" - extraNativeImageBuildArgs - graalvmXmx - ]); + nativeImageBuildArgs = nativeImageBuildArgs ++ extraNativeImageBuildArgs ++ [ graalvmXmx ]; buildPhase = args.buildPhase or '' runHook preBuild