diff options
Diffstat (limited to 'gnu/packages/linux.scm')
-rw-r--r-- | gnu/packages/linux.scm | 205 |
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 |