summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guix/import/crate.scm14
1 files changed, 11 insertions, 3 deletions
diff --git a/guix/import/crate.scm b/guix/import/crate.scm
index 57823c3639..0fece81c55 100644
--- a/guix/import/crate.scm
+++ b/guix/import/crate.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019 Martin Becze <mjbecze@riseup.net>
+;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -86,7 +87,7 @@
crate-dependency?
json->crate-dependency
(id crate-dependency-id "crate_id") ;string
- (kind crate-dependency-kind "kind" ;'normal | 'dev
+ (kind crate-dependency-kind "kind" ;'normal | 'dev | 'build
string->symbol)
(requirement crate-dependency-requirement "req")) ;string
@@ -197,6 +198,12 @@ latest version of CRATE-NAME."
(define (normal-dependency? dependency)
(eq? (crate-dependency-kind dependency) 'normal))
+ (define (dev-dependency? dependency)
+ (eq? (crate-dependency-kind dependency) 'dev))
+
+ (define (build-dependency? dependency)
+ (eq? (crate-dependency-kind dependency) 'build))
+
(define crate
(lookup-crate crate-name))
@@ -212,8 +219,9 @@ latest version of CRATE-NAME."
(and crate version*
(let* ((dependencies (crate-version-dependencies version*))
- (dep-crates (filter normal-dependency? dependencies))
- (dev-dep-crates (remove normal-dependency? dependencies))
+ (dep-crates (append (filter normal-dependency? dependencies)
+ (filter build-dependency? dependencies)))
+ (dev-dep-crates (filter dev-dependency? dependencies))
(cargo-inputs (sort (map crate-dependency-id dep-crates)
string-ci<?))
(cargo-development-inputs