1{
2 stdenv,
3 lib,
4 fetchFromGitHub,
5 ocaml,
6 findlib,
7 opaline,
8 calendar,
9 eliom,
10 js_of_ocaml-ppx_deriving_json,
11}:
12
13stdenv.mkDerivation rec {
14 pname = "ocsigen-toolkit";
15 name = "ocaml${ocaml.version}-${pname}-${version}";
16 version = "4.1.0";
17
18 propagatedBuildInputs = [
19 calendar
20 js_of_ocaml-ppx_deriving_json
21 eliom
22 ];
23 nativeBuildInputs = [
24 ocaml
25 findlib
26 opaline
27 eliom
28 ];
29
30 strictDeps = true;
31
32 installPhase = ''
33 runHook preInstall
34 mkdir -p $OCAMLFIND_DESTDIR
35 export OCAMLPATH=$out/lib/ocaml/${ocaml.version}/site-lib/:$OCAMLPATH
36 make install
37 opaline -prefix $out
38 runHook postInstall
39 '';
40
41 src = fetchFromGitHub {
42 owner = "ocsigen";
43 repo = pname;
44 rev = version;
45 hash = "sha256-1kw2HANajHDdMmjuYNB79ZDqy2Ml02nc5s+cJzIoxQ8=";
46 };
47
48 meta = {
49 homepage = "http://ocsigen.org/ocsigen-toolkit/";
50 description = "User interface widgets for Ocsigen applications";
51 license = lib.licenses.lgpl21;
52 maintainers = [ lib.maintainers.gal_bolle ];
53 inherit (ocaml.meta) platforms;
54 };
55
56}