insync: 3.9.3.60019 -> 3.9.4.60020 (#363380)
[NixPkgs.git] / pkgs / development / ocaml-modules / eliom / default.nix
blobf3f0651f4fdc134b44acc19732620b617c30e334
1 { buildDunePackage
2 , lib
3 , fetchFromGitHub
4 , which
5 , ocsigen_server
6 , lwt_react
7 , ppx_deriving
8 , ppx_optcomp
9 , js_of_ocaml-ocamlbuild
10 , js_of_ocaml-ppx
11 , js_of_ocaml-ppx_deriving_json
12 , js_of_ocaml-lwt
13 , js_of_ocaml-tyxml
14 , lwt_ppx
15 , ocsipersist
18 buildDunePackage rec {
19   pname = "eliom";
20   version = "11.1.0";
22   src = fetchFromGitHub {
23     owner = "ocsigen";
24     repo = "eliom";
25     rev = version;
26     hash = "sha256-q8XLkyE5GE7NmU+v5221mkMrm2pK0Loh+RsS++PZp+Q=";
27   };
29   nativeBuildInputs = [
30     which
31   ];
32   buildInputs = [
33     js_of_ocaml-ocamlbuild
34     js_of_ocaml-ppx_deriving_json
35     ppx_optcomp
36   ];
38   propagatedBuildInputs = [
39     js_of_ocaml-lwt
40     js_of_ocaml-ppx
41     js_of_ocaml-tyxml
42     lwt_ppx
43     lwt_react
44     ocsigen_server
45     ocsipersist
46     ppx_deriving
47   ];
49   strictDeps = true;
51   setupHook = [ ./setup-hook.sh ];
53   meta = {
54     homepage = "http://ocsigen.org/eliom/";
55     description = "OCaml Framework for programming Web sites and client/server Web applications";
57     longDescription = ''
58       Eliom is a framework for programming Web sites
59       and client/server Web applications. It introduces new concepts to
60       simplify programming common behaviours and uses advanced static
61       typing features of OCaml to check many properties of the Web site
62       at compile time. If you want to write a Web application, Eliom
63       makes possible to write the whole application as a single program
64       (client and server parts). A syntax extension is used to
65       distinguish both parts and the client side is compiled to JS using
66       Ocsigen Js_of_ocaml.
67     '';
69     license = lib.licenses.lgpl21;
71     maintainers = [ lib.maintainers.gal_bolle ];
72   };