diff options
Diffstat (limited to 'guix/import/crate.scm')
-rw-r--r-- | guix/import/crate.scm | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/guix/import/crate.scm b/guix/import/crate.scm index 84b152620c..9128314370 100644 --- a/guix/import/crate.scm +++ b/guix/import/crate.scm @@ -151,16 +151,17 @@ record or #f if it was not found." "Return the `package' s-expression for a rust package with the given NAME, VERSION, CARGO-INPUTS, CARGO-DEVELOPMENT-INPUTS, HOME-PAGE, SYNOPSIS, DESCRIPTION, and LICENSE." + (define (format-inputs inputs) + (map + (match-lambda + ((name version) (list (crate-name->package-name name) + (version-major+minor version)))) + inputs)) + (let* ((port (http-fetch (crate-uri name version))) (guix-name (crate-name->package-name name)) - (cargo-inputs - (map - (lambda (name-version) - (apply crate-name->package-name name-version)) cargo-inputs)) - (cargo-development-inputs - (map - (lambda (name-version) - (apply crate-name->package-name name-version)) cargo-development-inputs)) + (cargo-inputs (format-inputs cargo-inputs)) + (cargo-development-inputs (format-inputs cargo-development-inputs)) (pkg `(package (name ,guix-name) (version ,version) |