diff options
Diffstat (limited to 'gnu/packages/linux.scm')
-rw-r--r-- | gnu/packages/linux.scm | 199 |
1 files changed, 135 insertions, 64 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 0fb10e3f1d..b3f46c0305 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016 Raymond Nicholson <rain1@openmailbox.org> ;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org> -;;; Copyright © 2016, 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2016, 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2016 John Darrington <jmd@gnu.org> @@ -33,7 +33,7 @@ ;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com> ;;; Copyright © 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de> -;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2019 Stefan Stefanović <stefanx2ovic@gmail.com> ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2019 Brice Waegeneire <brice@waegenei.re> @@ -86,6 +86,8 @@ #:use-module (gnu packages gperf) #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) + #:use-module (gnu packages haskell-apps) + #:use-module (gnu packages haskell-xyz) #:use-module (gnu packages libunwind) #:use-module (gnu packages libusb) #:use-module (gnu packages man) @@ -188,33 +190,33 @@ defconfig. Return the appropriate make target if applicable, otherwise return (define deblob-scripts-5.4 (linux-libre-deblob-scripts - "5.4.4" + "5.4.14" (base32 "0ckxn7k5zgcqk30dq943bnamr6a6zjbw2aqjl3x30f4kvh5f6k25") - (base32 "09hy3jqb8lny861pxjbjvzg90imi8p7z10j14xp0rclxmyb81rk3"))) + (base32 "121px6030s89jh975sw0whwq315al6px1s7ildz3asql97bjdgc8"))) (define deblob-scripts-4.19 (linux-libre-deblob-scripts - "4.19.90" + "4.19.98" (base32 "02zs405awaxydbapka4nz8h6lmnc0dahgczqsrs5s2bmzjyyqkcy") - (base32 "0xpcl6pd1280gm81bivz45dfhy6v16j0hghxhjynmcbasgnx8vpd"))) + (base32 "1w2wgxblpq09i33qmqgw5v3r5rm9vkkygr6m0sgv4zgczk9s29wr"))) (define deblob-scripts-4.14 (linux-libre-deblob-scripts - "4.14.159" + "4.14.167" (base32 "091jk9jkn9jf39bxpc7395bhcb7p96nkg3a8047380ki06lnfxh6") - (base32 "0yd0c3qxk5rm686j4kd5v4zppjj3k9ivqnv46z4p3xh1gqmhv7cz"))) + (base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky"))) (define deblob-scripts-4.9 (linux-libre-deblob-scripts - "4.9.206" + "4.9.211" (base32 "1wvldzlv7q2xdbadas87dh593nxr4a8p5n0f8zpm72lja6w18hmg") - (base32 "0is8gn4qdd7h5l6lacvhqdch26lmrbgxfm8ab7fx8n85ha7y358w"))) + (base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2"))) (define deblob-scripts-4.4 (linux-libre-deblob-scripts - "4.4.206" + "4.4.211" (base32 "0x2j1i88am54ih2mk7gyl79g25l9zz4r08xhl482l3fvjj2irwbw") - (base32 "12ac4g3ky8yma8sylmxvvysqvd4hnaqjiwmxrxb6wlxggfd7zkbx"))) + (base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf"))) (define* (computed-origin-method gexp-promise hash-algo hash #:optional (name "source") @@ -356,42 +358,42 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." "linux-" version ".tar.xz")) (sha256 hash))) -(define-public linux-libre-5.4-version "5.4.13") +(define-public linux-libre-5.4-version "5.4.17") (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "1mva73ywb2r5lrmzp5m7hyy0zpgxdg91nw42c1z1sz3ydpcjkys9"))) + (hash (base32 "1fbl5knf6pini9lsx8mqkdmf3qbsydqvaxggh6nd1vk9mzv2npwl"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) -(define-public linux-libre-4.19-version "4.19.97") +(define-public linux-libre-4.19-version "4.19.101") (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "1nln2ksfm0ddkqdmhvxwzqq96av1myx89kr1wxs54m2yw0la7clg"))) + (hash (base32 "1i4bkwankl5q95kgqmmyzdkwmf3b8ppkb8ild9bw12mkpmm1a9my"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.166") +(define-public linux-libre-4.14-version "4.14.169") (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "003wax7dsahlv1iv9yqhkjbxx20crmwyd9464cx974i03a0vzclb"))) + (hash (base32 "0jc24zvqz3vsv65xxcivzkj6nv27vsy62l50n2h1ysy5jdwsk3nq"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) -(define-public linux-libre-4.9-version "4.9.210") +(define-public linux-libre-4.9-version "4.9.212") (define-public linux-libre-4.9-pristine-source (let ((version linux-libre-4.9-version) - (hash (base32 "04skcbbp1yv54hwipa1pjx04lb21013r0lh2swycq0kdhc1m54d0"))) + (hash (base32 "0c5yjilaq86j6i2hzlxbp2ia7jhnf7kv952ffv7jxdf90sk3irxd"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.9))) -(define-public linux-libre-4.4-version "4.4.210") +(define-public linux-libre-4.4-version "4.4.212") (define-public linux-libre-4.4-pristine-source (let ((version linux-libre-4.4-version) - (hash (base32 "1pg754s3138d2lq5y2zd1z7dagdy8pl4ifmp0754sa1rkjd3h0ns"))) + (hash (base32 "0mx3qyj6w6h7gw7drsfsgl4iyz1695sjnf9hqh4kczci48kw5rj7"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.4))) @@ -779,7 +781,7 @@ It has been modified to remove all non-free binary blobs.") (define-public linux-libre-5.4 (make-linux-libre* linux-libre-5.4-version linux-libre-5.4-source - '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux") + '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux") #:configuration-file kernel-config)) (define-public linux-libre-version linux-libre-5.4-version) @@ -871,6 +873,12 @@ It has been modified to remove all non-free binary blobs.") #:defconfig "omap2plus_defconfig" #:extra-version "arm-omap2plus")) +(define-public linux-libre-riscv64-generic + (make-linux-libre* linux-libre-version + linux-libre-source + '("riscv64-linux") + #:extra-version "riscv64-generic")) + ;;; ;;; Linux kernel modules. @@ -1823,7 +1831,7 @@ that the Ethernet protocol is much simpler than the IP protocol.") (define-public iproute (package (name "iproute2") - (version "5.3.0") + (version "5.5.0") (source (origin (method url-fetch) (uri (string-append @@ -1831,7 +1839,7 @@ that the Ethernet protocol is much simpler than the IP protocol.") version ".tar.xz")) (sha256 (base32 - "0gvv269wjn4279hxr5zzwsk2c5qgswr47za3hm1x4frsk52iw76b")))) + "0ywg70f98wgfai35jl47xzpjp45a6n7crja4vc8ql85cbi1l7ids")))) (build-system gnu-build-system) (arguments `( ;; There is a test suite, but it wants network namespaces and sudo. @@ -2710,6 +2718,50 @@ kmod. The aim is to be compatible with tools, configurations and indices from the module-init-tools project.") (license license:gpl2+))) ; library under lgpl2.1+ +(define-public earlyoom + (package + (name "earlyoom") + (version "1.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rfjakob/earlyoom.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0fwbx0y80nqgkxrc9kf9j3iwa0wbps2jmqir3pgqbc2cj0wjh0lr")))) + (build-system gnu-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (delete 'configure) + (add-before 'check 'set-home + (lambda _ + (setenv "HOME" (getcwd)) + #t)) + (add-after 'build 'install-contribs + ;; Install what seems useful from the contrib directory. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (contrib (string-append + out "/share/earlyoom/contrib"))) + (install-file "contrib/notify_all_users.py" contrib) + #t)))) + #:make-flags (let* ((prefix (assoc-ref %outputs "out"))) + (list "CC=gcc" + (string-append "VERSION=v" ,version) + (string-append "PREFIX=" prefix) + (string-append "SYSCONFDIR=" prefix "/etc"))) + #:test-target "test")) + (native-inputs `(("go" ,go) ;for the test suite + ("pandoc" ,ghc-pandoc))) ;to generate the manpage + (home-page "https://github.com/rfjakob/earlyoom") + (synopsis "Simple out of memory (OOM) daemon for the Linux kernel") + (description "Early OOM is a minimalist out of memory (OOM) daemon that +runs in user space and provides a more responsive and configurable alternative +to the in-kernel OOM killer.") + (license license:expat))) + (define-public eudev ;; The post-systemd fork, maintained by Gentoo. (package @@ -5129,6 +5181,21 @@ monitoring tools for Linux. These include @code{mpstat}, @code{iostat}, (base32 "0zrjipd392bzjvxx0rjrb0cgi0ix1d83fwgw1mcy8kc4d16cgyjg")) (file-name (git-file-name name version)))) (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-udev-rules-absolute-path-bins + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "90-backlight.rules" + (("/bin/chgrp") (which "chgrp")) + (("/bin/chmod") (which "chmod"))) + #t)) + (add-after 'install 'install-udev-rules + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (install-file + "90-backlight.rules" (string-append out "/lib/udev/rules.d")) + #t)))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake))) @@ -5191,42 +5258,46 @@ interface in sysfs, which can be accomplished with the included udev rules.") (define-public tlp (package (name "tlp") - (version "1.2.2") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/linrunner/" - (string-upcase name) - "/archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "059kxrpxx580mm6p0z2a421nxngszyh4yqqhbgvn04b6a7dbsa2w")))) - (inputs `(("bash" ,bash) - ("dbus" ,dbus) - ("ethtool" ,ethtool) - ("eudev" ,eudev) - ("grep" ,grep) - ("hdparm" ,hdparm) - ("inetutils" ,inetutils) - ("iw" ,iw) - ("kmod" ,kmod) - ("pciutils" ,pciutils) - ("perl" ,perl) - ("rfkill" ,rfkill) - ("sed" ,sed) - ("usbutils" ,usbutils) - ("util-linux" ,util-linux) - ("wireless-tools" ,wireless-tools) - ,@(if (let ((system (or (%current-target-system) - (%current-system)))) - (or (string-prefix? "i686-" system) - (string-prefix? "x86_64-" system))) - `(("x86-energy-perf-policy" ,x86-energy-perf-policy)) - '()))) + (version "1.3.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/linrunner/TLP/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "169k3xypq5rq0xiggrlpr73yr2r2x7b2d9vcr9ac96qrgph7sk7r")))) + (native-inputs + `(("shellcheck" ,shellcheck))) + (inputs + `(("bash" ,bash) + ("dbus" ,dbus) + ("ethtool" ,ethtool) + ("eudev" ,eudev) + ("grep" ,grep) + ("hdparm" ,hdparm) + ("inetutils" ,inetutils) + ("iw" ,iw) + ("kmod" ,kmod) + ("pciutils" ,pciutils) + ("perl" ,perl) + ("rfkill" ,rfkill) + ("sed" ,sed) + ("usbutils" ,usbutils) + ("util-linux" ,util-linux) + ("wireless-tools" ,wireless-tools) + ,@(if (let ((system (or (%current-target-system) + (%current-system)))) + (or (string-prefix? "i686-" system) + (string-prefix? "x86_64-" system))) + `(("x86-energy-perf-policy" ,x86-energy-perf-policy)) + '()))) (build-system gnu-build-system) (arguments - `(#:modules ((guix build gnu-build-system) + ;; XXX: The full test suite is run with "checkall" but it requires + ;; "checkbashisms" and "perlcritic", not yet packaged in Guix. + `(#:test-target "shellcheck" + #:modules ((guix build gnu-build-system) (guix build utils) (srfi srfi-1)) #:phases @@ -5243,7 +5314,9 @@ interface in sysfs, which can be accomplished with the included udev rules.") (setenv "TLP_TLIB" (string-append out "/share/tlp")) (setenv "TLP_FLIB" (string-append out "/share/tlp/func.d")) (setenv "TLP_ULIB" (string-append out "/lib/udev")) - (setenv "TLP_CONF" "/etc/tlp") + (setenv "TLP_CONFDEF" + (string-append out "/share/tlp/defaults.conf")) + (setenv "TLP_CONFDIR" (string-append out "/etc/tlp.d")) (setenv "TLP_ELOD" (string-append out "/lib/elogind/system-sleep")) (setenv "TLP_SHCPL" @@ -5251,17 +5324,15 @@ interface in sysfs, which can be accomplished with the included udev rules.") (setenv "TLP_MAN" (string-append out "/share/man")) (setenv "TLP_META" (string-append out "/share/metainfo")) #t))) - (delete 'check) ; no tests (add-before 'install 'fix-installation (lambda _ ;; Stop the Makefile from trying to create system directories. (substitute* "Makefile" - (("\\[ -f \\$\\(_CONF\\) \\]") "#") + (("\\[ -f \\$\\(_CONFUSR\\) \\]") "#") (("install -d -m 755 \\$\\(_VAR\\)") "#")) #t)) (replace 'install - (lambda _ - (invoke "make" "install-tlp" "install-man"))) + (lambda _ (invoke "make" "install-tlp" "install-man-tlp"))) (add-after 'install 'wrap (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((bin (string-append (assoc-ref outputs "out") "/bin")) |