Ludovic Courtès
a42cf16fec
base: Provide 'build-derivations' with the full list of derivations.
...
This improves parallelism when 'max-jobs' is large.
* src/cuirass/base.scm (build-packages): Rewrite to pass the complete
list of derivations to 'build-derivations' at once. Handle multiple outputs.
* src/schema.sql (Builds): Make "output" part of the primary key.
Co-authored-by: Mathieu Lirzin <mthl@gnu.org>
2017-02-24 19:33:41 +01:00
Ludovic Courtès
8c811abb31
base: Remove unnecessary 'file-exists?' call.
...
* src/cuirass/base.scm (fetch-repository): Remove 'file-exists?' call
before 'mkdir-p'.
2017-02-24 19:32:22 +01:00
Ludovic Courtès
61f8f75e93
base: Do not stop on the first build failure.
...
* src/cuirass/base.scm (process-specs): Systematically call
'set-build-options'. Pass #:keep-going? #t.
2017-02-24 19:32:22 +01:00
Mathieu Othacehe
aebad5184d
base: Handle multi-directories in load-path.
...
* src/cuirass/base.scm (set-guix-package-path!): Parse colon separated
directories in load-path.
Co-authored-by: Mathieu Lirzin <mthl@gnu.org>
2017-02-06 12:47:36 +01:00
Mathieu Othacehe
abd52046d5
base: Handle 'git clone' errors correctly.
...
Fixes https://notabug.org/mthl/cuirass/issues/1 .
* src/cuirass/base.scm (fetch-repository): Return #f when 'git clone' fails.
(process-specs): Test if commit is not #f before using its value.
Signed-off-by: Mathieu Lirzin <mthl@gnu.org>
2017-01-29 17:28:38 +01:00
Mathieu Othacehe
5127c6797c
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>
2017-01-29 17:19:20 +01:00
Mathieu Lirzin
05eba838ea
base: Create the parent directories of '%package-cachedir'.
...
* src/cuirass/base.scm (fetch-repository): Use 'mkdir-p' instead of 'mkdir'
for 'cachedirectory'.
2016-12-01 20:59:43 +01:00
Mathieu Lirzin
5898e6f8f8
base: Use inner definitions instead of big anonymous procedures.
...
* src/cuirass/base.scm (build-packages, process-specs): Use an inner
definition instead of a big anonymous procedure.
2016-11-17 01:19:05 +01:00
Jan Nieuwenhuizen
686e31c590
base: Handle build failure.
...
* src/cuirass/base.scm (build-packages): Catch build failures, write
error log and update database.
Signed-off-by: Mathieu Lirzin <mthl@gnu.org>
2016-09-23 16:53:40 +02:00
Jan Nieuwenhuizen
5ef0701f54
base: Support tracking of a Guix package's git.
...
* src/schema.sql (Specifications): Add no_compile_p column.
* src/cuirass/database.scm (db-add-specification)
(db-get-specifications): Handle #:no-compile? property.
* tests/database.scm (example-spec): Adapt.
* src/cuirass/base.scm (process-specs): Skip compilation if #:no-compile?.
Signed-off-by: Mathieu Lirzin <mthl@gnu.org>
2016-09-23 16:50:36 +02:00
Jan Nieuwenhuizen
fca42b010e
cuirass: Optionally support using of substitutes.
...
* bin/cuirass.in (options): Add --use-substitutes.
(show-help): Idem.
(main): Set %use-substitutes?.
Signed-off-by: Mathieu Lirzin <mthl@gnu.org>
2016-09-23 16:16:29 +02:00
Mathieu Lirzin
ac4512897c
schema: Evaluations: Add 'revision' column.
...
* src/schema.sql (Evaluations): Add 'revision' column.
* src/cuirass/database.scm (db-add-evaluation): Adapt.
All callers changed.
2016-07-30 23:07:19 +02:00
Mathieu Lirzin
24bfb61e8e
schema: Builds: Add 'evaluation' column.
...
* src/schema.sql (Builds): Add 'evaluation' column.
* src/cuirass/database.scm (db-add-build): Adapt.
* src/cuirass/base.scm (build-packages): Likewise.
2016-07-27 14:17:10 +02:00
Mathieu Lirzin
4f82aeab16
cuirass: Move procedures to (cuirass base) module.
...
* bin/cuirass.in (fetch-repository, compile, evaluate, build-packages)
(process-specs): Move to ...
src/cuirass/base.scm: ... here.
2016-07-27 14:17:10 +02:00
Mathieu Lirzin
efb249b056
evaluate: Use (cuirass ...) modules.
...
This avoids code duplication.
2016-07-25 02:37:06 +02:00
Mathieu Lirzin
cf7e290dc2
maint: Update file headers.
2016-07-25 02:12:41 +02:00
Mathieu Lirzin
89b1f89cfc
Move '%program-name' to (cuirass ui) module.
2016-07-25 02:12:37 +02:00
Mathieu Lirzin
efe96ced25
base: Remove unneeded 'guix-variable'.
2016-07-13 23:30:59 +02:00
Mathieu Lirzin
13db5aa618
λ all the things!
2016-07-02 15:49:34 +02:00
Mathieu Lirzin
7ae6ce0690
Add %package-cachedir parameter.
2016-07-02 15:34:40 +02:00
Mathieu Lirzin
2bace10106
Add (cuirass utils) module.
...
Move 'with-directory-excursion' here.
2016-07-02 03:13:29 +02:00
Mathieu Lirzin
a62624301b
base: Add %program-name parameter object.
2016-07-01 16:00:14 +02:00
Mathieu Lirzin
9d5fda76bb
Initial commit.
2016-05-29 19:53:17 +02:00