@@ -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))))