diff mbox series

[bug#54910] guix: import: Convert inputs to the new format.

Message ID 20220413123108.5902-1-attila@lendvai.name
State New
Headers show
Series [bug#54910] guix: import: Convert inputs to the new format. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Attila Lendvai April 13, 2022, 12:30 p.m. UTC
* guix/import/utils.scm (package-names->package-inputs): Return the simplified format.
(maybe-inputs): Use the simplified format.
---
 guix/import/utils.scm | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

Comments

Ricardo Wurmus April 14, 2022, 10:33 a.m. UTC | #1
Thanks for the patch!

This looked good to me, so I applied it locally.  I then ran the test
suite and noticed that tests/go.scm and tests/crate.scm have failing
tests.

The failure in tests/go.scm is harmless and can easily be fixed.  But
the failure in tests/crate.scm indicates a real problem, I think.  The
build system expects that inputs are placed in the #:cargo-inputs field
in (arguments …), and this seems to expect old-style labelled inputs.

I don’t know if the build system would work with the new-style plain
lists in the arguments field, so I’m Cc-ing contributors to the build
system.

@Jakub and @Efraim: could you please comment on this?

Thanks in advance!
Ludovic Courtès May 23, 2022, 1:37 p.m. UTC | #2
Hey Efraim & Jakub,

Ricardo Wurmus <rekado@elephly.net> skribis:

> Thanks for the patch!
>
> This looked good to me, so I applied it locally.  I then ran the test
> suite and noticed that tests/go.scm and tests/crate.scm have failing
> tests.
>
> The failure in tests/go.scm is harmless and can easily be fixed.  But
> the failure in tests/crate.scm indicates a real problem, I think.  The
> build system expects that inputs are placed in the #:cargo-inputs field
> in (arguments …), and this seems to expect old-style labelled inputs.
>
> I don’t know if the build system would work with the new-style plain
> lists in the arguments field, so I’m Cc-ing contributors to the build
> system.
>
> @Jakub and @Efraim: could you please comment on this?

A friendly ping.  :-)

I think it’s important to make sure the current Rust packaging strategy
does not “hold us back”.

Thanks,
Ludo’.
diff mbox series

Patch

diff --git a/guix/import/utils.scm b/guix/import/utils.scm
index 9cadbb3d5f..40dae55acd 100644
--- a/guix/import/utils.scm
+++ b/guix/import/utils.scm
@@ -268,12 +268,13 @@  (define* (package-names->package-inputs names #:optional (output #f))
 optional OUTPUT, tries to generate a quoted list of inputs, as suitable to
 use in an 'inputs' field of a package definition."
   (define (make-input input version)
-    (cons* input (list 'unquote (string->symbol
-                                 (if version
-                                     (string-append input "-" version)
-                                     input)))
-           (or (and output (list output))
-               '())))
+    (let ((pkg (string->symbol
+                (if version
+                    (string-append input "-" version)
+                    input))))
+      (if output
+          (list pkg output)
+          pkg)))
 
   (map (match-lambda
          ((input version) (make-input input version))
@@ -294,7 +295,7 @@  (define* (maybe-inputs package-names #:optional (output #f)
       (()
        '())
       ((package-inputs ...)
-       `((,field-name (,'quasiquote ,package-inputs)))))))
+       `((,field-name (list ,@package-inputs)))))))
 
 (define* (maybe-native-inputs package-names #:optional (output #f))
   "Same as MAYBE-INPUTS, but for native inputs."