Unverified Commit f47ea8fb authored by Thiago Kenji Okada's avatar Thiago Kenji Okada Committed by GitHub
Browse files

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

buildGraalvmNativeImage: allow overriding attributes
parents f372255a aea640a7
Loading
Loading
Loading
Loading
+21 −11
Original line number Diff line number Diff line
{ lib, stdenv, graalvm-ce, glibcLocales }:

{ name ? "${args.pname}-${args.version}"
  # Final executable name
{ lib
, stdenv
, glibcLocales
  # The GraalVM derivation to use
, graalvmDrv
, name ? "${args.pname}-${args.version}"
, executable ? args.pname
  # JAR used as input for GraalVM derivation, defaults to src
, jar ? args.src
@@ -9,7 +11,6 @@
  # 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
    (lib.optionalString stdenv.isDarwin "-H:-CheckToolchain")
    "-H:Name=${executable}"
    "--verbose"
@@ -18,16 +19,25 @@
, extraNativeImageBuildArgs ? [ ]
  # XMX size of GraalVM during build
, graalvmXmx ? "-J-Xmx6g"
  # The GraalVM derivation to use
, graalvmDrv ? graalvm-ce
  # Locale to be used by GraalVM compiler
, LC_ALL ? "en_US.UTF-8"
, meta ? { }
, ...
} @ args:

stdenv.mkDerivation (args // {
  inherit dontUnpack LC_ALL;
let
  extraArgs = builtins.removeAttrs args [
    "lib"
    "stdenv"
    "glibcLocales"
    "jar"
    "dontUnpack"
    "LC_ALL"
    "meta"
  ];
in
stdenv.mkDerivation ({
  inherit dontUnpack LC_ALL jar;

  nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ graalvmDrv glibcLocales ];

@@ -36,7 +46,7 @@ stdenv.mkDerivation (args // {
  buildPhase = args.buildPhase or ''
    runHook preBuild

    native-image ''${nativeImageBuildArgs[@]}
    native-image -jar "$jar" ''${nativeImageBuildArgs[@]}

    runHook postBuild
  '';
@@ -61,4 +71,4 @@ stdenv.mkDerivation (args // {
    # need to have native-image-installable-svm available
    broken = !(builtins.any (p: (p.product or "") == "native-image-installable-svm") graalvmDrv.products);
  } // meta;
})
} // extraArgs)
+3 −1
Original line number Diff line number Diff line
@@ -15058,7 +15058,9 @@ with pkgs;
  graalvm-ce = graalvm11-ce;
  graalvm11-ce = graalvmCEPackages.graalvm11-ce;
  graalvm17-ce = graalvmCEPackages.graalvm17-ce;
  buildGraalvmNativeImage = callPackage ../build-support/build-graalvm-native-image { };
  buildGraalvmNativeImage = (callPackage ../build-support/build-graalvm-native-image {
    graalvmDrv = graalvm-ce;
  }).override;
  openshot-qt = libsForQt5.callPackage ../applications/video/openshot-qt { };