~ruther/guix-local

e300a0f8d25cb309aa3fe9d1d78f6db74b625902 — Ludovic Courtès 13 years ago a3f7531
distro: Add missing bits from previous commit.

* distro/packages/base.scm (default-keyword-arguments): New procedure.
1 files changed, 14 insertions(+), 0 deletions(-)

M distro/packages/base.scm
M distro/packages/base.scm => distro/packages/base.scm +14 -0
@@ 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