summary refs log tree commit diff
path: root/build-aux/hydra
diff options
context:
space:
mode:
Diffstat (limited to 'build-aux/hydra')
-rw-r--r--build-aux/hydra/gnu-system.scm36
-rw-r--r--build-aux/hydra/guix.scm10
2 files changed, 35 insertions, 11 deletions
diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm
index d7bdb2d7e4..8206be22ff 100644
--- a/build-aux/hydra/gnu-system.scm
+++ b/build-aux/hydra/gnu-system.scm
@@ -79,7 +79,7 @@ SYSTEM."
     ,(cute package->alist store package system
            (cut package-cross-derivation <> <> target <>))))
 
-(define %packages-to-cross-build
+(define %core-packages
   (list gmp mpfr mpc coreutils findutils diffutils patch sed grep
         gawk gettext hello guile-2.0
         %bootstrap-binaries-tarball
@@ -89,6 +89,9 @@ SYSTEM."
         %guile-bootstrap-tarball
         %bootstrap-tarballs))
 
+(define %packages-to-cross-build
+  %core-packages)
+
 (define %cross-targets
   '("mips64el-linux-gnu"
     "mips64el-linux-gnuabi64"))
@@ -106,6 +109,11 @@ SYSTEM."
       (_
        (list (%current-system)))))
 
+  (define subset
+    (match (assoc-ref arguments 'subset)
+      ("core" 'core)                              ; only build core packages
+      (_ 'all)))                                  ; build everything
+
   (define job-name
     (compose string->symbol package-full-name))
 
@@ -127,11 +135,23 @@ SYSTEM."
                                          inputs))))
                                     %final-inputs))))
     (append-map (lambda (system)
-                  (fold-packages (lambda (package result)
-                                   (if (member package base-packages)
-                                       result
-                                       (cons (package-job store (job-name package)
-                                                          package system)
-                                             result)))
-                                 (cross-jobs system)))
+                  (case subset
+                    ((all)
+                     ;; Build everything.
+                     (fold-packages (lambda (package result)
+                                      (if (member package base-packages)
+                                          result
+                                          (cons (package-job store (job-name package)
+                                                             package system)
+                                                result)))
+                                    (cross-jobs system)))
+                    ((core)
+                     ;; Build core packages only.
+                     (append (map (lambda (package)
+                                    (package-job store (job-name package)
+                                                 package system))
+                                  %core-packages)
+                             (cross-jobs system)))
+                    (else
+                     (error "unknown subset" subset))))
                 systems)))
diff --git a/build-aux/hydra/guix.scm b/build-aux/hydra/guix.scm
index f2107479e0..dbc935d897 100644
--- a/build-aux/hydra/guix.scm
+++ b/build-aux/hydra/guix.scm
@@ -41,7 +41,9 @@
              (guix packages)
              (guix utils)
              (guix build-system gnu)
+             (gnu packages version-control)
              (gnu packages package-management)
+             (gnu packages graphviz)
              (srfi srfi-1)
              (srfi srfi-26)
              (ice-9 match))
@@ -75,9 +77,11 @@ containing a Git checkout of Guix."
                         ;; Comment out `git' invocations, since Hydra provides
                         ;; us with a checkout that includes sub-modules.
                         (substitute* "bootstrap"
-                          (("git submodule init")
-                           "true\n")))
-                      ,p)))))))
+                          (("git ") "true git ")))
+                      ,p))))
+      (native-inputs `(("git" ,git)
+                       ("graphviz" ,graphviz)
+                       ,@(package-native-inputs dist))))))
 
 (define (hydra-jobs store arguments)
   "Return Hydra jobs."