From 7304694f51f3e99817ac3033fcd20545623e9a94 Mon Sep 17 00:00:00 2001 From: Simon Tournier Date: Mon, 24 Apr 2023 17:51:17 +0200 Subject: guix: import: crate: Fix incorrect returned values. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/import/crate.scm (crate->guix-package): Return compatible values with 'recursive-import'. Signed-off-by: Ludovic Courtès --- guix/import/crate.scm | 54 ++++++++++++++++++++++++++------------------------- 1 file changed, 28 insertions(+), 26 deletions(-) diff --git a/guix/import/crate.scm b/guix/import/crate.scm index 514eca2229..6e10ebb5d4 100644 --- a/guix/import/crate.scm +++ b/guix/import/crate.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2019, 2020 Martin Becze ;;; Copyright © 2021 Nicolas Goaziou ;;; Copyright © 2022 Hartmut Goebel +;;; Copyright © 2023 Simon Tournier ;;; ;;; This file is part of GNU Guix. ;;; @@ -293,32 +294,33 @@ (define (sort-map-dependencies deps) (match-lambda* (((name _) ...) (apply string-ci (crate-version-license version*) - string->license)) - (append cargo-inputs cargo-development-inputs))))) + (if (and crate version*) + (let* ((dependencies (crate-version-dependencies version*)) + (dep-crates dev-dep-crates (partition normal-dependency? dependencies)) + (cargo-inputs (sort-map-dependencies dep-crates)) + (cargo-development-inputs (if include-dev-deps? + (sort-map-dependencies dev-dep-crates) + '()))) + (values + (make-crate-sexp #:build? include-dev-deps? + #:name crate-name + #:version (crate-version-number version*) + #:cargo-inputs cargo-inputs + #:cargo-development-inputs cargo-development-inputs + #:home-page + (let ((home-page (crate-home-page crate))) + (if (string? home-page) + home-page + (let ((repository (crate-repository crate))) + (if (string? repository) + repository + "")))) + #:synopsis (crate-description crate) + #:description (crate-description crate) + #:license (and=> (crate-version-license version*) + string->license)) + (append cargo-inputs cargo-development-inputs))) + (values #f '()))) (define* (crate-recursive-import crate-name #:key version) (recursive-import crate-name -- cgit v1.2.3