diff options
Diffstat (limited to 'pkgs/development/ocaml-modules/lwt/3.x.nix')
-rw-r--r-- | pkgs/development/ocaml-modules/lwt/3.x.nix | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/pkgs/development/ocaml-modules/lwt/3.x.nix b/pkgs/development/ocaml-modules/lwt/3.x.nix new file mode 100644 index 000000000000..c8371feb9052 --- /dev/null +++ b/pkgs/development/ocaml-modules/lwt/3.x.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchzip, pkgconfig, ncurses, libev, dune +, ocaml, findlib, cppo +, ocaml-migrate-parsetree, ppx_tools_versioned, result +, withP4 ? true +, camlp4 ? null +}: + +stdenv.mkDerivation rec { + version = "3.3.0"; + name = "ocaml${ocaml.version}-lwt-${version}"; + + src = fetchzip { + url = "https://github.com/ocsigen/lwt/archive/${version}.tar.gz"; + sha256 = "0n87hcyl4svy0risj439wyfq6bl77qxq3nraqgdr1qbz5lskbq2j"; + }; + + preConfigure = '' + ocaml src/util/configure.ml -use-libev true -use-camlp4 ${if withP4 then "true" else "false"} + ''; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ ncurses ocaml findlib dune cppo + ocaml-migrate-parsetree ppx_tools_versioned ] + ++ stdenv.lib.optional withP4 camlp4; + propagatedBuildInputs = [ libev result ]; + + installPhase = '' + ocaml src/util/install_filter.ml + ${dune.installPhase} + ''; + + meta = { + homepage = "https://ocsigen.org/lwt/"; + description = "A cooperative threads library for OCaml"; + maintainers = [ stdenv.lib.maintainers.vbgl ]; + license = stdenv.lib.licenses.lgpl21; + inherit (ocaml.meta) platforms; + }; +} |