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