diff options
-rw-r--r-- | guix/import/crate.scm | 14 |
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 |