diff mbox series

[bug#49946,v4,20/31] gnu: Add tree-sitter-php.

Message ID 20220218143948.28989-20-pierre.langlois@gmx.com
State New
Headers show
Series gnu: Add tree-sitter for emacs. | expand

Commit Message

Pierre Langlois Feb. 18, 2022, 2:39 p.m. UTC
* gnu/packages/tree-sitter.scm (tree-sitter-php): New variable.
---
 gnu/packages/tree-sitter.scm | 38 ++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

--
2.34.0
diff mbox series

Patch

diff --git a/gnu/packages/tree-sitter.scm b/gnu/packages/tree-sitter.scm
index 904697154d..e64e248215 100644
--- a/gnu/packages/tree-sitter.scm
+++ b/gnu/packages/tree-sitter.scm
@@ -613,3 +613,41 @@  (define-public tree-sitter-ocaml
       (description
         "This package provides a OCaml grammar for the Tree-sitter library.")
       (license license:expat))))
+
+(define-public tree-sitter-php
+  (let ((commit "435fa00006c0d1515c37fbb4dd6a9de284af75ab")
+        (revision "1"))
+    (package (inherit tree-sitter-c)
+      (name "tree-sitter-php")
+      (version (git-version "0.19.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/tree-sitter/tree-sitter-php")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "05k4h58gi616gv41r0qqdb1x4rs8y94vghn2r10yczisgzq4vbad"))
+                (modules '((guix build utils)))
+                (snippet
+                 '(begin
+                    (delete-file "src/grammar.json")
+                    (delete-file "src/node-types.json")
+                    (delete-file "src/parser.c")
+                    (delete-file-recursively "src/tree_sitter")
+                    #t))))
+    (arguments
+     (substitute-keyword-arguments (package-arguments tree-sitter-c)
+      ((#:phases phases)
+       `(modify-phases ,phases
+          (replace 'delete-dependencies
+           (lambda _
+             (delete-dependencies '("tree-sitter-cli"
+                                    "nan"
+                                    "shelljs"))))))))
+      (home-page "https://github.com/tree-sitter/tree-sitter-php")
+      (synopsis "Tree-sitter PHP grammar")
+      (description
+        "This package provides a PHP grammar for the Tree-sitter library.")
+      (license license:expat))))