aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2019-03-06 21:07:24 +0100
committerRicardo Wurmus <rekado@elephly.net>2019-03-06 21:07:49 +0100
commit9f8698ad1c9c80ddff4ec66eef3d262db5212299 (patch)
treeb3b98f1eeea3dbb960c10afbb97aeadab130d145
parent3d13b448e5e5a4eff7a94ca38ee051206daab96d (diff)
downloadpatches-9f8698ad1c9c80ddff4ec66eef3d262db5212299.tar
patches-9f8698ad1c9c80ddff4ec66eef3d262db5212299.tar.gz
gnu: Add guile-stis-parser.
* gnu/packages/guile-xyz.scm (guile-stis-parser): New variable.
-rw-r--r--gnu/packages/guile-xyz.scm40
1 files changed, 40 insertions, 0 deletions
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 856f02f793..1ef523d9ce 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -2057,3 +2057,43 @@ for people new to Emacs. Features include: CUA mode, Geiser, tool bar icons
to evaluate Guile buffers, support for Guile's very own picture language, code
completion, a simple mode line, etc.")
(license license:gpl3+))))
+
+(define-public guile-stis-parser
+ (let ((commit "6e85d37ffc333b722f4413a6c648263701eb75bd")
+ (revision "1"))
+ (package
+ (name "guile-stis-parser")
+ (version (git-version "0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/tampe/stis-parser")
+ (commit commit)))
+ (sha256
+ (base32
+ "0v4hvq7rlpbra1ni73lf8k6sdmjlflr50yi3p1f24g85h77pc7c0"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:parallel-build? #f ; not supported
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _ (chdir "modules") #t))
+ (add-after 'chdir 'delete-broken-symlink
+ (lambda _
+ (delete-file "parser/stis-parser/lang/.#calc.scm")
+ #t)))))
+ (inputs
+ `(("guile" ,guile-2.2)))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://gitlab.com/tampe/stis-parser")
+ (synopsis "Parser combinator framework")
+ (description
+ "This package provides a functional parser combinator library that
+supports backtracking and a small logical framework. The idea is to build up
+chunks that are memoized and there is no clear scanner/parser separation,
+chunks can be expressions as well as simple tokens.")
+ (license license:lgpl2.0+))))