~ruther/guix-local

49c4fd2aab0c99c32ec338949ff07bd89d2920f6 — Ludovic Courtès 10 years ago f8187bd
hydra: Completely disable grafting.

* build-aux/hydra/gnu-system.scm (hydra-jobs): Parameterize '%graft?'.
Build package replacements when they are available.
1 files changed, 33 insertions(+), 23 deletions(-)

M build-aux/hydra/gnu-system.scm
M build-aux/hydra/gnu-system.scm => build-aux/hydra/gnu-system.scm +33 -23
@@ 38,6 38,7 @@

(use-modules (guix config)
             (guix store)
             (guix grafts)
             (guix packages)
             (guix derivations)
             (guix monads)


@@ 248,26 249,35 @@ valid."
                       %packages-to-cross-build))
                (remove (either from-32-to-64? same?) %cross-targets)))

  ;; Return one job for each package, except bootstrap packages.
  (append-map (lambda (system)
                (case subset
                  ((all)
                   ;; Build everything.
                   (let ((all (fold-packages cons '()))
                         (job (lambda (package)
                                (package->job store package
                                              system))))
                     (append (filter-map job all)
                             (qemu-jobs store system)
                             (tarball-jobs store system)
                             (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))))
              %hydra-supported-systems))
  ;; Turn off grafts.  Grafting is meant to happen on the user's machines.
  (parameterize ((%graft? #f))
    ;; Return one job for each package, except bootstrap packages.
    (append-map (lambda (system)
                  (case subset
                    ((all)
                     ;; Build everything, including replacements.
                     (let ((all (fold-packages
                                 (lambda (package result)
                                   (if (package-replacement package)
                                       (cons* package
                                              (package-replacement package)
                                              result)
                                       (cons package result)))
                                 '()))
                           (job (lambda (package)
                                  (package->job store package
                                                system))))
                       (append (filter-map job all)
                               (qemu-jobs store system)
                               (tarball-jobs store system)
                               (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))))
                %hydra-supported-systems)))