guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/02: gnu: linux-libre: Generalize 'kernel-config' to support variants.


From: Mark H. Weaver
Subject: 01/02: gnu: linux-libre: Generalize 'kernel-config' to support variants.
Date: Tue, 02 Feb 2016 08:12:43 +0000

mhw pushed a commit to branch master
in repository guix.

commit 17db07061f07a99d9134709554c29a693dabc80e
Author: Mark H Weaver <address@hidden>
Date:   Tue Feb 2 01:11:12 2016 -0500

    gnu: linux-libre: Generalize 'kernel-config' to support variants.
    
    * gnu/packages/linux.scm (kernel-config): Rewrite to support optional
      #:variant keyword argument.
---
 gnu/packages/linux.scm |   31 ++++++++++++++++++-------------
 1 files changed, 18 insertions(+), 13 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 136daf0..baa5996 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -66,6 +66,7 @@
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system python)
   #:use-module (guix build-system trivial)
+  #:use-module (srfi srfi-2)
   #:use-module (srfi srfi-26)
   #:use-module (ice-9 match))
 
@@ -196,20 +197,24 @@
      (base32
       "1hk9swxxc80bmn2zd2qr5ccrjrk28xkypwhl4z0qx4hbivj7qm06"))))
 
-(define (kernel-config system)
+(define* (kernel-config system #:key variant)
   "Return the absolute file name of the Linux-Libre build configuration file
-for SYSTEM, or #f if there is no configuration for SYSTEM."
-  (define (lookup file)
-    (let ((file (string-append "gnu/packages/" file)))
-      (search-path %load-path file)))
-
-  (match system
-    ("i686-linux"
-     (lookup "linux-libre-i686.conf"))
-    ("x86_64-linux"
-     (lookup "linux-libre-x86_64.conf"))
-    (_
-     #f)))
+for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
+  (and-let* ((arch (match system
+                     ("i686-linux"
+                      "i686")
+                     ("x86_64-linux"
+                      "x86_64")
+                     (_
+                      #f)))
+             (name (string-append "linux-libre-"
+                                  (if variant
+                                      (string-append variant "-")
+                                      "")
+                                  arch
+                                  ".conf"))
+             (file (string-append "gnu/packages/" name)))
+    (search-path %load-path file)))
 
 (define-public linux-libre
   (let* ((version "4.4.1")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]