summary refs log tree commit diff
path: root/pkgs/tools/misc/coreutils
diff options
context:
space:
mode:
authorPeter Simons <simons@cryp.to>2013-04-19 11:48:11 +0200
committerPeter Simons <simons@cryp.to>2013-04-19 11:48:11 +0200
commit4914e63a89e3d824feabacae62512b8ed32fa135 (patch)
tree1624a4d8c966ecd8ed224526834db75a0492d7dd /pkgs/tools/misc/coreutils
parentd7be1e84d0800bfa83a25c001c128de1fe89c02e (diff)
parentb6c7c4a142357f8fb90eef6b4beee5df749a9e4d (diff)
downloadnixlib-4914e63a89e3d824feabacae62512b8ed32fa135.tar
nixlib-4914e63a89e3d824feabacae62512b8ed32fa135.tar.gz
nixlib-4914e63a89e3d824feabacae62512b8ed32fa135.tar.bz2
nixlib-4914e63a89e3d824feabacae62512b8ed32fa135.tar.lz
nixlib-4914e63a89e3d824feabacae62512b8ed32fa135.tar.xz
nixlib-4914e63a89e3d824feabacae62512b8ed32fa135.tar.zst
nixlib-4914e63a89e3d824feabacae62512b8ed32fa135.zip
Merge changes from branch 'master' into stdenv-updates.
Conflicts:
	pkgs/development/libraries/icu/default.nix
	pkgs/tools/misc/coreutils/default.nix
Diffstat (limited to 'pkgs/tools/misc/coreutils')
-rw-r--r--pkgs/tools/misc/coreutils/default.nix113
1 files changed, 60 insertions, 53 deletions
diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix
index 1ed3fc928f0c..88bcdd953fd8 100644
--- a/pkgs/tools/misc/coreutils/default.nix
+++ b/pkgs/tools/misc/coreutils/default.nix
@@ -6,70 +6,77 @@
 assert aclSupport -> acl != null;
 assert selinuxSupport -> libselinux != null && libsepol != null;
 
-stdenv.mkDerivation (rec {
-  name = "coreutils-8.21";
+let
+  self = stdenv.mkDerivation rec {
+    name = "coreutils-8.21";
 
-  src = fetchurl {
-    url = "mirror://gnu/coreutils/${name}.tar.xz";
-    sha256 = "064f512185iysqqcvhnhaf3bfmzrvcgs7n405qsyp99zmfyl9amd";
-  };
-
-  nativeBuildInputs = [ perl ];
-  buildInputs = [ gmp ]
-    ++ stdenv.lib.optional aclSupport acl
-    ++ stdenv.lib.optional selinuxSupport libselinux
-    ++ stdenv.lib.optional selinuxSupport libsepol;
+    src = fetchurl {
+      url = "mirror://gnu/coreutils/${name}.tar.xz";
+      sha256 = "064f512185iysqqcvhnhaf3bfmzrvcgs7n405qsyp99zmfyl9amd";
+    };
 
-  crossAttrs = ({
+    nativeBuildInputs = [ perl ];
     buildInputs = [ gmp ]
-      ++ stdenv.lib.optional aclSupport acl.crossDrv
-      ++ stdenv.lib.optional selinuxSupport libselinux.crossDrv
-      ++ stdenv.lib.optional selinuxSupport libsepol.crossDrv
-      ++ stdenv.lib.optional (stdenv.gccCross.libc ? libiconv)
-        stdenv.gccCross.libc.libiconv.crossDrv;
+      ++ stdenv.lib.optional aclSupport acl
+      ++ stdenv.lib.optional selinuxSupport libselinux
+      ++ stdenv.lib.optional selinuxSupport libsepol;
 
-    # Needed for fstatfs()
-    # I don't know why it is not properly detected cross building with glibc.
-    configureFlags = [ "fu_cv_sys_stat_statfs2_bsize=yes" ];
-    doCheck = false;
-  }
+    crossAttrs = {
+      buildInputs = [ gmp ]
+        ++ stdenv.lib.optional aclSupport acl.crossDrv
+        ++ stdenv.lib.optional selinuxSupport libselinux.crossDrv
+        ++ stdenv.lib.optional selinuxSupport libsepol.crossDrv
+        ++ stdenv.lib.optional (stdenv.gccCross.libc ? libiconv)
+          stdenv.gccCross.libc.libiconv.crossDrv;
 
-  //
+      buildPhase = ''
+        make || (
+          pushd man
+          for a in *.x; do
+            touch `basename $a .x`.1
+          done
+          popd; make )
+      '';
 
-  # XXX: Temporary workaround to allow GNU/Hurd builds with newer libcs.
-  (stdenv.lib.optionalAttrs (stdenv.cross.config == "i586-pc-gnu") {
-    patches = [ ./gets-undeclared.patch ];
-  }));
+      postInstall = ''
+        rm $out/share/man/man1/*
+        cp ${self}/share/man/man1/* $out/share/man/man1
+      '';
 
-  # The tests are known broken on Cygwin
-  # (http://thread.gmane.org/gmane.comp.gnu.core-utils.bugs/19025),
-  # Darwin (http://thread.gmane.org/gmane.comp.gnu.core-utils.bugs/19351),
-  # and {Open,Free}BSD.
-  doCheck = stdenv ? glibc;
+      # Needed for fstatfs()
+      # I don't know why it is not properly detected cross building with glibc.
+      configureFlags = [ "fu_cv_sys_stat_statfs2_bsize=yes" ];
+      doCheck = false;
+    };
 
-  enableParallelBuilding = true;
+    # The tests are known broken on Cygwin
+    # (http://thread.gmane.org/gmane.comp.gnu.core-utils.bugs/19025),
+    # Darwin (http://thread.gmane.org/gmane.comp.gnu.core-utils.bugs/19351),
+    # and {Open,Free}BSD.
+    doCheck = stdenv ? glibc;
 
-  NIX_LDFLAGS = stdenv.lib.optionalString selinuxSupport "-lsepol" +
-                stdenv.lib.optionalString stdenv.isSunOS "-lmp -lmd -lnsl -lsocket -lresolv -luutil -lnvpair -lidmap -lavl -lsec";
+    enableParallelBuilding = true;
 
-  meta = {
-    homepage = http://www.gnu.org/software/coreutils/;
-    description = "The basic file, shell and text manipulation utilities of the GNU operating system";
+    NIX_LDFLAGS = stdenv.lib.optionalString selinuxSupport "-lsepol";
 
-    longDescription = ''
-      The GNU Core Utilities are the basic file, shell and text
-      manipulation utilities of the GNU operating system.  These are
-      the core utilities which are expected to exist on every
-      operating system.
-    '';
+    meta = {
+      homepage = http://www.gnu.org/software/coreutils/;
+      description = "The basic file, shell and text manipulation utilities of the GNU operating system";
 
-    license = "GPLv3+";
+      longDescription = ''
+        The GNU Core Utilities are the basic file, shell and text
+        manipulation utilities of the GNU operating system.  These are
+        the core utilities which are expected to exist on every
+        operating system.
+      '';
 
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+      license = "GPLv3+";
+
+      maintainers = [ stdenv.lib.maintainers.ludo ];
+    };
   };
-}
-  # May have some issues with root compilation because the bootstrap tool
-  # cannot be used as a login shell for now.
-// stdenv.lib.optionalAttrs (stdenv.system == "armv7l-linux" || stdenv.isSunOS) {
-  FORCE_UNSAFE_CONFIGURE = 1;
-})
+in
+  self
+  // stdenv.lib.optionalAttrs (stdenv.system == "armv7l-linux" || stdenv.isSunOS) {
+    FORCE_UNSAFE_CONFIGURE = 1;
+  }