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.scm256
1 files changed, 222 insertions, 34 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index fde516e228..f9b8810b06 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -5,7 +5,7 @@
;;; Copyright © 2014, 2015, 2016, 2017 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
-;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
@@ -17,8 +17,12 @@
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
+;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
;;; Copyright © 2016 ng0 <ng0@libertad.pw>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.com>
+;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
+;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -43,6 +47,7 @@
#:use-module (gnu packages attr)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
+ #:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages calendar)
#:use-module (gnu packages check)
@@ -61,8 +66,10 @@
#:use-module (gnu packages gperf)
#:use-module (gnu packages gtk)
#:use-module (gnu packages libusb)
+ #:use-module (gnu packages man)
#:use-module (gnu packages maths)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages networking)
#:use-module (gnu packages perl)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages pkg-config)
@@ -102,6 +109,13 @@
((string-prefix? "aarch64" arch) "arm64")
(else arch))))
+(define-public (system->defconfig system)
+ "Some systems (notably powerpc-linux) require a special target for kernel
+defconfig. Return the appropiate make target if applicable, otherwise return
+\"defconfig\"."
+ (cond ((string-prefix? "powerpc-" system) "pmac32_defconfig")
+ (else "defconfig")))
+
(define (linux-libre-urls version)
"Return a list of URLs for Linux-Libre VERSION."
(list (string-append
@@ -121,13 +135,13 @@
(define-public linux-libre-headers
(package
(name "linux-libre-headers")
- (version "4.4.18")
+ (version "4.4.47")
(source (origin
(method url-fetch)
(uri (linux-libre-urls version))
(sha256
(base32
- "0k8k17in7dkjd9d8zg3i8l1ax466dba6bxw28flxizzyq8znljps"))))
+ "00zdq7swhvzbbnnhzizq6m34q5k4fycpcp215bmkbxh1ic76v7bs"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl)))
(arguments
@@ -141,11 +155,13 @@
(lambda _
(let ((arch ,(system->linux-architecture
(or (%current-target-system)
- (%current-system)))))
+ (%current-system))))
+ (defconfig ,(system->defconfig
+ (or (%current-target-system)
+ (%current-system)))))
(setenv "ARCH" arch)
(format #t "`ARCH' set to `~a'~%" (getenv "ARCH"))
-
- (and (zero? (system* "make" "defconfig"))
+ (and (zero? (system* "make" defconfig))
(zero? (system* "make" "mrproper" "headers_check"))))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
@@ -332,28 +348,33 @@ It has been modified to remove all non-free binary blobs.")
(define %intel-compatible-systems '("x86_64-linux" "i686-linux"))
+(define %linux-libre-version "4.10")
+(define %linux-libre-hash "167zzgkivpqsp07did25wjqsswddzp3gifcdkq7xk00llxlmspla")
+
(define-public linux-libre
- (make-linux-libre "4.9.4"
- "12b2ncaan33zqj70qss7b4z3baxxrikb24j1hqc5rw9v8xlv8w6v"
+ (make-linux-libre %linux-libre-version
+ %linux-libre-hash
+ %intel-compatible-systems
+ #:configuration-file kernel-config))
+
+(define-public linux-libre-4.9
+ (make-linux-libre "4.9.11"
+ "1gypfg2984zr4z7hihnl3bbpxnk1mrqbynb6xd8ad2v2z04aw13q"
%intel-compatible-systems
#:configuration-file kernel-config))
(define-public linux-libre-4.4
- (make-linux-libre "4.4.43"
- "1q78sza4nxwjsnwyklvrnihi0vwd4v9gglh8lms8jrl06cdp1ivy"
+ (make-linux-libre "4.4.50"
+ "0c157kk0vgrb1fsyy4q3czqdg4npgql82n6p303afy8ylh2w6d3l"
%intel-compatible-systems
#:configuration-file kernel-config))
(define-public linux-libre-4.1
- (make-linux-libre "4.1.37"
- "0q79cxmrz0j5wh7z1dc103q6q6qf7rqgjl7ka8lvn4vl32pr0kq1"
+ (make-linux-libre "4.1.38"
+ "165kmzglhg63hn7y4q7r6cb2dpsljxiq1czvgyx0bkd1vd2bcvsa"
%intel-compatible-systems
#:configuration-file kernel-config))
-;; Avoid rebuilding kernel variants when there is a minor version bump.
-(define %linux-libre-version "4.9.4")
-(define %linux-libre-hash "12b2ncaan33zqj70qss7b4z3baxxrikb24j1hqc5rw9v8xlv8w6v")
-
(define-public linux-libre-arm-generic
(make-linux-libre %linux-libre-version
%linux-libre-hash
@@ -454,7 +475,7 @@ providing the system administrator with some help in common tasks.")
(define-public util-linux
(package
(name "util-linux")
- (version "2.28.1")
+ (version "2.29.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/utils/"
@@ -462,7 +483,7 @@ providing the system administrator with some help in common tasks.")
name "-" version ".tar.xz"))
(sha256
(base32
- "03xnaw3c7pavxvvh1vnimcr44hlhhf25whawiyv8dxsflfj4xkiy"))
+ "0kzmhb2swiqk402jp0y2jsx53l42d7z4xz3bzbn2zv1lp400dr0c"))
(patches (search-patches "util-linux-tests.patch"))
(modules '((guix build utils)))
(snippet
@@ -478,7 +499,7 @@ providing the system administrator with some help in common tasks.")
"static")) ; >2 MiB of static .a libraries
(arguments
`(#:configure-flags (list "--disable-use-tty-group"
-
+ "--enable-fs-paths-default=/run/current-system/profile/sbin"
;; Install completions where our
;; bash-completion package expects them.
(string-append "--with-bashcompletiondir="
@@ -1165,7 +1186,7 @@ advanced aspects of IP configuration (iptunnel, ipmaddr).")
(define-public libcap
(package
(name "libcap")
- (version "2.24")
+ (version "2.25")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1173,7 +1194,7 @@ advanced aspects of IP configuration (iptunnel, ipmaddr).")
"libcap2/libcap-" version ".tar.xz"))
(sha256
(base32
- "0rbc9qbqs5bp9am9s9g83wxj5k4ixps2agy9dxr1v1fwg27mdr6f"))))
+ "0qjiqc5pknaal57453nxcbz3mn1r4hkyywam41wfcglq3v2qlg39"))))
(build-system gnu-build-system)
(arguments '(#:phases
(modify-phases %standard-phases
@@ -1590,14 +1611,14 @@ system.")
(define-public kbd
(package
(name "kbd")
- (version "2.0.3")
+ (version "2.0.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/utils/kbd/kbd-"
version ".tar.xz"))
(sha256
(base32
- "0ppv953gn2zylcagr4z6zg5y2x93dxrml29plypg6xgbq3hrv2bs"))
+ "124swm93dm4ca0pifgkrand3r9gvj3019d4zkfxsj9djpvv0mnaz"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -1758,14 +1779,14 @@ time.")
(define-public lvm2
(package
(name "lvm2")
- (version "2.02.166")
+ (version "2.02.168")
(source (origin
(method url-fetch)
(uri (string-append "ftp://sources.redhat.com/pub/lvm2/releases/LVM2."
version ".tgz"))
(sha256
(base32
- "150v0mawd2swdvypcmkjd3h3s4n5i1220h6sxx94a8jvp1kb0871"))
+ "03b62hcsj9z37ckd8c21wwpm07s9zblq7grfh58yzcs1vp6x38r3"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -2465,7 +2486,7 @@ MPEG-2 and audio over Linux IEEE 1394.")
(define-public mdadm
(package
(name "mdadm")
- (version "3.4")
+ (version "4.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -2473,13 +2494,14 @@ MPEG-2 and audio over Linux IEEE 1394.")
version ".tar.xz"))
(sha256
(base32
- "0248v9f28mrbwabl94ck22gfim29sqhkf70wrpfi52nk4x3bxl17"))))
+ "1ad3mma641946wn5lsllwf0lifw9lps34fv1nnkhyfpd9krffshx"))))
(build-system gnu-build-system)
(inputs
`(("udev" ,eudev)))
(arguments
`(#:make-flags (let ((out (assoc-ref %outputs "out")))
- (list "INSTALL=install"
+ (list "CC=gcc"
+ "INSTALL=install"
"CHECK_RUN_DIR=0"
;; TODO: tell it where to find 'sendmail'
;; (string-append "MAILCMD=" <???> "/sbin/sendmail")
@@ -2656,7 +2678,7 @@ is flexible, efficient and uses a modular implementation.")
(define-public fuse-exfat
(package
(name "fuse-exfat")
- (version "1.2.5")
+ (version "1.2.6")
(source (origin
(method url-fetch)
(uri (string-append
@@ -2664,7 +2686,7 @@ is flexible, efficient and uses a modular implementation.")
version "/" name "-" version ".tar.gz"))
(sha256
(base32
- "1i0sh0s6wnm4dqxli3drva871wgbbm57qjf592vnswna9hc6bvim"))))
+ "1rvq4hapy2anal1vg1yidv4x8rg4iw5sxfwqixkw0q2qsxb54471"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -2723,7 +2745,7 @@ and copy/paste text in the console and in xterm.")
(define-public btrfs-progs
(package
(name "btrfs-progs")
- (version "4.9")
+ (version "4.9.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/kernel/"
@@ -2731,7 +2753,7 @@ and copy/paste text in the console and in xterm.")
"btrfs-progs-v" version ".tar.xz"))
(sha256
(base32
- "18y88avadn4wb3xmczd6pfcjr7ik62dw4phk6fmkms2j8vmvl9z2"))))
+ "1ppy2y9vypxw9awchari21yd3s2d7w2a9q3f4jq7dnjy5gyrnjj6"))))
(build-system gnu-build-system)
(outputs '("out"
"static")) ; static versions of binaries in "out" (~16MiB!)
@@ -2902,6 +2924,7 @@ from userspace.")
(base32
"180y5y09h30ryf2vim8j30a2npwz1iv9ly5yjmh3wjdkwh2jrdyp"))
(modules '((guix build utils)))
+ (patches (search-patches "ntfs-3g-CVE-2017-0358.patch"))
(snippet
;; Install under $prefix.
'(substitute* '("src/Makefile.in" "ntfsprogs/Makefile.in")
@@ -3116,14 +3139,14 @@ the default @code{nsswitch} and the experimental @code{umich_ldap}.")
(define-public mcelog
(package
(name "mcelog")
- (version "147")
+ (version "148")
(source (origin
(method url-fetch)
(uri (string-append "https://git.kernel.org/cgit/utils/cpu/mce/"
"mcelog.git/snapshot/v" version ".tar.gz"))
(sha256
(base32
- "10xxmqpd348ifbs7w8j0m53agp28r6imv237ha3kmhp632hmyf1d"))
+ "1d5g09ndfsnl56vyhb5xw0zxspnh0f937biw3agqhdfbvw40j9jr"))
(file-name (string-append name "-" version ".tar.gz"))
(modules '((guix build utils)))
(snippet
@@ -3362,3 +3385,168 @@ monitoring tools for Linux. These include @code{mpstat}, @code{iostat},
@code{tapestat}, @code{cifsiostat}, @code{pidstat}, @code{sar}, @code{sadc},
@code{sadf} and @code{sa}.")
(license license:gpl2+)))
+
+(define-public light
+ (package
+ (name "light")
+ (version "1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/haikarainen/" name
+ "/archive/v" version ".tar.gz"))
+ (sha256
+ (base32
+ "0r5gn6c0jcxknzybl6059dplxv46dpahchqq4gymrs7z8bp0hilp"))
+ (file-name (string-append name "-" version ".tar.gz"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:tests? #f ; no tests
+ #:make-flags (list "CC=gcc"
+ (string-append "PREFIX=" %output))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'patch-makefile
+ (lambda _
+ (substitute* "Makefile" (("chown") "#")))))))
+ (native-inputs
+ `(("help2man" ,help2man)))
+ (home-page "https://haikarainen.github.io/light")
+ (synopsis "GNU/Linux application to control backlights")
+ (description
+ "Light is a program to send commands to screen backlight controllers
+under GNU/Linux. Features include:
+
+@itemize
+@item It does not rely on X.
+@item Light can automatically figure out the best controller to use, making
+full use of underlying hardware.
+@item It is possible to set a minimum brightness value, as some controllers
+set the screen to be pitch black at a vaĺue of 0 (or higher).
+@end itemize
+
+Light is the successor of lightscript.")
+ (license license:gpl3+)))
+
+(define-public tlp
+ (package
+ (name "tlp")
+ (version "0.9")
+ (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
+ "0xksm8ar6dbq0azbfz8qs9yyzqg1j333lyd5znc074rz8inj4yw8"))))
+ (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)))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'setenv
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (setenv "TLP_WITH_SYSTEMD" "0")
+ (setenv "TLP_NO_INIT" "1")
+ (setenv "TLP_NO_PMUTILS" "1")
+ (setenv "TLP_SBIN" (string-append out "/bin"))
+ (setenv "TLP_BIN" (string-append out "/bin"))
+ (setenv "TLP_TLIB" (string-append out "/share/tlp-pm"))
+ (setenv "TLP_ULIB" (string-append out "/lib/udev"))
+ (setenv "TLP_CONF" (string-append out "/etc/tlp"))
+ (setenv "TLP_SHCPL"
+ (string-append out "/share/bash-completion/completions"))
+ (setenv "TLP_MAN" (string-append out "/share/man")))))
+ (delete 'check)
+ (replace 'install
+ (lambda _
+ (system "make install-tlp install-man")))
+ (add-after 'install 'wrap
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((bin (string-append (assoc-ref outputs "out") "/bin"))
+ (bin-files (find-files bin ".*")))
+ (define (bin-directory input-name)
+ (string-append (assoc-ref inputs input-name) "/bin"))
+ (define (sbin-directory input-name)
+ (string-append (assoc-ref inputs input-name) "/sbin"))
+ (for-each (lambda (program)
+ (wrap-program program
+ `("PATH" ":" prefix
+ ,(append
+ (map bin-directory '("bash"
+ "coreutils"
+ "dbus"
+ "eudev"
+ "grep"
+ "inetutils"
+ "kmod"
+ "perl"
+ "sed"
+ "usbutils"
+ "util-linux"))
+ (map sbin-directory '("ethtool"
+ "hdparm"
+ "iw"
+ "pciutils"
+ "rfkill"
+ "wireless-tools"))))))
+ bin-files)))))))
+ (home-page "http://linrunner.de/en/tlp/tlp.html")
+ (synopsis "Power management tool for Linux")
+ (description "TLP is a power management tool for Linux. It comes with
+a default configuration already optimized for battery life. Nevertheless,
+TLP is customizable to fulfil system requirements. TLP settings are applied
+every time the power supply source is changed.")
+
+ ;; 'COPYING' is a custom version that says that one file is GPLv3+ and the
+ ;; rest is GPLv2+.
+ (license (list license:gpl2+ license:gpl3+))))
+
+(define-public lshw
+ (package
+ (name "lshw")
+ (version "B.02.18")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://www.ezix.org/software/"
+ "files/lshw-" version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0brwra4jld0d53d7jsgca415ljglmmx1l2iazpj4ndilr48yy8mf"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases (delete 'configure))
+ #:tests? #f ; no tests
+ #:make-flags
+ (list (string-append "PREFIX=" (assoc-ref %outputs "out")))))
+ (synopsis "List hardware information")
+ (description
+ "@command{lshw} (Hardware Lister) is a small tool to provide
+detailed information on the hardware configuration of the machine.
+It can report exact memory configuration, firmware version, mainboard
+configuration, CPU version and speed, cache configuration, bus speed,
+and more on DMI-capable x86 or EFI (IA-64) systems and on some PowerPC
+machines (PowerMac G4 is known to work).")
+ (home-page "https://www.ezix.org/project/wiki/HardwareLiSter")
+ (license license:gpl2+)))