1{ stdenv, fetchurl, libev, ocaml, findlib, ocaml_lwt, ocaml_react, zed, camlp4 }:
2
3stdenv.mkDerivation rec {
4 version = "1.6";
5 name = "lambda-term-${version}";
6
7 src = fetchurl {
8 url = https://github.com/diml/lambda-term/archive/1.6.tar.gz;
9 sha256 = "1rhfixdgpylxznf6sa9wr31wb4pjzpfn5mxhxqpbchmpl2afwa09";
10 };
11
12 buildInputs = [ libev ocaml findlib ocaml_lwt ocaml_react ];
13
14 propagatedBuildInputs = [ camlp4 zed ];
15
16 createFindlibDestdir = true;
17
18 meta = { description = "Terminal manipulation library for OCaml";
19 longDescription = ''
20 Lambda-term is a cross-platform library for
21 manipulating the terminal. It provides an abstraction for keys,
22 mouse events, colors, as well as a set of widgets to write
23 curses-like applications.
24
25 The main objective of lambda-term is to provide a higher level
26 functional interface to terminal manipulation than, for example,
27 ncurses, by providing a native OCaml interface instead of bindings to
28 a C library.
29
30 Lambda-term integrates with zed to provide text edition facilities in
31 console applications.
32 '';
33
34 homepage = https://github.com/diml/lambda-term;
35 license = stdenv.lib.licenses.bsd3;
36 platforms = ocaml.meta.platforms or [];
37 branch = "1.6";
38 maintainers = [
39 stdenv.lib.maintainers.gal_bolle
40 ];
41 };
42}