(address . guix-patches@gnu.org)
Though make-linux-libre provides a keyed interface for configuration and
versioning, it remains unaccessable to users due to a lack of public
definition.
This adapts linux-libre to become a public keyed interface for greater
flexibility for users, without promoting proprietary software. Also redefines
linux-libre-<version/arch> variants to use linux-libre as the interface
being used, to reduce direct reliance on the low-level make-linux-libre
function.
From 91dcc98640b5e7eb494893100f6ebae823a6cb58 Mon Sep 17 00:00:00 2001
From: Joshua Lewis Hayes <professordey@liberum.world>
Date: Thu, 28 Jun 2018 20:01:47 +0000
Subject: [PATCH] gnu: linux-libre*: Add Keyed Interface and redefine variants
to use new Interface.
* gnu/packages/linux.scm (linux-libre): Add Keyed Interface
* gnu/packages/linux.scm (linux-libre-*): Redefine to use Interface
---
gnu/packages/linux.scm | 89 ++++++++++++++++++++++++++------------------------
1 file changed, 47 insertions(+), 42 deletions(-)
Toggle diff (126 lines)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 50f90e165..74292288f 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -28,6 +28,7 @@
;;; 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 Joshua Lewis Hayes <professordey@liberum.world>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -405,66 +406,70 @@ It has been modified to remove all non-free binary blobs.")
(define %linux-libre-version "4.17.3")
(define %linux-libre-hash "06mjbs3i0xq1h1cgr6xldr6a8rxsy30mf86wp3n2ff6l5v78iw2q")
-(define-public linux-libre
- (make-linux-libre %linux-libre-version
- %linux-libre-hash
- %linux-compatible-systems
- #:configuration-file kernel-config))
-
(define %linux-libre-4.14-version "4.14.52")
(define %linux-libre-4.14-hash "0lx916iw33n32h1fca59r7mh6l2smyml6igvzhimcah62hqx4rk8")
+(define-public (linux-libre #:key
+ (version %linux-libre-version)
+ (hash %linux-libre-hash)
+ (systems %linux-compatible-systems)
+ (configuration-file kernel-config)
+ (defconfig "defconfig")
+ (extra-version #f)
+ (extra-options %extra-options)
+ (patches (list %boot-logo-patch)))
+ (make-linux-libre version
+ hash
+ systems
+ #:configuration-file configuration-file
+ #:defconfig defconfig
+ #:extra-version extra-version
+ #:extra-options extra-options
+ #:patches patches))
+
(define-public linux-libre-4.14
- (make-linux-libre %linux-libre-4.14-version
- %linux-libre-4.14-hash
- '("x86_64-linux" "i686-linux" "armhf-linux")
- #:configuration-file kernel-config))
+ (linux-libre #:version %linux-libre-4.14-version
+ #:hash %linux-libre-4.14-hash
+ #:systems '("x86_64-linux" "i686-linux" "armhf-linux")))
(define-public linux-libre-4.9
- (make-linux-libre "4.9.110"
- "0nzfna9w9a45y521d3dcxkdv66gn38n4pq814rdqazk74qb5macn"
- %intel-compatible-systems
- #:configuration-file kernel-config))
+ (linux-libre #:version "4.9.110"
+ #:hash "0nzfna9w9a45y521d3dcxkdv66gn38n4pq814rdqazk74qb5macn"
+ #:systems %intel-compatible-systems))
(define-public linux-libre-4.4
- (make-linux-libre "4.4.138"
- "1030ra5gn24qmx8lsnhr6kfnfm60avzs23r81dl7mvzr5dci8vsl"
- %intel-compatible-systems
- #:configuration-file kernel-config))
+ (linux-libre #:version "4.4.138"
+ #:hash "1030ra5gn24qmx8lsnhr6kfnfm60avzs23r81dl7mvzr5dci8vsl"
+ #:systems %intel-compatible-systems))
(define-public linux-libre-4.1
- (make-linux-libre "4.1.52"
- "0a2flzf79kz9c1y9zpxdclsfivp38d2sgnwifg4gvyqixdy63sk9"
- %intel-compatible-systems
- #:configuration-file kernel-config))
+ (linux-libre #:version "4.1.52"
+ #:hash "0a2flzf79kz9c1y9zpxdclsfivp38d2sgnwifg4gvyqixdy63sk9"
+ #:systems %intel-compatible-systems))
(define-public linux-libre-arm-generic
- (make-linux-libre %linux-libre-version
- %linux-libre-hash
- '("armhf-linux")
- #:defconfig "multi_v7_defconfig"
- #:extra-version "arm-generic"))
+ (linux-libre #:systems '("armhf-linux")
+ #:defconfig "multi_v7_defconfig"
+ #:extra-version "arm-generic"))
(define-public linux-libre-arm-generic-4.14
- (make-linux-libre %linux-libre-4.14-version
- %linux-libre-4.14-hash
- '("armhf-linux")
- #:defconfig "multi_v7_defconfig"
- #:extra-version "arm-generic"))
+ (linux-libre #:version %linux-libre-4.14-version
+ #:hash %linux-libre-4.14-hash
+ #:systems '("armhf-linux")
+ #:defconfig "multi_v7_defconfig"
+ #:extra-version "arm-generic"))
(define-public linux-libre-arm-omap2plus
- (make-linux-libre %linux-libre-version
- %linux-libre-hash
- '("armhf-linux")
- #:defconfig "omap2plus_defconfig"
- #:extra-version "arm-omap2plus"))
+ (linux-libre #:systems '("armhf-linux")
+ #:defconfig "omap2plus_defconfig"
+ #:extra-version "arm-omap2plus"))
(define-public linux-libre-arm-omap2plus-4.14
- (make-linux-libre %linux-libre-4.14-version
- %linux-libre-4.14-hash
- '("armhf-linux")
- #:defconfig "omap2plus_defconfig"
- #:extra-version "arm-omap2plus"))
+ (linux-libre #:version %linux-libre-4.14-version
+ #:hash %linux-libre-4.14-hash
+ #:systems '("armhf-linux")
+ #:defconfig "omap2plus_defconfig"
+ #:extra-version "arm-omap2plus"))
^L
;;;
--
2.16.1
-----BEGIN PGP SIGNATURE-----
Version: Keybase OpenPGP v2.0.77
Comment: https://keybase.io/crypto
wsBcBAABCgAGBQJbNUhzAAoJENvNe1OK93o8oSMIAIKtOLCFBaIdA4CJcNiRXAyU
kT01Ri9NLWBlXQVuYh601UnOVZR1+lPEau+CJUaSE1Zv79r6z+SbyTshyQiMxFDz
StS5mFFTDLGmH+9d4VLvYlaDbPWIJsBYrUALEH0PGASLEPS4nOoIMKTHqNvxmCri
I+1z0QM09Mup8mWVdOtrWaRt9qjK6AhORzav+bJXKO0xWARWM82rZ3oq6CTtip4G
neWe6lQvJQAM3iT8znoI97PRYpiA89HhZFiaqAeLHzsJxN72+1ZMaj8Aj7CfdiH3
zjwJlUH5k2BQL/EJZ8Kpfj8/hpaSbPR9FRs1RgRgkrnPbcWvwuWRtNkigO0Nsn0=
=wy3c
-----END PGP SIGNATURE-----