2021-10-30 21:51:13 +01:00
|
|
|
{ stdenv
|
|
|
|
, lib
|
|
|
|
, fetchFromGitHub
|
|
|
|
, which
|
|
|
|
, ocsigen_server
|
|
|
|
, ocaml
|
|
|
|
, lwt_react
|
|
|
|
, opaline
|
2022-02-22 09:59:04 +00:00
|
|
|
, ocamlbuild
|
2021-10-30 21:51:13 +01:00
|
|
|
, ppx_deriving
|
|
|
|
, findlib
|
|
|
|
, js_of_ocaml-ocamlbuild
|
|
|
|
, js_of_ocaml-ppx
|
|
|
|
, js_of_ocaml-ppx_deriving_json
|
2018-03-31 06:41:24 +01:00
|
|
|
, js_of_ocaml-lwt
|
|
|
|
, js_of_ocaml-tyxml
|
2019-01-14 22:52:07 +00:00
|
|
|
, lwt_ppx
|
2021-08-01 09:53:09 +01:00
|
|
|
, ocamlnet
|
2022-03-30 05:52:50 +01:00
|
|
|
, ocsipersist
|
2016-12-10 09:59:01 +00:00
|
|
|
}:
|
2014-06-08 11:14:08 +01:00
|
|
|
|
2021-10-30 21:51:13 +01:00
|
|
|
stdenv.mkDerivation rec {
|
2014-10-19 17:47:18 +01:00
|
|
|
pname = "eliom";
|
2022-03-30 05:52:50 +01:00
|
|
|
version = "9.4.0";
|
2014-06-08 11:14:08 +01:00
|
|
|
|
2021-10-30 21:51:13 +01:00
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "ocsigen";
|
|
|
|
repo = "eliom";
|
|
|
|
rev = version;
|
2022-03-30 05:52:50 +01:00
|
|
|
sha256 = "sha256:1yn8mqxv9yz51x81j8wv1jn7l7crm8azp1m2g4zn5nz2s4nmfv6q";
|
2014-06-08 11:14:08 +01:00
|
|
|
};
|
|
|
|
|
2022-02-22 09:59:04 +00:00
|
|
|
nativeBuildInputs = [
|
2021-10-30 21:51:13 +01:00
|
|
|
ocaml
|
|
|
|
which
|
|
|
|
findlib
|
2022-02-22 09:59:04 +00:00
|
|
|
opaline
|
|
|
|
ocamlbuild
|
|
|
|
];
|
|
|
|
buildInputs = [
|
2021-10-30 21:51:13 +01:00
|
|
|
js_of_ocaml-ocamlbuild
|
|
|
|
js_of_ocaml-ppx_deriving_json
|
2021-08-01 09:53:09 +01:00
|
|
|
ocamlnet
|
2018-03-31 06:41:24 +01:00
|
|
|
];
|
2014-10-19 17:48:04 +01:00
|
|
|
|
2018-03-31 06:41:24 +01:00
|
|
|
propagatedBuildInputs = [
|
|
|
|
js_of_ocaml-lwt
|
|
|
|
js_of_ocaml-ppx
|
|
|
|
js_of_ocaml-tyxml
|
2019-01-14 22:52:07 +00:00
|
|
|
lwt_ppx
|
2018-03-31 06:41:24 +01:00
|
|
|
lwt_react
|
|
|
|
ocsigen_server
|
2022-03-30 05:52:50 +01:00
|
|
|
ocsipersist
|
2018-03-31 06:41:24 +01:00
|
|
|
ppx_deriving
|
|
|
|
];
|
2014-06-08 11:14:08 +01:00
|
|
|
|
2022-02-22 09:59:04 +00:00
|
|
|
strictDeps = true;
|
|
|
|
|
2022-03-30 05:52:50 +01:00
|
|
|
installPhase = ''
|
|
|
|
runHook preInstall
|
|
|
|
opaline -prefix $out -libdir $OCAMLFIND_DESTDIR
|
|
|
|
runHook postInstall
|
|
|
|
'';
|
2014-06-08 11:14:08 +01:00
|
|
|
|
2017-03-18 20:15:27 +00:00
|
|
|
setupHook = [ ./setup-hook.sh ];
|
|
|
|
|
2014-09-22 10:00:51 +01:00
|
|
|
meta = {
|
2020-04-01 02:11:51 +01:00
|
|
|
homepage = "http://ocsigen.org/eliom/";
|
2019-10-13 06:10:36 +01:00
|
|
|
description = "OCaml Framework for programming Web sites and client/server Web applications";
|
2014-09-22 10:00:51 +01:00
|
|
|
|
2021-10-30 21:51:13 +01:00
|
|
|
longDescription = ''Eliom is a framework for programming Web sites
|
2014-09-22 10:00:51 +01:00
|
|
|
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.'';
|
|
|
|
|
2021-01-11 12:49:15 +00:00
|
|
|
license = lib.licenses.lgpl21;
|
2014-09-22 10:00:51 +01:00
|
|
|
|
2021-01-11 12:49:15 +00:00
|
|
|
maintainers = [ lib.maintainers.gal_bolle ];
|
2014-09-22 10:00:51 +01:00
|
|
|
};
|
2016-10-22 10:08:27 +01:00
|
|
|
}
|