nixpkgs/pkgs/development/ocaml-modules/notty/default.nix
Ulrik Strid a13cdfe520 ocamlPackages tree-wide: Move buildInputs that should be nativeBuildInputs
To keep this for the future we also strictDeps where possible, including for janePackages, topkg, oasis and ocamlbuild.
This makes some closures significantly smaller and makes cross compilation easier
2022-02-24 14:39:27 +01:00

41 lines
1.1 KiB
Nix

{ 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 ];
};
}