Files
Dark Steveneq 646b892680
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
push sheeet
2025-10-09 14:15:47 +02:00

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 ];
};
}