Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
80 lines
1.9 KiB
Nix
80 lines
1.9 KiB
Nix
{
|
|
buildDunePackage,
|
|
lib,
|
|
ocaml,
|
|
fetchFromGitHub,
|
|
which,
|
|
ocsigen_server,
|
|
lwt_react,
|
|
ppx_deriving,
|
|
ppx_optcomp,
|
|
js_of_ocaml-ocamlbuild,
|
|
js_of_ocaml-ppx,
|
|
js_of_ocaml-ppx_deriving_json,
|
|
js_of_ocaml-lwt,
|
|
js_of_ocaml-tyxml,
|
|
lwt_ppx,
|
|
ocsipersist,
|
|
}:
|
|
|
|
lib.throwIf (lib.versionAtLeast ocaml.version "5.3")
|
|
"eliom is not available for OCaml ${ocaml.version}"
|
|
|
|
buildDunePackage
|
|
rec {
|
|
pname = "eliom";
|
|
version = "11.1.1";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "ocsigen";
|
|
repo = "eliom";
|
|
rev = version;
|
|
hash = "sha256-ALuoyO6axNQEeBteBVIFwdoSrbLxxcaSTObAcLPGIvo=";
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
which
|
|
];
|
|
buildInputs = [
|
|
js_of_ocaml-ocamlbuild
|
|
js_of_ocaml-ppx_deriving_json
|
|
ppx_optcomp
|
|
];
|
|
|
|
propagatedBuildInputs = [
|
|
js_of_ocaml-lwt
|
|
js_of_ocaml-ppx
|
|
js_of_ocaml-tyxml
|
|
lwt_ppx
|
|
lwt_react
|
|
ocsigen_server
|
|
ocsipersist
|
|
ppx_deriving
|
|
];
|
|
|
|
strictDeps = true;
|
|
|
|
setupHook = [ ./setup-hook.sh ];
|
|
|
|
meta = {
|
|
homepage = "http://ocsigen.org/eliom/";
|
|
description = "OCaml Framework for programming Web sites and client/server Web applications";
|
|
|
|
longDescription = ''
|
|
Eliom is a framework for programming Web sites
|
|
and client/server Web applications. It introduces new concepts to
|
|
simplify programming common behaviours and uses advanced static
|
|
typing features of OCaml to check many properties of the Web site
|
|
at compile time. If you want to write a Web application, Eliom
|
|
makes possible to write the whole application as a single program
|
|
(client and server parts). A syntax extension is used to
|
|
distinguish both parts and the client side is compiled to JS using
|
|
Ocsigen Js_of_ocaml.
|
|
'';
|
|
|
|
license = lib.licenses.lgpl21;
|
|
|
|
maintainers = [ lib.maintainers.gal_bolle ];
|
|
};
|
|
}
|