(define-module (rosenthal packages tree-sitter) #:use-module (guix gexp) #:use-module (guix packages)) (define tree-sitter-grammar (@@ (gnu packages tree-sitter) tree-sitter-grammar)) (define-public tree-sitter-yaml (let ((base (tree-sitter-grammar "yaml" "YAML" "1bimf5fq85wn8dwlk665w15n2bj37fma5rsfxrph3i9yb0lvzi3q" "0.5.0" #:repository-url "https://github.com/ikatyang/tree-sitter-yaml" #:get-cleanup-snippet (lambda (grammar-directories) #~(begin (use-modules (guix build utils)) (delete-file-recursively "docs") (delete-file "binding.gyp") (delete-file-recursively "bindings") (for-each (lambda (lang) (with-directory-excursion lang (delete-file "src/grammar.json") (delete-file "src/node-types.json") (delete-file "src/parser.c") (delete-file-recursively "src/tree_sitter"))) '#$grammar-directories)))))) (package (inherit base) (arguments (append '(#:tests? #f) ;FIXME (package-arguments base))))))