diff options
Diffstat (limited to 'gnu/packages/linux.scm')
-rw-r--r-- | gnu/packages/linux.scm | 209 |
1 files changed, 57 insertions, 152 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 73aa35a19f..b0cefeab75 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -157,13 +157,13 @@ defconfig. Return the appropriate make target if applicable, otherwise return (define-public linux-libre-headers (package (name "linux-libre-headers") - (version "4.4.47") + (version "4.9.59") (source (origin (method url-fetch) (uri (linux-libre-urls version)) (sha256 (base32 - "00zdq7swhvzbbnnhzizq6m34q5k4fycpcp215bmkbxh1ic76v7bs")))) + "0z8hq8a6ic38xh33idzl0k0yi4isgd7ncl2g1d6mzf9ixw5krhvc")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) (arguments @@ -546,7 +546,7 @@ providing the system administrator with some help in common tasks.") (define-public util-linux (package (name "util-linux") - (version "2.30.1") + (version "2.31") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/utils/" @@ -554,7 +554,7 @@ providing the system administrator with some help in common tasks.") name "-" version ".tar.xz")) (sha256 (base32 - "0hdq2fz405a89fyha4bgwg0rx8b65inxq17w8fg8qhmcj4x3dr0v")) + "12nw108xjhm63sh2n5a0qs33vpvbvb6rln96l9j50p7wykf7rgpr")) (patches (search-patches "util-linux-tests.patch")) (modules '((guix build utils))) (snippet @@ -571,6 +571,8 @@ providing the system administrator with some help in common tasks.") (arguments `(#:configure-flags (list "--disable-use-tty-group" "--enable-fs-paths-default=/run/current-system/profile/sbin" + ;; Don't try to chown root:root mount and umount + "--disable-makeinstall-chown" ;; Install completions where our ;; bash-completion package expects them. (string-append "--with-bashcompletiondir=" @@ -1227,16 +1229,6 @@ primary network configuration tools, but ifconfig is known to behave inadequately in modern network environments, and both should be deprecated.") (license license:gpl2+))) -;; There are two packages for net-tools. The first, net-tools, is more recent -;; and probably safer to use with untrusted inputs (i.e. the internet). The -;; second, net-tools-for-tests, is relatively old and buggy. It can be used in -;; package test suites and should never be referred to by a built package. Use -;; #:disallowed-references to enforce this. -;; -;; When we are able to rebuild many packages (i.e. core-updates), we can update -;; net-tools-for-tests if appropriate. -;; -;; See <https://bugs.gnu.org/27811> for more information. (define-public net-tools ;; XXX: This package is basically unmaintained, but it provides a few ;; commands not yet provided by Inetutils, such as 'route', so we have to @@ -1312,108 +1304,6 @@ network hardware types (plipconfig, slattach) and advanced aspects of IP configuration (iptunnel, ipmaddr).") (license license:gpl2+)))) -(define-public net-tools-for-tests - (hidden-package (package (inherit net-tools) - (version "1.60") - ;; Git depends on net-tools-for-tests via GnuTLS, so we can't use git-fetch - ;; here. We should find a better workaround for this problem so that we can - ;; use the latest upstream source. - (source (origin - (method url-fetch) - (uri (list (string-append - "mirror://sourceforge/net-tools/net-tools-" - version ".tar.bz2") - (string-append - "http://distro.ibiblio.org/rootlinux/rootlinux-ports" - "/base/net-tools/net-tools-1.60.tar.bz2"))) - (sha256 - (base32 - "0yvxrzk0mzmspr7sa34hm1anw6sif39gyn85w4c5ywfn8inxvr3s")) - (patches (search-patches "net-tools-bitrot.patch")))) - (build-system gnu-build-system) - (arguments - '(#:modules ((guix build gnu-build-system) - (guix build utils) - (srfi srfi-1) - (srfi srfi-26)) - #:phases (alist-cons-after - 'unpack 'patch - (lambda* (#:key inputs #:allow-other-keys) - (define (apply-patch file) - (zero? (system* "patch" "-p1" "--force" - "--input" file))) - - (let ((patch.gz (assoc-ref inputs "patch"))) - (format #t "applying Debian patch set '~a'...~%" - patch.gz) - (system (string-append "gunzip < " patch.gz " > the-patch")) - (and (apply-patch "the-patch") - (for-each apply-patch - (find-files "debian/patches" - "\\.patch"))))) - (alist-replace - 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (mkdir-p (string-append out "/bin")) - (mkdir-p (string-append out "/sbin")) - - ;; Pretend we have everything... - (system "yes | make config") - - ;; ... except for the things we don't have. - ;; HAVE_AFDECnet requires libdnet, which we don't have. - ;; HAVE_HWSTRIP and HAVE_HWTR require kernel headers - ;; that have been removed. - (substitute* '("config.make" "config.h") - (("^.*HAVE_(AFDECnet|HWSTRIP|HWTR)[ =]1.*$") "")))) - (alist-cons-after - 'install 'remove-redundant-commands - (lambda* (#:key outputs #:allow-other-keys) - ;; Remove commands and man pages redundant with - ;; Inetutils. - (let* ((out (assoc-ref outputs "out")) - (dup (append-map (cut find-files out <>) - '("^hostname" - "^(yp|nis|dns)?domainname")))) - (for-each delete-file dup) - #t)) - %standard-phases))) - - ;; Binaries that depend on libnet-tools.a don't declare that - ;; dependency, making it parallel-unsafe. - #:parallel-build? #f - - #:tests? #f ; no test suite - #:make-flags (let ((out (assoc-ref %outputs "out"))) - (list "CC=gcc" - (string-append "BASEDIR=" out) - (string-append "INSTALLNLSDIR=" out "/share/locale") - (string-append "mandir=/share/man"))))) - - ;; We added unzip to the net-tools package's native-inputs when - ;; switching its source from a Git checkout to a zip archive. We - ;; need to specify the native-inputs here to keep unzip out of the - ;; build of net-tools-for-tests, so that we don't have to rebuild - ;; many packages on the master branch. We can make - ;; net-tools-for-tests inherit directly from net-tools in the next - ;; core-updates cycle. - (native-inputs `(("gettext" ,gettext-minimal))) - - ;; Use the big Debian patch set (the thing does not even compile out of - ;; the box.) - ;; XXX The patch is not actually applied, due to a bug in the 'patch' phase - ;; above. However, this package variant is only used in GnuTLS's tests. It - ;; will be adjusted when convenient for the build farm. - ;; See <https://bugs.gnu.org/27811> for more information. - (inputs `(("patch" ,(origin - (method url-fetch) - (uri - "http://ftp.de.debian.org/debian/pool/main/n/net-tools/net-tools_1.60-24.2.diff.gz") - (sha256 - (base32 - "0p93lsqx23v5fv4hpbrydmfvw1ha2rgqpn2zqbs2jhxkzhjc030p"))))))))) - (define-public libcap (package (name "libcap") @@ -1771,15 +1661,12 @@ user-space processes.") "0hsn8l1iblvx27bpd4dvnvnbh9ri3sv2f9xzpsnfz3379kb7skgj")))) (build-system cmake-build-system) (native-inputs - `(("python" ,python) - ("python-pytest" ,python-pytest))) + `(("python" ,python))) (inputs `(("fuse" ,fuse))) (arguments - '(#:phases - (modify-phases %standard-phases - (replace 'check - ;; Borrowed from the Makefile - (lambda _ (zero? (system* "python3" "-m" "pytest"))))))) + ;; The tests were never actually run ("collected 0 items"), but in recent + ;; versions of pytest that causes an error. + '(#:tests? #f)) (home-page "https://github.com/rpodgorny/unionfs-fuse") (synopsis "User-space union file system") (description @@ -2090,30 +1977,50 @@ from the module-init-tools project.") ;; The post-systemd fork, maintained by Gentoo. (package (name "eudev") - (version "3.2.2") + (version "3.2.4") (source (origin (method url-fetch) - (uri (string-append - "http://dev.gentoo.org/~blueness/eudev/eudev-" - version ".tar.gz")) + (uri (string-append "https://github.com/gentoo/eudev/archive/v" + version ".zip")) + (file-name (string-append name "-" version ".zip")) (sha256 (base32 - "0qqgbgpm5wdllk0s04pf80nwc8pr93xazwri1bylm1f15zn5ck1y")) + "1r1ag0snarygrj5qqxi2xdq9w6g3sfjd5jx1b0fl7zmqlsz3vvxx")) (patches (search-patches "eudev-rules-directory.patch")))) (build-system gnu-build-system) (arguments - '(#:phases (modify-phases %standard-phases - (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")))))))) + '(#:phases + (modify-phases %standard-phases + (add-before 'configure 'bootstrap + (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")))) + (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")))))) + #:configure-flags (list "--enable-manpages"))) (native-inputs - `(("pkg-config" ,pkg-config) + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("gperf" ,gperf) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config) + ;; For tests. ("perl" ,perl) - ("gperf" ,gperf))) + ("python" ,python-wrapper) + ;; For documentation. + ("docbook-xml" ,docbook-xml-4.2) + ("docbook-xsl" ,docbook-xsl) + ("libxml2" ,libxml2) ;for $XML_CATALOG_FILES + ("xsltproc", libxslt))) (inputs ;; When linked against libblkid, eudev can populate /dev/disk/by-label ;; and similar; it also installs the '60-persistent-storage.rules' file, @@ -2687,7 +2594,9 @@ Translation (@dfn{SAT}) are also supported.") which is used to enable and disable wireless networking devices, typically WLAN, Bluetooth and mobile broadband.") (license (license:non-copyleft "file://COPYING" - "See COPYING in the distribution.")))) + "See COPYING in the distribution.")) + ;; rfkill is part of util-linux as of 2.31. + (properties `((superseded . ,util-linux))))) (define-public acpi (package @@ -3110,16 +3019,14 @@ Bluetooth audio output devices like headphones or loudspeakers.") (string-append "--with-udevdir=" out "/lib/udev"))) #:phases (modify-phases %standard-phases - ,@(if (string=? (%current-system) "armhf-linux") - ;; This test fails unpredictably. - ;; TODO: skip it for all architectures. - `((add-before 'check 'skip-wonky-test - (lambda _ - (substitute* "unit/test-gatt.c" - (("tester_init\\(&argc, &argv\\);") "return 77;")) - #t))) - `()) - + ;; Test unit/test-gatt fails unpredictably. Seems to be a timing + ;; issue (discussion on upstream mailing list: + ;; https://marc.info/?t=149578476300002&r=1&w=2) + (add-before 'check 'skip-wonky-test + (lambda _ + (substitute* "unit/test-gatt.c" + (("tester_init\\(&argc, &argv\\);") "return 77;")) + #t)) (add-after 'install 'post-install (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -3188,6 +3095,7 @@ write access to exFAT devices.") (uri (string-append "http://www.nico.schottelius.org/software/gpm/archives/gpm-" version ".tar.bz2")) + (patches (search-patches "gpm-glibc-2.26.patch")) (sha256 (base32 "13d426a8h403ckpc8zyf7s2p5rql0lqbg2bv0454x0pvgbfbf4gh")))) @@ -3491,9 +3399,6 @@ The package provides additional NTFS tools.") ;; to do the same for consistency. They also recommend using the ;; "Release" build type. #:configure-flags (list "-GNinja" - ;; Defaults to "lib64" on 64-bit archs. - (string-append "-DCMAKE_INSTALL_LIBDIR=" - (assoc-ref %outputs "out") "/lib") "-DCMAKE_BUILD_TYPE=Release") #:phases (modify-phases %standard-phases |