[bug#39261] guix: import/crate: Move build-dependencies to cargo-inputs.
diff mbox series

Message ID 20200124103843.29807-1-efraim@flashner.co.il
State New
Headers show
Series
  • [bug#39261] guix: import/crate: Move build-dependencies to cargo-inputs.
Related show

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job

Commit Message

Efraim Flashner Jan. 24, 2020, 10:38 a.m. UTC
* 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(-)

Comments

Ludovic Courtès Feb. 4, 2020, 11:17 p.m. UTC | #1
Hello!

Nitpick: for the subject line, I’d write:

  import: crate: Move build dependencies to cargo-inputs.

Efraim Flashner <efraim@flashner.co.il> skribis:

> * guix/import/crate.scm (crate->guix-package): Add definition for
> 'dev-dependency?' and 'build-dependency?'. Adjust dep-crates to take
> normal- and build- dependencies.

[...]

> +  (define (dev-dependency? dependency)
> +    (eq? (crate-dependency-kind dependency) 'dev))

Nitpick2: I’d recommend ‘development-dependency?’ as per the style
guidelines.  :-)

Anyhow, LGTM!

Thanks,
Ludo’.
Efraim Flashner Feb. 5, 2020, 7:14 a.m. UTC | #2
I'm actually going to let this one ride until we review the importer patches. Then if it still makes sense we can apply this one.

On February 4, 2020 11:17:36 PM UTC, "Ludovic Courtès" <ludo@gnu.org> wrote:
>Hello!
>
>Nitpick: for the subject line, I’d write:
>
>  import: crate: Move build dependencies to cargo-inputs.
>
>Efraim Flashner <efraim@flashner.co.il> skribis:
>
>> * guix/import/crate.scm (crate->guix-package): Add definition for
>> 'dev-dependency?' and 'build-dependency?'. Adjust dep-crates to take
>> normal- and build- dependencies.
>
>[...]
>
>> +  (define (dev-dependency? dependency)
>> +    (eq? (crate-dependency-kind dependency) 'dev))
>
>Nitpick2: I’d recommend ‘development-dependency?’ as per the style
>guidelines.  :-)
>
>Anyhow, LGTM!
>
>Thanks,
>Ludo’.

Patch
diff mbox series

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