about summary refs log tree commit diff
path: root/pkgs/development/libraries/gnu-config/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/gnu-config/default.nix')
-rw-r--r--pkgs/development/libraries/gnu-config/default.nix26
1 files changed, 23 insertions, 3 deletions
diff --git a/pkgs/development/libraries/gnu-config/default.nix b/pkgs/development/libraries/gnu-config/default.nix
index 75a20bbbc355a..2b088eb459ad5 100644
--- a/pkgs/development/libraries/gnu-config/default.nix
+++ b/pkgs/development/libraries/gnu-config/default.nix
@@ -23,9 +23,29 @@ in stdenv.mkDerivation {
   pname = "gnu-config";
   version = "2023-07-31";
 
-  buildCommand = ''
-    install -Dm755 ${configGuess} $out/config.guess
-    install -Dm755 ${configSub} $out/config.sub
+  unpackPhase = ''
+    runHook preUnpack
+    cp ${configGuess} ./config.guess
+    cp ${configSub} ./config.sub
+    chmod +w ./config.sub ./config.guess
+    runHook postUnpack
+  '';
+
+  # If this isn't set, `pkgs.gnu-config.overrideAttrs( _: { patches
+  # = ...; })` will behave very counterintuitively: the (unpatched)
+  # gnu-config from the updateAutotoolsGnuConfigScriptsHook stdenv's
+  # defaultNativeBuildInputs will "update" the patched gnu-config by
+  # reverting the patch!
+  dontUpdateAutotoolsGnuConfigScripts = true;
+
+  dontConfigure = true;
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm755 ./config.guess $out/config.guess
+    install -Dm755 ./config.sub $out/config.sub
+    runHook postInstall
   '';
 
   meta = with lib; {