[bug#63348,4/4] gnu: tree-sitter-cli: Fix build with 0.20.8 version.
Commit Message
* gnu/packages/tree-sitter.scm (tree-sitter-cli)[arguments]<#:tests?>:
Disable, building tests requries rust 1.65.
<#:cargo-inputs>: Update rust-tiny-http and rust-webbrowser.
<#:cargo-development-inputs>: Add rust-ctor, rust-rand, rust-tempfile and
rust-unindent.
<#:phases>: Add 'allow-rust-1.60 phase, to remove the requirement for rust
1.65.
---
gnu/packages/tree-sitter.scm | 20 +++++++++++++++++---
1 file changed, 17 insertions(+), 3 deletions(-)
--
2.39.2
@@ -104,6 +104,9 @@ (define-public tree-sitter-cli
(list tree-sitter graphviz node-lts))
(arguments
(list
+ ;; FIXME: Tests rely on rust 1.65, re-enable tests when the default
+ ;; rust is new enough.
+ #:tests? #f
#:cargo-test-flags
''("--release" "--"
;; Skip tests which rely on downloading grammar fixtures. It is
@@ -141,18 +144,29 @@ (define-public tree-sitter-cli
("rust-semver" ,rust-semver-1)
("rust-smallbitvec" ,rust-smallbitvec-2)
("rust-thiserror" ,rust-thiserror-1)
- ("rust-tiny-http" ,rust-tiny-http-0.8)
+ ("rust-tiny-http" ,rust-tiny-http-0.12)
("rust-toml" ,rust-toml-0.5)
("rust-walkdir" ,rust-walkdir-2)
- ("rust-webbrowser" ,rust-webbrowser-0.5)
+ ("rust-webbrowser" ,rust-webbrowser-0.8)
("rust-which" ,rust-which-4))
#:cargo-development-inputs
- `(("rust-pretty-assertions" ,rust-pretty-assertions-0.7))
+ `(("rust-ctor" ,rust-ctor-0.1)
+ ("rust-pretty-assertions" ,rust-pretty-assertions-0.7)
+ ("rust-rand" ,rust-rand-0.8)
+ ("rust-tempfile" ,rust-tempfile-3)
+ ("rust-unindent" ,rust-unindent-0.2))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'delete-cargo-lock
(lambda _
(delete-file "Cargo.lock")))
+ ;; Remove rust version restrictions in Cargo.toml files.
+ ;; FIXME: Remove this phase when guix's default rust is new enough
+ ;; (1.65 as of version 0.20.8).
+ (add-after 'unpack 'allow-rust-1.60
+ (lambda _
+ (substitute* (find-files "." "^Cargo\\.toml$")
+ (("rust-version\\.workspace = true") ""))))
(add-after 'unpack 'patch-node
(lambda _
(substitute* "cli/src/generate/mod.rs"