summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorMathieu Othacehe <m.othacehe@gmail.com>2017-01-25 09:54:54 +0100
committerMathieu Lirzin <mthl@gnu.org>2017-01-29 17:19:20 +0100
commit5127c6797ca6eb5782f96f44c7c1d38263927f2b (patch)
tree81c2e569a511171f7c09fc678355bc38849c0db0 /bin
parent4ca0c93875b14fd82693bd4fd9ce2b3ecf2c6ed4 (diff)
downloadcuirass-5127c6797ca6eb5782f96f44c7c1d38263927f2b.tar
cuirass-5127c6797ca6eb5782f96f44c7c1d38263927f2b.tar.gz
cuirass: Add "--load-path" option.
* bin/cuirass.in (%options): Add "--load-path" and "-L" command line options. (show-help): Adapt. * src/cuirass/base.scm (%guix-package-path): New parameter. (set-guix-package-path!): New procedure. (evaluate): Call "evaluate" script with '%guix-package-path'. * bin/evaluate.in (main): Match 'guix-package-path' command line argument and handle it. Signed-off-by: Mathieu Lirzin <mthl@gnu.org>
Diffstat (limited to 'bin')
-rw-r--r--bin/cuirass.in5
-rw-r--r--bin/evaluate.in5
2 files changed, 9 insertions, 1 deletions
diff --git a/bin/cuirass.in b/bin/cuirass.in
index b41a713..7df5ddb 100644
--- a/bin/cuirass.in
+++ b/bin/cuirass.in
@@ -7,6 +7,7 @@ exec ${GUILE:-@GUILE@} --no-auto-compile -e main -s "$0" "$@"
!#
;;;; cuirass -- continuous integration tool
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
+;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of Cuirass.
;;;
@@ -34,6 +35,7 @@ exec ${GUILE:-@GUILE@} --no-auto-compile -e main -s "$0" "$@"
--one-shot Evaluate and build jobs only once
--cache-directory=DIR Use DIR for storing repository data
+ -L --load-path=DIR Prepend DIR to Guix package module search path.
-S --specifications=SPECFILE
Add specifications from SPECFILE to database.
-D --database=DB Use DB to store build results.
@@ -48,6 +50,7 @@ exec ${GUILE:-@GUILE@} --no-auto-compile -e main -s "$0" "$@"
(define %options
'((one-shot (value #f))
(cache-directory (value #t))
+ (load-path (single-char #\L) (value #t))
(specifications (single-char #\S) (value #t))
(database (single-char #\D) (value #t))
(port (single-char #\p) (value #t))
@@ -68,6 +71,8 @@ exec ${GUILE:-@GUILE@} --no-auto-compile -e main -s "$0" "$@"
(%package-database (option-ref opts 'database (%package-database)))
(%package-cachedir
(option-ref opts 'cache-directory (%package-cachedir)))
+ (%guix-package-path
+ (option-ref opts 'load-path (%guix-package-path)))
(%use-substitutes? (option-ref opts 'use-substitutes #f)))
(cond
((option-ref opts 'help #f)
diff --git a/bin/evaluate.in b/bin/evaluate.in
index c8a45ce..0508783 100644
--- a/bin/evaluate.in
+++ b/bin/evaluate.in
@@ -8,6 +8,7 @@ exec ${GUILE:-@GUILE@} --no-auto-compile -e main -s "$0" "$@"
;;;; evaluate -- convert a specification to a job list
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
+;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of Cuirass.
;;;
@@ -32,7 +33,7 @@ exec ${GUILE:-@GUILE@} --no-auto-compile -e main -s "$0" "$@"
(define* (main #:optional (args (command-line)))
(match args
- ((command load-path cachedir specstr database)
+ ((command load-path guix-package-path cachedir specstr database)
;; Load FILE, a Scheme file that defines Hydra jobs.
(let ((%user-module (make-fresh-user-module))
(spec (with-input-from-string specstr read))
@@ -58,6 +59,8 @@ exec ${GUILE:-@GUILE@} --no-auto-compile -e main -s "$0" "$@"
(exit 1)))
(parameterize ((%package-database database)
(%use-substitutes? (assoc-ref spec #:use-substitutes?)))
+ (unless (string-null? guix-package-path)
+ (set-guix-package-path! guix-package-path))
;; Call the entry point of FILE and print the resulting job sexp.
(let* ((proc-name (assq-ref spec #:proc))
(proc (module-ref %user-module proc-name))