From 56aedbd477e78c9064d7c0558eeb820ab11c4ef8 Mon Sep 17 00:00:00 2001 From: James Conroy-Finn Date: Sun, 26 Nov 2023 11:05:31 +0000 Subject: [PATCH] Move reference removal logic into build support --- .../build-graalvm-native-image/default.nix | 9 ++++++++- pkgs/by-name/cl/cljfmt/package.nix | 10 ---------- pkgs/development/tools/jet/default.nix | 10 ---------- pkgs/development/tools/misc/clojure-lsp/default.nix | 10 ---------- pkgs/development/tools/zprint/default.nix | 10 ---------- 5 files changed, 8 insertions(+), 41 deletions(-) diff --git a/pkgs/build-support/build-graalvm-native-image/default.nix b/pkgs/build-support/build-graalvm-native-image/default.nix index 6a5e82427f7b..63f463f13251 100644 --- a/pkgs/build-support/build-graalvm-native-image/default.nix +++ b/pkgs/build-support/build-graalvm-native-image/default.nix @@ -3,6 +3,7 @@ , glibcLocales # The GraalVM derivation to use , graalvmDrv +, removeReferencesTo , executable ? args.pname # JAR used as input for GraalVM derivation, defaults to src , jar ? args.src @@ -37,12 +38,13 @@ let "buildPhase" "nativeBuildInputs" "installPhase" + "postInstall" ]; in stdenv.mkDerivation ({ inherit dontUnpack jar; - nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ graalvmDrv glibcLocales ]; + nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ graalvmDrv glibcLocales removeReferencesTo ]; nativeImageBuildArgs = nativeImageBuildArgs ++ extraNativeImageBuildArgs ++ [ graalvmXmx ]; @@ -62,6 +64,11 @@ stdenv.mkDerivation ({ runHook postInstall ''; + postInstall = '' + remove-references-to -t ${graalvmDrv} $out/bin/${executable} + ${args.postInstall or ""} + ''; + disallowedReferences = [ graalvmDrv ]; passthru = { inherit graalvmDrv; }; diff --git a/pkgs/by-name/cl/cljfmt/package.nix b/pkgs/by-name/cl/cljfmt/package.nix index 9be40d69f708..1c6f30cc9d76 100644 --- a/pkgs/by-name/cl/cljfmt/package.nix +++ b/pkgs/by-name/cl/cljfmt/package.nix @@ -1,7 +1,5 @@ { lib , buildGraalvmNativeImage -, graalvmCEPackages -, removeReferencesTo , fetchurl , nix-update-script , testers @@ -17,10 +15,6 @@ buildGraalvmNativeImage rec { sha256 = "sha256-vEldQ7qV375mHMn3OUdn0FaPd+f/v9g+C+PuzbSTWtk="; }; - graalvmDrv = graalvmCEPackages.graalvm-ce; - - nativeBuildInputs = [ removeReferencesTo ]; - extraNativeImageBuildArgs = [ "-H:+ReportExceptionStackTraces" "-H:Log=registerResource:" @@ -30,10 +24,6 @@ buildGraalvmNativeImage rec { "--no-fallback" ]; - postInstall = '' - remove-references-to -t ${graalvmDrv} $out/bin/${pname} - ''; - passthru.updateScript = nix-update-script { }; passthru.tests.version = testers.testVersion { diff --git a/pkgs/development/tools/jet/default.nix b/pkgs/development/tools/jet/default.nix index 5bab7afd4a35..b71b7caee2e9 100644 --- a/pkgs/development/tools/jet/default.nix +++ b/pkgs/development/tools/jet/default.nix @@ -1,7 +1,5 @@ { lib , buildGraalvmNativeImage -, graalvmCEPackages -, removeReferencesTo , fetchurl , testers , jet @@ -16,10 +14,6 @@ buildGraalvmNativeImage rec { sha256 = "sha256-250/1DBNCXlU1b4jjLUUOXI+uSbOyPXtBN1JJRpdmFc="; }; - graalvmDrv = graalvmCEPackages.graalvm-ce; - - nativeBuildInputs = [ removeReferencesTo ]; - extraNativeImageBuildArgs = [ "-H:+ReportExceptionStackTraces" "-H:Log=registerResource:" @@ -27,10 +21,6 @@ buildGraalvmNativeImage rec { "--no-server" ]; - postInstall = '' - remove-references-to -t ${graalvmDrv} $out/bin/${pname} - ''; - passthru.tests.version = testers.testVersion { inherit version; package = jet; diff --git a/pkgs/development/tools/misc/clojure-lsp/default.nix b/pkgs/development/tools/misc/clojure-lsp/default.nix index ac1051410630..e1956f7ea8bf 100644 --- a/pkgs/development/tools/misc/clojure-lsp/default.nix +++ b/pkgs/development/tools/misc/clojure-lsp/default.nix @@ -1,8 +1,6 @@ { lib , stdenv , buildGraalvmNativeImage -, graalvmCEPackages -, removeReferencesTo , babashka , fetchurl , fetchFromGitHub @@ -28,19 +26,11 @@ buildGraalvmNativeImage rec { sha256 = "c301821ac6914999a44f5c1cd371d46b248fe9a2e31d43a666d0bc2656cfdd78"; }; - graalvmDrv = graalvmCEPackages.graalvm-ce; - - nativeBuildInputs = [ removeReferencesTo ]; - extraNativeImageBuildArgs = [ "--no-fallback" "--native-image-info" ]; - postInstall = '' - remove-references-to -t ${graalvmDrv} $out/bin/${pname} - ''; - doCheck = true; checkPhase = '' runHook preCheck diff --git a/pkgs/development/tools/zprint/default.nix b/pkgs/development/tools/zprint/default.nix index ac3ab104bb60..6e76f0819fc1 100644 --- a/pkgs/development/tools/zprint/default.nix +++ b/pkgs/development/tools/zprint/default.nix @@ -1,7 +1,5 @@ { lib , buildGraalvmNativeImage -, graalvmCEPackages -, removeReferencesTo , fetchurl , testers , zprint @@ -16,10 +14,6 @@ buildGraalvmNativeImage rec { sha256 = "sha256-o0yoW45a5r+sTGvjEqr5VZgQKm72qsPH/kbLTbMTgEM="; }; - graalvmDrv = graalvmCEPackages.graalvm-ce; - - nativeBuildInputs = [ removeReferencesTo ]; - extraNativeImageBuildArgs = [ "--no-server" "-H:EnableURLProtocols=https,http" @@ -29,10 +23,6 @@ buildGraalvmNativeImage rec { "--no-fallback" ]; - postInstall = '' - remove-references-to -t ${graalvmDrv} $out/bin/${pname} - ''; - passthru.tests.version = testers.testVersion { inherit version; package = zprint;