diff mbox series

[bug#63348,4/4] gnu: tree-sitter-cli: Fix build with 0.20.8 version.

Message ID cfe55dbec7118e24c5bcff341f73988e95fdbeea.1683465958.git.pierre.langlois@gmx.com
State New
Headers show
Series Fix tree-sitter-cli build after 0.20.8 update. | expand

Commit Message

Pierre Langlois May 7, 2023, 1:26 p.m. UTC
* 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
diff mbox series

Patch

diff --git a/gnu/packages/tree-sitter.scm b/gnu/packages/tree-sitter.scm
index 386409914b..4e680df765 100644
--- a/gnu/packages/tree-sitter.scm
+++ b/gnu/packages/tree-sitter.scm
@@ -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"