From bdfff535f0ce7ea8712c789240347f03fc215d43 Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Thu, 31 Mar 2022 22:35:44 +0100 Subject: [PATCH] buildGraalvmNativeImage: allow usage of arbitrary graalvm derivation This will allow for easier overrides for specific systems (e.g. `aarch64-linux` that is only supported in `graalvm17-ce`). --- .../build-graalvm-native-image/default.nix | 10 +++++----- pkgs/top-level/all-packages.nix | 4 +++- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/pkgs/build-support/build-graalvm-native-image/default.nix b/pkgs/build-support/build-graalvm-native-image/default.nix index 3aedd61ea6c..d34f562bc53 100644 --- a/pkgs/build-support/build-graalvm-native-image/default.nix +++ b/pkgs/build-support/build-graalvm-native-image/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, graalvmCEPackages, glibcLocales }: +{ lib, stdenv, graalvm, glibcLocales }: { name ? "${args.pname}-${args.version}" # Final executable name @@ -19,8 +19,8 @@ , extraNativeImageBuildArgs ? [ ] # XMX size of GraalVM during build , graalvmXmx ? "-J-Xmx6g" - # The GraalVM to use -, graalvm ? graalvmCEPackages.graalvm11-ce + # The GraalVM derivation to use +, graalvmDrv ? graalvm , meta ? { } , ... } @ args: @@ -28,7 +28,7 @@ stdenv.mkDerivation (args // { inherit dontUnpack; - nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ graalvm glibcLocales ]; + nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ graalvmDrv glibcLocales ]; nativeImageBuildArgs = nativeImageBuildArgs ++ extraNativeImageBuildArgs ++ [ graalvmXmx ]; @@ -52,7 +52,7 @@ stdenv.mkDerivation (args // { meta = { # default to graalvm's platforms - platforms = graalvm.meta.platforms; + platforms = graalvmDrv.meta.platforms; # default to executable name mainProgram = executable; } // meta; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3a88b23b73b..d6064543e4b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12866,7 +12866,9 @@ with pkgs; }); 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 { + graalvm = graalvm11-ce; + }; inherit (callPackages ../development/compilers/graalvm/enterprise-edition.nix { }) graalvm8-ee