summary refs log tree commit diff
path: root/pkgs/development/ocaml-modules/lambda-term
diff options
context:
space:
mode:
authorFlorent Becker <florent.becker@ens-lyon.org>2014-07-20 18:22:16 +0200
committerMichael Raskin <7c6f434c@mail.ru>2014-08-30 19:37:15 +0400
commit328469aa06539b6917bca1374ab9a621a0b0ed8a (patch)
tree36ee3fa7e47944be0a724caaa7edffdc7356103a /pkgs/development/ocaml-modules/lambda-term
parentedc11bc4f96754dff40da09ed3275acef756ff05 (diff)
downloadnixpkgs-328469aa06539b6917bca1374ab9a621a0b0ed8a.tar
nixpkgs-328469aa06539b6917bca1374ab9a621a0b0ed8a.tar.gz
nixpkgs-328469aa06539b6917bca1374ab9a621a0b0ed8a.tar.bz2
nixpkgs-328469aa06539b6917bca1374ab9a621a0b0ed8a.tar.lz
nixpkgs-328469aa06539b6917bca1374ab9a621a0b0ed8a.tar.xz
nixpkgs-328469aa06539b6917bca1374ab9a621a0b0ed8a.tar.zst
nixpkgs-328469aa06539b6917bca1374ab9a621a0b0ed8a.zip
add the ocaml 'lambda-term' library (terminal control)
Diffstat (limited to 'pkgs/development/ocaml-modules/lambda-term')
-rw-r--r--pkgs/development/ocaml-modules/lambda-term/default.nix41
1 files changed, 41 insertions, 0 deletions
diff --git a/pkgs/development/ocaml-modules/lambda-term/default.nix b/pkgs/development/ocaml-modules/lambda-term/default.nix
new file mode 100644
index 00000000000..b6edadb0b14
--- /dev/null
+++ b/pkgs/development/ocaml-modules/lambda-term/default.nix
@@ -0,0 +1,41 @@
+{stdenv, fetchurl, libev, ocaml, findlib, ocaml_lwt, ocaml_react, zed}:
+
+stdenv.mkDerivation rec {
+  version = "1.6";
+  name = "lambda-term-${version}";
+
+  src = fetchurl {
+    url = https://github.com/diml/lambda-term/archive/1.6.tar.gz;
+    sha256 = "1rhfixdgpylxznf6sa9wr31wb4pjzpfn5mxhxqpbchmpl2afwa09";
+  };
+
+  buildInputs = [ libev ocaml findlib ocaml_lwt ocaml_react ];
+
+  propagatedBuildInputs = [ zed ];
+
+  createFindlibDestdir = true;
+
+  meta = { description = "Terminal manipulation library for OCaml";
+    longDescription = ''
+    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.
+
+    Lambda-term integrates with zed to provide text edition facilities in
+    console applications.
+    '';
+
+    homepage = https://github.com/diml/lambda-term;
+    license = stdenv.lib.licenses.bsd3;
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.gal_bolle
+    ];
+  };
+}