aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/ocaml.scm
diff options
context:
space:
mode:
authorPeter Kreye <kreyepr@gmail.com>2017-10-27 18:32:45 -0500
committerLudovic Courtès <ludo@gnu.org>2017-10-28 10:12:20 +0200
commite88ff71c10135615a65679f4d2f2de8f36f1308e (patch)
treea7ef37767f43e2d09956315b65fef6a82332e889 /gnu/packages/ocaml.scm
parentcd4abd293dd82f3d4db00946bdb96246e3de4e51 (diff)
downloadgnu-guix-e88ff71c10135615a65679f4d2f2de8f36f1308e.tar
gnu-guix-e88ff71c10135615a65679f4d2f2de8f36f1308e.tar.gz
gnu: Add ocaml-lambda-term.
* gnu/packages/ocaml.scm (ocaml-zed): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/ocaml.scm')
-rw-r--r--gnu/packages/ocaml.scm42
1 files changed, 42 insertions, 0 deletions
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 5fdc8e09c1..712cc91e00 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3628,6 +3628,48 @@ to write text editors, edition widgets, readlines, etc. You just have to
connect an engine to your inputs and rendering functions to get an editor.")
(license license:bsd-3)))
+(define-public ocaml-lambda-term
+ (package
+ (name "ocaml-lambda-term")
+ (version "1.11")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/diml/lambda-term/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "10lx1jqgmmfwwlv64di4a8nia9l53v7179z70n9fx6aq5l7r8nba"))))
+ (build-system ocaml-build-system)
+ (arguments
+ `(#:test-target "test"
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ ;; currently, ocaml-lwt is an old version of lwt from before lwt.react
+ ;; was split into a separate module called lwt_react
+ (add-before 'build 'use-old-lwt-react-name
+ (lambda _
+ (substitute* "src/jbuild" (("lwt_react") "lwt.react"))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (zero? (system* "jbuilder" "install" "--prefix" out))))))))
+ (native-inputs
+ `(("jbuilder" ,ocaml-jbuilder)))
+ (propagated-inputs
+ `(("lwt" ,ocaml-lwt)
+ ("zed" ,ocaml-zed)))
+ (home-page "https://github.com/diml/lambda-term")
+ (synopsis "Terminal manipulation library for OCaml")
+ (description "Lambda-Term is a cross-platform library for manipulating the
+terminal. It provides an abstraction for keys, mouse events, colors, as well as
+a set of widgets to write curses-like applications. The main objective of
+Lambda-Term is to provide a higher level functional interface to terminal
+manipulation than, for example, ncurses, by providing a native OCaml interface
+instead of bindings to a C library.")
+ (license license:bsd-3)))
+
(define-public coq-flocq
(package
(name "coq-flocq")