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