(zilch lang rust): remove lack-of-vfs workarounds
This commit is contained in:
parent
59dc27b94c
commit
e42315e67a
3 changed files with 29 additions and 20 deletions
|
|
@ -84,8 +84,9 @@
|
|||
(define (resolver-download resolver name version)
|
||||
(unless version
|
||||
(error "Resolver wanted non-versioned download" name))
|
||||
(define vfs (force (cddr (mapping-ref (mapping-ref (resolver-locked-dependencies resolver) name) (version-str version)))))
|
||||
(define-values (parsed-cargo parsed-workspace) (parse-cargo-toml vfs (call-with-port (store-path-open #~,(string-append #$vfs "/Cargo.toml")) (lambda (p) (read-string 99999999 p))) #f))
|
||||
(define dir (force (cddr (mapping-ref (mapping-ref (resolver-locked-dependencies resolver) name) (version-str version)))))
|
||||
(define vfs (vfs-from-store dir))
|
||||
(define-values (parsed-cargo parsed-workspace) (parse-cargo-toml vfs (call-with-port (store-path-open (vfs-file-ref vfs "" "Cargo.toml")) (lambda (p) (read-string 99999999 p))) #f))
|
||||
(unless (cargo-crate-lib-target parsed-cargo)
|
||||
(error "Crate does not have valid [lib] target" (list name version)))
|
||||
|
||||
|
|
@ -282,7 +283,7 @@
|
|||
; emits: (dep-info: #t)
|
||||
(define crate-name (cargo-target-name (resolved-package-cargo-target resolved)))
|
||||
(define crate-version (version-str (resolved-package-version resolved)))
|
||||
(define crate-root (if (vfs? (resolved-package-fs resolved)) (vfs-to-store (resolved-package-fs resolved)) (resolved-package-fs resolved)))
|
||||
(define crate-root (vfs-to-store (resolved-package-fs resolved)))
|
||||
(define crate-type (cargo-target-crate-type (resolved-package-cargo-target resolved)))
|
||||
|
||||
; TODO(puck): workaround for multi-crate-type targets.
|
||||
|
|
@ -448,7 +449,7 @@
|
|||
(unless (eq? crate-type 'rlib)
|
||||
(set! params `(codegen-flags: ("linker" . ,(force linker)) . ,params)))
|
||||
|
||||
(define path #~,(string-append #$(if (vfs? (resolved-package-fs resolved)) (vfs-to-store (resolved-package-fs resolved)) (resolved-package-fs resolved)) "/" (cargo-target-path (resolved-package-cargo-target resolved))))
|
||||
(define path #~,(string-append #$(vfs-to-store (resolved-package-fs resolved)) "/" (cargo-target-path (resolved-package-cargo-target resolved))))
|
||||
(define dep-info (cdar (apply call-rustc `(,path ,rustc-env search-path: ("dependency" . ,transitive-dependencies-meta) emits: (dep-info: #t) . ,params-meta))))
|
||||
|
||||
(define rlib-name (string-append "lib" crate-name "-v" crate-version ".rlib"))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue