diff options
Diffstat (limited to 'gnu/packages/linux.scm')
-rw-r--r-- | gnu/packages/linux.scm | 210 |
1 files changed, 133 insertions, 77 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 6049b09139..9020a599e2 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, 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 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, 2019 Mark H Weaver <mhw@netris.org> @@ -24,7 +24,7 @@ ;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> -;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com> +;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017 nee <nee-git@hidamari.blue> ;;; Copyright © 2017 Dave Love <fx@gnu.org> ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr> @@ -98,6 +98,7 @@ #:use-module (gnu packages readline) #:use-module (gnu packages rrdtool) #:use-module (gnu packages samba) + #:use-module (gnu packages serialization) #:use-module (gnu packages slang) #:use-module (gnu packages storage) #:use-module (gnu packages texinfo) @@ -404,10 +405,10 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." It has been modified to remove all non-free binary blobs.") (license license:gpl2))) -(define %linux-libre-version "4.20.13") -(define %linux-libre-hash "00rqdsqyz0csdblcmifyhkgzvsmnqsh090i6h30146rsf3707xad") +(define %linux-libre-version "5.0") +(define %linux-libre-hash "18gs0kl5xvbmh725m7crg6iyqw3p8qq421aql7z0nlk035fh5xbx") -(define %linux-libre-4.20-patches +(define %linux-libre-5.0-patches (list %boot-logo-patch %linux-libre-arm-export-__sync_icache_dcache-patch)) @@ -415,11 +416,11 @@ It has been modified to remove all non-free binary blobs.") (make-linux-libre %linux-libre-version %linux-libre-hash '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux") - #:patches %linux-libre-4.20-patches + #:patches %linux-libre-5.0-patches #:configuration-file kernel-config)) -(define %linux-libre-4.19-version "4.19.26") -(define %linux-libre-4.19-hash "0xp1hqcwimyvzzbci741vymc8mrgk3cycv8l020zas1dfw5wn48c") +(define %linux-libre-4.19-version "4.19.27") +(define %linux-libre-4.19-hash "055n4s4yrkcrwkdsxbf1q1zyxmpabf7kba8d0phpfadian3wr4s0") (define %linux-libre-4.19-patches (list %boot-logo-patch @@ -432,8 +433,8 @@ It has been modified to remove all non-free binary blobs.") #:patches %linux-libre-4.19-patches #:configuration-file kernel-config)) -(define %linux-libre-4.14-version "4.14.104") -(define %linux-libre-4.14-hash "0x7jzazl0yzdc9m1ycwcywjpj6w30mabks4qs9asdy5622282b4v") +(define %linux-libre-4.14-version "4.14.105") +(define %linux-libre-4.14-hash "06pp13d2g0j2v8jy8fh20b4ismzg9wn3i7bnx2hpyvslz256rrgg") (define-public linux-libre-4.14 (make-linux-libre %linux-libre-4.14-version @@ -442,8 +443,8 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.9 - (make-linux-libre "4.9.161" - "0r35qlc8yj9svryv0v91j134vr35d23sz5aj7f2h8c99iakbm6zw" + (make-linux-libre "4.9.162" + "07swv6xvjsl5nv5y3sc2nfdnmqdz9gjy8hgrjvi0bljwzf1fbxmy" '("x86_64-linux" "i686-linux") #:configuration-file kernel-config)) @@ -457,7 +458,7 @@ It has been modified to remove all non-free binary blobs.") (make-linux-libre %linux-libre-version %linux-libre-hash '("armhf-linux") - #:patches %linux-libre-4.20-patches + #:patches %linux-libre-5.0-patches #:defconfig "multi_v7_defconfig" #:extra-version "arm-generic")) @@ -480,7 +481,7 @@ It has been modified to remove all non-free binary blobs.") (make-linux-libre %linux-libre-version %linux-libre-hash '("armhf-linux") - #:patches %linux-libre-4.20-patches + #:patches %linux-libre-5.0-patches #:defconfig "omap2plus_defconfig" #:extra-version "arm-omap2plus")) @@ -2477,14 +2478,14 @@ It works with most newer systems.") (define-public iucode-tool (package (name "iucode-tool") - (version "2.2") + (version "2.3.1") (source (origin (method url-fetch) (uri (string-append "https://gitlab.com/iucode-tool/releases" "/raw/latest/iucode-tool_" version ".tar.xz")) (sha256 (base32 - "0w99k1aq1xw148ffk1xykqf60rdbphb1jknw98jcmadq4pwxl44q")))) + "159gvf6ljgg3g4vlhyy6pyr0wz11rcyhp985vc4az58d9px8xf0j")))) (build-system gnu-build-system) (home-page "https://gitlab.com/iucode-tool/iucode-tool/wikis/home") (synopsis "Manipulate Intel microcode bundles") @@ -2653,7 +2654,22 @@ thanks to the use of namespaces.") "/singularity-" version ".tar.gz")) (sha256 (base32 - "1whx0hqqi1326scgdxxxa1d94vn95mnq0drid6s8wdp84ni4d3gk")))) + "1whx0hqqi1326scgdxxxa1d94vn95mnq0drid6s8wdp84ni4d3gk")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Do not create directories in /var. + (substitute* "Makefile.in" + (("\\$\\(MAKE\\) .*install-data-hook") "")) + + ;; The original source overrides PATH so that it points to + ;; /bin, /usr/local/bin, etc., which obviously doesn't work + ;; on Guix System. Leave PATH unchanged so we refer to the + ;; installed Coreutils, grep, etc. + (substitute* "bin/singularity.in" + (("^PATH=.*" all) + (string-append "#" all "\n"))) + #t)))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -2661,12 +2677,6 @@ thanks to the use of namespaces.") "--localstatedir=/var") #:phases (modify-phases %standard-phases - ;; Do not create directories in /var. - (add-after 'unpack 'disable-install-hook - (lambda _ - (substitute* "Makefile.in" - (("\\$\\(MAKE\\) .*install-data-hook") "")) - #t)) (add-after 'unpack 'patch-reference-to-squashfs-tools (lambda _ (substitute* "libexec/cli/build.exec" @@ -3242,6 +3252,32 @@ is flexible, efficient and uses a modular implementation.") write access to exFAT devices.") (license license:gpl2+))) +(define-public fuseiso + (package + (name "fuseiso") + (version "20070708") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/fuseiso/fuseiso/" + version "/fuseiso-" version ".tar.bz2")) + (sha256 + (base32 + "127xql52dcdhmh7s5m9xc6q39jdlj3zhbjar1j821kb6gl3jw94b")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("fuse" ,fuse) + ("glib" ,glib) + ("zlib" ,zlib))) + (home-page "https://sourceforge.net/projects/fuseiso/") + (synopsis "Mount ISO file system images") + (description + "FuseISO is a FUSE module to mount ISO filesystem images (.iso, .nrg, +.bin, .mdf and .img files). It supports plain ISO9660 Level 1 and 2, Rock +Ridge, Joliet, and zisofs.") + (license license:gpl2))) + (define-public gpm (package (name "gpm") @@ -3290,7 +3326,7 @@ and copy/paste text in the console and in xterm.") (define-public btrfs-progs (package (name "btrfs-progs") - (version "4.17.1") + (version "4.20.2") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/kernel/" @@ -3298,7 +3334,7 @@ and copy/paste text in the console and in xterm.") "btrfs-progs-v" version ".tar.xz")) (sha256 (base32 - "0x6d53fbrcmzvhv461575fzsv3373427p4srz646w2wcagqk82xz")))) + "0z0fm3j4ajzsf445381ra8r3zzciyyvfh8vvbjmbyarg2rz8n3w9")))) (build-system gnu-build-system) (outputs '("out" "static")) ; static versions of the binaries in "out" @@ -3393,7 +3429,7 @@ from the btrfs-progs package. It is meant to be used in initrds.") (method url-fetch) (uri (string-append "https://git.kernel.org/cgit/linux/kernel/git/jaegeuk" - "/f2fs-tools.git/snapshot/" name "-" version ".tar.gz")) + "/f2fs-tools.git/snapshot/f2fs-tools-" version ".tar.gz")) (sha256 (base32 "1m6bn1ibq0p53m0n97il91xqgjgn2pzlz74lb5bfzassx7159m1k")))) @@ -3431,15 +3467,15 @@ disks and SD cards. This package provides the userland utilities.") (package (inherit f2fs-tools-1.7) (name "f2fs-tools") - (version "1.11.0") + (version "1.12.0") (source (origin (method url-fetch) (uri (string-append "https://git.kernel.org/cgit/linux/kernel/git/jaegeuk" - "/f2fs-tools.git/snapshot/" name "-" version ".tar.gz")) + "/f2fs-tools.git/snapshot/f2fs-tools-" version ".tar.gz")) (sha256 (base32 - "1qvr3hcic1vzfmyl7c0gnjxfsw8zjaadm66y337h49chv9yaq5mr")))) + "15pn2fm9knn7p1vzfzy6msnrdl14p6y1gn4m2ka6ba5bzx6lw4p2")))) (inputs `(("libuuid" ,util-linux))))) @@ -3481,49 +3517,51 @@ feature, and a laptop with an accelerometer. It has no effect on SSDs.") (define-public thinkfan (package (name "thinkfan") - (version "0.9.3") - (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/thinkfan/" - "/thinkfan-" version ".tar.gz")) - (sha256 - (base32 - "0nz4c48f0i0dljpk5y33c188dnnwg8gz82s4grfl8l64jr4n675n")) - (modules '((guix build utils))) - ;; Fix erroneous man page location in Makefile leading to - ;; a compilation failure. - (snippet '(begin - (substitute* "CMakeLists.txt" - (("thinkfan\\.1") "src/thinkfan.1")) - #t)))) + (version "1.0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vmatare/thinkfan.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "107vw0962hrwva3wra9n3hxlbfzg82ldc10qssv3dspja88g8psr")))) (build-system cmake-build-system) (arguments `(#:modules ((guix build cmake-build-system) (guix build utils) (srfi srfi-26)) - #:tests? #f ;no test target + #:tests? #f ; no test target #:configure-flags ;; Enable reading temperatures from hard disks via S.M.A.R.T. + ;; Upstream ‘defaults to OFF because libatasmart seems to be horribly + ;; inefficient’. `("-DUSE_ATASMART:BOOL=ON") #:phases (modify-phases %standard-phases - ;; Install scripts for various foreign init systems. Also fix - ;; hard-coded path for daemon. - (add-after 'install 'install-rc-scripts + (add-after 'unpack 'create-init-scripts + ;; CMakeLists.txt relies on build-time symptoms of OpenRC and + ;; systemd to patch and install their service files. Fake their + ;; presence rather than duplicating the build system below. Leave + ;; things like ‘/bin/kill’ because they're not worth a dependency. + ;; The sysvinit needs manual patching, but since upstream doesn't + ;; even provide the option to install it: don't. (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (files (find-files - (string-append "../thinkfan-" ,version "/rcscripts") - ".*"))) - (substitute* files - (("/usr/sbin/(\\$NAME|thinkfan)" _ name) - (string-append out "/sbin/" name))) - (for-each (cute install-file <> - (string-append out "/share/thinkfan")) - files)) - #t))))) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share/" ,name))) + (substitute* "CMakeLists.txt" + (("pkg_check_modules\\((OPENRC|SYSTEMD) .*" _ package) + (format "option(~a_FOUND \"Faked\" ON)\n" package)) + ;; That was easy! Now we just need to fix the destinations. + (("/etc" directory) + (string-append out directory))) + #t)))))) + (native-inputs + `(("pkg-config" ,pkg-config))) (inputs - `(("libatasmart" ,libatasmart))) + `(("libatasmart" ,libatasmart) + ("yaml-cpp" ,yaml-cpp))) (home-page "http://thinkfan.sourceforge.net/") (synopsis "Simple fan control program") (description @@ -4390,15 +4428,14 @@ re-use code and to avoid re-inventing the wheel.") (define-public libnftnl (package (name "libnftnl") - (version "1.1.1") + (version "1.1.2") (source - (origin - (method url-fetch) - (uri (string-append "mirror://netfilter.org/libnftnl/" - "libnftnl-" version ".tar.bz2")) - (sha256 - (base32 - "1wmgjfcb35mscb2srzia5931srygywrs1aznxmg67v177x0nasjx")))) + (origin + (method url-fetch) + (uri (string-append "mirror://netfilter.org/libnftnl/" + "libnftnl-" version ".tar.bz2")) + (sha256 + (base32 "0pffmsv41alsn5ac7mwnb9fh3qpwzqk13jrzn6c5i71wq6kbgix5")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -4415,7 +4452,7 @@ used by nftables.") (define-public nftables (package (name "nftables") - (version "0.8.1") + (version "0.9.0") (source (origin (method url-fetch) @@ -4423,8 +4460,10 @@ used by nftables.") "/files/nftables-" version ".tar.bz2")) (sha256 (base32 - "1i1gfy8l7qyhc5vlrpp63s0n5kybmc9pi4dywiq8rmkhrrnddsla")))) + "14bygs6vg2v448cw5r4pxqi8an29hw0m9vab8hpmgjmrzjsq30dd")))) (build-system gnu-build-system) + (arguments `(#:configure-flags + '("--disable-man-doc"))) ; FIXME: Needs docbook2x. (inputs `(("bison" ,bison) ("flex" ,flex) ("gmp" ,gmp) @@ -5026,7 +5065,7 @@ management tools in userspace.") (define-public xfsprogs (package (name "xfsprogs") - (version "4.19.0") + (version "4.20.0") (source (origin (method url-fetch) (uri (string-append @@ -5034,10 +5073,10 @@ management tools in userspace.") "xfsprogs-" version ".tar.gz")) (sha256 (base32 - "0gs39yiyamjw516jbak3nj4dy4h2a2g48c1mmv4wbppsccvwmwh5")))) + "0ss0r6jlxxinf9fhpc0fgf7b89n9mzirpa85xxjmi1ix9l6cls6x")))) (build-system gnu-build-system) (arguments - `(#:tests? #f)) ; Kernel/user integration tests are in package "xfstests" + `(#:tests? #f)) ; kernel/user integration tests are in package "xfstests" (native-inputs `(("gettext" ,gettext-minimal) ("util-linux" ,util-linux))) @@ -5052,17 +5091,34 @@ file systems.") (define-public genext2fs (package (name "genext2fs") - (version "1.4.1") + (version "1.4.1-4") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/jeremie-koenig/genext2fs.git") - (commit (string-append "genext2fs-" version)))) + ;; 1.4.1-3 had a VCS tag but 1.4.1-4 doesn't. + (commit "9ee43894634998b0b2b309d636f25c64314c9421"))) (file-name (git-file-name name version)) (sha256 - (base32 - "1r0n74pyypv63qfqqpvx75dwijcsvcrvqrlv8sldbhv0nwr1gk53")))) + (base32 "0ib5icn78ciz00zhc1bgdlrwaxvsdz7wnplwblng0jirwi9ml7sq")))) (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'apply-debian-patches + ;; Debian changes (the revision after ‘-’ in VERSION) are + ;; maintained as separate patches. Apply those relevant to us. + (lambda _ + (for-each + (lambda (file-name) + (invoke "patch" "-p1" "-i" + (string-append "debian/patches/" file-name))) + (list "blocksize+creator.diff" ; add -B/-o options + "byteswap_fix.diff")) + #t))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake))) (home-page "https://github.com/jeremie-koenig/genext2fs") (synopsis "Generate ext2 filesystem as a normal user") (description "This package provides a program to general an ext2 |