diff options
Diffstat (limited to 'pkgs/development/ocaml-modules/notty/default.nix')
-rw-r--r-- | pkgs/development/ocaml-modules/notty/default.nix | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/pkgs/development/ocaml-modules/notty/default.nix b/pkgs/development/ocaml-modules/notty/default.nix new file mode 100644 index 00000000000..1598b2ee5cd --- /dev/null +++ b/pkgs/development/ocaml-modules/notty/default.nix @@ -0,0 +1,41 @@ +{ stdenv, lib, fetchurl, ocaml, findlib, ocamlbuild, topkg, ocb-stubblr +, result, uucp, uuseg, uutf +, lwt ? null }: + +with lib; + +if !versionAtLeast ocaml.version "4.05" +then throw "notty is not available for OCaml ${ocaml.version}" +else + +let withLwt = lwt != null; in + +stdenv.mkDerivation rec { + version = "0.2.2"; + pname = "ocaml${ocaml.version}-notty"; + + src = fetchurl { + url = "https://github.com/pqwy/notty/releases/download/v${version}/notty-${version}.tbz"; + sha256 = "1y3hx8zjri3x50nyiqal5gak1sw54gw3xssrqbj7srinvkdmrz1q"; + }; + + nativeBuildInputs = [ ocaml findlib ocamlbuild ]; + buildInputs = [ ocb-stubblr topkg ocamlbuild ]; + propagatedBuildInputs = [ result uucp uuseg uutf ] ++ + optional withLwt lwt; + + strictDeps = true; + + buildPhase = topkg.buildPhase + + " --with-lwt ${boolToString withLwt}"; + + inherit (topkg) installPhase; + + meta = { + homepage = "https://github.com/pqwy/notty"; + inherit (ocaml.meta) platforms; + description = "Declarative terminal graphics for OCaml"; + license = licenses.isc; + maintainers = with maintainers; [ sternenseemann ]; + }; +} |