[PATCH] gnu: linux-libre*: Add Keyed Interface and redefine variants to use new Interface.

OpenSubmitted by Joshua Lewis Hayes.
Details
2 participants
  • Joshua Lewis Hayes
  • zimoun
Owner
unassigned
Severity
normal
J
J
Joshua Lewis Hayes wrote on 28 Jun 2018 21:49
(address . guix-patches@gnu.org)
381089070.2034.1530215358490@webmail.liberum.world
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
Attachment: file
-----BEGIN PGP SIGNATURE-----
Version: Keybase OpenPGP v2.0.77

wsBcBAABCgAGBQJbNUhzAAoJENvNe1OK93o8oSMIAIKtOLCFBaIdA4CJcNiRXAyU
kT01Ri9NLWBlXQVuYh601UnOVZR1+lPEau+CJUaSE1Zv79r6z+SbyTshyQiMxFDz
StS5mFFTDLGmH+9d4VLvYlaDbPWIJsBYrUALEH0PGASLEPS4nOoIMKTHqNvxmCri
I+1z0QM09Mup8mWVdOtrWaRt9qjK6AhORzav+bJXKO0xWARWM82rZ3oq6CTtip4G
neWe6lQvJQAM3iT8znoI97PRYpiA89HhZFiaqAeLHzsJxN72+1ZMaj8Aj7CfdiH3
zjwJlUH5k2BQL/EJZ8Kpfj8/hpaSbPR9FRs1RgRgkrnPbcWvwuWRtNkigO0Nsn0=
=wy3c
-----END PGP SIGNATURE-----
Z
Z
zimoun wrote on 19 Dec 2020 00:27
(address . 31997@debbugs.gnu.org)
86a6uau24b.fsf@gmail.com
Hi,

What is the status of this bug:


?

On Thu, 28 Jun 2018 at 19:49, Joshua Lewis Hayes <professordey@liberum.world> wrote:

Toggle quote (9 lines)
> 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

I am in favor to try to apply it and merge it if it is still relevant,
otherwise I will close it after the usual 3 weeks delay.


All the best,
simon
J
J
Joshua Hayes (ProfessorDey) wrote on 19 Dec 2020 09:25
Re: [bug#31997] [PATCH] gnu: linux-libre*: Add Keyed Interface and redefine variants to use new Interface.
(address . 31997@debbugs.gnu.org)
E5056E3B-B592-4303-8EE2-92F9BA1CB759@liberum.world
Hey there,
It's been 2 years since I submitted this issue, but to my knowledge this is still a limitation of guixsd and the approach is still a valid solution, you'd just need to define any additional explicitly hardcoded kernel varients that have been added since I first wrote it, it's a simple enough interface to build in quickly and allows a lot more flexibility. Admittedly I haven't used guixsd in a long while personally due to this exact limitation, so I don't have a development machine readily to hand for my own testing, but can look into converting my old laptop over once I back it up.

Hope this is helpful at least,
Best Regards
Joshua

On 18 December 2020 23:27:00 GMT, zimoun <zimon.toutoune@gmail.com> wrote:
Toggle quote (28 lines)
>Hi,
>
>What is the status of this bug:
>
> <http://issues.guix.gnu.org/issue/31997>
>
>?
>
>On Thu, 28 Jun 2018 at 19:49, Joshua Lewis Hayes
><professordey@liberum.world> wrote:
>
>> 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
>
>I am in favor to try to apply it and merge it if it is still relevant,
>otherwise I will close it after the usual 3 weeks delay.
>
>
>All the best,
>simon
Attachment: file
?