1{
2 stdenv,
3 lib,
4 fetchFromGitHub,
5 ocaml,
6 findlib,
7 ocsigen-toolkit,
8 pgocaml_ppx,
9 safepass,
10 yojson,
11 cohttp-lwt-unix,
12 eliom,
13 resource-pooling,
14 ocsigen-ppx-rpc,
15}:
16
17stdenv.mkDerivation rec {
18 pname = "ocaml${ocaml.version}-ocsigen-start";
19 version = "7.1.0";
20
21 nativeBuildInputs = [
22 ocaml
23 findlib
24 eliom
25 ];
26 buildInputs = [ ocsigen-ppx-rpc ];
27 propagatedBuildInputs = [
28 pgocaml_ppx
29 safepass
30 ocsigen-toolkit
31 yojson
32 resource-pooling
33 cohttp-lwt-unix
34 ];
35
36 strictDeps = true;
37
38 patches = [
39 ./templates-dir.patch
40 ];
41
42 src = fetchFromGitHub {
43 owner = "ocsigen";
44 repo = "ocsigen-start";
45 rev = version;
46 hash = "sha256-2DFFceUI7BYgGKvJ1sZphLWt/Rusa5Y86yc94Mi/quo=";
47 };
48
49 preInstall = ''
50 mkdir -p $OCAMLFIND_DESTDIR
51 '';
52
53 meta = {
54 homepage = "http://ocsigen.org/ocsigen-start";
55 description = "Eliom application skeleton";
56 longDescription = ''
57 An Eliom application skeleton, ready to use to build your own application with users, (pre)registration, notifications, etc.
58 '';
59 license = lib.licenses.lgpl21Only;
60 inherit (ocaml.meta) platforms;
61 maintainers = [ lib.maintainers.gal_bolle ];
62 };
63
64}