about summary refs log tree commit diff
path: root/pkgs/os-specific/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2012-04-18 17:22:10 +0000
committerLudovic Courtès <ludo@gnu.org>2012-04-18 17:22:10 +0000
commit61bb81195ff2b5f2735c84ff8c15eea3aea59eea (patch)
treed4c681162d5959747a973979998b47ebc82bf518 /pkgs/os-specific/gnu
parentf59b9490ecb20c4d76af9d3a9ad1b46fcd2b9d27 (diff)
downloadnixlib-61bb81195ff2b5f2735c84ff8c15eea3aea59eea.tar
nixlib-61bb81195ff2b5f2735c84ff8c15eea3aea59eea.tar.gz
nixlib-61bb81195ff2b5f2735c84ff8c15eea3aea59eea.tar.bz2
nixlib-61bb81195ff2b5f2735c84ff8c15eea3aea59eea.tar.lz
nixlib-61bb81195ff2b5f2735c84ff8c15eea3aea59eea.tar.xz
nixlib-61bb81195ff2b5f2735c84ff8c15eea3aea59eea.tar.zst
nixlib-61bb81195ff2b5f2735c84ff8c15eea3aea59eea.zip
GNU Hurd: Restructure for easier overriding, and easier avoided rebuilds.
svn path=/nixpkgs/trunk/; revision=33834
Diffstat (limited to 'pkgs/os-specific/gnu')
-rw-r--r--pkgs/os-specific/gnu/hurd/default.nix20
1 files changed, 15 insertions, 5 deletions
diff --git a/pkgs/os-specific/gnu/hurd/default.nix b/pkgs/os-specific/gnu/hurd/default.nix
index ca1c71053e5d..e37867e3bef5 100644
--- a/pkgs/os-specific/gnu/hurd/default.nix
+++ b/pkgs/os-specific/gnu/hurd/default.nix
@@ -40,18 +40,17 @@ stdenv.mkDerivation ({
         then [ "--with-parted" ]
         else [ "--without-parted" ]);
 
-  preConfigure = "autoreconf -vfi";
+  preConfigure =
+    '' autoreconf -vfi
 
-  patchPhase =
-    '' echo "removing \`-o root' from makefiles..."
+       echo "removing \`-o root' from makefiles..."
        for mf in {utils,daemons}/Makefile
        do
          sed -i "$mf" -e's/-o root//g'
        done
     '';
 
-  buildPhase = "make ${buildTarget}";
-  installPhase = "make ${installTarget}";
+  crossAttrs.dontPatchShebangs = true;
 
   meta = {
     description = "The GNU Hurd, GNU project's replacement for the Unix kernel";
@@ -74,6 +73,17 @@ stdenv.mkDerivation ({
 
 //
 
+(if !headersOnly && buildTarget != null
+ then assert installTarget != null; {
+   # Use the default `buildPhase' and `installPhase' so that the usual hooks
+   # can still be used.
+   buildFlags = buildTarget;
+   installTargets = installTarget;
+ }
+ else {})
+
+//
+
 (if headersOnly
  then { buildPhase = ":"; installPhase = "make install-headers"; }
  else (if (cross != null)