diff options
Diffstat (limited to 'gnu/packages/linux.scm')
-rw-r--r-- | gnu/packages/linux.scm | 91 |
1 files changed, 85 insertions, 6 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 01f5d6c88d..a3c65979d9 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2016 John Darrington <jmd@gnu.org> +;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org> ;;; ;;; This file is part of GNU Guix. @@ -63,6 +64,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages pciutils) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages popt) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) #:use-module (gnu packages readline) @@ -325,14 +327,14 @@ It has been modified to remove all non-free binary blobs.") (define %intel-compatible-systems '("x86_64-linux" "i686-linux")) (define-public linux-libre - (make-linux-libre "4.8.6" - "07h618x13yyp3lnf77px4v60pdcz7il0fa7p466wa5gp3h0yhvmi" + (make-linux-libre "4.8.7" + "1jbwm131zv59iyr6qw7qcbcfz49qqb2hhx30230gb99flyc5h4hg" %intel-compatible-systems #:configuration-file kernel-config)) (define-public linux-libre-4.4 - (make-linux-libre "4.4.30" - "16jjcjfbf3s4mrifk6v7kmnm8l7yywispfap98wcv6gw6mv9sxdx" + (make-linux-libre "4.4.31" + "1s4xdllvxw02g4yqlafcacgsgdpxccf6dlqafpqffm873q1y9n4d" %intel-compatible-systems #:configuration-file kernel-config)) @@ -343,8 +345,8 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) ;; Avoid rebuilding kernel variants when there is a minor version bump. -(define %linux-libre-version "4.8.6") -(define %linux-libre-hash "07h618x13yyp3lnf77px4v60pdcz7il0fa7p466wa5gp3h0yhvmi") +(define %linux-libre-version "4.8.7") +(define %linux-libre-hash "1jbwm131zv59iyr6qw7qcbcfz49qqb2hhx30230gb99flyc5h4hg") (define-public linux-libre-arm-generic (make-linux-libre %linux-libre-version @@ -3140,3 +3142,80 @@ activity of the GPU as a whole, which is also accurate during OpenCL computations, as well as separate component statistics that are only meaningful under OpenGL graphics workloads.") (license license:gpl3))) + +(define-public efivar + (package + (name "efivar") + (version "30") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/rhinstaller/" name + "/releases/download/" version "/" name + "-" version ".tar.bz2")) + (sha256 + (base32 + "12qjnm44yi55ffqxjpgrxy82s89yjziy84w2rfjjknsd8flj0mqz")))) + (build-system gnu-build-system) + (arguments + `(;; Tests require a UEFI system and is not detected in the chroot. + #:tests? #f + #:make-flags (list (string-append "prefix=" %output) + (string-append "libdir=" %output "/lib") + (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")) + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("popt" ,popt))) + (home-page "https://github.com/rhinstaller/efivar") + (synopsis "Tool and library to manipulate EFI variables") + (description "This package provides a library and a command line +interface to the variable facility of UEFI boot firmware.") + (license license:lgpl2.1+))) + +(define-public efibootmgr + (package + (name "efibootmgr") + (version "14") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/rhinstaller/" name + "/releases/download/" version "/" name + "-" version ".tar.bz2")) + (sha256 + (base32 + "1n3sydvpr6yl040hhf460k7mrxby7laqd9dqs6pq0js1hijc2zip")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; No tests. + #:make-flags (list (string-append "prefix=" %output) + (string-append "libdir=" %output "/lib") + ;; Override CFLAGS to add efivar include directory. + (string-append "CFLAGS=-O2 -g -flto -I" + (assoc-ref %build-inputs "efivar") + "/include/efivar")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'branding + ;; Replace default loader path with something more familiar. + (lambda _ + (substitute* "src/efibootmgr.c" + (("EFI\\\\\\\\redhat") ; Matches 'EFI\\redhat'. + "EFI\\\\gnu")) + #t)) + (delete 'configure)))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("efivar" ,efivar) + ("popt" ,popt))) + (home-page "https://github.com/rhinstaller/efibootmgr") + (synopsis "Modify the Extensible Firmware Interface (EFI) boot manager") + (description + "@code{efibootmgr} is a user-space application to modify the Intel +Extensible Firmware Interface (EFI) Boot Manager. This application can +create and destroy boot entries, change the boot order, change the next +running boot option, and more.") + (license license:gpl2+))) |