diff options
Diffstat (limited to 'build-aux')
-rw-r--r-- | build-aux/hydra/gnu-system.scm | 34 |
1 files changed, 22 insertions, 12 deletions
diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm index 146d929f9b..d9b9c55d9c 100644 --- a/build-aux/hydra/gnu-system.scm +++ b/build-aux/hydra/gnu-system.scm @@ -251,7 +251,8 @@ all its dependencies, and ready to be installed on non-GuixSD distributions.") "Return a job for PACKAGE on SYSTEM, or #f if this combination is not valid." (cond ((member package base-packages) - #f) + (package-job store (symbol-append 'base. (job-name package)) + package system)) ((supported-package? package system) (let ((drv (package-derivation store package system #:graft? #f))) @@ -261,6 +262,25 @@ valid." (else #f))))) +(define (all-packages) + "Return the list of packages to build." + (define (adjust 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)))) + + (fold-packages adjust + (fold adjust '() ;include base packages + (match (%final-inputs) + (((labels packages _ ...) ...) + packages))) + #:select? (const #t))) ;include hidden packages + ;;; ;;; Hydra entry point. @@ -317,17 +337,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)))) |