Subject: [PATCH] guix: import/crate: Move build-dependencies to cargo-inputs.

From: Efraim Flashner <[email-masked]>
Date: Fri, 24 Jan 2020 12:38:43 +0200

* guix/import/crate.scm (crate->guix-package): Add definition for
'dev-dependency?' and 'build-dependency?'. Adjust dep-crates to take
normal- and build- dependencies.
---
 guix/import/crate.scm | 14 +++++++++++---
 1 file 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 <[email-masked]>
 ;;; Copyright © 2019, 2020 Ludovic Courtès <[email-masked]>
 ;;; Copyright © 2019 Martin Becze <[email-masked]>
+;;; Copyright © 2020 Efraim Flashner <[email-masked]>
 ;;;
 ;;; 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
-- 
2.25.0