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