[PATCH] guix: import: Convert inputs to the new format.

  • Open
  • quality assurance status badge
Details
3 participants
  • Attila Lendvai
  • Ludovic Courtès
  • Ricardo Wurmus
Owner
unassigned
Submitted by
Attila Lendvai
Severity
normal
A
A
Attila Lendvai wrote on 13 Apr 2022 14:30
(address . guix-patches@gnu.org)(name . Attila Lendvai)(address . attila@lendvai.name)
20220413123108.5902-1-attila@lendvai.name
* 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(-)

Toggle diff (35 lines)
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."
--
2.35.1
R
R
Ricardo Wurmus wrote on 14 Apr 2022 12:33
(address . 54910@debbugs.gnu.org)
87r160vtjy.fsf@elephly.net
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!

--
Ricardo
L
L
Ludovic Courtès wrote on 23 May 2022 15:37
87sfp05q0m.fsf_-_@gnu.org
Hey Efraim & Jakub,

Ricardo Wurmus <rekado@elephly.net> skribis:

Toggle quote (17 lines)
> 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’.
?