summary refs log tree commit diff
path: root/pkgs/development/ocaml-modules/logs/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/ocaml-modules/logs/default.nix')
-rw-r--r--pkgs/development/ocaml-modules/logs/default.nix42
1 files changed, 42 insertions, 0 deletions
diff --git a/pkgs/development/ocaml-modules/logs/default.nix b/pkgs/development/ocaml-modules/logs/default.nix
new file mode 100644
index 00000000000..4359f09ebd3
--- /dev/null
+++ b/pkgs/development/ocaml-modules/logs/default.nix
@@ -0,0 +1,42 @@
+{ lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild
+, topkg, result, lwt, cmdliner, fmt
+, js_of_ocaml
+, jsooSupport ? true
+}:
+let
+  pname = "logs";
+  webpage = "https://erratique.ch/software/${pname}";
+in
+
+if !lib.versionAtLeast ocaml.version "4.03"
+then throw "logs is not available for OCaml ${ocaml.version}"
+else
+
+stdenv.mkDerivation rec {
+  name = "ocaml${ocaml.version}-${pname}-${version}";
+  version = "0.7.0";
+
+  src = fetchurl {
+    url = "${webpage}/releases/${pname}-${version}.tbz";
+    sha256 = "1jnmd675wmsmdwyb5mx5b0ac66g4c6gpv5s4mrx2j6pb0wla1x46";
+  };
+
+  nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ];
+  buildInputs = [ fmt cmdliner lwt topkg ]
+    ++ lib.optional jsooSupport js_of_ocaml;
+  propagatedBuildInputs = [ result ];
+
+  strictDeps = true;
+
+  buildPhase = "${topkg.run} build --with-js_of_ocaml ${lib.boolToString jsooSupport}";
+
+  inherit (topkg) installPhase;
+
+  meta = with lib; {
+    description = "Logging infrastructure for OCaml";
+    homepage = webpage;
+    inherit (ocaml.meta) platforms;
+    maintainers = [ maintainers.sternenseemann ];
+    license = licenses.isc;
+  };
+}