summary refs log tree commit diff
path: root/build-aux/hydra/gnu-system.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-11-07 17:06:32 +0100
committerLudovic Courtès <ludo@gnu.org>2017-11-07 18:09:12 +0100
commitb5033c5a9e1b1f06a7daf9b8de6ff9f9c8431a97 (patch)
tree8a5504db00a338a6c99bed4086a79cf57486005f /build-aux/hydra/gnu-system.scm
parentad54924285e204f983a5dd6d8ebe56b5607f1de9 (diff)
downloadguix-b5033c5a9e1b1f06a7daf9b8de6ff9f9c8431a97.tar.gz
hydra: Factorize package list creation.
* build-aux/hydra/gnu-system.scm (all-packages): New procedure, with
body taken from...
(hydra-jobs): ... here.  Use it.
Diffstat (limited to 'build-aux/hydra/gnu-system.scm')
-rw-r--r--build-aux/hydra/gnu-system.scm25
1 files changed, 14 insertions, 11 deletions
diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm
index 146d929f9b..1782969bf8 100644
--- a/build-aux/hydra/gnu-system.scm
+++ b/build-aux/hydra/gnu-system.scm
@@ -261,6 +261,19 @@ valid."
             (else
              #f)))))
 
+(define (all-packages)
+  "Return the list of packages to build."
+  (fold-packages (lambda (package result)
+                   (cond ((package-replacement package)
+                          (cons* package          ;build both
+                                 (package-replacement package)
+                                 result))
+                         ((package-superseded package)
+                          result)                 ;don't build it
+                         (else
+                          (cons package result))))
+                 '()))
+
 
 ;;;
 ;;; Hydra entry point.
@@ -317,17 +330,7 @@ valid."
                   (case subset
                     ((all)
                      ;; Build everything, including replacements.
-                     (let ((all (fold-packages
-                                 (lambda (package result)
-                                   (cond ((package-replacement package)
-                                          (cons* package
-                                                 (package-replacement package)
-                                                 result))
-                                         ((package-superseded package)
-                                          result) ;don't build it
-                                         (else
-                                          (cons package result))))
-                                 '()))
+                     (let ((all (all-packages))
                            (job (lambda (package)
                                   (package->job store package
                                                 system))))