1{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild
2, ocaml_lwt # optional lwt support
3, doCheck ? stdenv.lib.versionAtLeast ocaml.version "4.03"
4, ounit, fileutils # only for tests
5}:
6
7stdenv.mkDerivation rec {
8 version = "2.3";
9 name = "ocaml${ocaml.version}-inotify-${version}";
10
11 src = fetchFromGitHub {
12 owner = "whitequark";
13 repo = "ocaml-inotify";
14 rev = "v${version}";
15 sha256 = "1s6vmqpx19hxzsi30jvp3h7p56rqnxfhfddpcls4nz8sqca1cz5y";
16 };
17
18 buildInputs = [ ocaml findlib ocamlbuild ocaml_lwt ]
19 ++ stdenv.lib.optionals doCheck [ ounit fileutils ];
20
21 configureFlags = [ "--enable-lwt"
22 (stdenv.lib.optionalString doCheck "--enable-tests") ];
23
24 inherit doCheck;
25 checkTarget = "test";
26
27 createFindlibDestdir = true;
28
29 meta = {
30 description = "Bindings for Linux’s filesystem monitoring interface, inotify";
31 license = stdenv.lib.licenses.lgpl21;
32 maintainers = [ stdenv.lib.maintainers.vbgl ];
33 inherit (src.meta) homepage;
34 platforms = stdenv.lib.platforms.linux;
35 };
36}