2016-12-10 10:59:01 +01:00
|
|
|
{ stdenv, fetchurl, which, ocsigen_server, ocsigen_deriving, ocaml,
|
2017-10-05 07:57:03 +02:00
|
|
|
js_of_ocaml, react, lwt, calendar, cryptokit, tyxml,
|
2017-10-05 19:09:50 +02:00
|
|
|
ipaddr, ocamlnet, ssl, ocaml_pcre, ocaml_optcomp,
|
2016-12-10 10:59:01 +01:00
|
|
|
reactivedata, opam, ppx_tools, ppx_deriving, findlib
|
2017-02-23 20:10:33 +01:00
|
|
|
, ocamlbuild
|
2016-12-10 10:59:01 +01:00
|
|
|
}:
|
2014-06-08 12:14:08 +02:00
|
|
|
|
2016-12-10 10:59:01 +01:00
|
|
|
assert stdenv.lib.versionAtLeast ocaml.version "4.02";
|
|
|
|
|
|
|
|
stdenv.mkDerivation rec
|
2014-06-08 12:14:08 +02:00
|
|
|
{
|
2014-10-19 18:47:18 +02:00
|
|
|
pname = "eliom";
|
2017-03-04 10:57:47 +01:00
|
|
|
version = "6.2.0";
|
2014-10-19 18:47:18 +02:00
|
|
|
name = "${pname}-${version}";
|
2014-06-08 12:14:08 +02:00
|
|
|
|
|
|
|
src = fetchurl {
|
2016-05-30 17:46:49 +02:00
|
|
|
url = "https://github.com/ocsigen/eliom/archive/${version}.tar.gz";
|
2017-03-04 10:57:47 +01:00
|
|
|
sha256 = "01c4l982ld6d1ndhb6f15ldb2li7mv0bs279d5gs99mpiwsapadx";
|
2014-06-08 12:14:08 +02:00
|
|
|
};
|
|
|
|
|
2015-06-12 00:04:24 +02:00
|
|
|
patches = [ ./camlp4.patch ];
|
|
|
|
|
2017-02-23 20:10:33 +01:00
|
|
|
buildInputs = [ ocaml which findlib ocamlbuild ocaml_optcomp opam ppx_tools ];
|
2014-10-19 18:48:04 +02:00
|
|
|
|
2017-07-02 17:22:04 +02:00
|
|
|
propagatedBuildInputs = [ lwt reactivedata tyxml ipaddr ocsigen_server ppx_deriving
|
2016-10-22 11:08:27 +02:00
|
|
|
ocsigen_deriving js_of_ocaml
|
2017-10-05 19:09:50 +02:00
|
|
|
calendar cryptokit ocamlnet react ssl ocaml_pcre ];
|
2014-06-08 12:14:08 +02:00
|
|
|
|
2016-12-10 10:59:01 +01:00
|
|
|
installPhase = "opam-installer -i --prefix=$out --libdir=$OCAMLFIND_DESTDIR";
|
2014-06-08 12:14:08 +02:00
|
|
|
|
|
|
|
createFindlibDestdir = true;
|
2014-09-22 11:00:51 +02:00
|
|
|
|
2017-03-18 21:15:27 +01:00
|
|
|
setupHook = [ ./setup-hook.sh ];
|
|
|
|
|
2014-09-22 11:00:51 +02:00
|
|
|
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 = stdenv.lib.licenses.lgpl21;
|
|
|
|
|
|
|
|
maintainers = [ stdenv.lib.maintainers.gal_bolle ];
|
|
|
|
};
|
2016-10-22 11:08:27 +02:00
|
|
|
}
|