Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ stdenv, lib, fetchFromGitHub, ocaml, findlib, opaline
2, calendar, eliom, js_of_ocaml-ppx_deriving_json
3}:
4
5stdenv.mkDerivation rec {
6 pname = "ocsigen-toolkit";
7 name = "ocaml${ocaml.version}-${pname}-${version}";
8 version = "3.2.0";
9
10 propagatedBuildInputs = [ calendar js_of_ocaml-ppx_deriving_json eliom ];
11 nativeBuildInputs = [ ocaml findlib opaline eliom ];
12
13 # Remove widgets not compatible with jsoo 4.1.0
14 # https://github.com/ocsigen/ocsigen-toolkit/issues/221
15 preConfigure = ''
16 rm src/widgets/ot_{carousel,drawer,swipe,tongue}.eliom{,i}
17 '';
18
19 strictDeps = true;
20
21 installPhase = ''
22 runHook preInstall
23 mkdir -p $OCAMLFIND_DESTDIR
24 export OCAMLPATH=$out/lib/ocaml/${ocaml.version}/site-lib/:$OCAMLPATH
25 make install
26 opaline -prefix $out
27 runHook postInstall
28 '';
29
30 src = fetchFromGitHub {
31 owner = "ocsigen";
32 repo = pname;
33 rev = version;
34 sha256 = "sha256:13n0y8a80bl94la4lnp9dr2x7b8plhm17g9zgf0l6x42g3886pw7";
35 };
36
37 meta = {
38 homepage = "http://ocsigen.org/ocsigen-toolkit/";
39 description = " User interface widgets for Ocsigen applications";
40 license = lib.licenses.lgpl21;
41 maintainers = [ lib.maintainers.gal_bolle ];
42 inherit (ocaml.meta) platforms;
43 };
44
45
46}