From a68c04f4235214fa9e290d156f2731a0c9f56f1d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Fri, 24 Jan 2020 12:38:43 +0200 Subject: guix: import/crate: Move build-dependencies to cargo-inputs. * 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 ;;; Copyright © 2019, 2020 Ludovic Courtès ;;; Copyright © 2019 Martin Becze +;;; Copyright © 2020 Efraim Flashner ;;; ;;; 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