cuirass: Add 'cuirass-jobs.scm' target to compute the Cuirass jobs.

* build-aux/hydra/evaluate.scm: Support "cuirass" command line option.
* Makefile.am (cuirass-jobs.scm): New target.
This commit is contained in:
Jan Nieuwenhuizen 2017-09-27 22:44:56 +02:00
parent 07f80c27fd
commit 454caca8e6
No known key found for this signature in database
GPG key ID: A12F87978D701B99
2 changed files with 19 additions and 4 deletions

View file

@ -7,6 +7,7 @@
# Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> # Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
# Copyright © 2017 Leo Famulari <leo@famulari.name> # Copyright © 2017 Leo Famulari <leo@famulari.name>
# Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> # Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
# Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
# #
# This file is part of GNU Guix. # This file is part of GNU Guix.
# #
@ -711,6 +712,15 @@ hydra-jobs.scm: $(GOBJECTS)
"$(top_srcdir)/build-aux/hydra/gnu-system.scm" > "$@.tmp" "$(top_srcdir)/build-aux/hydra/gnu-system.scm" > "$@.tmp"
$(AM_V_at)mv "$@.tmp" "$@" $(AM_V_at)mv "$@.tmp" "$@"
# Compute the Cuirass jobs and write them in the target file.
cuirass-jobs.scm: $(GOBJECTS)
$(AM_V_at)$(MKDIR_P) "`dirname "$@"`"
$(AM_V_GEN)$(top_builddir)/pre-inst-env "$(GUILE)" \
"$(top_srcdir)/build-aux/hydra/evaluate.scm" \
"$(top_srcdir)/build-aux/cuirass/gnu-system.scm" \
cuirass > "$@.tmp"
$(AM_V_at)mv "$@.tmp" "$@"
.PHONY: gen-ChangeLog gen-AUTHORS gen-tarball-version .PHONY: gen-ChangeLog gen-AUTHORS gen-tarball-version
.PHONY: assert-no-store-file-names assert-binaries-available .PHONY: assert-no-store-file-names assert-binaries-available
.PHONY: assert-final-inputs-self-contained .PHONY: assert-final-inputs-self-contained

View file

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -70,7 +71,7 @@ (define (assert-valid-job job thing)
;; Without further ado... ;; Without further ado...
(match (command-line) (match (command-line)
((command file) ((command file cuirass? ...)
;; Load FILE, a Scheme file that defines Hydra jobs. ;; Load FILE, a Scheme file that defines Hydra jobs.
(let ((port (current-output-port))) (let ((port (current-output-port)))
(save-module-excursion (save-module-excursion
@ -96,7 +97,11 @@ (define (assert-valid-job job thing)
;; Call the entry point of FILE and print the resulting job sexp. ;; Call the entry point of FILE and print the resulting job sexp.
(pretty-print (pretty-print
(match ((module-ref %user-module 'hydra-jobs) store '()) (match ((module-ref %user-module
(if (equal? cuirass? "cuirass")
'cuirass-jobs
'hydra-jobs))
store '())
(((names . thunks) ...) (((names . thunks) ...)
(map (lambda (job thunk) (map (lambda (job thunk)
(format (current-error-port) "evaluating '~a'... " job) (format (current-error-port) "evaluating '~a'... " job)
@ -107,8 +112,8 @@ (define (assert-valid-job job thing)
names thunks))) names thunks)))
port)))) port))))
((command _ ...) ((command _ ...)
(format (current-error-port) "Usage: ~a FILE (format (current-error-port) "Usage: ~a FILE [cuirass]
Evaluate the Hydra jobs defined in FILE.~%" Evaluate the Hydra or Cuirass jobs defined in FILE.~%"
command) command)
(exit 1))) (exit 1)))