distro: Add util-linux.
authorNikita Karetnikov <nikita@karetnikov.org>
Mon, 3 Dec 2012 23:13:02 +0000 (23:13 +0000)
committerLudovic Courtès <ludo@gnu.org>
Tue, 4 Dec 2012 16:46:56 +0000 (17:46 +0100)
* distro/packages/linux.scm (util-linux): New variable.

distro/packages/linux.scm

index 3048181..d666931 100644 (file)
@@ -1,5 +1,6 @@
 ;;; Guix --- Nix package management from Guile.         -*- coding: utf-8 -*-
 ;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright (C) 2012 Nikita Karetnikov <nikita@karetnikov.org>
 ;;;
 ;;; This file is part of Guix.
 ;;;
 ;;; along with Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (distro packages linux)
-  #:use-module (guix packages)
-  #:use-module (guix download)
+  #:use-module (distro packages compression)
   #:use-module (distro packages flex)
+  #:use-module (distro packages ncurses)
   #:use-module (distro packages perl)
   #:use-module (distro packages ncurses)
+  #:use-module (guix packages)
+  #:use-module (guix download)
   #:use-module (guix build-system gnu))
 
 (define-public linux-libre-headers
@@ -128,3 +131,41 @@ at login.  Local and dynamic reconfiguration are its key features")
 use the proc filesystem. We're not about changing the world, but
 providing the system administrator with some help in common tasks.")
     (license "GPLv2+")))
+
+(define-public util-linux
+  (package
+    (name "util-linux")
+    (version "2.21")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://kernel.org/linux/utils/"
+                          name "/v" version "/"
+                          name "-" version ".2" ".tar.xz"))
+      (sha256
+       (base32
+        "1rpgghf7n0zx0cdy8hibr41wvkm2qp1yvd8ab1rxr193l1jmgcir"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags '("--disable-use-tty-group")
+       #:phases (alist-cons-after
+                 'install 'patch-chkdupexe
+                 (lambda* (#:key outputs #:allow-other-keys)
+                   (let ((out (assoc-ref outputs "out")))
+                     (substitute* (string-append out "/bin/chkdupexe")
+                       ;; Allow 'patch-shebang' to do its work.
+                       (("@PERL@") "/bin/perl"))))
+                 %standard-phases)))
+    (inputs `(("zlib" ,zlib)
+              ("ncurses" ,ncurses)
+              ("perl" ,perl)))
+    (home-page "https://www.kernel.org/pub/linux/utils/util-linux/")
+    (synopsis
+     "util-linux is a random collection of utilities for the Linux kernel")
+    (description
+     "util-linux is a random collection of utilities for the Linux kernel.")
+    ;; Note that util-linux doesn't use the same license for all the
+    ;; code. GPLv2+ is the default license for a code without an
+    ;; explicitly defined license.
+    (license '("GPLv3+" "GPLv2+" "GPLv2" "LGPLv2+"
+               "BSD-original" "Public Domain"))))