[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
03/04: import: crate: Support recursive imports.
From: |
guix-commits |
Subject: |
03/04: import: crate: Support recursive imports. |
Date: |
Tue, 1 Oct 2019 17:34:58 -0400 (EDT) |
civodul pushed a commit to branch master
in repository guix.
commit f8372932027680a1f2f1b41ea8e19c12bb7d7070
Author: Martin Becze <address@hidden>
Date: Tue Oct 1 16:54:56 2019 -0400
import: crate: Support recursive imports.
* guix/import/crate.scm (crate-recursive-import): New procedure.
(crate->guix-package): Return dependencies as a second value.
Signed-off-by: Ludovic Courtès <address@hidden>
---
guix/import/crate.scm | 29 +++++++++++++++++++----------
1 file changed, 19 insertions(+), 10 deletions(-)
diff --git a/guix/import/crate.scm b/guix/import/crate.scm
index fd1974e..8dc014d 100644
--- a/guix/import/crate.scm
+++ b/guix/import/crate.scm
@@ -40,6 +40,7 @@
#:use-module (srfi srfi-26)
#:export (crate->guix-package
guix-package->crate-name
+ crate-recursive-import
%crate-updater))
@@ -218,16 +219,24 @@ latest version of CRATE-NAME."
(cargo-development-inputs
(sort (map crate-dependency-id dev-dep-crates)
string-ci<?)))
- (make-crate-sexp #:name crate-name
- #:version (crate-version-number version*)
- #:cargo-inputs cargo-inputs
- #:cargo-development-inputs cargo-development-inputs
- #:home-page (or (crate-home-page crate)
- (crate-repository crate))
- #:synopsis (crate-description crate)
- #:description (crate-description crate)
- #:license (and=> (crate-version-license version*)
- string->license)))))
+ (values
+ (make-crate-sexp #:name crate-name
+ #:version (crate-version-number version*)
+ #:cargo-inputs cargo-inputs
+ #:cargo-development-inputs cargo-development-inputs
+ #:home-page (or (crate-home-page crate)
+ (crate-repository crate))
+ #:synopsis (crate-description crate)
+ #:description (crate-description crate)
+ #:license (and=> (crate-version-license version*)
+ string->license))
+ (append cargo-inputs cargo-development-inputs)))))
+
+(define (crate-recursive-import crate-name)
+ (recursive-import crate-name #f
+ #:repo->guix-package (lambda (name repo)
+ (crate->guix-package name))
+ #:guix-name crate-name->package-name))
(define (guix-package->crate-name package)
"Return the crate name of PACKAGE."