summary refs log tree commit diff
path: root/gnu/packages/linux.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/linux.scm')
-rw-r--r--gnu/packages/linux.scm205
1 files changed, 101 insertions, 104 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 90cf887527..0c16f569da 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
 ;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
@@ -158,13 +158,13 @@ defconfig.  Return the appropriate make target if applicable, otherwise return
 (define-public linux-libre-headers
   (package
     (name "linux-libre-headers")
-    (version "4.9.59")
+    (version "4.14.26")
     (source (origin
              (method url-fetch)
              (uri (linux-libre-urls version))
              (sha256
               (base32
-               "0z8hq8a6ic38xh33idzl0k0yi4isgd7ncl2g1d6mzf9ixw5krhvc"))))
+               "1m2zr17wpasg5riysbaa4g5i492jzr93py2jm088ki818s4a9cm3"))))
     (build-system gnu-build-system)
     (native-inputs `(("perl" ,perl)))
     (arguments
@@ -184,29 +184,29 @@ defconfig.  Return the appropriate make target if applicable, otherwise return
                                     (%current-system)))))
                (setenv "ARCH" arch)
                (format #t "`ARCH' set to `~a'~%" (getenv "ARCH"))
-               (and (zero? (system* "make" defconfig))
-                    (zero? (system* "make" "mrproper" "headers_check"))))))
+               (invoke "make" defconfig)
+               (invoke "make" "mrproper" "headers_check"))))
          (replace 'install
            (lambda* (#:key outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out")))
-               (and (zero? (system* "make"
-                                    (string-append "INSTALL_HDR_PATH=" out)
-                                    "headers_install"))
-                    (begin
-                      (mkdir (string-append out "/include/config"))
-                      (call-with-output-file
-                          (string-append out
-                                         "/include/config/kernel.release")
-                        (lambda (p)
-                          (format p "~a-default~%" ,version)))
-
-                      ;; Remove the '.install' and '..install.cmd' files; the
-                      ;; latter contains store paths, which pulls in bootstrap
-                      ;; binaries in the build environment, and prevents bit
-                      ;; reproducibility for the bootstrap binaries.
-                      (for-each delete-file (find-files out "\\.install"))
-
-                      #t))))))
+               (invoke "make"
+                       (string-append "INSTALL_HDR_PATH=" out)
+                       "headers_install")
+
+               (mkdir (string-append out "/include/config"))
+               (call-with-output-file
+                   (string-append out
+                                  "/include/config/kernel.release")
+                 (lambda (p)
+                   (format p "~a-default~%" ,version)))
+
+               ;; Remove the '.install' and '..install.cmd' files; the
+               ;; latter contains store paths, which pulls in bootstrap
+               ;; binaries in the build environment, and prevents bit
+               ;; reproducibility for the bootstrap binaries.
+               (for-each delete-file (find-files out "\\.install"))
+
+               #t))))
        #:allowed-references ()
        #:tests? #f))
     (home-page "https://www.gnu.org/software/linux-libre/")
@@ -547,8 +547,7 @@ providing the system administrator with some help in common tasks.")
 (define-public util-linux
   (package
     (name "util-linux")
-    (replacement util-linux/fixed)
-    (version "2.31")
+    (version "2.31.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://kernel.org/linux/utils/"
@@ -556,8 +555,9 @@ providing the system administrator with some help in common tasks.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "12nw108xjhm63sh2n5a0qs33vpvbvb6rln96l9j50p7wykf7rgpr"))
-              (patches (search-patches "util-linux-tests.patch"))
+                "04fzrnrr3pvqskvjn9f81y0knh0jvvqx4lmbz5pd4lfdm5pv2l8s"))
+              (patches (search-patches "util-linux-tests.patch"
+                                       "util-linux-CVE-2018-7738.patch"))
               (modules '((guix build utils)))
               (snippet
                ;; We take the 'logger' program from GNU Inetutils and 'kill'
@@ -635,15 +635,6 @@ block devices, UUIDs, TTYs, and many other tools.")
     (license (list license:gpl3+ license:gpl2+ license:gpl2 license:lgpl2.0+
                    license:bsd-4 license:public-domain))))
 
-(define util-linux/fixed
-  (package
-    (inherit util-linux)
-    (source
-      (origin
-        (inherit (package-source util-linux))
-        (patches (append (origin-patches (package-source util-linux))
-                         (search-patches "util-linux-CVE-2018-7738.patch")))))))
-
 (define-public ddate
   (package
     (name "ddate")
@@ -1287,7 +1278,8 @@ inadequately in modern network environments, and both should be deprecated.")
                  ;; think about adding them later.
                  (substitute* '("config.make" "config.h")
                    (("^.*HAVE_(AFDECnet|HWSTRIP|HWTR|SELINUX|AFBLUETOOTH)[ =]1.*$")
-                    "")))))
+                    ""))
+                 #t)))
            (add-after 'install 'remove-redundant-commands
              (lambda* (#:key outputs #:allow-other-keys)
                ;; Remove commands and man pages redundant with Inetutils.
@@ -1339,7 +1331,8 @@ configuration (iptunnel, ipmaddr).")
                               (substitute* "Make.Rules"
                                 (("LDFLAGS := #-g")
                                  (string-append "LDFLAGS := -Wl,-rpath="
-                                                %output "/lib"))))))
+                                                %output "/lib")))
+                              #t)))
                  #:tests? #f                      ; no 'check' target
                  #:make-flags (list "lib=lib"
                                     (string-append "prefix="
@@ -1375,7 +1368,7 @@ Linux-based operating systems.")
     (arguments
      '(#:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'bootstrap
+         (add-before 'bootstrap 'patch-stuff
            (lambda _
              ;; Fix "field ‘ip6’ has incomplete type" errors.
              (substitute* "libbridge/libbridge.h"
@@ -1388,7 +1381,7 @@ Linux-based operating systems.")
                (("\\$\\(MAKE\\) \\$\\(MFLAGS\\) -C \\$\\$x ;")
                 "$(MAKE) $(MFLAGS) -C $$x || exit 1;"))
 
-             (zero? (system* "autoreconf" "-vf")))))
+             #t)))
        #:tests? #f))                              ; no 'check' target
 
     (home-page
@@ -1696,16 +1689,19 @@ UnionFS-FUSE additionally supports copy-on-write.")
     (source (origin (inherit (package-source fuse))
               (modules '((guix build utils)))
               (snippet
-               ;; Normally libfuse invokes mount(8) so that /etc/mtab is
-               ;; updated.  Change calls to 'mtab_needs_update' to 0 so that
-               ;; it doesn't do that, allowing us to remove the dependency on
-               ;; util-linux (something that is useful in initrds.)
-               '(substitute* '("lib/mount_util.c"
-                               "util/mount_util.c")
-                  (("mtab_needs_update[[:blank:]]*\\([a-z_]+\\)")
-                   "0")
-                  (("/bin/")
-                   "")))))))
+               '(begin
+                  ;; Normally libfuse invokes mount(8) so that /etc/mtab is
+                  ;; updated.  Change calls to 'mtab_needs_update' to 0 so
+                  ;; that it doesn't do that, allowing us to remove the
+                  ;; dependency on util-linux (something that is useful in
+                  ;; initrds.)
+                  (substitute* '("lib/mount_util.c"
+                                 "util/mount_util.c")
+                    (("mtab_needs_update[[:blank:]]*\\([a-z_]+\\)")
+                     "0")
+                    (("/bin/")
+                     ""))
+                  #t))))))
 
 (define-public unionfs-fuse/static
   (package (inherit unionfs-fuse)
@@ -1714,11 +1710,13 @@ UnionFS-FUSE additionally supports copy-on-write.")
     (source (origin (inherit (package-source unionfs-fuse))
               (modules '((guix build utils)))
               (snippet
-               ;; Add -ldl to the libraries, because libfuse.a needs that.
-               '(substitute* "src/CMakeLists.txt"
-                  (("target_link_libraries(.*)\\)" _ libs)
-                   (string-append "target_link_libraries"
-                                  libs " dl)"))))))
+               '(begin
+                  ;; Add -ldl to the libraries, because libfuse.a needs that.
+                  (substitute* "src/CMakeLists.txt"
+                    (("target_link_libraries(.*)\\)" _ libs)
+                     (string-append "target_link_libraries"
+                                    libs " dl)")))
+                  #t))))
     (arguments
      '(#:tests? #f
        #:configure-flags '("-DCMAKE_EXE_LINKER_FLAGS=-static")
@@ -1880,7 +1878,8 @@ system.")
                   (substitute* '("src/unicode_start" "src/unicode_stop")
                     ;; Assume the Coreutils are in $PATH.
                     (("/usr/bin/tty")
-                     "tty"))))))
+                     "tty"))
+                  #t))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases
@@ -1946,7 +1945,7 @@ to use Linux' inotify mechanism, which allows file accesses to be monitored.")
 (define-public kmod
   (package
     (name "kmod")
-    (version "24")
+    (version "25")
     (source (origin
               (method url-fetch)
               (uri
@@ -1954,7 +1953,7 @@ to use Linux' inotify mechanism, which allows file accesses to be monitored.")
                               "kmod-" version ".tar.xz"))
               (sha256
                (base32
-                "15xkkkzvca9flvkm48gkh8y8f13vlm3sl7nz9ydc7b3jy4fqs2v1"))
+                "1kgixs4m3jvwk7fb3d18n6j77qhgi9qfv4csj35rs5ancr4ycrbi"))
               (patches (search-patches "kmod-module-directory.patch"))))
     (build-system gnu-build-system)
     (native-inputs
@@ -1963,19 +1962,20 @@ to use Linux' inotify mechanism, which allows file accesses to be monitored.")
      `(("xz" ,xz)
        ("zlib" ,zlib)))
     (arguments
-     `(#:tests? #f ; FIXME: Investigate test failures
+     `(#:tests? #f                      ; FIXME: Investigate test failures
        #:configure-flags '("--with-xz" "--with-zlib")
-       #:phases (alist-cons-after
-                 'install 'install-modprobe&co
-                 (lambda* (#:key outputs #:allow-other-keys)
-                   (let* ((out (assoc-ref outputs "out"))
-                          (bin (string-append out "/bin")))
-                     (for-each (lambda (tool)
-                                 (symlink "kmod"
-                                          (string-append bin "/" tool)))
-                               '("insmod" "rmmod" "lsmod" "modprobe"
-                                 "modinfo" "depmod"))))
-                 %standard-phases)))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'install-modprobe&co
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (string-append out "/bin")))
+               (for-each (lambda (tool)
+                           (symlink "kmod"
+                                    (string-append bin "/" tool)))
+                         '("insmod" "rmmod" "lsmod" "modprobe"
+                           "modinfo" "depmod"))
+               #t))))))
     (home-page "https://www.kernel.org/")
     (synopsis "Kernel module tools")
     (description "Kmod is a set of tools to handle common tasks with Linux
@@ -1991,7 +1991,7 @@ from the module-init-tools project.")
   ;; The post-systemd fork, maintained by Gentoo.
   (package
     (name "eudev")
-    (version "3.2.4")
+    (version "3.2.5")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/gentoo/eudev/archive/v"
@@ -1999,27 +1999,26 @@ from the module-init-tools project.")
               (file-name (string-append name "-" version ".zip"))
               (sha256
                (base32
-                "1r1ag0snarygrj5qqxi2xdq9w6g3sfjd5jx1b0fl7zmqlsz3vvxx"))
+                "0c9l3m3mr1nvrvlcnzh5gjdg9p9k7hh0jk04wh596cbmbass2nhd"))
               (patches (search-patches "eudev-rules-directory.patch"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases
        (modify-phases %standard-phases
-         (add-before 'configure 'bootstrap
+         (add-before 'bootstrap 'patch-file-names
            (lambda* (#:key inputs #:allow-other-keys)
             (substitute* "man/make.sh"
               (("/usr/bin/xsltproc")
                 (string-append (assoc-ref inputs "xsltproc")
                                "/bin/xsltproc")))
-            ;; Manual pages are regenerated here.
-            (zero? (system* "./autogen.sh"))))
+            #t))
          (add-after 'install 'build-hwdb
            (lambda* (#:key outputs #:allow-other-keys)
              ;; Build OUT/etc/udev/hwdb.bin.  This allows 'lsusb' and
              ;; similar tools to display product names.
              (let ((out (assoc-ref outputs "out")))
-               (zero? (system* (string-append out "/bin/udevadm")
-                               "hwdb" "--update"))))))
+               (invoke (string-append out "/bin/udevadm")
+                       "hwdb" "--update")))))
        #:configure-flags (list "--enable-manpages")))
     (native-inputs
      `(("autoconf" ,autoconf)
@@ -2072,7 +2071,8 @@ time.")
                     (("confdir = .*$")
                      "confdir = @sysconfdir@\n")
                     (("DEFAULT_SYS_DIR = @DEFAULT_SYS_DIR@")
-                     "DEFAULT_SYS_DIR = @sysconfdir@"))))
+                     "DEFAULT_SYS_DIR = @sysconfdir@"))
+                  #t))
               (patches (search-patches "lvm2-static-link.patch"))))
     (build-system gnu-build-system)
     (native-inputs
@@ -2256,7 +2256,9 @@ compliance.")
                 "1f9mcp78sdd4sci6v32vxfcl1rfjpv205jisz1p93kkfnaisy7ip"))
 
               ;; We're building 'regulatory.bin' by ourselves.
-              (snippet '(delete-file "regulatory.bin"))))
+              (snippet '(begin
+                          (delete-file "regulatory.bin")
+                          #t))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases (modify-phases %standard-phases
@@ -2689,7 +2691,8 @@ also contains the libsysfs library.")
               "includedir = @includedir@"))
            (substitute* "configure"
              (("includedir='(\\$\\{prefix\\}/include)'" all orig)
-              (string-append "includedir='" orig "/sysfs'")))))))
+              (string-append "includedir='" orig "/sysfs'")))
+           #t))))
     (synopsis "System utilities based on Linux sysfs (version 1.x)")))
 
 (define-public cpufrequtils
@@ -3106,7 +3109,7 @@ write access to exFAT devices.")
     (build-system gnu-build-system)
     (arguments
      '(#:phases (modify-phases %standard-phases
-                  (add-after 'unpack 'bootstrap
+                  (replace 'bootstrap
                     (lambda _
                       ;; The tarball was not generated with 'make dist' so we
                       ;; need to bootstrap things ourselves.
@@ -3241,12 +3244,6 @@ from the btrfs-progs package.  It is meant to be used in initrds.")
                (base32
                 "1bir9ladb58ijlcvrjrq1fb1xv5ys50zdjaq0yzliib0apsyrnyl"))))
     (build-system gnu-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'bootstrap
-           (lambda _
-             (zero? (system* "autoreconf" "-vif")))))))
     (native-inputs
      `(("autoconf" ,autoconf)
        ("automake" ,automake)
@@ -3310,9 +3307,10 @@ feature, and a laptop with an accelerometer.  It has no effect on SSDs.")
               (modules '((guix build utils)))
               ;; Fix erroneous man page location in Makefile leading to
               ;; a compilation failure.
-              (snippet
-               '(substitute* "CMakeLists.txt"
-                  (("thinkfan\\.1") "src/thinkfan.1")))))
+              (snippet '(begin
+                          (substitute* "CMakeLists.txt"
+                            (("thinkfan\\.1") "src/thinkfan.1"))
+                          #t))))
     (build-system cmake-build-system)
     (arguments
      `(#:modules ((guix build cmake-build-system)
@@ -3363,11 +3361,12 @@ from userspace.")
                (base32
                 "1mb228p80hv97pgk3myyvgp975r9mxq56c6bdn1n24kngcfh4niy"))
               (modules '((guix build utils)))
-              (snippet
-               ;; Install under $prefix.
-               '(substitute* '("src/Makefile.in" "ntfsprogs/Makefile.in")
-                  (("/sbin")
-                   "@sbindir@")))))
+              (snippet '(begin
+                          ;; Install under $prefix.
+                          (substitute* '("src/Makefile.in" "ntfsprogs/Makefile.in")
+                            (("/sbin")
+                             "@sbindir@"))
+                          #t))))
     (build-system gnu-build-system)
     (inputs `(("util-linux" ,util-linux)
               ("fuse" ,fuse)))                    ;libuuid
@@ -3466,12 +3465,7 @@ The following service daemons are also provided:
     (build-system gnu-build-system)
     (arguments
      `(;; Avoid using OpenSSL, curl, and libxml2, reducing the closure by 166 MiB.
-       #:configure-flags '("--without-nistbeacon")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'bootstrap
-           (lambda _
-             (zero? (system* "sh" "autogen.sh")))))))
+       #:configure-flags '("--without-nistbeacon")))
     (native-inputs
      `(("autoconf" ,autoconf)
        ("automake" ,automake)
@@ -3668,9 +3662,12 @@ the default @code{nsswitch} and the experimental @code{umich_ldap}.")
               (file-name (string-append name "-" version ".tar.gz"))
               (modules '((guix build utils)))
               (snippet
-               ;; The snapshots lack a .git directory, breaking ‘git describe’.
-               `(substitute* "Makefile"
-                  (("\"unknown\"") (string-append "\"v" ,version "\""))))))
+               `(begin
+                  ;; The snapshots lack a .git directory,
+                  ;; breaking ‘git describe’.
+                  (substitute* "Makefile"
+                    (("\"unknown\"") (string-append "\"v" ,version "\"")))
+                  #t))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases (modify-phases %standard-phases