aboutsummaryrefslogtreecommitdiff
path: root/distro
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2012-11-05 23:46:55 +0100
committerLudovic Courtès <ludo@gnu.org>2012-11-05 23:50:57 +0100
commit0af2c24ef788bffbdb30b4662d15fcd194a51e48 (patch)
tree7f76abb82fe1a2662cf922d1843bbac945ddecb7 /distro
parenta48dddfe9cf19b9c301ca170eacc05604b5cefac (diff)
downloadguix-0af2c24ef788bffbdb30b4662d15fcd194a51e48.tar
guix-0af2c24ef788bffbdb30b4662d15fcd194a51e48.tar.gz
utils: Add `default-keyword-arguments' and `substitute-keyword-arguments'.
* distro/packages/base.scm (default-keyword-arguments, substitute-keyword-arguments): Move to... * guix/utils.scm: ... here.
Diffstat (limited to 'distro')
-rw-r--r--distro/packages/base.scm31
1 files changed, 0 insertions, 31 deletions
diff --git a/distro/packages/base.scm b/distro/packages/base.scm
index 3f79449250..195f870676 100644
--- a/distro/packages/base.scm
+++ b/distro/packages/base.scm
@@ -564,37 +564,6 @@ with the Linux kernel.")
;;; Bootstrap packages.
;;;
-(define (default-keyword-arguments args defaults)
- "Return ARGS augmented with any keyword/value from DEFAULTS for
-keywords not already present in ARGS."
- (let loop ((defaults defaults)
- (args args))
- (match defaults
- ((kw value rest ...)
- (loop rest
- (if (assoc-ref kw args)
- args
- (cons* kw value args))))
- (()
- args))))
-
-(define-syntax substitute-keyword-arguments
- (syntax-rules ()
- "Return a new list of arguments where the value for keyword arg KW is
-replaced by EXP. EXP is evaluated in a context where VAR is boud to the
-previous value of the keyword argument."
- ((_ original-args ((kw var) exp) ...)
- (let loop ((args original-args)
- (before '()))
- (match args
- ((kw var rest (... ...))
- (loop rest (cons* exp kw before)))
- ...
- ((x rest (... ...))
- (loop rest (cons x before)))
- (()
- (reverse before)))))))
-
(define gnu-make-boot0
(package-with-bootstrap-guile
(package (inherit gnu-make)