diff mbox series

[bug#49946,14/31] gnu: Add tree-sitter-go.

Message ID 20210808233354.6745-14-pierre.langlois@gmx.com
State New
Headers show
Series Tree-sitter, node-gyp addon support and emacs-tree-sitter | expand

Commit Message

Pierre Langlois Aug. 8, 2021, 11:33 p.m. UTC
* gnu/packages/tree-sitter.scm (tree-sitter-go): New variable.
---
 gnu/packages/tree-sitter.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

--
2.32.0
diff mbox series

Patch

diff --git a/gnu/packages/tree-sitter.scm b/gnu/packages/tree-sitter.scm
index 05929a9062..f163efd7a3 100644
--- a/gnu/packages/tree-sitter.scm
+++ b/gnu/packages/tree-sitter.scm
@@ -22,6 +22,7 @@ 
   #:use-module (guix build-system node)
   #:use-module (guix git-download)
   #:use-module (guix packages)
+  #:use-module (guix utils)
   #:use-module (gnu packages crates-io)
   #:use-module (gnu packages crates-graphics)
   #:use-module (gnu packages node-xyz))
@@ -201,3 +202,32 @@  library.")
     (description
       "This package provides a CSS grammar for the Tree-sitter library.")
     (license license:expat)))
+
+(define-public tree-sitter-go
+  (package (inherit tree-sitter-c)
+    (name "tree-sitter-go")
+    (version "0.19.1")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+              (url "https://github.com/tree-sitter/tree-sitter-go")
+              (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32
+          "0nxs47vd2fc2fr0qlxq496y852rwg39flhg334s7dlyq7d3lcx4x"))))
+    (arguments
+     (substitute-keyword-arguments (package-arguments tree-sitter-c)
+      ((#:phases phases)
+       `(modify-phases ,phases
+         ;; The parse-example script tries to clone git repositories.
+         (add-after 'unpack 'remove-parse-example
+           (lambda _
+             (substitute* "package.json"
+               ((" && script\\/parse-examples") ""))))))))
+    (home-page "https://github.com/tree-sitter/tree-sitter-go")
+    (synopsis "Tree-sitter Go grammar")
+    (description
+      "This package provides a Golang grammar for the Tree-sitter library.")
+    (license license:expat)))