Subject: Re: [bug#70923] [PATCH v4 01/11] build-system: cargo: Accept unlabeled #:cargo-inputs.

From: Efraim Flashner <[email-masked]>
Date: Tue, 10 Dec 2024 17:41:27 +0200

I've applied this one for now to the rust-team branch since it'll cause
a rebuild if applied to master.

I tried out the patches for the importer too, but I think with the
changes it needs the input from some other teams too?

On Mon, Dec 09, 2024 at 08:58:05PM +0100, Herman Rimm wrote:
> * guix/build-system/cargo.scm (crate-closure): Match unlabeled inputs.
> 
> Change-Id: Iae421281fa08d09ddd1e5d2da2864f0093d97cd1
> ---
>  guix/build-system/cargo.scm | 12 ++++++++----
>  1 file changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/guix/build-system/cargo.scm b/guix/build-system/cargo.scm
> index 658a2e525e..2e3061c0e8 100644
> --- a/guix/build-system/cargo.scm
> +++ b/guix/build-system/cargo.scm
> @@ -6,6 +6,7 @@
>  ;;; Copyright © 2019 Ivan Petkov <[email-masked]>
>  ;;; Copyright © 2020 Jakub Kądziołka <[email-masked]>
>  ;;; Copyright © 2021 Efraim Flashner <[email-masked]>
> +;;; Copyright © 2024 Herman Rimm <[email-masked]>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -234,11 +235,14 @@ (define (crate-closure inputs)
>         (if (null? propagated)
>             (reverse result)
>             (loop (reverse (concatenate propagated)) result '() #f seen)))
> -      (((and input (label (? package? package))) rest ...)
> +      ;; Match inputs with labels for backward compatibility.
> +      (((or (_ (? package? package))
> +            (? package? package))
> +        rest ...)
>         (if (and (not first?) (seen? seen package))
>             (loop rest result propagated first? seen)
>             (loop rest
> -                 (cons input result)
> +                 (cons package result)
>                   (cons (package-cargo-inputs package)
>                         propagated)
>                   first?
> @@ -296,8 +300,8 @@ (define (expand-crate-sources cargo-inputs cargo-development-inputs)
>    something that can always be extended or reworked in the future)."
>    (filter-map
>      (match-lambda
> -      ((label (? package? p))
> -       (list label (package-source p)))
> +      ((? package? p)
> +       (list (package-name p) (package-source p)))
>        ((label input)
>         (list label input)))
>      (crate-closure (append cargo-inputs cargo-development-inputs))))
> 
> base-commit: a5a540d71331fd43fd53e23eb49102c55462c28f
> -- 
> 2.45.2
> 
> 
> 

-- 
Efraim Flashner   <[email-masked]>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted