build/cargo-build-system: Use bundled json instead of guile-json.
* guix/build/cargo-build-system.scm: Use (gnu build json) instead of (json parser). * guix/build-system/cargo.scm: Import (gnu build json) instead of (json parser). Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
This commit is contained in:
parent
848862f029
commit
4fde0030d4
|
@ -61,7 +61,7 @@ to NAME and VERSION."
|
||||||
(define %cargo-build-system-modules
|
(define %cargo-build-system-modules
|
||||||
;; Build-side modules imported by default.
|
;; Build-side modules imported by default.
|
||||||
`((guix build cargo-build-system)
|
`((guix build cargo-build-system)
|
||||||
(json parser)
|
(guix build json)
|
||||||
,@%cargo-utils-modules))
|
,@%cargo-utils-modules))
|
||||||
|
|
||||||
(define* (cargo-build store name inputs
|
(define* (cargo-build store name inputs
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
|
|
||||||
(define-module (guix build cargo-build-system)
|
(define-module (guix build cargo-build-system)
|
||||||
#:use-module ((guix build gnu-build-system) #:prefix gnu:)
|
#:use-module ((guix build gnu-build-system) #:prefix gnu:)
|
||||||
|
#:use-module (guix build json)
|
||||||
#:use-module (guix build utils)
|
#:use-module (guix build utils)
|
||||||
#:use-module (guix build cargo-utils)
|
#:use-module (guix build cargo-utils)
|
||||||
#:use-module (ice-9 popen)
|
#:use-module (ice-9 popen)
|
||||||
|
@ -27,7 +28,6 @@
|
||||||
#:use-module (ice-9 ftw)
|
#:use-module (ice-9 ftw)
|
||||||
#:use-module (ice-9 format)
|
#:use-module (ice-9 format)
|
||||||
#:use-module (ice-9 match)
|
#:use-module (ice-9 match)
|
||||||
#:use-module (json parser)
|
|
||||||
#:use-module (srfi srfi-1)
|
#:use-module (srfi srfi-1)
|
||||||
#:use-module (srfi srfi-26)
|
#:use-module (srfi srfi-26)
|
||||||
#:export (%standard-phases
|
#:export (%standard-phases
|
||||||
|
@ -42,15 +42,15 @@
|
||||||
(define (manifest-targets)
|
(define (manifest-targets)
|
||||||
"Extract all targets from the Cargo.toml manifest"
|
"Extract all targets from the Cargo.toml manifest"
|
||||||
(let* ((port (open-input-pipe "cargo read-manifest"))
|
(let* ((port (open-input-pipe "cargo read-manifest"))
|
||||||
(data (json->scm port))
|
(data (read-json port))
|
||||||
(targets (hash-ref data "targets" '())))
|
(targets (or (assoc-ref data "targets") '())))
|
||||||
(close-port port)
|
(close-port port)
|
||||||
targets))
|
targets))
|
||||||
|
|
||||||
(define (has-executable-target?)
|
(define (has-executable-target?)
|
||||||
"Check if the current cargo project declares any binary targets."
|
"Check if the current cargo project declares any binary targets."
|
||||||
(let* ((bin? (lambda (kind) (string=? kind "bin")))
|
(let* ((bin? (lambda (kind) (string=? kind "bin")))
|
||||||
(get-kinds (lambda (dep) (hash-ref dep "kind")))
|
(get-kinds (lambda (dep) (assoc-ref dep "kind")))
|
||||||
(bin-dep? (lambda (dep) (find bin? (get-kinds dep)))))
|
(bin-dep? (lambda (dep) (find bin? (get-kinds dep)))))
|
||||||
(find bin-dep? (manifest-targets))))
|
(find bin-dep? (manifest-targets))))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue