From db217a8acaaff759b3f8d097547f5fc7de9c333c Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Fri, 4 Jan 2019 18:50:22 +0100 Subject: [PATCH] ocamlPackages.resource-pooling: init at 0.5.2 A library for pooling resources like connections, threads, or similar. Homepage: https://github.com/ocsigen/resource-pooling --- .../resource-pooling/default.nix | 35 +++++++++++++++++++ pkgs/top-level/ocaml-packages.nix | 2 ++ 2 files changed, 37 insertions(+) create mode 100644 pkgs/development/ocaml-modules/resource-pooling/default.nix diff --git a/pkgs/development/ocaml-modules/resource-pooling/default.nix b/pkgs/development/ocaml-modules/resource-pooling/default.nix new file mode 100644 index 00000000000..71f2d51060c --- /dev/null +++ b/pkgs/development/ocaml-modules/resource-pooling/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, lwt_log }: + +let pname = "resource-pooling"; in + +if !stdenv.lib.versionAtLeast ocaml.version "4.06" +then throw "${pname} is not available for OCaml ${ocaml.version}" +else + +stdenv.mkDerivation rec { + version = "0.5.2"; + name = "ocaml${ocaml.version}-${pname}-${version}"; + + src = fetchFromGitHub { + owner = "ocsigen"; + repo = pname; + rev = version; + sha256 = "00rz1i61w2dy108hzv38rblnsv6b56b5a1mk5h3zddpivcljp2dh"; + }; + + buildInputs = [ ocaml findlib ocamlbuild ]; + propagatedBuildInputs = [ lwt_log ]; + + configurePhase = "ocaml setup.ml -configure --prefix $out"; + buildPhase = "ocaml setup.ml -build"; + createFindlibDestdir = true; + installPhase = "ocaml setup.ml -install"; + + meta = { + inherit (src.meta) homepage; + inherit (ocaml.meta) platforms; + description = "A library for pooling resources like connections, threads, or similar"; + license = stdenv.lib.licenses.mit; + maintainers = [ stdenv.lib.maintainers.vbgl ]; + }; +} diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index a80aec268b9..8df57e8d710 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -589,6 +589,8 @@ let re2_p4 = callPackage ../development/ocaml-modules/re2 { }; + resource-pooling = callPackage ../development/ocaml-modules/resource-pooling { }; + result = callPackage ../development/ocaml-modules/ocaml-result { }; seq = callPackage ../development/ocaml-modules/seq { };