guix: import: crate: Fix incorrect returned values.

* guix/import/crate.scm (crate->guix-package): Return compatible values with
'recursive-import'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Simon Tournier 2023-04-24 17:51:17 +02:00 committed by Ludovic Courtès
parent 643692895f
commit 7304694f51
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -4,6 +4,7 @@
;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net> ;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2022 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2022 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2023 Simon Tournier <zimon.toutoune@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -293,32 +294,33 @@ (define (sort-map-dependencies deps)
(match-lambda* (((name _) ...) (match-lambda* (((name _) ...)
(apply string-ci<? name))))) (apply string-ci<? name)))))
(and crate version* (if (and crate version*)
(let* ((dependencies (crate-version-dependencies version*)) (let* ((dependencies (crate-version-dependencies version*))
(dep-crates dev-dep-crates (partition normal-dependency? dependencies)) (dep-crates dev-dep-crates (partition normal-dependency? dependencies))
(cargo-inputs (sort-map-dependencies dep-crates)) (cargo-inputs (sort-map-dependencies dep-crates))
(cargo-development-inputs (if include-dev-deps? (cargo-development-inputs (if include-dev-deps?
(sort-map-dependencies dev-dep-crates) (sort-map-dependencies dev-dep-crates)
'()))) '())))
(values (values
(make-crate-sexp #:build? include-dev-deps? (make-crate-sexp #:build? include-dev-deps?
#:name crate-name #:name crate-name
#:version (crate-version-number version*) #:version (crate-version-number version*)
#:cargo-inputs cargo-inputs #:cargo-inputs cargo-inputs
#:cargo-development-inputs cargo-development-inputs #:cargo-development-inputs cargo-development-inputs
#:home-page #:home-page
(let ((home-page (crate-home-page crate))) (let ((home-page (crate-home-page crate)))
(if (string? home-page) (if (string? home-page)
home-page home-page
(let ((repository (crate-repository crate))) (let ((repository (crate-repository crate)))
(if (string? repository) (if (string? repository)
repository repository
"")))) ""))))
#:synopsis (crate-description crate) #:synopsis (crate-description crate)
#:description (crate-description crate) #:description (crate-description crate)
#:license (and=> (crate-version-license version*) #:license (and=> (crate-version-license version*)
string->license)) string->license))
(append cargo-inputs cargo-development-inputs))))) (append cargo-inputs cargo-development-inputs)))
(values #f '())))
(define* (crate-recursive-import crate-name #:key version) (define* (crate-recursive-import crate-name #:key version)
(recursive-import crate-name (recursive-import crate-name