diff options
author | Ludovic Courtès <ludo@gnu.org> | 2012-10-11 00:32:17 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2012-10-11 00:32:17 +0200 |
commit | e300a0f8d25cb309aa3fe9d1d78f6db74b625902 (patch) | |
tree | 68809e1e4871703d8ee4895d1e928baa95c23f5b /distro | |
parent | a3f75312ec6fb170f2a60a80442a92648db1f5c2 (diff) |
distro: Add missing bits from previous commit.
* distro/packages/base.scm (default-keyword-arguments): New procedure.
Diffstat (limited to 'distro')
-rw-r--r-- | distro/packages/base.scm | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/distro/packages/base.scm b/distro/packages/base.scm index f2a93f8601..2fb67b62af 100644 --- a/distro/packages/base.scm +++ b/distro/packages/base.scm @@ -1388,6 +1388,20 @@ with the Linux kernel.") ;; The Guile used to run the build scripts of the initial derivations. (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 (syntax-rules () "Return a new list of arguments where the value for keyword arg KW is |