distro: Add missing bits from previous commit.

* distro/packages/base.scm (default-keyword-arguments): New procedure.
This commit is contained in:
Ludovic Courtès 2012-10-11 00:32:17 +02:00
parent a3f75312ec
commit e300a0f8d2

View file

@ -1388,6 +1388,20 @@ (define %bootstrap-guile
;; The Guile used to run the build scripts of the initial derivations. ;; The Guile used to run the build scripts of the initial derivations.
(nixpkgs-derivation* "guile")) (nixpkgs-derivation* "guile"))
(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 (define-syntax substitute-keyword-arguments
(syntax-rules () (syntax-rules ()
"Return a new list of arguments where the value for keyword arg KW is "Return a new list of arguments where the value for keyword arg KW is