diff options
author | Efraim Flashner <efraim@flashner.co.il> | 2021-01-10 14:30:36 +0200 |
---|---|---|
committer | Efraim Flashner <efraim@flashner.co.il> | 2021-01-10 14:30:36 +0200 |
commit | 6985a1acb3e9cc4cad8b6f63d77154842d25c929 (patch) | |
tree | 4df49b9f438e0e466efb3d589027a62b39d49761 /gnu/packages/linux.scm | |
parent | 87eaa4207208e16e5e1b22b60ba4ff5c3d035023 (diff) | |
parent | d0fff8f840afc17be40bdc49bff52ed08d5a1a7b (diff) |
Merge branch 'master' into staging
Diffstat (limited to 'gnu/packages/linux.scm')
-rw-r--r-- | gnu/packages/linux.scm | 200 |
1 files changed, 182 insertions, 18 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 80b526d0b3..477dd05b11 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2015, 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> -;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016 Raymond Nicholson <rain1@openmailbox.org> ;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org> @@ -52,6 +52,7 @@ ;;; Copyright © 2020 Greg Hogan <code@greghogan.com> ;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com> ;;; Copyright © 2020 David Dashyan <mail@davie.li> +;;; Copyright © 2020 pukkamustard <pukkamustard@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -352,7 +353,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The current "stable" kernels. That is, the most recently released major ;; versions that are still supported upstream. -(define-public linux-libre-5.10-version "5.10.3") +(define-public linux-libre-5.10-version "5.10.6") (define deblob-scripts-5.10 (linux-libre-deblob-scripts linux-libre-5.10-version @@ -360,7 +361,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0hh27ccqimagr3aij7ygwikxw66y63sqwd0xlf49bhpjd090r9a7"))) (define-public linux-libre-5.10-pristine-source (let ((version linux-libre-5.10-version) - (hash (base32 "09cml495fnf52lhlkjxjznw34q5s8arvq7shkb6wjq6fwlrk65gr"))) + (hash (base32 "02v91afra3pcwfws74wxdsm8pfc57vws659b7j6jmsxm3hnd0rvp"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.10))) @@ -368,7 +369,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The "longterm" kernels — the older releases with long-term upstream support. ;; Here are the support timelines: ;; <https://www.kernel.org/category/releases.html> -(define-public linux-libre-5.4-version "5.4.85") +(define-public linux-libre-5.4-version "5.4.88") (define deblob-scripts-5.4 (linux-libre-deblob-scripts linux-libre-5.4-version @@ -376,12 +377,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1xghbbnaisjd0k1klbyn1p7r6r4x5a1bpmkm56a3gh2zvw4s7mj8"))) (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "0220k327aa7gg48fqw171mcng8h717c4a1v14r3q36ksirnmiqqx"))) + (hash (base32 "1ci432xanm7glgg05012kh43pfi4k771kzih0816y5674v0hg02b"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) -(define-public linux-libre-4.19-version "4.19.163") +(define-public linux-libre-4.19-version "4.19.166") (define deblob-scripts-4.19 (linux-libre-deblob-scripts linux-libre-4.19-version @@ -389,12 +390,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1jiaw0as1ippkrjdpd52657w5mz9qczg3y2hlra7m9k0xawwiqlf"))) (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "1z65iwwyx2b01fncygckmhpxirzs52qfqmv3agirn4laxgjw9viy"))) + (hash (base32 "03l86ykdjs5wa0n4wknpgy9dv2r6l92qfsyak373jkhs684z53mr"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.213") +(define-public linux-libre-4.14-version "4.14.214") (define deblob-scripts-4.14 (linux-libre-deblob-scripts linux-libre-4.14-version @@ -402,12 +403,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky"))) (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "079axkl14jp8lz30h21q4gmhmjw6zf5ycmxji65kgcgyg7dwwyzx"))) + (hash (base32 "07ir4yw7s5c6yb3gjbgjvcqqdgpbsjxrvapgh6zs22ffd8hrchpm"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) -(define-public linux-libre-4.9-version "4.9.249") +(define-public linux-libre-4.9-version "4.9.250") (define deblob-scripts-4.9 (linux-libre-deblob-scripts linux-libre-4.9-version @@ -415,12 +416,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2"))) (define-public linux-libre-4.9-pristine-source (let ((version linux-libre-4.9-version) - (hash (base32 "0kjcw0vgga9msgqnipgg028v3rcc5am2d094v3hqkkjvzyb8dwxi"))) + (hash (base32 "15vizxd2i2311skjank406ny3bc30c5rz2p9jvh5xz1yv12vzgcy"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.9))) -(define-public linux-libre-4.4-version "4.4.249") +(define-public linux-libre-4.4-version "4.4.250") (define deblob-scripts-4.4 (linux-libre-deblob-scripts linux-libre-4.4-version @@ -428,7 +429,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf"))) (define-public linux-libre-4.4-pristine-source (let ((version linux-libre-4.4-version) - (hash (base32 "04pb4vgia6zaindf6804gq9jn3mhmy01yijqmpi79sh9rlqzzh1i"))) + (hash (base32 "12m14j8654rawj2znkyhvcnwnf53x10zlghxd0mpl8dfzwvn2f5b"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.4))) @@ -903,7 +904,8 @@ It has been modified to remove all non-free binary blobs.") ("CONFIG_DEVPTS_MULTIPLE_INSTANCES" . #t)) %default-extra-linux-options))) -;; Linux-Libre-LTS means the *current* long-term support version of Linux-Libre. +;; Linux-Libre-LTS points to the *newest* released long-term support version of +;; Linux-Libre. ;; Reference: https://jxself.org/linux-libre/ (define-public linux-libre-lts-version linux-libre-5.10-version) @@ -2248,6 +2250,53 @@ IPv6 packet filter. Both commands are targeted at system administrators.") (license license:gpl2+))) +(define-public jitterentropy-rngd + (package + (name "jitterentropy-rngd") + (version "1.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/smuellerDD/jitterentropy-rngd") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1fb8zfwhwkl1d8n4cdn7rdv5rwd75qgc00d36pmkl7wgnj3c9xda")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no test suite + #:make-flags + (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" (assoc-ref %outputs "out")) + "UNITDIR=$(PREFIX)/lib/systemd/system") + #:phases + (modify-phases %standard-phases + (delete 'configure)))) ; no ./configure script + (home-page "https://www.chronox.de/jent.html") + (synopsis "CPU jitter random number generator daemon") + (description + "This simple daemon feeds entropy from the CPU Jitter @acronym{RNG, random +number generator} core to the kernel Linux's entropy estimator. This prevents +the @file{/dev/random} device from blocking and should benefit users of the +preferred @file{/dev/urandom} and @code{getrandom()} interfaces too. + +The CPU Jitter RNG itself is part of the kernel and claims to provide good +entropy by collecting and magnifying differences in CPU execution time as +measured by the high-resolution timer built into modern CPUs. It requires no +additional hardware or external entropy source. + +The random bit stream generated by @command{jitterentropy-rngd} is not processed +by a cryptographically secure whitening function. Nonetheless, its authors +believe it to be a suitable source of cryptographically secure key material or +other cryptographically sensitive data. + +If you agree with them, start this daemon as early as possible to provide +properly seeded random numbers to services like SSH or those using TLS during +early boot when entropy may be low, especially in virtualised environments.") + (license (list license:bsd-3 ; or + license:gpl2+)))) + (define-public lsscsi (package (name "lsscsi") @@ -3421,7 +3470,7 @@ devices that can inject events directly into the input subsystem.") (define-public lvm2 (package (name "lvm2") - (version "2.03.10") + (version "2.03.11") (source (origin (method url-fetch) (uri (list (string-append "https://sourceware.org/ftp/lvm2/LVM2." @@ -3430,7 +3479,7 @@ devices that can inject events directly into the input subsystem.") version ".tgz"))) (sha256 (base32 - "1l0fkn9abrgk5mfn6jfh9qhdr86b59l1c5pk6lp8jh0491d69las")) + "1m4xpda8vbyd89ca0w8nacvnl4j34yzsa625gn990fb5sh84ab44")) (modules '((guix build utils))) (snippet '(begin @@ -5321,6 +5370,92 @@ be installed and loaded separately. Only the original vendor firmware is supported.") (license license:gpl3+))) +(define-public tmon + (package + (name "tmon") + ;; Tmon's ‘VERSION = 1.0’ hasn't been touched since 2013; the code has. + (version (package-version linux-libre)) + (source (package-source linux-libre)) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no test suite + #:make-flags + (list (string-append "CC=" ,(cc-for-target)) + (string-append "INSTALL_ROOT=" (assoc-ref %outputs "out")) + "BINDIR=bin") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'enter-subdirectory + (lambda _ + (chdir "tools/thermal/tmon") + #t)) + (add-after 'install 'install-man-page + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (man8 (string-append out "/share/man/man8"))) + (install-file "tmon.8" man8) + #t))) + (delete 'configure)))) ; no configure script + (inputs + `(("ncurses" ,ncurses))) + (home-page (package-home-page linux-libre)) + (synopsis "Monitor and test the Linux thermal subsystem in real time") + (description + "Tmon is a tool to interact with the complex thermal subsystem of the +kernel Linux. It helps visualize thermal relationships and real-time thermal +data, tune and test cooling devices and sensors, and collect thermal data for +further analysis. + +As computers become smaller and more thermally constrained, more sensors are +added and new cooling capabilities introduced. Thermal relationships can change +dynamically. Their complexity grows exponentially among cooling devices, zones, +sensors, and trip points. + +Linux exposes this relationship through @file{/sys/class/thermal} with a matrix +of symbolic links, trip point bindings, and device instances. To traverse it +by hand is no trivial task: @command{tmon} aims to make it understandable.") + (license (list license:gpl2 ; the man page + license:gpl2+)))) ; the actual rest + +(define-public turbostat + (package + (name "turbostat") + ;; XXX turbostat reports a version like ‘20.09.30’ but using it here would + ;; make it harder to benefit from ‘free’ linux-libre package updates. + (version (package-version linux-libre)) + (source (package-source linux-libre)) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no test suite + #:make-flags + (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'enter-subdirectory + (lambda _ + (chdir "tools/power/x86/turbostat") + #t)) + (delete 'configure)))) ; no configure script + (inputs + `(("libcap" ,libcap))) + (supported-systems '("i686-linux" "x86_64-linux")) + (home-page (package-home-page linux-libre)) + (synopsis "Report x86 processor frequency and idle statistics") + (description + "Turbostat reports x86 processor topology, frequency, idle power state +statistics, temperature, and power consumption. Some information is unavailable +on older processors. + +It can be used to identify machines that are inefficient in terms of power usage +or idle time, report the rate of @acronym{SMI, system management interrupt}s +occurring on the system, or verify the effects of power management tuning. + +@command{turbostat} reads hardware counters but doesn't write to them, so it +won't interfere with the OS or other running processes---including multiple +invocations of itself.") + (license license:gpl2))) + (define-public ntfs-3g (package (name "ntfs-3g") @@ -7304,7 +7439,7 @@ of Linux application development.") (package (inherit pipewire) (name "pipewire") - (version "0.3.13") + (version "0.3.18") (source (origin (method git-fetch) (uri (git-reference @@ -7313,7 +7448,7 @@ of Linux application development.") (file-name (git-file-name name version)) (sha256 (base32 - "19j5kmb7iaivkq2agfzncfm2qms41ckqi0ddxvhpc91ihwprdc5w")))) + "1yghhgs18yqrnd0b2r75l5n8yng962r1wszbsi01v6i9zib3jc9g")))) (arguments '(#:configure-flags (list (string-append "-Dudevrulesdir=" (assoc-ref %outputs "out") @@ -7723,3 +7858,32 @@ helpers to setup and teardown io_uring instances, and also a simplified interface for applications that don't need (or want) to deal with the full kernel side implementation.") (license license:expat))) + +(define-public erofs-utils + (package + (name "erofs-utils") + (version "1.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "07hvijq2hsn3gg1kb8abrfk23n83j57yx8kyv4wqgwhhvd30myjc")))) + (build-system gnu-build-system) + (inputs + `(("lz4" ,lz4) + ("libuuid" ,util-linux "lib"))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (home-page "https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/") + (synopsis "User-space tools for EROFS filesystem") + (description "EROFS (Enhanced Read-Only File System) is a compressed, +read-only filesystem optimized for resource-scarce devices. This package +provides user-space tools for creating EROFS filesystems.") + (license license:gpl2+))) |