at master 79 lines 1.9 kB view raw
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 20lib.throwIf (lib.versionAtLeast ocaml.version "5.3") 21 "eliom is not available for OCaml ${ocaml.version}" 22 23 buildDunePackage 24 rec { 25 pname = "eliom"; 26 version = "11.1.1"; 27 28 src = fetchFromGitHub { 29 owner = "ocsigen"; 30 repo = "eliom"; 31 rev = version; 32 hash = "sha256-ALuoyO6axNQEeBteBVIFwdoSrbLxxcaSTObAcLPGIvo="; 33 }; 34 35 nativeBuildInputs = [ 36 which 37 ]; 38 buildInputs = [ 39 js_of_ocaml-ocamlbuild 40 js_of_ocaml-ppx_deriving_json 41 ppx_optcomp 42 ]; 43 44 propagatedBuildInputs = [ 45 js_of_ocaml-lwt 46 js_of_ocaml-ppx 47 js_of_ocaml-tyxml 48 lwt_ppx 49 lwt_react 50 ocsigen_server 51 ocsipersist 52 ppx_deriving 53 ]; 54 55 strictDeps = true; 56 57 setupHook = [ ./setup-hook.sh ]; 58 59 meta = { 60 homepage = "http://ocsigen.org/eliom/"; 61 description = "OCaml Framework for programming Web sites and client/server Web applications"; 62 63 longDescription = '' 64 Eliom is a framework for programming Web sites 65 and client/server Web applications. It introduces new concepts to 66 simplify programming common behaviours and uses advanced static 67 typing features of OCaml to check many properties of the Web site 68 at compile time. If you want to write a Web application, Eliom 69 makes possible to write the whole application as a single program 70 (client and server parts). A syntax extension is used to 71 distinguish both parts and the client side is compiled to JS using 72 Ocsigen Js_of_ocaml. 73 ''; 74 75 license = lib.licenses.lgpl21; 76 77 maintainers = [ lib.maintainers.gal_bolle ]; 78 }; 79 }