diff --git a/pkgs/development/ocaml-modules/eliom/camlp4.patch b/pkgs/development/ocaml-modules/eliom/camlp4.patch index 561d5305befd..06d5ba1b7ed4 100644 --- a/pkgs/development/ocaml-modules/eliom/camlp4.patch +++ b/pkgs/development/ocaml-modules/eliom/camlp4.patch @@ -1,24 +1,12 @@ --- a/src/_tags 2014-10-01 16:19:35.000000000 +0100 +++ b/src/_tags 2014-11-09 16:55:34.470663377 +0000 -@@ -39,7 +39,7 @@ +@@ -40,7 +40,7 @@ :I(src/lib/server) - : syntax(camlp4o),package(camlp4.quotations.o,camlp4.extend) + : syntax(camlp4o),package(camlp4.quotations.o,camlp4.extend,bytes) -: I(+camlp4/Camlp4Parsers) +: use_camlp4_full + : package(ppx_tools, compiler-libs.common, ppx_tools.metaquot) - : package(ocamlbuild,js_of_ocaml.ocamlbuild) - ---- a/src/lib/eliom_registration.server.ml 2014-10-01 16:19:35.000000000 +0100 -+++ b/src/lib/eliom_registration.server.ml 2014-11-09 17:26:16.093198699 +0000 -@@ -2440,7 +2440,7 @@ - (Ocaml.register_post_coservice' - ?scope ?options ?charset ?code ?content_type ?headers ?secure_session ?name - ?csrf_safe ?csrf_scope ?csrf_secure ?max_use ?timeout ?https ?error_handler -- ~post_params:Eliom_parameter.(ocaml "argument" argument_type) -+ ~post_params:(Eliom_parameter.ocaml "argument" argument_type) - (fun () argument -> f argument)) - (Eliom_wrap.create_unwrapper - (Eliom_wrap.id_of_int Eliom_common_base.server_function_unwrap_id_int)) diff --git a/pkgs/development/ocaml-modules/eliom/default.nix b/pkgs/development/ocaml-modules/eliom/default.nix index 80b5b9eae0e6..219f104271d3 100644 --- a/pkgs/development/ocaml-modules/eliom/default.nix +++ b/pkgs/development/ocaml-modules/eliom/default.nix @@ -1,33 +1,39 @@ { stdenv, fetchurl, ocaml, findlib, which, ocsigen_server, ocsigen_deriving, js_of_ocaml, ocaml_react, ocaml_lwt, calendar, cryptokit, tyxml, ipaddr, ocamlnet, ocaml_ssl, ocaml_pcre, ocaml_optcomp, - reactivedata, opam}: + reactivedata, opam, ppx_tools, camlp4}: -assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "4"; +let ocamlVersion = (stdenv.lib.getVersion ocaml); + in + +( +assert stdenv.lib.versionAtLeast ocamlVersion "4"; stdenv.mkDerivation rec { pname = "eliom"; - version = "4.2.0"; + version = "5.0.0"; name = "${pname}-${version}"; src = fetchurl { - url = https://github.com/ocsigen/eliom/archive/4.2.tar.gz; - sha256 = "0gbqzgn6xgpq6irz2sfr92qj3hjcwl45wy0inc4ps5r15nvq1l9h"; + url = "https://github.com/ocsigen/eliom/archive/${version}.tar.gz"; + sha256 = "1g9wq2qpn0sgzyb6iq0h9afq5p68il4h8pc7jppqsislk87m09k7"; }; patches = [ ./camlp4.patch ]; buildInputs = [ocaml which ocsigen_server findlib ocsigen_deriving - js_of_ocaml ocaml_optcomp opam]; + js_of_ocaml ocaml_optcomp opam ppx_tools camlp4 ]; propagatedBuildInputs = [ ocaml_lwt reactivedata tyxml ipaddr calendar cryptokit ocamlnet ocaml_react ocaml_ssl ocaml_pcre ]; + preConfigure = stdenv.lib.optionalString (!stdenv.lib.versionAtLeast ocamlVersion "4.02") '' + export PPX=false + ''; + installPhase = - let ocamlVersion = (builtins.parseDrvName (ocaml.name)).version; - in ''opam-installer --script --prefix=$out ${pname}.install > install.sh sh install.sh ln -s $out/lib/${pname} $out/lib/ocaml/${ocamlVersion}/site-lib/ @@ -55,4 +61,4 @@ stdenv.mkDerivation rec maintainers = [ stdenv.lib.maintainers.gal_bolle ]; }; -} +}) diff --git a/pkgs/development/ocaml-modules/markup/default.nix b/pkgs/development/ocaml-modules/markup/default.nix new file mode 100644 index 000000000000..d4a38d9bd9e4 --- /dev/null +++ b/pkgs/development/ocaml-modules/markup/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl, ocaml, findlib, uutf, lwt }: + +stdenv.mkDerivation rec { + pname = "ocaml-markup"; + version = "0.7.2"; + name = "${pname}-${version}"; + + src = fetchurl { + url = "http://github.com/aantron/markup.ml/archive/${version}.tar.gz"; + sha256 = "0d3wi22v7h0iqzq8dgl0g4fj2wb67gvmbzdckacifghinrx762k3"; + }; + + buildInputs = [ocaml findlib]; + + installPhase = "make ocamlfind-install"; + + propagatedBuildInputs = [uutf lwt]; + + createFindlibDestdir = true; + + meta = with stdenv.lib; { + homepage = https://github.com/aantron/markup.ml/; + description = "A pair of best-effort parsers implementing the HTML5 and XML specifications"; + license = licenses.bsd2; + platforms = ocaml.meta.platforms or []; + maintainers = with maintainers; [ + gal_bolle + ]; + }; + +} diff --git a/pkgs/development/ocaml-modules/ocsigen-server/default.nix b/pkgs/development/ocaml-modules/ocsigen-server/default.nix index d2613830a7c2..e5c5439fda33 100644 --- a/pkgs/development/ocaml-modules/ocsigen-server/default.nix +++ b/pkgs/development/ocaml-modules/ocsigen-server/default.nix @@ -9,11 +9,11 @@ let mkpath = p: n: in stdenv.mkDerivation { - name = "ocsigenserver-2.6"; + name = "ocsigenserver-2.7"; src = fetchurl { - url = https://github.com/ocsigen/ocsigenserver/archive/2.6.tar.gz; - sha256 = "0638xvlr0sssvjarmdwhgh7vbgdx8wiyjwq73w1bkjfwl7qm21zp"; + url = https://github.com/ocsigen/ocsigenserver/archive/2.7.tar.gz; + sha256 = "0gv9nchsx9z74hh46gn7bd0053j4694fhxriannf13sqh2qpg901"; }; buildInputs = [ocaml which findlib ocaml_react ocaml_ssl ocaml_lwt diff --git a/pkgs/development/ocaml-modules/ppx_tools/default.nix b/pkgs/development/ocaml-modules/ppx_tools/default.nix index c64e84869d62..377dc32751a7 100644 --- a/pkgs/development/ocaml-modules/ppx_tools/default.nix +++ b/pkgs/development/ocaml-modules/ppx_tools/default.nix @@ -1,10 +1,10 @@ { stdenv, fetchzip, ocaml, findlib }: stdenv.mkDerivation { - name = "ocaml-ppx_tools-4.02.3"; + name = "ocaml-ppx_tools-5.0+4.02"; src = fetchzip { - url = https://github.com/alainfrisch/ppx_tools/archive/v4.02.3.tar.gz; - sha256 = "0varkd93hgrarwwkrjp2yy735q7jqzba75sskyanmvkb576wpcxv"; + url = https://github.com/alainfrisch/ppx_tools/archive/5.0+4.02.0.tar.gz; + sha256 = "16drjk0qafjls8blng69qiv35a84wlafpk16grrg2i3x19p8dlj8"; }; buildInputs = [ ocaml findlib ]; diff --git a/pkgs/development/ocaml-modules/re/default.nix b/pkgs/development/ocaml-modules/re/default.nix index 6b7ba1a13b23..072754fc60fd 100644 --- a/pkgs/development/ocaml-modules/re/default.nix +++ b/pkgs/development/ocaml-modules/re/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchzip, ocaml, findlib, ounit }: stdenv.mkDerivation rec { - name = "ocaml-re-1.4.1"; + name = "ocaml-re-1.5.0"; src = fetchzip { url = "https://github.com/ocaml/ocaml-re/archive/${name}.tar.gz"; - sha256 = "1wmfgazydd20hc796zisqpmsw0sb5lv9g3x77ckmf50v3z8hyhvk"; + sha256 = "17avk7kwmgdjkri1sj5q4a59ykc9rj0bxj6ixxpl6i0n49br3f92"; }; buildInputs = [ ocaml findlib ounit ]; diff --git a/pkgs/development/ocaml-modules/react/default.nix b/pkgs/development/ocaml-modules/react/default.nix index 943e5e1e8dc9..f9fe95b89dc2 100644 --- a/pkgs/development/ocaml-modules/react/default.nix +++ b/pkgs/development/ocaml-modules/react/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl, ocaml, findlib, opam}: stdenv.mkDerivation { - name = "ocaml-react-1.1.0"; + name = "ocaml-react-1.2.0"; src = fetchurl { - url = http://erratique.ch/software/react/releases/react-1.1.0.tbz; + url = http://erratique.ch/software/react/releases/react-1.2.0.tbz; sha256 = "1gymn8hy7ga0l9qymmb1jcnnkqvy7l2zr87xavzqz0dfi9ci8dm7"; }; diff --git a/pkgs/development/ocaml-modules/reactivedata/default.nix b/pkgs/development/ocaml-modules/reactivedata/default.nix index ef0197f60f57..4b335496500b 100644 --- a/pkgs/development/ocaml-modules/reactivedata/default.nix +++ b/pkgs/development/ocaml-modules/reactivedata/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, ocaml, findlib, ocaml_react, opam}: +{stdenv, fetchurl, ocaml, findlib, ocaml_react, camlp4, opam}: let ocamlVersion = stdenv.lib.getVersion ocaml; @@ -7,13 +7,13 @@ in assert stdenv.lib.versionAtLeast ocamlVersion "3.11"; stdenv.mkDerivation { - name = "ocaml-reactiveData-0.1"; + name = "ocaml-reactiveData-0.2"; src = fetchurl { - url = https://github.com/hhugo/reactiveData/archive/0.1.tar.gz; - sha256 = "056y9in6j6rpggdf8apailvs1m30wxizpyyrj08xyfxgv91mhxgw"; + url = https://github.com/ocsigen/reactiveData/archive/0.2.tar.gz; + sha256 = "0rskcxnyjn8sxqnncdm6rh9wm99nha5m5sc83fywgzs64xfl43fq"; }; - buildInputs = [ocaml findlib opam]; + buildInputs = [ocaml findlib opam camlp4 ]; propagatedBuildInputs = [ocaml_react]; buildPhase = "ocaml pkg/build.ml native=true native-dynlink=true"; @@ -26,7 +26,7 @@ stdenv.mkDerivation { meta = with stdenv.lib; { description = "An OCaml module for functional reactive programming (FRP) based on React"; - homepage = https://github.com/hhugo/reactiveData; + homepage = https://github.com/ocsigen/reactiveData; license = licenses.lgpl21; platforms = ocaml.meta.platforms or []; maintainers = with maintainers; [ vbgl ]; diff --git a/pkgs/development/ocaml-modules/tyxml/default.nix b/pkgs/development/ocaml-modules/tyxml/default.nix index 64c1de13fb35..4f9644ea5be0 100644 --- a/pkgs/development/ocaml-modules/tyxml/default.nix +++ b/pkgs/development/ocaml-modules/tyxml/default.nix @@ -1,19 +1,23 @@ -{ stdenv, fetchurl, ocaml, findlib, ocaml_oasis, camlp4, uutf }: +{ stdenv, fetchurl, ocaml, findlib, ocaml_oasis, camlp4, uutf, markup, ppx_tools, re }: -stdenv.mkDerivation { - name = "tyxml-3.4.0"; +stdenv.mkDerivation rec { + pname = "tyxml"; + version = "3.6.0"; + name = "${pname}-${version}"; src = fetchurl { - url = http://github.com/ocsigen/tyxml/archive/3.4.0.tar.gz; - sha256 = "10hb0b2j33fjqzmx450ns7dmf4pqmx3gyvr6dk99mghqk13cj5ww"; + url = "http://github.com/ocsigen/tyxml/archive/${version}.tar.gz"; + sha256 = "1rz0f48x8p1m30723rn5v85pp7rd0spr04sd7gzryy99vn3ianga"; }; - buildInputs = [ocaml findlib ocaml_oasis camlp4]; + buildInputs = [ocaml findlib camlp4]; - propagatedBuildInputs = [uutf]; + propagatedBuildInputs = [uutf re ppx_tools markup]; createFindlibDestdir = true; + configureFlags = "--enable-syntax"; + meta = with stdenv.lib; { homepage = http://ocsigen.org/tyxml/; description = "A library that makes it almost impossible for your OCaml programs to generate wrong XML output, using static typing"; diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/default.nix b/pkgs/development/tools/ocaml/js_of_ocaml/default.nix index 3258aaf08c2f..3f5bd770dcf0 100644 --- a/pkgs/development/tools/ocaml/js_of_ocaml/default.nix +++ b/pkgs/development/tools/ocaml/js_of_ocaml/default.nix @@ -1,24 +1,18 @@ {stdenv, fetchurl, ocaml, findlib, ocaml_lwt, menhir, ocsigen_deriving, camlp4, cmdliner, tyxml, reactivedata, cppo, which, base64}: -let camlp4_patch = fetchurl { - url = "https://github.com/FlorentBecker/js_of_ocaml/commit/3b511c5bb777d5049c49d7a04c01f142de7096b9.patch"; - sha256 = "c92eda8be504cd41eb242166fc815af496243b63d4d21b169f5b62ec5ace2d39"; - }; -in - stdenv.mkDerivation { - name = "js_of_ocaml-2.6"; + name = "js_of_ocaml-2.7"; src = fetchurl { - url = https://github.com/ocsigen/js_of_ocaml/archive/2.6.tar.gz; - sha256 = "0q34lrn70dvz41m78bwgriyq6dxk97g8gcyg80nvxii4jp86dw61"; + url = https://github.com/ocsigen/js_of_ocaml/archive/2.7.tar.gz; + sha256 = "1dali1akyd4zmkwav0d957ynxq2jj6cc94r4xiaql7ca89ajz4jj"; }; buildInputs = [ocaml findlib menhir ocsigen_deriving cmdliner tyxml reactivedata cppo which base64]; propagatedBuildInputs = [ ocaml_lwt camlp4 ]; - patches = [ ./Makefile.conf.diff camlp4_patch ]; + patches = [ ./Makefile.conf.diff ]; createFindlibDestdir = true; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6a5f03743048..b0d7d5e2a249 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5009,6 +5009,8 @@ in magick = callPackage ../development/ocaml-modules/magick { }; + markup = callPackage ../development/ocaml-modules/markup { lwt = ocaml_lwt; }; + menhir = callPackage ../development/ocaml-modules/menhir { }; merlin = callPackage ../development/tools/ocaml/merlin { };