nixpkgs/pkgs/development/ocaml-modules/eliom/default.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

86 lines
1.8 KiB
Nix
Raw Normal View History

{ stdenv
, lib
, fetchFromGitHub
, which
, ocsigen_server
, ocaml
, lwt_react
, opaline
, ocamlbuild
, 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
, ocamlnet
2022-03-30 05:52:50 +01:00
, ocsipersist
2016-12-10 09:59:01 +00: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";
src = fetchFromGitHub {
owner = "ocsigen";
repo = "eliom";
rev = version;
2022-03-30 05:52:50 +01:00
sha256 = "sha256:1yn8mqxv9yz51x81j8wv1jn7l7crm8azp1m2g4zn5nz2s4nmfv6q";
};
nativeBuildInputs = [
ocaml
which
findlib
opaline
ocamlbuild
];
buildInputs = [
js_of_ocaml-ocamlbuild
js_of_ocaml-ppx_deriving_json
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
];
strictDeps = true;
2022-03-30 05:52:50 +01:00
installPhase = ''
runHook preInstall
opaline -prefix $out -libdir $OCAMLFIND_DESTDIR
runHook postInstall
'';
setupHook = [ ./setup-hook.sh ];
2014-09-22 10:00:51 +01:00
meta = {
homepage = "http://ocsigen.org/eliom/";
description = "OCaml Framework for programming Web sites and client/server Web applications";
2014-09-22 10:00:51 +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.'';
license = lib.licenses.lgpl21;
2014-09-22 10:00:51 +01:00
maintainers = [ lib.maintainers.gal_bolle ];
2014-09-22 10:00:51 +01:00
};
2016-10-22 10:08:27 +01:00
}