~ruther/guix-local

77bed84246b82c933e76e34bbdae59982097f7c8 — Ludovic Courtès 12 years ago 195e81a
hydra: Build for all the specified systems.

* build-aux/hydra/gnu-system.scm (hydra-jobs): Pick all the `system'
  keys in ARGUMENTS.
  [cross-jobs]: Turn into a procedure, with a `system' parameter.
  Build packages for all of SYSTEMS and %CROSS-TARGETS.
1 files changed, 20 insertions(+), 11 deletions(-)

M build-aux/hydra/gnu-system.scm
M build-aux/hydra/gnu-system.scm => build-aux/hydra/gnu-system.scm +20 -11
@@ 95,14 95,21 @@ SYSTEM."

(define (hydra-jobs store arguments)
  "Return Hydra jobs."
  (define system
    (or (assoc-ref arguments 'system)
        (%current-system)))
  (define systems
    (match (filter-map (match-lambda
                        (('system . value)
                         value)
                        (_ #f))
                       arguments)
      ((lst ..1)
       lst)
      (_
       (list (%current-system)))))

  (define job-name
    (compose string->symbol package-full-name))

  (define cross-jobs
  (define (cross-jobs system)
    (append-map (lambda (target)
                  (map (lambda (package)
                         (package-cross-job store (job-name package)


@@ 119,10 126,12 @@ SYSTEM."
                                        (((_ inputs _ ...) ...)
                                         inputs))))
                                    %final-inputs))))
    (fold-packages (lambda (package result)
                     (if (member package base-packages)
                         result
                         (cons (package-job store (job-name package)
                                            package system)
                               result)))
                   cross-jobs)))
    (append-map (lambda (system)
                  (fold-packages (lambda (package result)
                                   (if (member package base-packages)
                                       result
                                       (append (package-job store (job-name package)
                                                            package system)
                                               result)))
                                 (cross-jobs system)))
                systems)))