* [PATCH 02/17] gnu: linux-libre: Use modify-phases.
2016-09-09 12:34 ` [PATCH 01/17] gnu: module-init-tools: Prevent line wrapping David Craven
@ 2016-09-09 12:34 ` David Craven
2016-09-09 12:34 ` [PATCH 03/17] gnu: linux-libre: Use system->architecture David Craven
` (14 subsequent siblings)
15 siblings, 0 replies; 40+ messages in thread
From: David Craven @ 2016-09-09 12:34 UTC (permalink / raw)
To: guix-devel
* gnu/packages/linux.scm (linux-libre): Use modify-phases.
---
gnu/packages/linux.scm | 80 ++++++++++++++++++++++++--------------------------
1 file changed, 39 insertions(+), 41 deletions(-)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 260017b..e19712f 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -258,9 +258,41 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
(search-path %load-path file)))
(define-public linux-libre
- (let* ((version "4.7.2")
- (build-phase
- '(lambda* (#:key system inputs #:allow-other-keys #:rest args)
+ (package
+ (name "linux-libre")
+ (version "4.7.2")
+ (source (origin
+ (method url-fetch)
+ (uri (linux-libre-urls version))
+ (sha256
+ (base32
+ "1rp09y2hv0hvdybm2n2im9717kzxmklpgzs8k1bmdfzqxyg8cb85"))))
+ (build-system gnu-build-system)
+ (supported-systems '("x86_64-linux" "i686-linux"))
+ (native-inputs
+ `(("perl" ,perl)
+ ("bc" ,bc)
+ ("openssl" ,openssl)
+ ("module-init-tools" ,module-init-tools)
+ ("patch/freedo+gnu" ,%boot-logo-patch)
+
+ ,@(let ((conf (kernel-config
+ (or (%current-target-system)
+ (%current-system))
+ #:variant (version-major+minor version))))
+ (if conf
+ `(("kconfig" ,conf))
+ '()))))
+ (arguments
+ `(#:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (srfi srfi-1)
+ (ice-9 match))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'build
+ (lambda* (#:key system inputs #:allow-other-keys #:rest args)
;; Avoid introducing timestamps
(setenv "KCONFIG_NOTIMESTAMP" "1")
(setenv "KBUILD_BUILD_TIMESTAMP" (getenv "SOURCE_DATE_EPOCH"))
@@ -310,8 +342,8 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
;; Call the default `build' phase so `-j' is correctly
;; passed.
(apply build #:make-flags "all" args))))
- (install-phase
- `(lambda* (#:key inputs outputs #:allow-other-keys)
+ (replace 'install
+ (lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(moddir (string-append out "/lib/modules"))
(mit (assoc-ref inputs "module-init-tools")))
@@ -328,47 +360,13 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
(string-append "INSTALL_MOD_PATH=" out)
"INSTALL_MOD_STRIP=1"
"modules_install"))))))
- (package
- (name "linux-libre")
- (version version)
- (source (origin
- (method url-fetch)
- (uri (linux-libre-urls version))
- (sha256
- (base32
- "1rp09y2hv0hvdybm2n2im9717kzxmklpgzs8k1bmdfzqxyg8cb85"))))
- (build-system gnu-build-system)
- (supported-systems '("x86_64-linux" "i686-linux"))
- (native-inputs `(("perl" ,perl)
- ("bc" ,bc)
- ("openssl" ,openssl)
- ("module-init-tools" ,module-init-tools)
- ("patch/freedo+gnu" ,%boot-logo-patch)
-
- ,@(let ((conf (kernel-config
- (or (%current-target-system)
- (%current-system))
- #:variant (version-major+minor version))))
- (if conf
- `(("kconfig" ,conf))
- '()))))
- (arguments
- `(#:modules ((guix build gnu-build-system)
- (guix build utils)
- (srfi srfi-1)
- (ice-9 match))
- #:phases (alist-replace
- 'build ,build-phase
- (alist-replace
- 'install ,install-phase
- (alist-delete 'configure %standard-phases)))
#:tests? #f))
+ (home-page "http://www.gnu.org/software/linux-libre/")
(synopsis "100% free redistribution of a cleaned Linux kernel")
(description
"GNU Linux-Libre is a free (as in freedom) variant of the Linux kernel.
It has been modified to remove all non-free binary blobs.")
- (license license:gpl2)
- (home-page "http://www.gnu.org/software/linux-libre/"))))
+ (license license:gpl2)))
(define-public linux-libre-4.4
(package
--
2.9.0
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [PATCH 03/17] gnu: linux-libre: Use system->architecture.
2016-09-09 12:34 ` [PATCH 01/17] gnu: module-init-tools: Prevent line wrapping David Craven
2016-09-09 12:34 ` [PATCH 02/17] gnu: linux-libre: Use modify-phases David Craven
@ 2016-09-09 12:34 ` David Craven
2016-09-09 12:34 ` [PATCH 04/17] gnu: linux-libre: Apply %boot-logo patch in origin David Craven
` (13 subsequent siblings)
15 siblings, 0 replies; 40+ messages in thread
From: David Craven @ 2016-09-09 12:34 UTC (permalink / raw)
To: guix-devel
* gnu/packages/linux.scm (linux-libre): Use system->architecture.
---
gnu/packages/linux.scm | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index e19712f..1544811 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -292,7 +292,7 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
(modify-phases %standard-phases
(delete 'configure)
(replace 'build
- (lambda* (#:key system inputs #:allow-other-keys #:rest args)
+ (lambda* (#:key inputs #:allow-other-keys #:rest args)
;; Avoid introducing timestamps
(setenv "KCONFIG_NOTIMESTAMP" "1")
(setenv "KBUILD_BUILD_TIMESTAMP" (getenv "SOURCE_DATE_EPOCH"))
@@ -301,12 +301,12 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
(system* "patch" "-p1" "--force"
"-i" (assoc-ref inputs "patch/freedo+gnu"))
- (let ((arch (car (string-split system #\-))))
- (setenv "ARCH"
- (cond ((string=? arch "i686") "i386")
- ((string=? arch "mips64el") "mips")
- (else arch)))
- (format #t "`ARCH' set to `~a'~%" (getenv "ARCH")))
+ (let ((arch ,(system->linux-architecture
+ (or (%current-target-system)
+ (%current-system)))))
+ (setenv "ARCH" arch))
+
+ (format #t "`ARCH' set to `~a'~%" (getenv "ARCH"))
(let ((build (assoc-ref %standard-phases 'build))
(config (assoc-ref inputs "kconfig")))
--
2.9.0
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [PATCH 04/17] gnu: linux-libre: Apply %boot-logo patch in origin.
2016-09-09 12:34 ` [PATCH 01/17] gnu: module-init-tools: Prevent line wrapping David Craven
2016-09-09 12:34 ` [PATCH 02/17] gnu: linux-libre: Use modify-phases David Craven
2016-09-09 12:34 ` [PATCH 03/17] gnu: linux-libre: Use system->architecture David Craven
@ 2016-09-09 12:34 ` David Craven
2016-09-11 20:57 ` Ludovic Courtès
2016-09-09 12:34 ` [PATCH 05/17] gnu: linux-libre: Move kernel configuration to configure phase David Craven
` (12 subsequent siblings)
15 siblings, 1 reply; 40+ messages in thread
From: David Craven @ 2016-09-09 12:34 UTC (permalink / raw)
To: guix-devel
* gnu/packages/linux.scm (linux-libre)[origin]: Apply %boot-logo patch
in origin.
---
gnu/packages/linux.scm | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 1544811..369a232 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -266,7 +266,8 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
(uri (linux-libre-urls version))
(sha256
(base32
- "1rp09y2hv0hvdybm2n2im9717kzxmklpgzs8k1bmdfzqxyg8cb85"))))
+ "1rp09y2hv0hvdybm2n2im9717kzxmklpgzs8k1bmdfzqxyg8cb85"))
+ (patches (origin-patches %boot-logo-patch))))
(build-system gnu-build-system)
(supported-systems '("x86_64-linux" "i686-linux"))
(native-inputs
@@ -274,7 +275,6 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
("bc" ,bc)
("openssl" ,openssl)
("module-init-tools" ,module-init-tools)
- ("patch/freedo+gnu" ,%boot-logo-patch)
,@(let ((conf (kernel-config
(or (%current-target-system)
@@ -297,10 +297,6 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
(setenv "KCONFIG_NOTIMESTAMP" "1")
(setenv "KBUILD_BUILD_TIMESTAMP" (getenv "SOURCE_DATE_EPOCH"))
- ;; Apply the neat patch.
- (system* "patch" "-p1" "--force"
- "-i" (assoc-ref inputs "patch/freedo+gnu"))
-
(let ((arch ,(system->linux-architecture
(or (%current-target-system)
(%current-system)))))
--
2.9.0
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [PATCH 05/17] gnu: linux-libre: Move kernel configuration to configure phase.
2016-09-09 12:34 ` [PATCH 01/17] gnu: module-init-tools: Prevent line wrapping David Craven
` (2 preceding siblings ...)
2016-09-09 12:34 ` [PATCH 04/17] gnu: linux-libre: Apply %boot-logo patch in origin David Craven
@ 2016-09-09 12:34 ` David Craven
2016-09-11 20:57 ` Ludovic Courtès
2016-09-09 12:34 ` [PATCH 06/17] gnu: linux-libre: Add support for cross-compilation David Craven
` (11 subsequent siblings)
15 siblings, 1 reply; 40+ messages in thread
From: David Craven @ 2016-09-09 12:34 UTC (permalink / raw)
To: guix-devel
* gnu/packages/linux.scm (linux-libre)[arguments]: Add configure phase.
---
gnu/packages/linux.scm | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 369a232..436f3d3 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -290,9 +290,8 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
(ice-9 match))
#:phases
(modify-phases %standard-phases
- (delete 'configure)
- (replace 'build
- (lambda* (#:key inputs #:allow-other-keys #:rest args)
+ (replace 'configure
+ (lambda* (#:key inputs #:allow-other-keys)
;; Avoid introducing timestamps
(setenv "KCONFIG_NOTIMESTAMP" "1")
(setenv "KBUILD_BUILD_TIMESTAMP" (getenv "SOURCE_DATE_EPOCH"))
@@ -333,11 +332,7 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
port)
(close-port port))
- (zero? (system* "make" "oldconfig"))
-
- ;; Call the default `build' phase so `-j' is correctly
- ;; passed.
- (apply build #:make-flags "all" args))))
+ (zero? (system* "make" "oldconfig")))))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
--
2.9.0
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [PATCH 06/17] gnu: linux-libre: Add support for cross-compilation.
2016-09-09 12:34 ` [PATCH 01/17] gnu: module-init-tools: Prevent line wrapping David Craven
` (3 preceding siblings ...)
2016-09-09 12:34 ` [PATCH 05/17] gnu: linux-libre: Move kernel configuration to configure phase David Craven
@ 2016-09-09 12:34 ` David Craven
2016-09-11 20:58 ` Ludovic Courtès
2016-09-09 12:34 ` [PATCH 07/17] gnu: linux-libre: Use make-linux-libre David Craven
` (10 subsequent siblings)
15 siblings, 1 reply; 40+ messages in thread
From: David Craven @ 2016-09-09 12:34 UTC (permalink / raw)
To: guix-devel
* gnu/packages/linux.scm (linux-libre): Add support for
cross-compilation.
---
gnu/packages/linux.scm | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 436f3d3..ce714c6 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -291,17 +291,21 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
#:phases
(modify-phases %standard-phases
(replace 'configure
- (lambda* (#:key inputs #:allow-other-keys)
+ (lambda* (#:key inputs native-inputs target #:allow-other-keys)
;; Avoid introducing timestamps
(setenv "KCONFIG_NOTIMESTAMP" "1")
(setenv "KBUILD_BUILD_TIMESTAMP" (getenv "SOURCE_DATE_EPOCH"))
+ ;; Set ARCH and CROSS_COMPILE
(let ((arch ,(system->linux-architecture
(or (%current-target-system)
(%current-system)))))
- (setenv "ARCH" arch))
+ (setenv "ARCH" arch)
+ (format #t "`ARCH' set to `~a'~%" (getenv "ARCH"))
- (format #t "`ARCH' set to `~a'~%" (getenv "ARCH"))
+ (when target
+ (setenv "CROSS_COMPILE" (string-append target "-"))
+ (format #t "`CROSS_COMPILE' set to `~a'~%" (getenv "CROSS_COMPILE"))))
(let ((build (assoc-ref %standard-phases 'build))
(config (assoc-ref inputs "kconfig")))
@@ -334,10 +338,10 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
(zero? (system* "make" "oldconfig")))))
(replace 'install
- (lambda* (#:key inputs outputs #:allow-other-keys)
+ (lambda* (#:key inputs native-inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(moddir (string-append out "/lib/modules"))
- (mit (assoc-ref inputs "module-init-tools")))
+ (mit (assoc-ref (or native-inputs inputs) "module-init-tools")))
(mkdir-p moddir)
(for-each (lambda (file)
(copy-file file
--
2.9.0
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [PATCH 07/17] gnu: linux-libre: Use make-linux-libre.
2016-09-09 12:34 ` [PATCH 01/17] gnu: module-init-tools: Prevent line wrapping David Craven
` (4 preceding siblings ...)
2016-09-09 12:34 ` [PATCH 06/17] gnu: linux-libre: Add support for cross-compilation David Craven
@ 2016-09-09 12:34 ` David Craven
2016-09-11 21:07 ` Ludovic Courtès
2016-09-09 12:34 ` [PATCH 08/17] gnu: make-linux-libre: Add additional-configuration parameter David Craven
` (9 subsequent siblings)
15 siblings, 1 reply; 40+ messages in thread
From: David Craven @ 2016-09-09 12:34 UTC (permalink / raw)
To: guix-devel
* gnu/packages/linux.scm (linux-libre, linux-libre-4.4,
linux-libre-4.1): Use make-linux-libre.
(make-linux-libre): New variable.
---
gnu/packages/linux.scm | 78 ++++++++++++++++++++++----------------------------
1 file changed, 34 insertions(+), 44 deletions(-)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index ce714c6..ab20f6e 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -257,16 +257,17 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
(file (string-append "gnu/packages/" name)))
(search-path %load-path file)))
-(define-public linux-libre
+(define* (make-linux-libre version hash
+ #:key
+ (configuration-file #f)
+ (defconfig "defconfig"))
(package
(name "linux-libre")
- (version "4.7.2")
+ (version version)
(source (origin
(method url-fetch)
(uri (linux-libre-urls version))
- (sha256
- (base32
- "1rp09y2hv0hvdybm2n2im9717kzxmklpgzs8k1bmdfzqxyg8cb85"))
+ (sha256 (base32 hash))
(patches (origin-patches %boot-logo-patch))))
(build-system gnu-build-system)
(supported-systems '("x86_64-linux" "i686-linux"))
@@ -275,14 +276,7 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
("bc" ,bc)
("openssl" ,openssl)
("module-init-tools" ,module-init-tools)
-
- ,@(let ((conf (kernel-config
- (or (%current-target-system)
- (%current-system))
- #:variant (version-major+minor version))))
- (if conf
- `(("kconfig" ,conf))
- '()))))
+ ,@(if configuration-file `(("kconfig" ,configuration-file)) '())))
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
@@ -316,7 +310,7 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
(begin
(copy-file config ".config")
(chmod ".config" #o666))
- (system* "make" "defconfig"))
+ (system* "make" ,defconfig))
;; Appending works even when the option wasn't in the
;; file. The last one prevails if duplicated.
@@ -363,39 +357,35 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
It has been modified to remove all non-free binary blobs.")
(license license:gpl2)))
+(define-public linux-libre
+ (let* ((version "4.7.2")
+ (conf (kernel-config
+ (or (%current-target-system)
+ (%current-system))
+ #:variant (version-major+minor version))))
+ (make-linux-libre version
+ "1rp09y2hv0hvdybm2n2im9717kzxmklpgzs8k1bmdfzqxyg8cb85"
+ #:configuration-file conf)))
+
(define-public linux-libre-4.4
- (package
- (inherit linux-libre)
- (version "4.4.19")
- (source (origin
- (method url-fetch)
- (uri (linux-libre-urls version))
- (sha256
- (base32
- "0nddjs7prmb0g7g3w2k4qfyq02a9szm5nvsgflxcaarbq1slibb5"))))
- (native-inputs
- (let ((conf (kernel-config (or (%current-target-system)
- (%current-system))
- #:variant "4.4")))
- `(,@(alist-delete "kconfig" (package-native-inputs linux-libre))
- ("kconfig" ,conf))))))
+ (let* ((version "4.4.19")
+ (conf (kernel-config
+ (or (%current-target-system)
+ (%current-system))
+ #:variant (version-major+minor version))))
+ (make-linux-libre version
+ "0nddjs7prmb0g7g3w2k4qfyq02a9szm5nvsgflxcaarbq1slibb5"
+ #:configuration-file conf)))
(define-public linux-libre-4.1
- (package
- (inherit linux-libre)
- (version "4.1.31")
- (source (origin
- (method url-fetch)
- (uri (linux-libre-urls version))
- (sha256
- (base32
- "0grffah921k136w1qwcswxv6m810s8q54nr2rk7kyqka3a1b81yw"))))
- (native-inputs
- (let ((conf (kernel-config (or (%current-target-system)
- (%current-system))
- #:variant "4.1")))
- `(,@(alist-delete "kconfig" (package-native-inputs linux-libre))
- ("kconfig" ,conf))))))
+ (let* ((version "4.1.31")
+ (conf (kernel-config
+ (or (%current-target-system)
+ (%current-system))
+ #:variant (version-major+minor version))))
+ (make-linux-libre version
+ "0grffah921k136w1qwcswxv6m810s8q54nr2rk7kyqka3a1b81yw"
+ #:configuration-file conf)))
\f
;;;
--
2.9.0
^ permalink raw reply related [flat|nested] 40+ messages in thread
* Re: [PATCH 07/17] gnu: linux-libre: Use make-linux-libre.
2016-09-09 12:34 ` [PATCH 07/17] gnu: linux-libre: Use make-linux-libre David Craven
@ 2016-09-11 21:07 ` Ludovic Courtès
0 siblings, 0 replies; 40+ messages in thread
From: Ludovic Courtès @ 2016-09-11 21:07 UTC (permalink / raw)
To: David Craven; +Cc: guix-devel
David Craven <david@craven.ch> skribis:
> * gnu/packages/linux.scm (linux-libre, linux-libre-4.4,
> linux-libre-4.1): Use make-linux-libre.
> (make-linux-libre): New variable.
[...]
> +(define-public linux-libre
> + (let* ((version "4.7.2")
> + (conf (kernel-config
> + (or (%current-target-system)
> + (%current-system))
> + #:variant (version-major+minor version))))
I just realized that this won’t do what we want.
The expression (or (%current-target-system) (%current-system)) is
evaluated at the top-level—i.e., when (gnu packages linux) is loaded.
At that time, (%current-system) holds its default value and
(%current-target-system) is #f. IOW, even if you do:
guix build -s foo linux-libre
or:
guix build --target=bar linux-libre
you always end up with the x86_64-linux kernel config (if you’re on
x86_64-linux).
Conversely, when we write:
(package
;; …
(inputs `(("conf" ,(kernel-config
(or (%current-target-system) …))))))
things work as expected because the ‘inputs’ field is “thunked”
(lazy-evaluated) specifically for this purpose.
A solution would be to pass a procedure instead of a config:
(define* (make-linux-libre version hash
#:key
(configuration-file #f)
(defconfig "defconfig"))
(package
(name "linux-libre")
(version version)
(source (origin
(method url-fetch)
(uri (linux-libre-urls version))
(sha256 (base32 hash))
(patches (origin-patches %boot-logo-patch))))
(build-system gnu-build-system)
(supported-systems '("x86_64-linux" "i686-linux"))
(inputs
`(("bc" ,bc)
;; …
;; Call ‘configuration-file’ and pass it the right system type.
,@(if configuration-file
`(("kconfig" ,(configuration-file
(or (%current-target-system) …))))
'())))
(define variant1
(make-linux-libre v h
#:configuration-file (lambda (system)
…)))
Makes sense?
HTH!
Ludo’.
^ permalink raw reply [flat|nested] 40+ messages in thread
* [PATCH 08/17] gnu: make-linux-libre: Add additional-configuration parameter.
2016-09-09 12:34 ` [PATCH 01/17] gnu: module-init-tools: Prevent line wrapping David Craven
` (5 preceding siblings ...)
2016-09-09 12:34 ` [PATCH 07/17] gnu: linux-libre: Use make-linux-libre David Craven
@ 2016-09-09 12:34 ` David Craven
2016-09-11 21:13 ` Ludovic Courtès
2016-09-09 12:34 ` [PATCH 09/17] gnu: dtc: Remove patch-paths phase David Craven
` (8 subsequent siblings)
15 siblings, 1 reply; 40+ messages in thread
From: David Craven @ 2016-09-09 12:34 UTC (permalink / raw)
To: guix-devel
* gnu/packages/linux.scm (linux-libre): Use
%default-additional-kernel-configuration.
(%default-additional-kernel-configuration): New variable.
---
gnu/packages/linux.scm | 32 ++++++++++++++++++--------------
1 file changed, 18 insertions(+), 14 deletions(-)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index ab20f6e..f629045 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -257,10 +257,26 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
(file (string-append "gnu/packages/" name)))
(search-path %load-path file)))
+(define %default-additional-kernel-configuration
+ (string-append "CONFIG_NET_9P=m\n"
+ "CONFIG_NET_9P_VIRTIO=m\n"
+ "CONFIG_VIRTIO_BLK=m\n"
+ "CONFIG_VIRTIO_NET=m\n"
+ ;; https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00039.html
+ "CONFIG_DEVPTS_MULTIPLE_INSTANCES=y\n"
+ "CONFIG_VIRTIO_PCI=m\n"
+ "CONFIG_VIRTIO_BALLOON=m\n"
+ "CONFIG_VIRTIO_MMIO=m\n"
+ "CONFIG_FUSE_FS=m\n"
+ "CONFIG_CIFS=m\n"
+ "CONFIG_9P_FS=m\n"))
+
(define* (make-linux-libre version hash
#:key
(configuration-file #f)
- (defconfig "defconfig"))
+ (defconfig "defconfig")
+ (additional-configuration
+ %default-additional-kernel-configuration))
(package
(name "linux-libre")
(version version)
@@ -315,19 +331,7 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
;; Appending works even when the option wasn't in the
;; file. The last one prevails if duplicated.
(let ((port (open-file ".config" "a")))
- (display (string-append "CONFIG_NET_9P=m\n"
- "CONFIG_NET_9P_VIRTIO=m\n"
- "CONFIG_VIRTIO_BLK=m\n"
- "CONFIG_VIRTIO_NET=m\n"
- ;; https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00039.html
- "CONFIG_DEVPTS_MULTIPLE_INSTANCES=y\n"
- "CONFIG_VIRTIO_PCI=m\n"
- "CONFIG_VIRTIO_BALLOON=m\n"
- "CONFIG_VIRTIO_MMIO=m\n"
- "CONFIG_FUSE_FS=m\n"
- "CONFIG_CIFS=m\n"
- "CONFIG_9P_FS=m\n")
- port)
+ (display ,additional-configuration port)
(close-port port))
(zero? (system* "make" "oldconfig")))))
--
2.9.0
^ permalink raw reply related [flat|nested] 40+ messages in thread
* Re: [PATCH 08/17] gnu: make-linux-libre: Add additional-configuration parameter.
2016-09-09 12:34 ` [PATCH 08/17] gnu: make-linux-libre: Add additional-configuration parameter David Craven
@ 2016-09-11 21:13 ` Ludovic Courtès
0 siblings, 0 replies; 40+ messages in thread
From: Ludovic Courtès @ 2016-09-11 21:13 UTC (permalink / raw)
To: David Craven; +Cc: guix-devel
David Craven <david@craven.ch> skribis:
> * gnu/packages/linux.scm (linux-libre): Use
> %default-additional-kernel-configuration.
> (%default-additional-kernel-configuration): New variable.
> ---
> gnu/packages/linux.scm | 32 ++++++++++++++++++--------------
> 1 file changed, 18 insertions(+), 14 deletions(-)
>
> diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
> index ab20f6e..f629045 100644
> --- a/gnu/packages/linux.scm
> +++ b/gnu/packages/linux.scm
> @@ -257,10 +257,26 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
> (file (string-append "gnu/packages/" name)))
> (search-path %load-path file)))
>
> +(define %default-additional-kernel-configuration
> + (string-append "CONFIG_NET_9P=m\n"
> + "CONFIG_NET_9P_VIRTIO=m\n"
> + "CONFIG_VIRTIO_BLK=m\n"
> + "CONFIG_VIRTIO_NET=m\n"
> + ;; https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00039.html
> + "CONFIG_DEVPTS_MULTIPLE_INSTANCES=y\n"
> + "CONFIG_VIRTIO_PCI=m\n"
> + "CONFIG_VIRTIO_BALLOON=m\n"
> + "CONFIG_VIRTIO_MMIO=m\n"
> + "CONFIG_FUSE_FS=m\n"
> + "CONFIG_CIFS=m\n"
> + "CONFIG_9P_FS=m\n"))
> +
> (define* (make-linux-libre version hash
> #:key
> (configuration-file #f)
> - (defconfig "defconfig"))
> + (defconfig "defconfig")
> + (additional-configuration
> + %default-additional-kernel-configuration))
Why not, but from the rest of the patch it’s not clear if it’s actually
used, is it?
If we take that route, I would suggest a more idiomatic approach, like:
(define %default-extra-linux-options
`(("CONFIG_NET_9P" . m)
("CONFIG_SOMETHING" . #f)
("CONFIG_SOMETHING_ELSE" . #t)))
This alist could be turned into a string that can be appended to the
config:
(string-join (string-map (match-lambda
((option . 'm)
(string-append option "=m"))
((option . #t)
(string-append option "=y"))
((option . #f)
(string-append option "=n")))
options)
"\n")
WDYT?
Ludo’.
^ permalink raw reply [flat|nested] 40+ messages in thread
* [PATCH 09/17] gnu: dtc: Remove patch-paths phase.
2016-09-09 12:34 ` [PATCH 01/17] gnu: module-init-tools: Prevent line wrapping David Craven
` (6 preceding siblings ...)
2016-09-09 12:34 ` [PATCH 08/17] gnu: make-linux-libre: Add additional-configuration parameter David Craven
@ 2016-09-09 12:34 ` David Craven
2016-09-11 21:14 ` Ludovic Courtès
2016-09-09 12:34 ` [PATCH 10/17] gnu: Add u-boot-beagle-bone-black David Craven
` (7 subsequent siblings)
15 siblings, 1 reply; 40+ messages in thread
From: David Craven @ 2016-09-09 12:34 UTC (permalink / raw)
To: guix-devel
From: Danny Milosavljevic <dannym@scratchpost.org>
* gnu/packages/u-boot.scm (dtc)[arguments]: Remove patch-paths phase.
[configure-flags]: Add INSTALL.
Signed-off-by: David Craven <david@craven.ch>
---
gnu/packages/u-boot.scm | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/gnu/packages/u-boot.scm b/gnu/packages/u-boot.scm
index e9a4b90..7949d8a 100644
--- a/gnu/packages/u-boot.scm
+++ b/gnu/packages/u-boot.scm
@@ -47,15 +47,11 @@
("flex" ,flex)))
(arguments
`(#:make-flags
- (list "CC=gcc" (string-append "PREFIX=" (assoc-ref %outputs "out")))
+ (list "CC=gcc"
+ (string-append "PREFIX=" (assoc-ref %outputs "out"))
+ "INSTALL=install")
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'patch-paths
- (lambda _
- (substitute* "Makefile"
- (("/usr/bin/install") "install"))
- (substitute* "Makefile"
- (("PREFIX = \\$\\(HOME\\)") ""))))
(delete 'configure))))
(home-page "https://www.devicetree.org")
(synopsis "Compiles device tree source files")
--
2.9.0
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [PATCH 10/17] gnu: Add u-boot-beagle-bone-black.
2016-09-09 12:34 ` [PATCH 01/17] gnu: module-init-tools: Prevent line wrapping David Craven
` (7 preceding siblings ...)
2016-09-09 12:34 ` [PATCH 09/17] gnu: dtc: Remove patch-paths phase David Craven
@ 2016-09-09 12:34 ` David Craven
2016-09-11 21:16 ` Ludovic Courtès
2016-09-09 12:34 ` [PATCH 11/17] gnu: Add make-linux-libre-source David Craven
` (6 subsequent siblings)
15 siblings, 1 reply; 40+ messages in thread
From: David Craven @ 2016-09-09 12:34 UTC (permalink / raw)
To: guix-devel
* gnu/packages/u-boot.scm (u-boot-beagle-bone-black): New variable.
---
gnu/packages/u-boot.scm | 3 +++
1 file changed, 3 insertions(+)
diff --git a/gnu/packages/u-boot.scm b/gnu/packages/u-boot.scm
index 7949d8a..0423163 100644
--- a/gnu/packages/u-boot.scm
+++ b/gnu/packages/u-boot.scm
@@ -131,3 +131,6 @@ also initializes the boards (RAM etc).")
(define-public u-boot-malta
(make-u-boot-package "malta" "mips64el-linux-gnuabi64"))
+
+(define-public u-boot-beagle-bone-black
+ (make-u-boot-package "am335x_boneblack" "arm-linux-gnueabihf"))
--
2.9.0
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [PATCH 11/17] gnu: Add make-linux-libre-source.
2016-09-09 12:34 ` [PATCH 01/17] gnu: module-init-tools: Prevent line wrapping David Craven
` (8 preceding siblings ...)
2016-09-09 12:34 ` [PATCH 10/17] gnu: Add u-boot-beagle-bone-black David Craven
@ 2016-09-09 12:34 ` David Craven
2016-09-11 21:21 ` Ludovic Courtès
2016-09-11 21:23 ` Ludovic Courtès
2016-09-09 12:34 ` [PATCH 12/17] gnu: make-linux-libre: Add extra-version parameter David Craven
` (5 subsequent siblings)
15 siblings, 2 replies; 40+ messages in thread
From: David Craven @ 2016-09-09 12:34 UTC (permalink / raw)
To: guix-devel
* gnu/packages/linux-libre.scm (make-linux-libre-source): New variable.
(linux-libre, linux-libre-4.4, linux-libre-4.1): Use
make-linux-libre-source.
(linux-libre-urls): Remove.
---
gnu/packages/linux.scm | 60 +++++++++++++++++++++++++-------------------------
1 file changed, 30 insertions(+), 30 deletions(-)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index f629045..6771bd2 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -92,21 +92,24 @@
((string-prefix? "aarch64" arch) "arm64")
(else arch))))
-(define (linux-libre-urls version)
- "Return a list of URLs for Linux-Libre VERSION."
- (list (string-append
- "http://linux-libre.fsfla.org/pub/linux-libre/releases/"
- version "-gnu/linux-libre-" version "-gnu.tar.xz")
-
- ;; XXX: Work around <http://bugs.gnu.org/14851>.
- (string-append
- "ftp://alpha.gnu.org/gnu/guix/mirror/linux-libre-"
- version "-gnu.tar.xz")
-
- ;; Maybe this URL will become valid eventually.
- (string-append
- "mirror://gnu/linux-libre/" version "-gnu/linux-libre-"
- version "-gnu.tar.xz")))
+(define-public (make-linux-libre-source version hash)
+ (origin
+ (method url-fetch)
+ (uri (list (string-append
+ "http://linux-libre.fsfla.org/pub/linux-libre/releases/"
+ version "-gnu/linux-libre-" version "-gnu.tar.xz")
+
+ ;; XXX: Work around <http://bugs.gnu.org/14851>.
+ (string-append
+ "ftp://alpha.gnu.org/gnu/guix/mirror/linux-libre-"
+ version "-gnu.tar.xz")
+
+ ;; Maybe this URL will become valid eventually.
+ (string-append
+ "mirror://gnu/linux-libre/" version "-gnu/linux-libre-"
+ version "-gnu.tar.xz")))
+ (sha256 (base32 hash))
+ (patches (origin-patches %boot-logo-patch))))
(define-public linux-libre-headers
(let* ((version "4.1.18")
@@ -142,12 +145,10 @@
(package
(name "linux-libre-headers")
(version version)
- (source (origin
- (method url-fetch)
- (uri (linux-libre-urls version))
- (sha256
- (base32
- "1bddh2rg645lavhjkk9z75vflba5y0g73z2fjwgbfrj5jb44x9i7"))))
+ (source
+ (make-linux-libre-source
+ version
+ "1bddh2rg645lavhjkk9z75vflba5y0g73z2fjwgbfrj5jb44x9i7"))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl)))
(arguments
@@ -271,7 +272,7 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
"CONFIG_CIFS=m\n"
"CONFIG_9P_FS=m\n"))
-(define* (make-linux-libre version hash
+(define* (make-linux-libre version source
#:key
(configuration-file #f)
(defconfig "defconfig")
@@ -280,11 +281,7 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
(package
(name "linux-libre")
(version version)
- (source (origin
- (method url-fetch)
- (uri (linux-libre-urls version))
- (sha256 (base32 hash))
- (patches (origin-patches %boot-logo-patch))))
+ (source source)
(build-system gnu-build-system)
(supported-systems '("x86_64-linux" "i686-linux"))
(native-inputs
@@ -363,32 +360,35 @@ It has been modified to remove all non-free binary blobs.")
(define-public linux-libre
(let* ((version "4.7.2")
+ (hash "1rp09y2hv0hvdybm2n2im9717kzxmklpgzs8k1bmdfzqxyg8cb85")
(conf (kernel-config
(or (%current-target-system)
(%current-system))
#:variant (version-major+minor version))))
(make-linux-libre version
- "1rp09y2hv0hvdybm2n2im9717kzxmklpgzs8k1bmdfzqxyg8cb85"
+ (make-linux-libre-source version hash)
#:configuration-file conf)))
(define-public linux-libre-4.4
(let* ((version "4.4.19")
+ (hash "0nddjs7prmb0g7g3w2k4qfyq02a9szm5nvsgflxcaarbq1slibb5")
(conf (kernel-config
(or (%current-target-system)
(%current-system))
#:variant (version-major+minor version))))
(make-linux-libre version
- "0nddjs7prmb0g7g3w2k4qfyq02a9szm5nvsgflxcaarbq1slibb5"
+ (make-linux-libre-source version hash)
#:configuration-file conf)))
(define-public linux-libre-4.1
(let* ((version "4.1.31")
+ (hash "0grffah921k136w1qwcswxv6m810s8q54nr2rk7kyqka3a1b81yw")
(conf (kernel-config
(or (%current-target-system)
(%current-system))
#:variant (version-major+minor version))))
(make-linux-libre version
- "0grffah921k136w1qwcswxv6m810s8q54nr2rk7kyqka3a1b81yw"
+ (make-linux-libre-source version hash)
#:configuration-file conf)))
\f
--
2.9.0
^ permalink raw reply related [flat|nested] 40+ messages in thread
* Re: [PATCH 11/17] gnu: Add make-linux-libre-source.
2016-09-09 12:34 ` [PATCH 11/17] gnu: Add make-linux-libre-source David Craven
@ 2016-09-11 21:21 ` Ludovic Courtès
2016-09-11 21:23 ` Ludovic Courtès
1 sibling, 0 replies; 40+ messages in thread
From: Ludovic Courtès @ 2016-09-11 21:21 UTC (permalink / raw)
To: David Craven; +Cc: guix-devel
David Craven <david@craven.ch> skribis:
> * gnu/packages/linux-libre.scm (make-linux-libre-source): New variable.
> (linux-libre, linux-libre-4.4, linux-libre-4.1): Use
> make-linux-libre-source.
> (linux-libre-urls): Remove.
[...]
> -(define (linux-libre-urls version)
> - "Return a list of URLs for Linux-Libre VERSION."
I would keep it…
> +(define-public (make-linux-libre-source version hash)
> + (origin
> + (method url-fetch)
> + (uri (list (string-append
> + "http://linux-libre.fsfla.org/pub/linux-libre/releases/"
> + version "-gnu/linux-libre-" version "-gnu.tar.xz")
> +
> + ;; XXX: Work around <http://bugs.gnu.org/14851>.
> + (string-append
> + "ftp://alpha.gnu.org/gnu/guix/mirror/linux-libre-"
> + version "-gnu.tar.xz")
> +
> + ;; Maybe this URL will become valid eventually.
> + (string-append
> + "mirror://gnu/linux-libre/" version "-gnu/linux-libre-"
> + version "-gnu.tar.xz")))
> + (sha256 (base32 hash))
> + (patches (origin-patches %boot-logo-patch))))
… and make it a macro instead (and drop ‘make-’):
(define-syntax-rule (linux-libre-source version hash)
(origin
;; …
(sha256 (base32 hash))))
Since it’s a macro, we’d still have the compile-time behavior of
‘base32’ that we discussed earlier.
WDYT?
Ludo’.
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH 11/17] gnu: Add make-linux-libre-source.
2016-09-09 12:34 ` [PATCH 11/17] gnu: Add make-linux-libre-source David Craven
2016-09-11 21:21 ` Ludovic Courtès
@ 2016-09-11 21:23 ` Ludovic Courtès
1 sibling, 0 replies; 40+ messages in thread
From: Ludovic Courtès @ 2016-09-11 21:23 UTC (permalink / raw)
To: David Craven; +Cc: guix-devel
David Craven <david@craven.ch> skribis:
> * gnu/packages/linux-libre.scm (make-linux-libre-source): New variable.
> (linux-libre, linux-libre-4.4, linux-libre-4.1): Use
> make-linux-libre-source.
> (linux-libre-urls): Remove.
[...]
> -(define (linux-libre-urls version)
> - "Return a list of URLs for Linux-Libre VERSION."
I would keep it…
> +(define-public (make-linux-libre-source version hash)
> + (origin
> + (method url-fetch)
> + (uri (list (string-append
> + "http://linux-libre.fsfla.org/pub/linux-libre/releases/"
> + version "-gnu/linux-libre-" version "-gnu.tar.xz")
> +
> + ;; XXX: Work around <http://bugs.gnu.org/14851>.
> + (string-append
> + "ftp://alpha.gnu.org/gnu/guix/mirror/linux-libre-"
> + version "-gnu.tar.xz")
> +
> + ;; Maybe this URL will become valid eventually.
> + (string-append
> + "mirror://gnu/linux-libre/" version "-gnu/linux-libre-"
> + version "-gnu.tar.xz")))
> + (sha256 (base32 hash))
> + (patches (origin-patches %boot-logo-patch))))
… and make it a macro instead (and drop ‘make-’):
(define-syntax-rule (linux-libre-source version hash)
(origin
;; …
(uris (linux-libre-urls version))
(sha256 (base32 hash))))
Since it’s a macro, we’d still have the compile-time behavior of
‘base32’ that we discussed earlier.
WDYT?
Ludo’.
^ permalink raw reply [flat|nested] 40+ messages in thread
* [PATCH 12/17] gnu: make-linux-libre: Add extra-version parameter.
2016-09-09 12:34 ` [PATCH 01/17] gnu: module-init-tools: Prevent line wrapping David Craven
` (9 preceding siblings ...)
2016-09-09 12:34 ` [PATCH 11/17] gnu: Add make-linux-libre-source David Craven
@ 2016-09-09 12:34 ` David Craven
2016-09-11 21:32 ` Ludovic Courtès
2016-09-09 12:34 ` [PATCH 13/17] gnu: make-linux-libre: Add zImage to output David Craven
` (4 subsequent siblings)
15 siblings, 1 reply; 40+ messages in thread
From: David Craven @ 2016-09-09 12:34 UTC (permalink / raw)
To: guix-devel
* gnu/packages/linux.scm (make-linux-libre): Add extra-version option.
---
gnu/packages/linux.scm | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 6771bd2..f2e6887 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -274,12 +274,15 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
(define* (make-linux-libre version source
#:key
+ (extra-version #f)
(configuration-file #f)
(defconfig "defconfig")
(additional-configuration
%default-additional-kernel-configuration))
(package
- (name "linux-libre")
+ (name (if extra-version
+ (string-append "linux-libre-" extra-version)
+ "linux-libre"))
(version version)
(source source)
(build-system gnu-build-system)
@@ -314,6 +317,8 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
(setenv "CROSS_COMPILE" (string-append target "-"))
(format #t "`CROSS_COMPILE' set to `~a'~%" (getenv "CROSS_COMPILE"))))
+ (setenv "EXTRA_VERSION" ,extra-version)
+
(let ((build (assoc-ref %standard-phases 'build))
(config (assoc-ref inputs "kconfig")))
--
2.9.0
^ permalink raw reply related [flat|nested] 40+ messages in thread
* Re: [PATCH 12/17] gnu: make-linux-libre: Add extra-version parameter.
2016-09-09 12:34 ` [PATCH 12/17] gnu: make-linux-libre: Add extra-version parameter David Craven
@ 2016-09-11 21:32 ` Ludovic Courtès
0 siblings, 0 replies; 40+ messages in thread
From: Ludovic Courtès @ 2016-09-11 21:32 UTC (permalink / raw)
To: David Craven; +Cc: guix-devel
David Craven <david@craven.ch> skribis:
> * gnu/packages/linux.scm (make-linux-libre): Add extra-version option.
> ---
> gnu/packages/linux.scm | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
> index 6771bd2..f2e6887 100644
> --- a/gnu/packages/linux.scm
> +++ b/gnu/packages/linux.scm
> @@ -274,12 +274,15 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
>
> (define* (make-linux-libre version source
> #:key
> + (extra-version #f)
> (configuration-file #f)
> (defconfig "defconfig")
> (additional-configuration
> %default-additional-kernel-configuration))
> (package
> - (name "linux-libre")
> + (name (if extra-version
> + (string-append "linux-libre-" extra-version)
> + "linux-libre"))
s/extra-version/variant/, since it’s not something that goes to the
‘version’ field. WDYT?
Otherwise OK.
Ludo’.
^ permalink raw reply [flat|nested] 40+ messages in thread
* [PATCH 13/17] gnu: make-linux-libre: Add zImage to output.
2016-09-09 12:34 ` [PATCH 01/17] gnu: module-init-tools: Prevent line wrapping David Craven
` (10 preceding siblings ...)
2016-09-09 12:34 ` [PATCH 12/17] gnu: make-linux-libre: Add extra-version parameter David Craven
@ 2016-09-09 12:34 ` David Craven
2016-09-11 21:24 ` Ludovic Courtès
2016-09-09 12:34 ` [PATCH 14/17] gnu: linux-libre: Use kmod David Craven
` (3 subsequent siblings)
15 siblings, 1 reply; 40+ messages in thread
From: David Craven @ 2016-09-09 12:34 UTC (permalink / raw)
To: guix-devel
* gnu/packages/linux.scm (make-linux-libre): Add zImage to output.
---
gnu/packages/linux.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index f2e6887..37bdbf4 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -346,7 +346,7 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
(for-each (lambda (file)
(copy-file file
(string-append out "/" (basename file))))
- (find-files "." "^(bzImage|vmlinuz|System\\.map)$"))
+ (find-files "." "^(bzImage|zImage|vmlinuz|System\\.map)$"))
(copy-file ".config" (string-append out "/config"))
(zero? (system* "make"
(string-append "DEPMOD=" mit "/sbin/depmod")
--
2.9.0
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [PATCH 14/17] gnu: linux-libre: Use kmod.
2016-09-09 12:34 ` [PATCH 01/17] gnu: module-init-tools: Prevent line wrapping David Craven
` (11 preceding siblings ...)
2016-09-09 12:34 ` [PATCH 13/17] gnu: make-linux-libre: Add zImage to output David Craven
@ 2016-09-09 12:34 ` David Craven
2016-09-11 21:25 ` Ludovic Courtès
2016-09-09 12:34 ` [PATCH 15/17] gnu: make-linux-libre: Add supported-systems parameter David Craven
` (2 subsequent siblings)
15 siblings, 1 reply; 40+ messages in thread
From: David Craven @ 2016-09-09 12:34 UTC (permalink / raw)
To: guix-devel
* gnu/packages/linux.scm (make-linux-libre): Use kmod.
---
gnu/packages/linux.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 37bdbf4..62870a4 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -291,7 +291,7 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
`(("perl" ,perl)
("bc" ,bc)
("openssl" ,openssl)
- ("module-init-tools" ,module-init-tools)
+ ("kmod" ,kmod)
,@(if configuration-file `(("kconfig" ,configuration-file)) '())))
(arguments
`(#:modules ((guix build gnu-build-system)
@@ -341,7 +341,7 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
(lambda* (#:key inputs native-inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(moddir (string-append out "/lib/modules"))
- (mit (assoc-ref (or native-inputs inputs) "module-init-tools")))
+ (kmod (assoc-ref (or native-inputs inputs) "kmod")))
(mkdir-p moddir)
(for-each (lambda (file)
(copy-file file
@@ -349,7 +349,7 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
(find-files "." "^(bzImage|zImage|vmlinuz|System\\.map)$"))
(copy-file ".config" (string-append out "/config"))
(zero? (system* "make"
- (string-append "DEPMOD=" mit "/sbin/depmod")
+ (string-append "DEPMOD=" kmod "/bin/depmod")
(string-append "MODULE_DIR=" moddir)
(string-append "INSTALL_PATH=" out)
(string-append "INSTALL_MOD_PATH=" out)
--
2.9.0
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [PATCH 15/17] gnu: make-linux-libre: Add supported-systems parameter.
2016-09-09 12:34 ` [PATCH 01/17] gnu: module-init-tools: Prevent line wrapping David Craven
` (12 preceding siblings ...)
2016-09-09 12:34 ` [PATCH 14/17] gnu: linux-libre: Use kmod David Craven
@ 2016-09-09 12:34 ` David Craven
2016-09-11 21:28 ` Ludovic Courtès
2016-09-09 12:34 ` [PATCH 16/17] gnu: Add linux-libre-multi-v7 David Craven
2016-09-09 12:34 ` [PATCH 17/17] gnu: Add linux-libre-beagle-bone-black David Craven
15 siblings, 1 reply; 40+ messages in thread
From: David Craven @ 2016-09-09 12:34 UTC (permalink / raw)
To: guix-devel
* gnu/packages/linux.scm (make-linux-libre): Add supported-systems
parameter.
---
gnu/packages/linux.scm | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 62870a4..384b674 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -272,7 +272,7 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
"CONFIG_CIFS=m\n"
"CONFIG_9P_FS=m\n"))
-(define* (make-linux-libre version source
+(define* (make-linux-libre version source supported-systems
#:key
(extra-version #f)
(configuration-file #f)
@@ -285,8 +285,8 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
"linux-libre"))
(version version)
(source source)
+ (supported-systems supported-systems)
(build-system gnu-build-system)
- (supported-systems '("x86_64-linux" "i686-linux"))
(native-inputs
`(("perl" ,perl)
("bc" ,bc)
@@ -372,6 +372,7 @@ It has been modified to remove all non-free binary blobs.")
#:variant (version-major+minor version))))
(make-linux-libre version
(make-linux-libre-source version hash)
+ '("x86_64-linux" "i686-linux")
#:configuration-file conf)))
(define-public linux-libre-4.4
@@ -383,6 +384,7 @@ It has been modified to remove all non-free binary blobs.")
#:variant (version-major+minor version))))
(make-linux-libre version
(make-linux-libre-source version hash)
+ '("x86_64-linux" "i686-linux")
#:configuration-file conf)))
(define-public linux-libre-4.1
@@ -394,6 +396,7 @@ It has been modified to remove all non-free binary blobs.")
#:variant (version-major+minor version))))
(make-linux-libre version
(make-linux-libre-source version hash)
+ '("x86_64-linux" "i686-linux")
#:configuration-file conf)))
\f
--
2.9.0
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [PATCH 16/17] gnu: Add linux-libre-multi-v7.
2016-09-09 12:34 ` [PATCH 01/17] gnu: module-init-tools: Prevent line wrapping David Craven
` (13 preceding siblings ...)
2016-09-09 12:34 ` [PATCH 15/17] gnu: make-linux-libre: Add supported-systems parameter David Craven
@ 2016-09-09 12:34 ` David Craven
2016-09-09 14:31 ` Vincent Legoll
2016-09-11 21:30 ` Ludovic Courtès
2016-09-09 12:34 ` [PATCH 17/17] gnu: Add linux-libre-beagle-bone-black David Craven
15 siblings, 2 replies; 40+ messages in thread
From: David Craven @ 2016-09-09 12:34 UTC (permalink / raw)
To: guix-devel
* gnu/packages/linux.scm (linux-libre-multi-v7): New variable.
---
gnu/packages/linux.scm | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 384b674..2eadae2 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -399,6 +399,15 @@ It has been modified to remove all non-free binary blobs.")
'("x86_64-linux" "i686-linux")
#:configuration-file conf)))
+(define-public linux-libre-multi-v7
+ (let ((version "4.7.2")
+ (hash "1rp09y2hv0hvdybm2n2im9717kzxmklpgzs8k1bmdfzqxyg8cb85"))
+ (make-linux-libre version
+ (make-linux-libre-source version hash)
+ '("armhf-linux")
+ #:defconfig "multi_v7_defconfig"
+ #:extra-version "multi-v7")))
+
\f
;;;
;;; Pluggable authentication modules (PAM).
--
2.9.0
^ permalink raw reply related [flat|nested] 40+ messages in thread
* Re: [PATCH 16/17] gnu: Add linux-libre-multi-v7.
2016-09-09 12:34 ` [PATCH 16/17] gnu: Add linux-libre-multi-v7 David Craven
@ 2016-09-09 14:31 ` Vincent Legoll
2016-09-11 21:30 ` Ludovic Courtès
1 sibling, 0 replies; 40+ messages in thread
From: Vincent Legoll @ 2016-09-09 14:31 UTC (permalink / raw)
To: David Craven; +Cc: guix-devel
Hello
On Fri, Sep 9, 2016 at 2:34 PM, David Craven <david@craven.ch> wrote:
> * gnu/packages/linux.scm (linux-libre-multi-v7): New variable.
Nitpick, multi-v7 is not really telling, why not adding at least "arm"
in the name ?
--
Vincent Legoll
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH 16/17] gnu: Add linux-libre-multi-v7.
2016-09-09 12:34 ` [PATCH 16/17] gnu: Add linux-libre-multi-v7 David Craven
2016-09-09 14:31 ` Vincent Legoll
@ 2016-09-11 21:30 ` Ludovic Courtès
1 sibling, 0 replies; 40+ messages in thread
From: Ludovic Courtès @ 2016-09-11 21:30 UTC (permalink / raw)
To: David Craven; +Cc: guix-devel
David Craven <david@craven.ch> skribis:
> * gnu/packages/linux.scm (linux-libre-multi-v7): New variable.
> ---
> gnu/packages/linux.scm | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
> index 384b674..2eadae2 100644
> --- a/gnu/packages/linux.scm
> +++ b/gnu/packages/linux.scm
> @@ -399,6 +399,15 @@ It has been modified to remove all non-free binary blobs.")
> '("x86_64-linux" "i686-linux")
> #:configuration-file conf)))
>
> +(define-public linux-libre-multi-v7
> + (let ((version "4.7.2")
> + (hash "1rp09y2hv0hvdybm2n2im9717kzxmklpgzs8k1bmdfzqxyg8cb85"))
> + (make-linux-libre version
> + (make-linux-libre-source version hash)
> + '("armhf-linux")
> + #:defconfig "multi_v7_defconfig"
> + #:extra-version "multi-v7")))
OK, but like Vincent, I find the name a little unclear. Maybe
“armv7-multisomething”, but what would that “something” be? :-)
Also, maybe ‘make-linux-libre’ should have default values for the
version and source, so that we don’t have to upgrade several variants
when a new 4.7.x release comes out?
Ludo’.
^ permalink raw reply [flat|nested] 40+ messages in thread
* [PATCH 17/17] gnu: Add linux-libre-beagle-bone-black.
2016-09-09 12:34 ` [PATCH 01/17] gnu: module-init-tools: Prevent line wrapping David Craven
` (14 preceding siblings ...)
2016-09-09 12:34 ` [PATCH 16/17] gnu: Add linux-libre-multi-v7 David Craven
@ 2016-09-09 12:34 ` David Craven
2016-09-11 21:33 ` Ludovic Courtès
15 siblings, 1 reply; 40+ messages in thread
From: David Craven @ 2016-09-09 12:34 UTC (permalink / raw)
To: guix-devel
* gnu/packages/linux.scm (linux-libre-beagle-bone-black): New variable.
---
gnu/packages/linux.scm | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 2eadae2..2320a08 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -408,6 +408,15 @@ It has been modified to remove all non-free binary blobs.")
#:defconfig "multi_v7_defconfig"
#:extra-version "multi-v7")))
+(define-public linux-libre-beagle-bone-black
+ (let ((version "4.7.2")
+ (hash "1rp09y2hv0hvdybm2n2im9717kzxmklpgzs8k1bmdfzqxyg8cb85"))
+ (make-linux-libre version
+ (make-linux-libre-source version hash)
+ '("armhf-linux")
+ #:defconfig "omap2plus_defconfig"
+ #:extra-version "beagle-bone-black")))
+
\f
;;;
;;; Pluggable authentication modules (PAM).
--
2.9.0
^ permalink raw reply related [flat|nested] 40+ messages in thread
* Re: [PATCH 17/17] gnu: Add linux-libre-beagle-bone-black.
2016-09-09 12:34 ` [PATCH 17/17] gnu: Add linux-libre-beagle-bone-black David Craven
@ 2016-09-11 21:33 ` Ludovic Courtès
0 siblings, 0 replies; 40+ messages in thread
From: Ludovic Courtès @ 2016-09-11 21:33 UTC (permalink / raw)
To: David Craven; +Cc: guix-devel
David Craven <david@craven.ch> skribis:
> * gnu/packages/linux.scm (linux-libre-beagle-bone-black): New variable.
> ---
> gnu/packages/linux.scm | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
> index 2eadae2..2320a08 100644
> --- a/gnu/packages/linux.scm
> +++ b/gnu/packages/linux.scm
> @@ -408,6 +408,15 @@ It has been modified to remove all non-free binary blobs.")
> #:defconfig "multi_v7_defconfig"
> #:extra-version "multi-v7")))
>
> +(define-public linux-libre-beagle-bone-black
> + (let ((version "4.7.2")
> + (hash "1rp09y2hv0hvdybm2n2im9717kzxmklpgzs8k1bmdfzqxyg8cb85"))
> + (make-linux-libre version
> + (make-linux-libre-source version hash)
> + '("armhf-linux")
> + #:defconfig "omap2plus_defconfig"
> + #:extra-version "beagle-bone-black")))
Apart from the duplicate version/hash, that LGTM!
Did you have a chance to boot the resulting kernel on a Beagle Bone
Black?
Thank you for getting us closer to GuixSD on ARM!
Ludo’.
^ permalink raw reply [flat|nested] 40+ messages in thread