1 { lib, buildDunePackage, fetchFromGitHub, which, ocaml, lwt_react, ssl, lwt_ssl
2 , bigstringaf, lwt, cstruct, mirage-crypto, zarith, mirage-crypto-ec, ptime, mirage-crypto-rng, mtime, ca-certs
3 , cohttp, cohttp-lwt-unix, hmap
4 , lwt_log, ocaml_pcre, cryptokit, xml-light, ipaddr
10 "${p}/lib/ocaml/${ocaml.version}/site-lib/stublibs";
13 let caml_ld_library_path =
14 lib.concatMapStringsSep ":" mkpath [
15 bigstringaf lwt ssl cstruct mirage-crypto zarith mirage-crypto-ec ptime mirage-crypto-rng mtime ca-certs cryptokit ocaml_pcre
19 buildDunePackage rec {
21 pname = "ocsigenserver";
24 minimalOCamlVersion = "4.08";
26 src = fetchFromGitHub {
28 repo = "ocsigenserver";
30 sha256 = "sha256:1vzza33hd41740dqrx4854rqpyd8wv7kwpsvvmlpck841i9lh8h5";
33 nativeBuildInputs = [ makeWrapper which ];
34 buildInputs = [ lwt_react camlzip ];
36 propagatedBuildInputs = [ cohttp cohttp-lwt-unix cryptokit hmap ipaddr lwt_log lwt_ssl
40 patches = [ ./cohttp-5.patch ];
42 configureFlags = [ "--root $(out)" "--prefix /" "--temproot ''" ];
45 dontAddStaticConfigureFlags = true;
46 configurePlatforms = [];
59 wrapProgram $out/bin/ocsigenserver \
60 --suffix CAML_LD_LIBRARY_PATH : "${caml_ld_library_path}"
63 dontPatchShebangs = true;
66 homepage = "http://ocsigen.org/ocsigenserver/";
67 description = "A full featured Web server";
69 A full featured Web server. It implements most features of the HTTP protocol, and has a very powerful extension mechanism that make very easy to plug your own OCaml modules for generating pages.
71 license = lib.licenses.lgpl21Only;
72 inherit (ocaml.meta) platforms;
73 maintainers = [ lib.maintainers.gal_bolle ];