diff options
author | Ludovic Courtès <ludo@gnu.org> | 2018-01-23 17:37:08 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2018-01-23 17:37:08 +0100 |
commit | b0f1a438ff1230ca98f06eda32443740c7bc8776 (patch) | |
tree | 20c730d44b2f1a2ac1460d94413bd79f62e436fd /src/cuirass/utils.scm | |
parent | 6822b4735ffd3b1c9f1b93d9b3dd45d85ed15380 (diff) | |
download | cuirass-b0f1a438ff1230ca98f06eda32443740c7bc8776.tar cuirass-b0f1a438ff1230ca98f06eda32443740c7bc8776.tar.gz |
Add a 'build-status' enumeration.
* src/cuirass/utils.scm (define-enumeration): New macro.
* src/cuirass/database.scm (build-status): New macro.
* src/cuirass/base.scm (build-packages)[hydra-build-status]: Remove.
Use the 'build-status' macro instead.
Diffstat (limited to 'src/cuirass/utils.scm')
-rw-r--r-- | src/cuirass/utils.scm | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/cuirass/utils.scm b/src/cuirass/utils.scm index a932674..9f432a6 100644 --- a/src/cuirass/utils.scm +++ b/src/cuirass/utils.scm @@ -1,5 +1,5 @@ ;;; utils.scm -- helper procedures -;;; Copyright © 2012, 2013, 2016 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2016, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 David Thompson <davet@gnu.org> ;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org> ;;; @@ -24,7 +24,8 @@ #:use-module (json) #:export (alist? object->json-scm - object->json-string)) + object->json-string + define-enumeration)) (define (alist? obj) "Return #t if OBJ is an alist." @@ -47,3 +48,12 @@ (define* (object->json-string object #:key pretty) "Return OBJECT as a JSON object." (scm->json-string (object->json-scm object) #:pretty pretty)) + +(define-syntax-rule (define-enumeration name (symbol value) ...) + "Define an 'enum' type with the given SYMBOL/VALUE pairs. NAME is defined a +macro that accepts one of these symbols and expands to the corresponding +value." + (define-syntax name + (syntax-rules (symbol ...) + ((_ symbol) value) + ...))) |