diff options
author | Ludovic Courtès <ludo@gnu.org> | 2019-09-17 16:17:20 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2019-09-17 16:27:15 +0200 |
commit | 9ff87bb99614923fa3336ab4bbf22e3444709b48 (patch) | |
tree | fa169a6cc0fdc8d92bb4c4a4f265afc2ba29a890 /guix/scripts/import/crate.scm | |
parent | ae71bef532d6b1c9d1481a3ac65827f148b1e45b (diff) | |
parent | 9e8e252026f558933bdd9cfc26a75d13954b3e8e (diff) | |
download | patches-9ff87bb99614923fa3336ab4bbf22e3444709b48.tar patches-9ff87bb99614923fa3336ab4bbf22e3444709b48.tar.gz |
Merge branch 'master' into core-updates
Diffstat (limited to 'guix/scripts/import/crate.scm')
-rw-r--r-- | guix/scripts/import/crate.scm | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/guix/scripts/import/crate.scm b/guix/scripts/import/crate.scm index cab9a4397b..7ae8638911 100644 --- a/guix/scripts/import/crate.scm +++ b/guix/scripts/import/crate.scm @@ -2,6 +2,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 David Thompson <davet@gnu.org> ;;; Copyright © 2016 David Craven <david@craven.ch> +;;; Copyright © 2019 Martin Becze <mjbecze@riseup.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -75,6 +76,7 @@ Import and convert the crate.io package for PACKAGE-NAME.\n")) (alist-cons 'argument arg result)) %default-options)) + (let* ((opts (parse-options)) (args (filter-map (match-lambda (('argument . value) @@ -82,11 +84,16 @@ Import and convert the crate.io package for PACKAGE-NAME.\n")) (_ #f)) (reverse opts)))) (match args - ((package-name) - (let ((sexp (crate->guix-package package-name))) + ((spec) + (define-values (name version) + (package-name->name+version spec)) + + (let ((sexp (crate->guix-package name version))) (unless sexp (leave (G_ "failed to download meta-data for package '~a'~%") - package-name)) + (if version + (string-append name "@" version) + name))) sexp)) (() (leave (G_ "too few arguments~%"))) |