~ruther/guix-local

454caca8e6db34d7777ddb4ba84680d41e381b32 — Jan Nieuwenhuizen 8 years ago 07f80c2
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.
2 files changed, 19 insertions(+), 4 deletions(-)

M Makefile.am
M build-aux/hydra/evaluate.scm
M Makefile.am => Makefile.am +10 -0
@@ 7,6 7,7 @@
# Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
# Copyright © 2017 Leo Famulari <leo@famulari.name>
# Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
# Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
#
# This file is part of GNU Guix.
#


@@ 711,6 712,15 @@ hydra-jobs.scm: $(GOBJECTS)
	  "$(top_srcdir)/build-aux/hydra/gnu-system.scm" > "$@.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: assert-no-store-file-names assert-binaries-available
.PHONY: assert-final-inputs-self-contained

M build-aux/hydra/evaluate.scm => build-aux/hydra/evaluate.scm +9 -4
@@ 1,5 1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;


@@ 70,7 71,7 @@ Otherwise return THING."

;; Without further ado...
(match (command-line)
  ((command file)
  ((command file cuirass? ...)
   ;; Load FILE, a Scheme file that defines Hydra jobs.
   (let ((port (current-output-port)))
     (save-module-excursion


@@ 96,7 97,11 @@ Otherwise return THING."

       ;; Call the entry point of FILE and print the resulting job sexp.
       (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) ...)
           (map (lambda (job thunk)
                  (format (current-error-port) "evaluating '~a'... " job)


@@ 107,8 112,8 @@ Otherwise return THING."
                names thunks)))
        port))))
  ((command _ ...)
   (format (current-error-port) "Usage: ~a FILE
Evaluate the Hydra jobs defined in FILE.~%"
   (format (current-error-port) "Usage: ~a FILE [cuirass]
Evaluate the Hydra or Cuirass jobs defined in FILE.~%"
           command)
   (exit 1)))