Merge pull request #216855 from thiagokokada/build-graalvm-allow-override

buildGraalvmNativeImage: allow overriding attributes

authored by Thiago Kenji Okada and committed by GitHub f47ea8fb f372255a

+24 -12
+21 -11
pkgs/build-support/build-graalvm-native-image/default.nix
··· 1 - { lib, stdenv, graalvm-ce, glibcLocales }: 2 - 3 - { name ? "${args.pname}-${args.version}" 4 - # Final executable name 5 , executable ? args.pname 6 # JAR used as input for GraalVM derivation, defaults to src 7 , jar ? args.src ··· 9 # Default native-image arguments. You probably don't want to set this, 10 # except in special cases. In most cases, use extraNativeBuildArgs instead 11 , nativeImageBuildArgs ? [ 12 - "-jar" jar 13 (lib.optionalString stdenv.isDarwin "-H:-CheckToolchain") 14 "-H:Name=${executable}" 15 "--verbose" ··· 18 , extraNativeImageBuildArgs ? [ ] 19 # XMX size of GraalVM during build 20 , graalvmXmx ? "-J-Xmx6g" 21 - # The GraalVM derivation to use 22 - , graalvmDrv ? graalvm-ce 23 # Locale to be used by GraalVM compiler 24 , LC_ALL ? "en_US.UTF-8" 25 , meta ? { } 26 , ... 27 } @ args: 28 29 - stdenv.mkDerivation (args // { 30 - inherit dontUnpack LC_ALL; 31 32 nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ graalvmDrv glibcLocales ]; 33 ··· 36 buildPhase = args.buildPhase or '' 37 runHook preBuild 38 39 - native-image ''${nativeImageBuildArgs[@]} 40 41 runHook postBuild 42 ''; ··· 61 # need to have native-image-installable-svm available 62 broken = !(builtins.any (p: (p.product or "") == "native-image-installable-svm") graalvmDrv.products); 63 } // meta; 64 - })
··· 1 + { lib 2 + , stdenv 3 + , glibcLocales 4 + # The GraalVM derivation to use 5 + , graalvmDrv 6 + , name ? "${args.pname}-${args.version}" 7 , executable ? args.pname 8 # JAR used as input for GraalVM derivation, defaults to src 9 , jar ? args.src ··· 11 # Default native-image arguments. You probably don't want to set this, 12 # except in special cases. In most cases, use extraNativeBuildArgs instead 13 , nativeImageBuildArgs ? [ 14 (lib.optionalString stdenv.isDarwin "-H:-CheckToolchain") 15 "-H:Name=${executable}" 16 "--verbose" ··· 19 , extraNativeImageBuildArgs ? [ ] 20 # XMX size of GraalVM during build 21 , graalvmXmx ? "-J-Xmx6g" 22 # Locale to be used by GraalVM compiler 23 , LC_ALL ? "en_US.UTF-8" 24 , meta ? { } 25 , ... 26 } @ args: 27 28 + let 29 + extraArgs = builtins.removeAttrs args [ 30 + "lib" 31 + "stdenv" 32 + "glibcLocales" 33 + "jar" 34 + "dontUnpack" 35 + "LC_ALL" 36 + "meta" 37 + ]; 38 + in 39 + stdenv.mkDerivation ({ 40 + inherit dontUnpack LC_ALL jar; 41 42 nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ graalvmDrv glibcLocales ]; 43 ··· 46 buildPhase = args.buildPhase or '' 47 runHook preBuild 48 49 + native-image -jar "$jar" ''${nativeImageBuildArgs[@]} 50 51 runHook postBuild 52 ''; ··· 71 # need to have native-image-installable-svm available 72 broken = !(builtins.any (p: (p.product or "") == "native-image-installable-svm") graalvmDrv.products); 73 } // meta; 74 + } // extraArgs)
+3 -1
pkgs/top-level/all-packages.nix
··· 15058 graalvm-ce = graalvm11-ce; 15059 graalvm11-ce = graalvmCEPackages.graalvm11-ce; 15060 graalvm17-ce = graalvmCEPackages.graalvm17-ce; 15061 - buildGraalvmNativeImage = callPackage ../build-support/build-graalvm-native-image { }; 15062 15063 openshot-qt = libsForQt5.callPackage ../applications/video/openshot-qt { }; 15064
··· 15058 graalvm-ce = graalvm11-ce; 15059 graalvm11-ce = graalvmCEPackages.graalvm11-ce; 15060 graalvm17-ce = graalvmCEPackages.graalvm17-ce; 15061 + buildGraalvmNativeImage = (callPackage ../build-support/build-graalvm-native-image { 15062 + graalvmDrv = graalvm-ce; 15063 + }).override; 15064 15065 openshot-qt = libsForQt5.callPackage ../applications/video/openshot-qt { }; 15066