~ruther/guix-local

a482cfdcaee493a0ce796b4cd2059c46fce6d14d — Ludovic Courtès 11 years ago b4a4bec
gexp: Remove special meaning of forms (PACKAGE OUTPUT) in ungexp.

* guix/gexp.scm (gexp-inputs)[add-reference-inputs]: Remove clause for
  inputs of the form (PACKAGE OUTPUT).
  (gexp->sexp)[reference->sexp]: Likewise.
* tests/gexp.scm ("input list splicing"): Change 'list' to 'gexp-input'
  for glibc:debug.
  ("text-file*"): Likewise for %bootstrap-guile:out.
  ("input list splicing + gexp-input + ungexp-native-splicing"): Remove,
  now redundant.
2 files changed, 2 insertions(+), 23 deletions(-)

M guix/gexp.scm
M tests/gexp.scm
M guix/gexp.scm => guix/gexp.scm +0 -11
@@ 312,10 312,6 @@ references."
       (if (direct-store-path? str)
           (cons `(,str) result)
           result))
      (($ <gexp-input> ((? package? p) (? string? output)) _ native?)
       ;; XXX: For now, for backward-compatibility, automatically convert a
       ;; pair like this to an gexp-input for OUTPUT of P.
       (add-reference-inputs (gexp-input p output native?) result))
      (($ <gexp-input> (lst ...) output native?)
       (fold-right add-reference-inputs result
                   ;; XXX: For now, automatically convert LST to a list of


@@ 373,13 369,6 @@ and in the current monad setting (system type, etc.)"
                       #:output output
                       #:system system
                       #:target (if (or n? native?) #f target)))
        (($ <gexp-input> ((? package? p) (? string? output)) _ n?)
         ;; XXX: For backward compatibility, automatically interpret such a
         ;; pair.
         (package-file p
                       #:output output
                       #:system system
                       #:target (if (or n? native?) #f target)))
        (($ <gexp-input> (? origin? o) output)
         (mlet %store-monad ((drv (origin->derivation o)))
           (return (derivation->output-path drv output))))

M tests/gexp.scm => tests/gexp.scm +2 -12
@@ 196,7 196,7 @@
                 (gexp->sexp* exp target)))))

(test-assert "input list splicing"
  (let* ((inputs  (list (list glibc "debug") %bootstrap-guile))
  (let* ((inputs  (list (gexp-input glibc "debug") %bootstrap-guile))
         (outputs (list (derivation->output-path
                         (package-derivation %store glibc)
                         "debug")


@@ 210,16 210,6 @@
                 `(list ,@(cons 5 outputs))))))

(test-assert "input list splicing + ungexp-native-splicing"
  (let* ((inputs (list (list glibc "debug") %bootstrap-guile))
         (exp    (gexp (list (ungexp-native-splicing (cons (+ 2 3) inputs))))))
    (and (lset= equal?
                `((,glibc "debug") (,%bootstrap-guile "out"))
                (gexp-native-inputs exp))
         (null? (gexp-inputs exp))
         (equal? (gexp->sexp* exp)                ;native
                 (gexp->sexp* exp "mips64el-linux")))))

(test-assert "input list splicing + gexp-input + ungexp-native-splicing"
  (let* ((inputs (list (gexp-input glibc "debug") %bootstrap-guile))
         (exp    (gexp (list (ungexp-native-splicing (cons (+ 2 3) inputs))))))
    (and (lset= equal?


@@ 553,7 543,7 @@
           (file (text-file "bar" "This is bar."))
           (text (text-file* "foo"
                             %bootstrap-guile "/bin/guile "
                             `(,%bootstrap-guile "out") "/bin/guile "
                             (gexp-input %bootstrap-guile "out") "/bin/guile "
                             drv "/bin/guile "
                             file))
           (done (built-derivations (list text)))