summaryrefslogtreecommitdiff
path: root/gnu/packages/guile-xyz.scm
diff options
context:
space:
mode:
authorZheng Junjie <zhengjunjie@iscas.ac.cn>2023-10-26 23:03:19 +0800
committerAndrew Tropin <andrew@trop.in>2023-10-27 16:10:04 +0400
commitfca99c89b8f29f3156786f6d943748f830279fdc (patch)
tree87e4158a86c13fd643dc4e4ace08b72b5e3709c6 /gnu/packages/guile-xyz.scm
parentc11b9133d29a815d947b556551563c8dc4a68a35 (diff)
gnu: Add guile-ts.
* gnu/packages/guile-xyz.scm (guile-ts): New variable. Co-authored-by: Andrew Tropin <andrew@trop.in> Signed-off-by: Andrew Tropin <andrew@trop.in>
Diffstat (limited to 'gnu/packages/guile-xyz.scm')
-rw-r--r--gnu/packages/guile-xyz.scm48
1 files changed, 48 insertions, 0 deletions
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 90f51cf741..0eec87f768 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -46,6 +46,7 @@
;;; Copyright © 2022, 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2022 Evgeny Pisemsky <evgeny@pisemsky.com>
;;; Copyright © 2022 jgart <jgart@dismail.de>
+;;; Copyright © 2023 Andrew Tropin <andrew@trop.in>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -119,6 +120,7 @@
#:use-module (gnu packages tex)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages tree-sitter)
#:use-module (gnu packages version-control)
#:use-module (gnu packages webkit)
#:use-module (gnu packages xdisorg)
@@ -4588,6 +4590,52 @@ models and also supports a rich set of boolean query operators.")
according to Bitorrent BEP003.")
(license license:gpl3+)))
+(define-public guile-ts
+ (package
+ (name "guile-ts")
+ (version "0.1.0")
+ (source (origin (method git-fetch)
+ (uri (git-reference
+ (url
+ "https://github.com/Z572/guile-ts")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0xmq2d3mv921m0g1hqw6bjzh4m622g2c7pal11ks7vjn0m8d4bxj"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:make-flags #~(list "GUILE_AUTO_COMPILE=0")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'set-extension-path
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute*
+ (find-files "." ".*\\.scm")
+ (("\\(load-extension \"libguile_ts\" *\"(.*)\"\\)" _ o)
+ (string-append
+ (object->string
+ `(or (false-if-exception
+ (load-extension "libguile_ts" ,o))
+ (load-extension
+ ,(string-append
+ #$output
+ "/lib/libguile_ts.so")
+ ,o)))))))))))
+ (native-inputs
+ (list autoconf automake libtool texinfo pkg-config guile-3.0))
+ (inputs
+ (list guile-3.0 tree-sitter))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "TREE_SITTER_GRAMMAR_PATH")
+ (files '("lib/tree-sitter")))))
+ (synopsis "Guile bindings to the Tree-sitter parsing library")
+ (description "This package provides Guile bindings to the Tree-sitter
+parsing library.")
+ (home-page "https://github.com/Z572/guile-ts")
+ (license license:gpl3+)))
+
(define-public guile-irc
(let ((commit "7d08ce6fdcb87ac668c5d3bfd5584247805507bb")
(revision "1"))