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