From bbab646926714ad6cdaac3e4578a14b408b65a84 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 16 Sep 2017 14:40:12 +0200 Subject: gnu-system: Accept subset with list of package names. * examples/gnu-system.scm (hydra-jobs): Accept subset with list of package names. --- examples/gnu-system.scm | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'examples') diff --git a/examples/gnu-system.scm b/examples/gnu-system.scm index 4076786..ee2b571 100644 --- a/examples/gnu-system.scm +++ b/examples/gnu-system.scm @@ -2,6 +2,7 @@ ;;; ;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2016 Mathieu Lirzin +;;; Copyright © 2017 Jan Nieuwenhuizen ;;; ;;; This file is part of Cuirass. ;;; @@ -163,9 +164,10 @@ valid." "Return Hydra jobs." (define subset (match (assoc-ref arguments 'subset) - ("core" 'core) ; only build core packages - ("hello" 'hello) ; only build hello - (_ 'all))) ; build everything + ("core" 'core) ; only build core packages + ("hello" 'hello) ; only build hello + (((? string?) (? string?) ...) 'list) ; only build selected list of packages + (_ 'all))) ; build everything (define (cross-jobs system) (define (from-32-to-64? target) @@ -226,6 +228,16 @@ valid." (let ((hello (specification->package "hello"))) (list (package-job store (%job-name hello) hello system))) '())) + ((list) + ;; Build selected list of packages only. + (if (string=? system (%current-system)) + (let* ((names (assoc-ref arguments 'subset)) + (packages (map specification->package names))) + (map (lambda (package) + (package-job store (%job-name package) + package system)) + packages)) + '())) (else (error "unknown subset" subset)))) %hydra-supported-systems))) -- cgit v1.2.3