diff options
author | Efraim Flashner <efraim@flashner.co.il> | 2021-03-24 15:28:33 +0200 |
---|---|---|
committer | Efraim Flashner <efraim@flashner.co.il> | 2021-03-24 20:50:44 +0200 |
commit | 2aab587f842908a886e3bd08b028885dddd650e0 (patch) | |
tree | 87c0723a9ae2c69ab6920d90b6e87ad8510492fe /gnu/ci.scm | |
parent | 5664bcdcb0e4c10dfe48dd5e4730fc3c746a21e2 (diff) | |
parent | 65c46e79e0495fe4d32f6f2725d7233fff10fd70 (diff) |
Merge remote-tracking branch 'origin/master' into core-updates
Diffstat (limited to 'gnu/ci.scm')
-rw-r--r-- | gnu/ci.scm | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/gnu/ci.scm b/gnu/ci.scm index 6edcdd0e19d..32b7a611fb0 100644 --- a/gnu/ci.scm +++ b/gnu/ci.scm @@ -23,6 +23,7 @@ (define-module (gnu ci) #:use-module (guix channels) #:use-module (guix config) + #:use-module (guix describe) #:use-module (guix store) #:use-module (guix grafts) #:use-module (guix profiles) @@ -155,6 +156,7 @@ SYSTEM." "arm-linux-gnueabihf" "aarch64-linux-gnu" "powerpc-linux-gnu" + "powerpc64le-linux-gnu" "riscv64-linux-gnu" "i586-pc-gnu" ;aka. GNU/Hurd "i686-w64-mingw32" @@ -422,16 +424,12 @@ valid." (define (arguments->manifests arguments channels) "Return the list of manifests extracted from ARGUMENTS." - (define (channel-name->checkout name) - (let ((channel (find (lambda (channel) - (eq? (channel-name channel) name)) - channels))) - (channel-url channel))) - - (map (match-lambda - ((name . path) - (let ((checkout (channel-name->checkout name))) - (in-vicinity checkout path)))) + (map (lambda (manifest) + (any (lambda (checkout) + (let ((path (in-vicinity checkout manifest))) + (and (file-exists? path) + path))) + (map channel-url channels))) arguments)) (define (manifests->packages store manifests) @@ -521,6 +519,16 @@ valid." (let ((hello (specification->package "hello"))) (list (package-job store (job-name hello) hello system)))) + (('channels . channels) + ;; Build only the packages from CHANNELS. + (let ((all (all-packages))) + (filter-map + (lambda (package) + (any (lambda (channel) + (and (member (channel-name channel) channels) + (package->job store package system))) + (package-channels package))) + all))) (('packages . rest) ;; Build selected list of packages only. (let ((packages (map specification->package rest))) |