From d5f4df73f723dde032f4235dace38b0b96d369d8 Mon Sep 17 00:00:00 2001 From: Casey Link <14830+Ramblurr@users.noreply.github.com> Date: Wed, 26 Aug 2026 07:57:40 +0200 Subject: [PATCH] jet: fix native image with GraalVM 25.2.4 GraalVM 25.1 removed automatic feature discovery, so explicitly register graal-build-time's InitAtBuildTimeFeature. Also set Jet's native-image property so its native patches are applied. Add an install check covering JSON-to-keywordized-EDN conversion. Assisted-by: Pi coding agent (OpenAI Codex GPT-5.6-sol) --- pkgs/by-name/je/jet/package.nix | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pkgs/by-name/je/jet/package.nix b/pkgs/by-name/je/jet/package.nix index 05acfa309648..e0d5ddcc2db6 100644 --- a/pkgs/by-name/je/jet/package.nix +++ b/pkgs/by-name/je/jet/package.nix @@ -19,8 +19,24 @@ buildGraalvmNativeImage (finalAttrs: { "-H:Log=registerResource:" "--no-fallback" "--no-server" + "-J-Djet.native=true" + # GraalVM >= 25.1 no longer discovers @AutomaticFeature annotations. + "--features=InitAtBuildTimeFeature" ]; + doInstallCheck = true; + installCheckPhase = '' + runHook preInstallCheck + + output="$( + printf '%s\n' '{"value":1}' \ + | $out/bin/jet --from json --to edn --keywordize + )" + test "$output" = '{:value 1}' + + runHook postInstallCheck + ''; + passthru.tests.version = testers.testVersion { inherit (finalAttrs) version; package = finalAttrs.finalPackage;