diff options
Diffstat (limited to 'gnu/packages/linux.scm')
-rw-r--r-- | gnu/packages/linux.scm | 343 |
1 files changed, 270 insertions, 73 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index dbe7651001..e062d0cc37 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -28,11 +28,12 @@ ;;; Copyright © 2017 nee <nee-git@hidamari.blue> ;;; Copyright © 2017 Dave Love <fx@gnu.org> ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr> -;;; Copyright © 2018 Brendan Tildesley <brendan.tildesley@openmailbox.org> +;;; Copyright © 2018 Brendan Tildesley <mail@brendan.scot> ;;; Copyright © 2018 Manuel Graf <graf@init.at> ;;; 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> ;;; ;;; This file is part of GNU Guix. ;;; @@ -77,6 +78,7 @@ #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) + #:use-module (gnu packages golang) #:use-module (gnu packages gperf) #:use-module (gnu packages gtk) #:use-module (gnu packages libunwind) @@ -116,6 +118,7 @@ #:use-module (gnu packages swig) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system go) #:use-module (guix build-system python) #:use-module (guix build-system trivial) #:use-module (guix build-system linux-module) @@ -423,10 +426,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 "5.0.11") -(define %linux-libre-hash "09xnaz2ybicl4qb7gixcd5l16jasqih98r3xg5amqnqjjhxx5hrj") +(define %linux-libre-version "5.1.4") +(define %linux-libre-hash "02pzad29w2apcqsk4r4fq93539z3by8kvk1f59lb8xnl0gvhdi5v") -(define %linux-libre-5.0-patches +(define %linux-libre-5.1-patches (list %boot-logo-patch %linux-libre-arm-export-__sync_icache_dcache-patch)) @@ -434,33 +437,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-5.0-patches + #:patches %linux-libre-5.1-patches #:configuration-file kernel-config)) -(define-public vhba-module - (package - (name "vhba-module") - (version "20170610") - (source (origin - (method url-fetch) - (uri (string-append - "http://downloads.sourceforge.net/cdemu/vhba-module-" - version ".tar.bz2")) - (sha256 - (base32 - "1v6r0bgx0a65vlh36b1l2965xybngbpga6rp54k4z74xk0zwjw3r")))) - (build-system linux-module-build-system) - (arguments - ;; TODO: No tests? - `(#:tests? #f)) - (home-page "https://cdemu.sourceforge.io/") - (synopsis "Kernel module that emulates SCSI devices") - (description "VHBA module provides a Virtual (SCSI) HBA, which is the link -between the CDemu userspace daemon and linux kernel.") - (license license:gpl2+))) - -(define %linux-libre-4.19-version "4.19.38") -(define %linux-libre-4.19-hash "1z4gy5qsc7gvk6rfyij3xp46g53ll4gmb9sgzbfjgm9zkf0sszy3") +(define %linux-libre-4.19-version "4.19.45") +(define %linux-libre-4.19-hash "1wiy8vzpzzml4k76nv3ycjx7ky55x7dqx3mgpjqbh73mj2gcr5bx") (define %linux-libre-4.19-patches (list %boot-logo-patch @@ -473,8 +454,8 @@ between the CDemu userspace daemon and linux kernel.") #:patches %linux-libre-4.19-patches #:configuration-file kernel-config)) -(define %linux-libre-4.14-version "4.14.115") -(define %linux-libre-4.14-hash "0p848q0zmcpx7fnql6ygwx48szv70nr50p8w8f8ji1apbl1xxjvm") +(define %linux-libre-4.14-version "4.14.121") +(define %linux-libre-4.14-hash "1g7gyjmp056pasf9m34dqs8pa15my6hqasdd551jw8mgkbhsfnxg") (define-public linux-libre-4.14 (make-linux-libre %linux-libre-4.14-version @@ -483,14 +464,14 @@ between the CDemu userspace daemon and linux kernel.") #:configuration-file kernel-config)) (define-public linux-libre-4.9 - (make-linux-libre "4.9.172" - "1r4s1lb262r63jjxb4ff13sljmk7y49qc6ypyma2r5apql8hpsmc" + (make-linux-libre "4.9.178" + "1ridlkymf382qnkc6hi07pkghrrxfv2avx55snjnkfcpdccvsmrb" '("x86_64-linux" "i686-linux") #:configuration-file kernel-config)) (define-public linux-libre-4.4 - (make-linux-libre "4.4.179" - "025jl50sgi3bxj8hxlihqyfshmfphrg6z3cfi043qwkc8sbdy3af" + (make-linux-libre "4.4.180" + "157kfs4slii86q9yrspvqdynpiv6rff80hrrn569v6h4nkc4b7ag" '("x86_64-linux" "i686-linux") #:configuration-file kernel-config #:extra-options @@ -504,7 +485,7 @@ between the CDemu userspace daemon and linux kernel.") (make-linux-libre %linux-libre-version %linux-libre-hash '("armhf-linux") - #:patches %linux-libre-5.0-patches + #:patches %linux-libre-5.1-patches #:defconfig "multi_v7_defconfig" #:extra-version "arm-generic")) @@ -512,7 +493,7 @@ between the CDemu userspace daemon and linux kernel.") (make-linux-libre %linux-libre-version %linux-libre-hash '("armhf-linux") - #:patches %linux-libre-5.0-patches + #:patches %linux-libre-5.1-patches #:configuration-file kernel-config-veyron #:extra-version "arm-veyron")) @@ -535,7 +516,7 @@ between the CDemu userspace daemon and linux kernel.") (make-linux-libre %linux-libre-version %linux-libre-hash '("armhf-linux") - #:patches %linux-libre-5.0-patches + #:patches %linux-libre-5.1-patches #:defconfig "omap2plus_defconfig" #:extra-version "arm-omap2plus")) @@ -554,6 +535,102 @@ between the CDemu userspace daemon and linux kernel.") #:defconfig "omap2plus_defconfig" #:extra-version "arm-omap2plus")) +(define-public vhba-module + (package + (name "vhba-module") + (version "20190410") + (source (origin + (method url-fetch) + (uri (string-append + "http://downloads.sourceforge.net/cdemu/vhba-module/vhba-module-" + version ".tar.bz2")) + (sha256 + (base32 + "1513hq130raxp9z5grj54cwfjfxj05apipxg425j0zicii59a60c")))) + (build-system linux-module-build-system) + (arguments + ;; TODO: No tests? + `(#:tests? #f)) + (home-page "https://cdemu.sourceforge.io/") + (synopsis "Kernel module that emulates SCSI devices") + (description "VHBA module provides a Virtual (SCSI) HBA, which is the link +between the CDemu userspace daemon and linux kernel.") + (license license:gpl2+))) + + +;;; +;;; Linux kernel modules. +;;; + +(define-public acpi-call-linux-module + (package + (name "acpi-call-linux-module") + (version "3.17") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/teleshoes/acpi_call.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "04mbv4lasm3vv1j4ndxhnz4hvp5wg8f5fc9q6qxv0nhvwjynmsl3")))) + (build-system linux-module-build-system) + (arguments + `(#:tests? #f ; no tests + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-for-linux-4.12 + (lambda _ + (substitute* "acpi_call.c" + (("asm/uaccess\\.h") + "linux/uaccess.h")) + #t)) + (add-after 'install 'install-documentation + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/" ,name "-" ,version))) + (for-each (lambda (file) + (let ((target (string-append doc "/" file))) + (mkdir-p (dirname target)) + (copy-recursively file target))) + (list "README.md" "examples")) + #t)))))) + (home-page "https://github.com/teleshoes/acpi_call") + (synopsis "Linux kernel module to perform ACPI method calls") + (description + "This simple Linux kernel module allows calls from user space to any +@acronym{ACPI, Advanced Configuration and Power Interface} method provided by +your computer's firmware, by writing to @file{/proc/acpi/call}. You can pass +any number of parameters of types @code{ACPI_INTEGER}, @code{ACPI_STRING}, +and @code{ACPI_BUFFER}. + +It grants direct and undocumented access to your hardware that may cause damage +and should be used with caution, especially on untested models.") + (license license:gpl3+))) ; see README.md (no licence headers) + +(define-public vhba-module + (package + (name "vhba-module") + (version "20190410") + (source (origin + (method url-fetch) + (uri (string-append + "http://downloads.sourceforge.net/cdemu/vhba-module/vhba-module-" + version ".tar.bz2")) + (sha256 + (base32 + "1513hq130raxp9z5grj54cwfjfxj05apipxg425j0zicii59a60c")))) + (build-system linux-module-build-system) + (arguments + ;; TODO: No tests? + `(#:tests? #f)) + (home-page "https://cdemu.sourceforge.io/") + (synopsis "Kernel module that emulates SCSI devices") + (description "VHBA module provides a Virtual (SCSI) HBA, which is the link +between the CDemu userspace daemon and linux kernel.") + (license license:gpl2+))) + ;;; ;;; Pluggable authentication modules (PAM). @@ -812,21 +889,49 @@ slabtop, and skill.") (define-public usbutils (package (name "usbutils") - (version "010") + (version "012") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/utils/usb/usbutils/" "usbutils-" version ".tar.xz")) (sha256 - (base32 - "06aag4jfgsfjxk563xsp9ik9nadihmasrr37a1gb0vwqni5kdiv1")))) + (base32 "0iiy0q7fzikavmdsjsb0sl9kp3gfh701qwyjjccvqh0qz4jlcqw8")))) (build-system gnu-build-system) + (outputs (list "out" "python")) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'bootstrap 'patch-bootstrap-scripts + (lambda _ + (substitute* "usbhid-dump/bootstrap" + (("/bin/bash") (which "bash"))) + + ;; Don't let autogen.sh run configure with bogus options & CFLAGS. + (substitute* "autogen.sh" + (("^\\./configure.*") "")) + #t)) + (add-after 'install 'separate-python-output + ;; Separating one Python script shaves more than 106 MiB from :out. + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (out:python (assoc-ref outputs "python"))) + (for-each (lambda (file) + (let ((old (string-append out "/" file)) + (new (string-append out:python "/" file))) + (mkdir-p (dirname new)) + (rename-file old new))) + (list "bin/lsusb.py")) + #t)))))) (inputs - `(("libusb" ,libusb) - ("eudev" ,eudev))) + `(("eudev" ,eudev) + ("libusb" ,libusb) + ("python" ,python))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) (home-page "http://www.linux-usb.org/") (synopsis "Tools for working with USB devices, such as lsusb") @@ -1017,7 +1122,7 @@ Zerofree requires the file system to be unmounted or mounted read-only.") (define-public strace (package (name "strace") - (version "5.0") + (version "5.1") (home-page "https://strace.io") (source (origin (method url-fetch) @@ -1025,7 +1130,7 @@ Zerofree requires the file system to be unmounted or mounted read-only.") "/strace-" version ".tar.xz")) (sha256 (base32 - "1nj7wvsdmhpp53yffj1pnrkjn96mxrbcraa6h03wc7dqn9zdfyiv")))) + "12wsga1v3rab24gr0mpfip7j7gwr90m8f9h6fviqxa3xgnwl38zm")))) (build-system gnu-build-system) (arguments '(#:phases @@ -1305,7 +1410,7 @@ that the Ethernet protocol is much simpler than the IP protocol.") (define-public iproute (package (name "iproute2") - (version "5.0.0") + (version "5.1.0") (source (origin (method url-fetch) (uri (string-append @@ -1313,7 +1418,7 @@ that the Ethernet protocol is much simpler than the IP protocol.") version ".tar.xz")) (sha256 (base32 - "1fi03lb8dqr8hq633gcqsf6228vsvysxms075j1yyl4nlc17616z")))) + "1kvvrz5mlpjxqcm7vl6i8w6l1cb2amp6p5xyq006pgzafc49hnnw")))) (build-system gnu-build-system) (arguments `( ;; There is a test suite, but it wants network namespaces and sudo. @@ -1483,8 +1588,8 @@ Linux-based operating systems.") (source (origin (method url-fetch) - (uri (string-append "https://www.kernel.org/pub/linux/utils/net/" - "bridge-utils/bridge-utils-" version ".tar.xz")) + (uri (string-append "mirror://kernel.org/linux/utils/net/bridge-utils/" + "bridge-utils-" version ".tar.xz")) (sha256 (base32 "1j16kr44csyr4yqxly26l1yw2bh4nkiasgwvask2i2gvsnsyyryc")))) (build-system gnu-build-system) @@ -2956,10 +3061,8 @@ also contains the libsysfs library.") (source (origin (method url-fetch) - (uri - (string-append - "https://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufrequtils-" - version ".tar.gz")) + (uri (string-append "mirror://kernel.org/linux/utils/kernel/cpufreq/" + "cpufrequtils-" version ".tar.gz")) (sha256 (base32 "0qfqv7nqmjfr3p0bwrdlxkiqwqr7vmx053cadaa548ybqbghxmvm")) (patches (search-patches "cpufrequtils-fix-aclocal.patch")))) @@ -3238,8 +3341,8 @@ applications.") (version "1.3") (source (origin (method url-fetch) - (uri (string-append "https://www.kernel.org/pub/linux/bluetooth/" - name "-" version ".tar.xz")) + (uri (string-append "mirror://kernel.org/linux/bluetooth/sbc-" + version ".tar.xz")) (sha256 (base32 "02ckd2z51z0h85qgv7x8vv8ybp5czm9if1z78411j53gaz7j4476")))) @@ -3421,7 +3524,7 @@ and copy/paste text in the console and in xterm.") (define-public btrfs-progs (package (name "btrfs-progs") - (version "4.20.2") + (version "5.1") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/kernel/" @@ -3429,7 +3532,7 @@ and copy/paste text in the console and in xterm.") "btrfs-progs-v" version ".tar.xz")) (sha256 (base32 - "0z0fm3j4ajzsf445381ra8r3zzciyyvfh8vvbjmbyarg2rz8n3w9")))) + "0dgh56pamav8wb9nmabjwdlpcazvqc9pgzwablxn77mqh0qrhkaq")))) (build-system gnu-build-system) (outputs '("out" "static")) ; static versions of the binaries in "out" @@ -3667,6 +3770,68 @@ other @code{hwmon} driver that enables temperature reading and fan control from userspace.") (license license:gpl3+))) +(define-public tpacpi-bat + (package + (name "tpacpi-bat") + (version "3.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/teleshoes/tpacpi-bat.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0wbaz34z99gqx721alh5vmpxpj2yxg3x9m8jqyivfi1wfpwc2nd5")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no test target + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'refer-to-inputs + (lambda _ + (substitute* "tpacpi-bat" + (("cat ") + (format "~a " (which "cat"))) + ;; tpacpi-bat modprobes the acpi_call kernel module if it's not + ;; loaded. That's the administrator's prerogative; disable it. + (("system \"(modprobe .*)\"" _ match) + (format "die \"Please run ‘~a’ first.\\n\"" match))) + #t)) + (delete 'configure) ; nothing to configure + (delete 'build) ; nothing to build + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (doc (string-append out "/share/doc/" ,name "-" ,version))) + (install-file "tpacpi-bat" bin) + + ;; There's no man page. Install other forms of documentation. + (for-each (lambda (file) + (let ((target (string-append doc "/" file))) + (mkdir-p (dirname target)) + (copy-recursively file target))) + (list "battery_asl" "examples" "README.md")) + #t)))))) + (inputs + `(("perl" ,perl))) + (home-page "https://github.com/teleshoes/tpacpi-bat") + (synopsis "ThinkPad battery charge controller") + (description + "Tpacpi-bat is a command-line interface to control battery charging on +@uref{https://github.com/teleshoes/tpacpi-bat/wiki/Supported-Hardware, Lenovo +ThinkPad models released after 2011}, starting with the xx20 series. It can +query and set the thresholds at which one or both batteries will start and stop +charging, inhibit charging batteries for a set period of time, or force them to +discharge when they otherwise would not. + +This tool merely exposes ACPI calls provided by the @code{acpi_call} Linux +kernel module provided by the @code{acpi-call-linux-module} package, which must +be installed and loaded separately. Only the original vendor firmware is +supported.") + (license license:gpl3+))) + (define-public ntfs-3g (package (name "ntfs-3g") @@ -4398,7 +4563,7 @@ interface in sysfs, which can be accomplished with the included udev rules.") (define-public tlp (package (name "tlp") - (version "1.2.1") + (version "1.2.2") (source (origin (method url-fetch) (uri (string-append @@ -4408,7 +4573,7 @@ interface in sysfs, which can be accomplished with the included udev rules.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0rcp9i0fisdm4h6799ffr696l1vl661fnwb2dij268nlwwmkr90g")))) + "059kxrpxx580mm6p0z2a421nxngszyh4yqqhbgvn04b6a7dbsa2w")))) (inputs `(("bash" ,bash) ("dbus" ,dbus) ("ethtool" ,ethtool) @@ -4442,6 +4607,8 @@ interface in sysfs, which can be accomplished with the included udev rules.") (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_ELOD" + (string-append out "/lib/elogind/system-sleep")) (setenv "TLP_SHCPL" (string-append out "/share/bash-completion/completions")) (setenv "TLP_MAN" (string-append out "/share/man")) @@ -4451,7 +4618,9 @@ interface in sysfs, which can be accomplished with the included udev rules.") (add-before 'install 'fix-installation (lambda _ ;; Stop the Makefile from trying to create system directories. - (substitute* "Makefile" (("\\[ -f \\$\\(_CONF\\) \\]") "#")) + (substitute* "Makefile" + (("\\[ -f \\$\\(_CONF\\) \\]") "#") + (("install -d -m 755 \\$\\(_VAR\\)") "#")) #t)) (replace 'install (lambda _ @@ -4608,15 +4777,16 @@ userspace queueing component and the logging subsystem.") (package (name "proot") (version "5.1.0") - (home-page "https://github.com/proot-me/PRoot") - (source (origin - (method url-fetch) - (uri (string-append home-page "/archive/v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "11h30i83vdhc3khlj6hrh3a21sbmmz8nhfv09vkf6b9bcs1biz2h")) - (patches (search-patches "proot-test-fhs.patch")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/proot-me/PRoot.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0azsqis99gxldmbcg43girch85ysg4hwzf0h1b44bmapnsm89fbz")) + (patches (search-patches "proot-test-fhs.patch")))) (build-system gnu-build-system) (arguments '(#:make-flags '("-C" "src") @@ -4693,6 +4863,7 @@ userspace queueing component and the logging subsystem.") ;; For 'mcookie', used by some of the tests. ("util-linux" ,util-linux))) (inputs `(("talloc" ,talloc))) + (home-page "https://github.com/proot-me/PRoot") (synopsis "Unprivileged chroot, bind mount, and binfmt_misc") (description "PRoot is a user-space implementation of @code{chroot}, @code{mount --bind}, @@ -5033,7 +5204,7 @@ interface to this kernel feature.") (define-public mbpfan (package (name "mbpfan") - (version "2.1.0") + (version "2.1.1") (source (origin (method git-fetch) @@ -5042,8 +5213,7 @@ interface to this kernel feature.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "1gysq778rkl6dvvj9a1swxcl15wvz0bng5bn4nwq118cl8p8pask")))) + (base32 "0aijyxrqh01x0s80yr4cgxgd001iiqqph65pxvby7f0wz8lnxnqj")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; tests ask to be run as root @@ -5185,6 +5355,33 @@ nfnetlink_queue, nfnetlink_conntrack) and their respective users and/or management tools in userspace.") (license license:gpl2))) +(define-public go-netlink + (package + (name "go-netlink") + (version "1.0.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vishvananda/netlink.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0hpzghf1a4cwawzhkiwdzin80h6hd09fskl77d5ppgc084yvj8x0")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/vishvananda/netlink")) + (native-inputs + `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix) + ("go-netns" ,go-netns))) + (home-page "https://github.com/vishvananda/netlink") + (synopsis "Simple netlink library for Go") + (description "The netlink package provides a simple netlink library for +Go. Netlink is the interface a user-space program in Linux uses to +communicate with the kernel. It can be used to add and remove interfaces, set +IP addresses and routes, and configure IPsec.") + (license license:asl2.0))) + (define-public xfsprogs (package (name "xfsprogs") |