summaryrefslogtreecommitdiff
path: root/gnu/packages/linux.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/linux.scm')
-rw-r--r--gnu/packages/linux.scm199
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"))