summary refs log tree commit diff
diff options
context:
space:
mode:
authorGabriel Hondet <gabrielhondet@gmail.com>2019-02-01 20:31:34 +0100
committerJulien Lepiller <julien@lepiller.eu>2019-02-13 22:50:54 +0100
commit7195c4f2ae1c6da6c02fbf70a94d32aa35dd613a (patch)
treefbe94dbce082e43af1b0307ce18ff2703ed79018
parent70c7d02590a93d3950747a9538e3882cb34bcd49 (diff)
downloadguix-7195c4f2ae1c6da6c02fbf70a94d32aa35dd613a.tar.gz
gnu: Add ocaml-bindlib.
* gnu/packages/ocaml.scm (ocaml-bindlib): New variable.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
-rw-r--r--gnu/packages/ocaml.scm38
1 files changed, 38 insertions, 0 deletions
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 0098806bcb..6bc3def90f 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -4683,6 +4683,44 @@ in-line tests in ocaml code.  It is part of Jane Street's PPX rewriters
 collection.")
     (license license:expat)))
 
+(define-public ocaml-bindlib
+  (package
+    (name "ocaml-bindlib")
+    (version "5.0.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/rlepigre/ocaml-bindlib.git")
+             (commit (string-append "ocaml-bindlib_" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1f8kr81w8vsi4gv61xn1qbc6zrzkjp8l9ix0942vjh4gjxc74v75"))))
+    (build-system ocaml-build-system)
+    (arguments
+     `(#:tests? #f ;no tests
+       #:use-make? #t
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (replace 'build
+           (lambda _
+             (invoke "make")))
+         (replace 'install
+           (lambda _
+             (invoke "make" "install"))))))
+    (native-inputs
+     `(("ocamlbuild" ,ocamlbuild)
+       ("ocaml-findlib" ,ocaml-findlib)))
+    (home-page "https://rlepigre.github.io/ocaml-bindlib/")
+    (synopsis "OCaml Bindlib library for bound variables")
+    (description "Bindlib is a library allowing the manipulation of data
+structures with bound variables.  It is particularly useful when writing ASTs
+for programming languages, but also for manipulating terms of the λ-calculus
+or quantified formulas.")
+    (license license:gpl3+)))
+
 (define-public ocaml-earley
   (package
     (name "ocaml-earley")