public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-ml/eliom/, dev-ml/eliom/files/
@ 2016-01-19 12:18 Alexis Ballier
  0 siblings, 0 replies; 6+ messages in thread
From: Alexis Ballier @ 2016-01-19 12:18 UTC (permalink / raw
  To: gentoo-commits

commit:     63883f105e1b97a4b5d3b90b35243459b4c74660
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 19 12:18:04 2016 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Tue Jan 19 12:18:04 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=63883f10

dev-ml/eliom: backport upstream patch to build with tyxml 3.6

Package-Manager: portage-2.2.27
Signed-off-by: Alexis Ballier <aballier <AT> gentoo.org>

 dev-ml/eliom/eliom-4.2.ebuild    |   6 +-
 dev-ml/eliom/files/tyxml36.patch | 125 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 130 insertions(+), 1 deletion(-)

diff --git a/dev-ml/eliom/eliom-4.2.ebuild b/dev-ml/eliom/eliom-4.2.ebuild
index 44f4cd5..4f7efd7 100644
--- a/dev-ml/eliom/eliom-4.2.ebuild
+++ b/dev-ml/eliom/eliom-4.2.ebuild
@@ -18,7 +18,7 @@ IUSE="doc +ocamlopt"
 RDEPEND=">=dev-lang/ocaml-4.00:=[ocamlopt?]
 	>=dev-ml/js_of_ocaml-2.5-r1:=
 	>=www-servers/ocsigenserver-2.5:=
-	>=dev-ml/tyxml-3.3:=
+	>=dev-ml/tyxml-3.6:=
 	>=dev-ml/deriving-0.6:=
 	dev-ml/reactiveData:=
 	dev-ml/ocaml-ipaddr:=
@@ -29,6 +29,10 @@ RDEPEND=">=dev-lang/ocaml-4.00:=[ocamlopt?]
 DEPEND="${RDEPEND}
 	dev-ml/opam"
 
+src_prepare() {
+	epatch "${FILESDIR}/tyxml36.patch"
+}
+
 src_compile() {
 	if use ocamlopt ; then
 		emake all

diff --git a/dev-ml/eliom/files/tyxml36.patch b/dev-ml/eliom/files/tyxml36.patch
new file mode 100644
index 0000000..02ac3f1
--- /dev/null
+++ b/dev-ml/eliom/files/tyxml36.patch
@@ -0,0 +1,125 @@
+Backported from:
+
+commit e55552629e9affcaefbe9e0f36212fe3f385a780
+Author: Vasilis Papavasileiou <git@vasilis.airpost.net>
+Date:   Thu Aug 6 13:23:29 2015 +0200
+
+    update for new-style TyXML wrapping
+
+
+Index: eliom-4.2/src/lib/eliom_content.client.mli
+===================================================================
+--- eliom-4.2.orig/src/lib/eliom_content.client.mli
++++ eliom-4.2/src/lib/eliom_content.client.mli
+@@ -74,7 +74,7 @@ module Svg : sig
+ 
+   (** Creation of reactive content *)
+   module R : sig
+-    module Raw : Svg_sigs.MakeWrapped(Tyxml_js.Xml_wrap)(Xml).T
++    module Raw : Svg_sigs.Make(Eliom_content_core.Xml_wed).T
+       with type +'a elt = 'a elt
+        and type +'a attrib = 'a attrib
+ 
+@@ -397,7 +397,7 @@ module Html5 : sig
+     val filter_attrib : 'a attrib -> bool React.signal -> 'a attrib
+ 
+     (** Cf. {% <<a_api project="tyxml" | module Html5_sigs.T >> %}. *)
+-    module Raw : Html5_sigs.MakeWrapped(Tyxml_js.Xml_wrap)(Xml)(Svg.R.Raw).T
++    module Raw : Html5_sigs.Make(Eliom_content_core.Xml_wed)(Svg.R.Raw).T
+       with type +'a elt = 'a elt
+        and type +'a attrib = 'a attrib
+ 
+Index: eliom-4.2/src/lib/eliom_content_core.client.ml
+===================================================================
+--- eliom-4.2.orig/src/lib/eliom_content_core.client.ml
++++ eliom-4.2/src/lib/eliom_content_core.client.ml
+@@ -26,6 +26,7 @@ open Eliom_lib
+ 
+ module Xml = struct
+   include RawXML
++  module W = Xml_wrap.NoWrap
+   type 'a wrap = 'a
+   type 'a list_wrap = 'a list
+   type econtent =
+@@ -163,8 +164,9 @@ end
+ 
+ module Xml_wed =
+ struct
+-  type 'a wrap = 'a Tyxml_js.Xml_wrap.t
+-  type 'a list_wrap = 'a Tyxml_js.Xml_wrap.tlist
++  module W = Tyxml_js.Xml_wrap
++  type 'a wrap = 'a W.t
++  type 'a list_wrap = 'a W.tlist
+   type uri = Xml.uri
+   let string_of_uri = Xml.string_of_uri
+   let uri_of_string = Xml.uri_of_string
+@@ -250,7 +252,7 @@ module Svg = struct
+   end
+ 
+   module R = struct
+-    module Raw = Svg_f.MakeWrapped(Tyxml_js.Xml_wrap)(Xml_wed)
++    module Raw = Svg_f.Make(Xml_wed)
+     include Raw
+ 
+   end
+@@ -322,7 +324,7 @@ module Html5 = struct
+ 
+     let node s = Xml.make_react s
+ 
+-    module Raw = Html5_f.MakeWrapped(Tyxml_js.Xml_wrap)(Xml_wed)(Svg.R)
++    module Raw = Html5_f.Make(Xml_wed)(Svg.R)
+     let filter_attrib (name,a) on =
+       let v = match a with
+         | Xml.RA a -> Xml.RAReact (React.S.map (function
+Index: eliom-4.2/src/lib/eliom_content_core.client.mli
+===================================================================
+--- eliom-4.2.orig/src/lib/eliom_content_core.client.mli
++++ eliom-4.2/src/lib/eliom_content_core.client.mli
+@@ -22,6 +22,8 @@
+ 
+ module Xml : sig
+ 
++  module W : Xml_wrap.T with type 'a t = 'a and type 'a tlist = 'a list
++
+   type uri = string
+   val uri_of_string : uri -> string
+   val string_of_uri : string -> uri
+@@ -147,6 +149,8 @@ module Xml : sig
+   val set_classes_of_elt : elt -> elt
+ end
+ 
++module Xml_wed : Xml_sigs.T with module W = Tyxml_js.Xml_wrap
++
+ (** Building SVG tree. *)
+ module Svg : sig
+ 
+@@ -197,7 +201,7 @@ module Svg : sig
+   (** Typed interface for building valid reactive SVG tree. *)
+   module R : sig
+ 
+-    module Raw : Svg_sigs.MakeWrapped(Tyxml_js.Xml_wrap)(Xml).T
++    module Raw : Svg_sigs.Make(Xml_wed).T
+       with type +'a elt = 'a elt
+        and type +'a attrib = 'a attrib
+ 
+@@ -298,7 +302,7 @@ module Html5 : sig
+ 
+     val filter_attrib : 'a attrib -> bool React.signal -> 'a attrib
+ 
+-    module Raw : Html5_sigs.MakeWrapped(Tyxml_js.Xml_wrap)(Xml)(Svg.R.Raw).T
++    module Raw : Html5_sigs.Make(Xml_wed)(Svg.R.Raw).T
+       with type +'a elt = 'a elt
+        and type +'a attrib = 'a attrib
+ 
+Index: eliom-4.2/src/lib/eliom_content_core.server.ml
+===================================================================
+--- eliom-4.2.orig/src/lib/eliom_content_core.server.ml
++++ eliom-4.2/src/lib/eliom_content_core.server.ml
+@@ -28,6 +28,7 @@ open Eliom_lib
+ 
+ module Xml = struct
+   include RawXML
++  module W = Xml_wrap.NoWrap
+   type 'a wrap = 'a
+   type 'a list_wrap = 'a list
+ 


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-ml/eliom/, dev-ml/eliom/files/
@ 2016-03-01 18:47 Alexis Ballier
  0 siblings, 0 replies; 6+ messages in thread
From: Alexis Ballier @ 2016-03-01 18:47 UTC (permalink / raw
  To: gentoo-commits

commit:     ad65b34eb91da0472da2906d65a125f60f9f7d69
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Tue Mar  1 18:24:11 2016 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Tue Mar  1 18:47:37 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ad65b34e

dev-ml/eliom: remove old

Package-Manager: portage-2.2.27
Signed-off-by: Alexis Ballier <aballier <AT> gentoo.org>

 dev-ml/eliom/Manifest            |   1 -
 dev-ml/eliom/eliom-4.2.ebuild    |  60 -------------------
 dev-ml/eliom/files/tyxml36.patch | 125 ---------------------------------------
 3 files changed, 186 deletions(-)

diff --git a/dev-ml/eliom/Manifest b/dev-ml/eliom/Manifest
index d175232..23b75fd 100644
--- a/dev-ml/eliom/Manifest
+++ b/dev-ml/eliom/Manifest
@@ -1,2 +1 @@
-DIST eliom-4.2.tar.gz 699337 SHA256 30d180b72d21177d09b311785e08e54cc221b148d969f17334f8be6eecfb783d SHA512 c7c75dc00defe0c269aba4e4fbdc00a824b781b124e3f51747e29533c4aeedaecb68c7ebcb38b4cc9a51c3796abdfa680ba0702a83415911406b25cd07ad66c7 WHIRLPOOL 2a36deeb10cbf3b29c76b33185de1c848615293830f7a3701c2d87025be0ed575cdadf238c696ad4716e50f2b0258febef7b7039a1980aafeaf6e1c483ec46ca
 DIST eliom-5.0.0.tar.gz 728278 SHA256 6726500f9a54478def95875d04098dc8dc829d4a10e06896ff4f037bb1c03cbd SHA512 1c5297e376c3a46935de369b418638a772304246b73756f8bc052301b48d62a37af527274bf1a05064f33b60ff9dcde057a0030f083136fa4e1c0cfa07f01887 WHIRLPOOL ca1186787a8f938cf029f9a5c9904ed0324a3d24d2f0d0834dd1e2b2f995de6d57d1040b4d128de8233255ca385478f0ba3bf597c2f0315ab2f1894118755dca

diff --git a/dev-ml/eliom/eliom-4.2.ebuild b/dev-ml/eliom/eliom-4.2.ebuild
deleted file mode 100644
index 4f7efd7..0000000
--- a/dev-ml/eliom/eliom-4.2.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit eutils multilib findlib
-
-DESCRIPTION="A web framework to program client/server applications"
-HOMEPAGE="http://ocsigen.org/eliom/"
-SRC_URI="https://github.com/ocsigen/eliom/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2.1-with-linking-exception"
-SLOT="0/${PV}"
-KEYWORDS="~amd64"
-IUSE="doc +ocamlopt"
-
-RDEPEND=">=dev-lang/ocaml-4.00:=[ocamlopt?]
-	>=dev-ml/js_of_ocaml-2.5-r1:=
-	>=www-servers/ocsigenserver-2.5:=
-	>=dev-ml/tyxml-3.6:=
-	>=dev-ml/deriving-0.6:=
-	dev-ml/reactiveData:=
-	dev-ml/ocaml-ipaddr:=
-	dev-ml/react:=
-	dev-ml/ocaml-ssl:=
-	>=dev-ml/lwt-2.5.0:=
-	dev-ml/calendar:="
-DEPEND="${RDEPEND}
-	dev-ml/opam"
-
-src_prepare() {
-	epatch "${FILESDIR}/tyxml36.patch"
-}
-
-src_compile() {
-	if use ocamlopt ; then
-		emake all
-	else
-		emake byte
-	fi
-	use doc && emake doc
-	emake man
-}
-
-src_install() {
-	opam-installer \
-		--prefix="${ED}/usr" \
-		--libdir="${D}/$(ocamlc -where)" \
-		--docdir="${ED}/usr/share/doc/${PF}" \
-		--mandir="${ED}/usr/share/man" \
-		|| die
-	dodoc CHANGES README
-	if use doc ; then
-		docinto client/html
-		dodoc -r _build/src/lib/client/api.docdir/*
-		docinto server/html
-		dodoc -r _build/src/lib/server/api.docdir/*
-	fi
-}

diff --git a/dev-ml/eliom/files/tyxml36.patch b/dev-ml/eliom/files/tyxml36.patch
deleted file mode 100644
index 02ac3f1..0000000
--- a/dev-ml/eliom/files/tyxml36.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-Backported from:
-
-commit e55552629e9affcaefbe9e0f36212fe3f385a780
-Author: Vasilis Papavasileiou <git@vasilis.airpost.net>
-Date:   Thu Aug 6 13:23:29 2015 +0200
-
-    update for new-style TyXML wrapping
-
-
-Index: eliom-4.2/src/lib/eliom_content.client.mli
-===================================================================
---- eliom-4.2.orig/src/lib/eliom_content.client.mli
-+++ eliom-4.2/src/lib/eliom_content.client.mli
-@@ -74,7 +74,7 @@ module Svg : sig
- 
-   (** Creation of reactive content *)
-   module R : sig
--    module Raw : Svg_sigs.MakeWrapped(Tyxml_js.Xml_wrap)(Xml).T
-+    module Raw : Svg_sigs.Make(Eliom_content_core.Xml_wed).T
-       with type +'a elt = 'a elt
-        and type +'a attrib = 'a attrib
- 
-@@ -397,7 +397,7 @@ module Html5 : sig
-     val filter_attrib : 'a attrib -> bool React.signal -> 'a attrib
- 
-     (** Cf. {% <<a_api project="tyxml" | module Html5_sigs.T >> %}. *)
--    module Raw : Html5_sigs.MakeWrapped(Tyxml_js.Xml_wrap)(Xml)(Svg.R.Raw).T
-+    module Raw : Html5_sigs.Make(Eliom_content_core.Xml_wed)(Svg.R.Raw).T
-       with type +'a elt = 'a elt
-        and type +'a attrib = 'a attrib
- 
-Index: eliom-4.2/src/lib/eliom_content_core.client.ml
-===================================================================
---- eliom-4.2.orig/src/lib/eliom_content_core.client.ml
-+++ eliom-4.2/src/lib/eliom_content_core.client.ml
-@@ -26,6 +26,7 @@ open Eliom_lib
- 
- module Xml = struct
-   include RawXML
-+  module W = Xml_wrap.NoWrap
-   type 'a wrap = 'a
-   type 'a list_wrap = 'a list
-   type econtent =
-@@ -163,8 +164,9 @@ end
- 
- module Xml_wed =
- struct
--  type 'a wrap = 'a Tyxml_js.Xml_wrap.t
--  type 'a list_wrap = 'a Tyxml_js.Xml_wrap.tlist
-+  module W = Tyxml_js.Xml_wrap
-+  type 'a wrap = 'a W.t
-+  type 'a list_wrap = 'a W.tlist
-   type uri = Xml.uri
-   let string_of_uri = Xml.string_of_uri
-   let uri_of_string = Xml.uri_of_string
-@@ -250,7 +252,7 @@ module Svg = struct
-   end
- 
-   module R = struct
--    module Raw = Svg_f.MakeWrapped(Tyxml_js.Xml_wrap)(Xml_wed)
-+    module Raw = Svg_f.Make(Xml_wed)
-     include Raw
- 
-   end
-@@ -322,7 +324,7 @@ module Html5 = struct
- 
-     let node s = Xml.make_react s
- 
--    module Raw = Html5_f.MakeWrapped(Tyxml_js.Xml_wrap)(Xml_wed)(Svg.R)
-+    module Raw = Html5_f.Make(Xml_wed)(Svg.R)
-     let filter_attrib (name,a) on =
-       let v = match a with
-         | Xml.RA a -> Xml.RAReact (React.S.map (function
-Index: eliom-4.2/src/lib/eliom_content_core.client.mli
-===================================================================
---- eliom-4.2.orig/src/lib/eliom_content_core.client.mli
-+++ eliom-4.2/src/lib/eliom_content_core.client.mli
-@@ -22,6 +22,8 @@
- 
- module Xml : sig
- 
-+  module W : Xml_wrap.T with type 'a t = 'a and type 'a tlist = 'a list
-+
-   type uri = string
-   val uri_of_string : uri -> string
-   val string_of_uri : string -> uri
-@@ -147,6 +149,8 @@ module Xml : sig
-   val set_classes_of_elt : elt -> elt
- end
- 
-+module Xml_wed : Xml_sigs.T with module W = Tyxml_js.Xml_wrap
-+
- (** Building SVG tree. *)
- module Svg : sig
- 
-@@ -197,7 +201,7 @@ module Svg : sig
-   (** Typed interface for building valid reactive SVG tree. *)
-   module R : sig
- 
--    module Raw : Svg_sigs.MakeWrapped(Tyxml_js.Xml_wrap)(Xml).T
-+    module Raw : Svg_sigs.Make(Xml_wed).T
-       with type +'a elt = 'a elt
-        and type +'a attrib = 'a attrib
- 
-@@ -298,7 +302,7 @@ module Html5 : sig
- 
-     val filter_attrib : 'a attrib -> bool React.signal -> 'a attrib
- 
--    module Raw : Html5_sigs.MakeWrapped(Tyxml_js.Xml_wrap)(Xml)(Svg.R.Raw).T
-+    module Raw : Html5_sigs.Make(Xml_wed)(Svg.R.Raw).T
-       with type +'a elt = 'a elt
-        and type +'a attrib = 'a attrib
- 
-Index: eliom-4.2/src/lib/eliom_content_core.server.ml
-===================================================================
---- eliom-4.2.orig/src/lib/eliom_content_core.server.ml
-+++ eliom-4.2/src/lib/eliom_content_core.server.ml
-@@ -28,6 +28,7 @@ open Eliom_lib
- 
- module Xml = struct
-   include RawXML
-+  module W = Xml_wrap.NoWrap
-   type 'a wrap = 'a
-   type 'a list_wrap = 'a list
- 


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-ml/eliom/, dev-ml/eliom/files/
@ 2016-08-12 11:05 Alexis Ballier
  0 siblings, 0 replies; 6+ messages in thread
From: Alexis Ballier @ 2016-08-12 11:05 UTC (permalink / raw
  To: gentoo-commits

commit:     6a42f01bcca5713a9f6a7c1ed81441c8213af56b
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 12 11:02:07 2016 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Fri Aug 12 11:03:53 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6a42f01b

dev-ml/eliom: fix build with ocaml 4.03 and add missing dep on camlp4

Package-Manager: portage-2.3.0

 .../{eliom-5.0.0.ebuild => eliom-5.0.0-r1.ebuild}  |  9 +++-
 dev-ml/eliom/files/camlp4.patch                    | 48 ++++++++++++++++++++++
 dev-ml/eliom/files/oc43.patch                      | 37 +++++++++++++++++
 3 files changed, 93 insertions(+), 1 deletion(-)

diff --git a/dev-ml/eliom/eliom-5.0.0.ebuild b/dev-ml/eliom/eliom-5.0.0-r1.ebuild
similarity index 88%
rename from dev-ml/eliom/eliom-5.0.0.ebuild
rename to dev-ml/eliom/eliom-5.0.0-r1.ebuild
index e0d8cb7..b5103a3 100644
--- a/dev-ml/eliom/eliom-5.0.0.ebuild
+++ b/dev-ml/eliom/eliom-5.0.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -26,11 +26,18 @@ RDEPEND=">=dev-lang/ocaml-4.00:=[ocamlopt?]
 	dev-ml/ocaml-ssl:=
 	>=dev-ml/lwt-2.5.0:=
 	dev-ml/calendar:=
+	dev-ml/camlp4:=
 	ppx? ( >=dev-ml/ppx_tools-0.99.3:= )"
 DEPEND="${RDEPEND}
 	dev-ml/ocamlbuild
 	dev-ml/opam"
 
+src_prepare() {
+	if has_version '>=dev-lang/ocaml-4.03' ; then
+		epatch "${FILESDIR}/"{camlp4,oc43}.patch
+	fi
+}
+
 src_compile() {
 	if use ocamlopt ; then
 		emake PPX=$(usex ppx true false) all

diff --git a/dev-ml/eliom/files/camlp4.patch b/dev-ml/eliom/files/camlp4.patch
new file mode 100644
index 0000000..59e94ab
--- /dev/null
+++ b/dev-ml/eliom/files/camlp4.patch
@@ -0,0 +1,48 @@
+commit f157a5b913451b85e8cfe7549c66e5c98669233b
+Author: Vasilis Papavasileiou <git@vasilis.airpost.net>
+Date:   Wed Mar 2 14:23:02 2016 +0100
+
+    Compile against Camlp4 4.02+7
+
+diff --git a/src/syntax/pa_eliom_seed.ml b/src/syntax/pa_eliom_seed.ml
+index c101ff8..dc31caa 100644
+--- a/src/syntax/pa_eliom_seed.ml
++++ b/src/syntax/pa_eliom_seed.ml
+@@ -632,8 +632,26 @@ module Register(Id : sig val name: string end)(Pass : Pass) = struct
+         | None ->
+             Printf.ksprintf (Syntax_error.raise loc) fmt
+ 
+-    module E2 = Camlp4.ErrorHandler.Register(Syntax_error)
+-    DELETE_RULE Gram expr: "{"; TRY [label_expr_list; "}"] END;
++    module E2 = Camlp4.ErrorHandler.Register(Syntax_error) ;;
++
++    try
++      DELETE_RULE Gram expr: "{"; TRY [label_expr_list; "}"] END
++    with Camlp4.Struct.Grammar.Delete.Rule_not_found _ ->
++      (let test_record_field =
++         Gram.Entry.of_parser "record_field" (fun strm ->
++           let rec loop = function
++             | [] -> ()
++             | (UIDENT _, _) :: (KEYWORD ".", _) :: rest -> loop rest
++             | (LIDENT _, _) :: (KEYWORD "=", _) :: _    -> ()
++             | (LIDENT _, _) :: (KEYWORD ";", _) :: _    -> ()
++             | [LIDENT _, _] -> ()
++             | _ -> raise Stream.Failure
++           in
++           loop (Stream.npeek 100 strm))
++       in
++       DELETE_RULE Gram expr:
++         "{"; test_record_field; label_expr_list; "}" END) ;;
++
+     DELETE_RULE Gram expr: "{"; TRY [expr LEVEL "."; "with"]; label_expr_list; "}" END;
+ 
+     (* Extending syntax *)
+@@ -812,7 +830,7 @@ module Register(Id : sig val name: string end)(Pass : Pass) = struct
+       expr: LEVEL "simple"
+ 
+         [ [ KEYWORD "{"; lel = TRY [lel = label_expr_list; "}" -> lel] ->
+-              <:expr< { $lel$ } >>
++            Ast.ExRec (_loc, lel, Ast.ExNil _loc)
+           | KEYWORD "{shared#";
+             typ = TRY [ typ = OPT ctyp; KEYWORD "{" -> typ];
+             opt_lvl = dummy_set_level_shared_value_expr ;

diff --git a/dev-ml/eliom/files/oc43.patch b/dev-ml/eliom/files/oc43.patch
new file mode 100644
index 0000000..07d2729
--- /dev/null
+++ b/dev-ml/eliom/files/oc43.patch
@@ -0,0 +1,37 @@
+Index: eliom-5.0.0/src/lib/eliom_lib.client.mli
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_lib.client.mli
++++ eliom-5.0.0/src/lib/eliom_lib.client.mli
+@@ -43,7 +43,6 @@ type 'a shared_value = 'a
+ 
+ val create_shared_value : 'a -> 'a client_value -> 'a shared_value
+ 
+-exception Eliom_Internal_Error of string
+ 
+ (** This exception is raised (in Lwt) on the client if a call to a
+     server function {% <<a_api subproject="server"|val
+Index: eliom-5.0.0/src/lib/eliom_lib.server.mli
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_lib.server.mli
++++ eliom-5.0.0/src/lib/eliom_lib.server.mli
+@@ -50,7 +50,6 @@ type +'a shared_value
+ *)
+ exception Client_value_creation_invalid_context of string
+ 
+-exception Eliom_Internal_Error of string
+ 
+ type file_info = Ocsigen_extensions.file_info
+ 
+Index: eliom-5.0.0/src/syntax/pa_include.ml
+===================================================================
+--- eliom-5.0.0.orig/src/syntax/pa_include.ml
++++ eliom-5.0.0/src/syntax/pa_include.ml
+@@ -27,7 +27,7 @@ module Make(Syntax : Camlp4.Sig.Camlp4Sy
+   class subst_type env = object (self)
+     inherit Ast.map as super
+     method sig_item si = match si with
+-      | Ast.SgTyp (_loc, (Ast.TyDcl (_, lid, _, Ast.TyNil _, _)))
++      | Ast.SgTyp (_loc, rf, (Ast.TyDcl (_, lid, _, Ast.TyNil _, _)))
+         when List.mem_assoc lid env -> <:sig_item< >>
+       | si -> super#sig_item si
+     method ctyp ty = match ty with


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-ml/eliom/, dev-ml/eliom/files/
@ 2016-08-12 12:47 Alexis Ballier
  0 siblings, 0 replies; 6+ messages in thread
From: Alexis Ballier @ 2016-08-12 12:47 UTC (permalink / raw
  To: gentoo-commits

commit:     32979e040b3dc7141de2323645bc2d7955a5ce26
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 12 12:46:21 2016 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Fri Aug 12 12:47:52 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=32979e04

dev-ml/eliom: fix build with tyxml4

Package-Manager: portage-2.3.0

 dev-ml/eliom/eliom-5.0.0-r1.ebuild |    1 +
 dev-ml/eliom/files/tyxml4.patch    | 1642 ++++++++++++++++++++++++++++++++++++
 2 files changed, 1643 insertions(+)

diff --git a/dev-ml/eliom/eliom-5.0.0-r1.ebuild b/dev-ml/eliom/eliom-5.0.0-r1.ebuild
index b5103a3..8aaec1f 100644
--- a/dev-ml/eliom/eliom-5.0.0-r1.ebuild
+++ b/dev-ml/eliom/eliom-5.0.0-r1.ebuild
@@ -36,6 +36,7 @@ src_prepare() {
 	if has_version '>=dev-lang/ocaml-4.03' ; then
 		epatch "${FILESDIR}/"{camlp4,oc43}.patch
 	fi
+	has_version '>=dev-ml/tyxml-4' && epatch "${FILESDIR}/tyxml4.patch"
 }
 
 src_compile() {

diff --git a/dev-ml/eliom/files/tyxml4.patch b/dev-ml/eliom/files/tyxml4.patch
new file mode 100644
index 0000000..bf749e4
--- /dev/null
+++ b/dev-ml/eliom/files/tyxml4.patch
@@ -0,0 +1,1642 @@
+Index: eliom-5.0.0/src/lib/eliom_content.client.mli
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_content.client.mli
++++ eliom-5.0.0/src/lib/eliom_content.client.mli
+@@ -292,7 +292,7 @@ module Html5 : sig
+         See {% <<a_api project="tyxml" | module Html5_sigs.T >> %} *)
+ 
+     (** Cf. {% <<a_api project="tyxml" | module Html5_sigs.T >> %}. *)
+-    module Raw : Html5_sigs.Make(Xml)(Svg.F.Raw).T
++    module Raw : Html_sigs.Make(Xml)(Svg.F.Raw).T
+       with type +'a elt = 'a elt
+        and type +'a attrib = 'a attrib
+ 
+@@ -313,7 +313,7 @@ module Html5 : sig
+         See {% <<a_api project="tyxml" | module Html5_sigs.T >> %} *)
+ 
+     (** Cf. {% <<a_api project="tyxml" | module Html5_sigs.T >> %}. *)
+-    module Raw : Html5_sigs.Make(Xml)(Svg.D.Raw).T
++    module Raw : Html_sigs.Make(Xml)(Svg.D.Raw).T
+       with type +'a elt = 'a elt
+        and type +'a attrib = 'a attrib
+ 
+@@ -352,7 +352,7 @@ module Html5 : sig
+     val filter_attrib : 'a attrib -> bool React.signal -> 'a attrib
+ 
+     (** Cf. {% <<a_api project="tyxml" | module Html5_sigs.T >> %}. *)
+-    module Raw : Html5_sigs.Make(Eliom_content_core.Xml_wed)(Svg.R.Raw).T
++    module Raw : Html_sigs.Make(Eliom_content_core.Xml_wed)(Svg.R.Raw).T
+       with type +'a elt = 'a elt
+        and type +'a attrib = 'a attrib
+ 
+Index: eliom-5.0.0/src/lib/eliom_content.server.mli
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_content.server.mli
++++ eliom-5.0.0/src/lib/eliom_content.server.mli
+@@ -309,7 +309,7 @@ module Html5 : sig
+         {{:http://ocsigen.org/howto/forms/}"how to make forms"} *)
+ 
+     (** See {% <<a_api project="tyxml" | module Html5_sigs.T >> %}. *)
+-    module Raw : Html5_sigs.Make(Xml)(Svg.F.Raw).T
++    module Raw : Html_sigs.Make(Xml)(Svg.F.Raw).T
+       with type +'a elt = 'a elt
+        and type +'a attrib = 'a attrib
+ 
+@@ -337,7 +337,7 @@ module Html5 : sig
+         {{:http://ocsigen.org/howto/forms/}"how to make forms"} *)
+ 
+     (** See {% <<a_api project="tyxml" | module Html5_sigs.T >> %}. *)
+-    module Raw : Html5_sigs.Make(Xml)(Svg.D.Raw).T
++    module Raw : Html_sigs.Make(Xml)(Svg.D.Raw).T
+       with type +'a elt = 'a elt
+        and type +'a attrib = 'a attrib
+ 
+@@ -406,7 +406,7 @@ module Html5 : sig
+       {% <<a_api project="tyxml" | module Html5_sigs.T >> %}. *)
+   module R : sig
+ 
+-    include Html5_sigs.Make(Xml_shared)(Svg.R.Raw).T
++    include Html_sigs.Make(Xml_shared)(Svg.R.Raw).T
+       with type 'a elt = 'a elt
+        and type 'a attrib = 'a attrib
+ 
+@@ -414,7 +414,7 @@ module Html5 : sig
+         [\[> Html5_types.span\] elt]
+         out of the string signal [s]. *)
+     val pcdata :
+-      string Eliom_shared.React.S.t -> [> Html5_types.span] elt
++      string Eliom_shared.React.S.t -> [> Html_types.span] elt
+ 
+     (** [node s] produces an ['a elt] out of the shared reactive
+         signal [s]. *)
+Index: eliom-5.0.0/src/lib/eliom_content_core.client.ml
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_content_core.client.ml
++++ eliom-5.0.0/src/lib/eliom_content_core.client.ml
+@@ -175,7 +175,7 @@ end
+ 
+ module Xml_wed =
+ struct
+-  module W = Tyxml_js.Xml_wrap
++  module W = Tyxml_js.Wrap
+   type 'a wrap = 'a W.t
+   type 'a list_wrap = 'a W.tlist
+   type uri = Xml.uri
+@@ -188,7 +188,7 @@ struct
+   type attrib = Xml.attrib
+ 
+   let float_attrib name s : attrib =
+-    name, Xml.RAReact (Tyxml_js.Xml_wrap.fmap (fun f -> Some (Xml.AFloat f)) s)
++    name, Xml.RAReact (Tyxml_js.Wrap.fmap (fun f -> Some (Xml.AFloat f)) s)
+   let int_attrib name s =
+     name, Xml.RAReact (React.S.map (fun f -> Some (Xml.AInt f)) s)
+   let string_attrib name s =
+@@ -320,7 +320,7 @@ module Html5 = struct
+       let lazy_node ?(a = []) name children =
+         make (Node (name, a, Eliom_lazy.force children))
+     end
+-    module Raw = Html5_f.Make(Xml')(Svg.D.Raw)
++    module Raw = Html_f.Make(Xml')(Svg.D.Raw)
+ 
+     include Raw
+ 
+@@ -340,7 +340,7 @@ module Html5 = struct
+ 
+     let node s = Xml.make_react s
+ 
+-    module Raw = Html5_f.Make(Xml_wed)(Svg.R)
++    module Raw = Html_f.Make(Xml_wed)(Svg.R)
+     let filter_attrib (name,a) on =
+       let v = match a with
+         | Xml.RA a -> Xml.RAReact (React.S.map (function
+@@ -365,7 +365,7 @@ module Html5 = struct
+   module F = struct
+ 
+     module Xml' = Xml
+-    module Raw = Html5_f.Make(Xml')(Svg.F.Raw)
++    module Raw = Html_f.Make(Xml')(Svg.F.Raw)
+     include Raw
+ 
+     type ('a, 'b, 'c) lazy_star =
+Index: eliom-5.0.0/src/lib/eliom_content_core.client.mli
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_content_core.client.mli
++++ eliom-5.0.0/src/lib/eliom_content_core.client.mli
+@@ -22,7 +22,10 @@
+ 
+ module Xml : sig
+ 
+-  module W : Xml_wrap.T with type 'a t = 'a and type 'a tlist = 'a list
++  module W : Xml_wrap.T
++  	with type 'a t = 'a 
++	 and type 'a tlist = 'a list
++	 and type (-'a, 'b) ft = 'a -> 'b
+ 
+   type uri = string
+   val uri_of_string : uri -> string
+@@ -153,7 +156,7 @@ end
+ 
+ module Xml_wed : sig
+ 
+-  include Xml_sigs.T with module W = Tyxml_js.Xml_wrap
++  include Xml_sigs.T with module W = Tyxml_js.Wrap
+                       and type elt = Xml.elt
+                       and type aname = Xml.aname
+                       and type attrib = Xml.attrib
+@@ -281,7 +284,7 @@ module Html5 : sig
+       See {% <<a_api project="tyxml" | module type Html5_sigs.T >> %}. *)
+   module F : sig
+ 
+-    module Raw : Html5_sigs.Make(Xml)(Svg.F.Raw).T
++    module Raw : Html_sigs.Make(Xml)(Svg.F.Raw).T
+       with type +'a elt = 'a elt
+        and type +'a attrib = 'a attrib
+ 
+@@ -293,7 +296,7 @@ module Html5 : sig
+       ?a: (('a attrib) list) -> ('b elt) list Eliom_lazy.request -> 'c elt
+ 
+     val lazy_form:
+-      ([< Html5_types.form_attrib ], [< Html5_types.form_content_fun ], [> Html5_types.form ]) lazy_star
++      ([< Html_types.form_attrib ], [< Html_types.form_content_fun ], [> Html_types.form ]) lazy_star
+ 
+   end
+ 
+@@ -302,7 +305,7 @@ module Html5 : sig
+       {% <<a_api project="tyxml" | module type Html5_sigs.T >> %}. *)
+   module D: sig
+ 
+-    module Raw : Html5_sigs.Make(Xml)(Svg.D.Raw).T
++    module Raw : Html_sigs.Make(Xml)(Svg.D.Raw).T
+       with type +'a elt = 'a elt
+        and type +'a attrib = 'a attrib
+ 
+@@ -313,7 +316,7 @@ module Html5 : sig
+       ?a: (('a attrib) list) -> ('b elt) list Eliom_lazy.request -> 'c elt
+ 
+     val lazy_form:
+-      ([< Html5_types.form_attrib ], [< Html5_types.form_content_fun ], [> Html5_types.form ]) lazy_star
++      ([< Html_types.form_attrib ], [< Html_types.form_content_fun ], [> Html_types.form ]) lazy_star
+ 
+   end
+ 
+@@ -332,7 +335,7 @@ module Html5 : sig
+ 
+     val filter_attrib : 'a attrib -> bool React.signal -> 'a attrib
+ 
+-    module Raw : Html5_sigs.Make(Xml_wed)(Svg.R.Raw).T
++    module Raw : Html_sigs.Make(Xml_wed)(Svg.R.Raw).T
+       with type +'a elt = 'a elt
+        and type +'a attrib = 'a attrib
+ 
+Index: eliom-5.0.0/src/lib/eliom_content_core.server.ml
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_content_core.server.ml
++++ eliom-5.0.0/src/lib/eliom_content_core.server.ml
+@@ -289,8 +289,7 @@ module Svg = struct
+   module Make
+       (Xml : Xml_sigs.T with type elt = Xml.elt
+                          and type attrib = Xml.attrib)
+-      (C : Svg_sigs.Wrapped_functions
+-       with type ('a, 'b) ft = ('a, 'b) Xml.W.ft) =
++      (C : Svg_sigs.Wrapped_functions with module Xml = Xml) =
+     Svg_f.Make_with_wrapped_functions(Xml)(C)
+ 
+   type +'a elt = 'a F.elt
+@@ -341,7 +340,7 @@ module Html5 = struct
+ 
+     end
+ 
+-    module Raw = Html5_f.Make(Xml')(Svg.D.Raw)
++    module Raw = Html_f.Make(Xml')(Svg.D.Raw)
+     let client_attrib ?init (x : 'a Raw.attrib Eliom_lib.client_value) =
+       Xml.client_attrib ?init x
+ 
+@@ -359,7 +358,7 @@ module Html5 = struct
+   module F = struct
+ 
+     module Xml' = Xml
+-    module Raw = Html5_f.Make(Xml')(Svg.F.Raw)
++    module Raw = Html_f.Make(Xml')(Svg.F.Raw)
+     include Raw
+ 
+     type ('a, 'b, 'c) lazy_star =
+@@ -376,10 +375,9 @@ module Html5 = struct
+       (Xml : Xml_sigs.T
+        with type elt = Xml.elt
+         and type attrib = Xml.attrib)
+-      (C : Html5_sigs.Wrapped_functions
+-       with type ('a, 'b) ft = ('a, 'b) Xml.W.ft)
++      (C : Html_sigs.Wrapped_functions with module Xml = Xml)
+       (Svg : Svg_sigs.T with module Xml := Xml) =
+-    Html5_f.Make_with_wrapped_functions(Xml)(C)(Svg)
++    Html_f.Make_with_wrapped_functions(Xml)(C)(Svg)
+ 
+   type +'a elt = 'a F.elt
+   type 'a wrap = 'a
+Index: eliom-5.0.0/src/lib/eliom_content_core.server.mli
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_content_core.server.mli
++++ eliom-5.0.0/src/lib/eliom_content_core.server.mli
+@@ -116,8 +116,7 @@ module Svg : sig
+       (Xml : Xml_sigs.T
+        with type elt = Xml.elt
+         and type attrib = Xml.attrib)
+-      (C : Svg_sigs.Wrapped_functions
+-       with type ('a, 'b) ft = ('a, 'b) Xml.W.ft) :
++      (C : Svg_sigs.Wrapped_functions with module Xml = Xml) :
+     Svg_sigs.Make(Xml).T
+     with type +'a elt = 'a elt
+      and type +'a attrib = 'a attrib
+@@ -156,7 +155,7 @@ module Html5 : sig
+ 
+   module F : sig
+ 
+-    module Raw : Html5_sigs.Make(Xml)(Svg.F.Raw).T
++    module Raw : Html_sigs.Make(Xml)(Svg.F.Raw).T
+       with type +'a elt = 'a elt
+        and type +'a attrib = 'a attrib
+ 
+@@ -167,12 +166,12 @@ module Html5 : sig
+       ?a: (('a attrib) list) -> ('b elt) list Eliom_lazy.request -> 'c elt
+ 
+     val lazy_form:
+-      ([< Html5_types.form_attrib ], [< Html5_types.form_content_fun ], [> Html5_types.form ]) lazy_star
++      ([< Html_types.form_attrib ], [< Html_types.form_content_fun ], [> Html_types.form ]) lazy_star
+   end
+ 
+   module D : sig
+ 
+-    module Raw : Html5_sigs.Make(Xml)(Svg.D.Raw).T
++    module Raw : Html_sigs.Make(Xml)(Svg.D.Raw).T
+       with type +'a elt = 'a elt
+        and type +'a attrib = 'a attrib
+ 
+@@ -185,7 +184,7 @@ module Html5 : sig
+       ?a: (('a attrib) list) -> ('b elt) list Eliom_lazy.request -> 'c elt
+ 
+     val lazy_form:
+-      ([< Html5_types.form_attrib ], [< Html5_types.form_content_fun ], [> Html5_types.form ]) lazy_star
++      ([< Html_types.form_attrib ], [< Html_types.form_content_fun ], [> Html_types.form ]) lazy_star
+ 
+   end
+ 
+@@ -193,10 +192,9 @@ module Html5 : sig
+       (Xml : Xml_sigs.T
+        with type elt = Xml.elt
+         and type attrib = Xml.attrib)
+-      (C : Html5_sigs.Wrapped_functions
+-       with type ('a, 'b) ft = ('a, 'b) Xml.W.ft)
++      (C : Html_sigs.Wrapped_functions with module Xml = Xml)
+       (Svg : Svg_sigs.T with module Xml := Xml) :
+-    Html5_sigs.Make(Xml)(Svg).T
++    Html_sigs.Make(Xml)(Svg).T
+     with type +'a elt = 'a elt
+      and type +'a attrib = 'a attrib
+ 
+Index: eliom-5.0.0/src/lib/eliom_content_sigs.shared.mli
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_content_sigs.shared.mli
++++ eliom-5.0.0/src/lib/eliom_content_sigs.shared.mli
+@@ -31,9 +31,9 @@ module type LINKS_AND_FORMS = sig
+     'c elt
+ 
+   val lazy_form:
+-    ([< Html5_types.form_attrib ],
+-     [< Html5_types.form_content_fun ],
+-     [> Html5_types.form ]) lazy_star
++    ([< Html_types.form_attrib ],
++     [< Html_types.form_content_fun ],
++     [> Html_types.form ]) lazy_star
+ 
+   include Eliom_form_sigs.LINKS
+     with type +'a elt := 'a elt
+Index: eliom-5.0.0/src/lib/eliom_form.eliom
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_form.eliom
++++ eliom-5.0.0/src/lib/eliom_form.eliom
+@@ -21,7 +21,7 @@
+ {shared{
+ module type Html5 = sig
+ 
+-  include Html5_sigs.T
++  include Html_sigs.T
+     with type 'a Xml.W.t = 'a
+      and type 'a Xml.W.tlist = 'a list
+      and type Xml.mouse_event_handler =
+@@ -33,9 +33,9 @@ module type Html5 = sig
+     'c elt
+ 
+   val lazy_form:
+-    ([< Html5_types.form_attrib ],
+-     [< Html5_types.form_content_fun ],
+-     [> Html5_types.form ]) lazy_star
++    ([< Html_types.form_attrib ],
++     [< Html_types.form_content_fun ],
++     [> Html_types.form ]) lazy_star
+ 
+   val uri_of_fun : (unit -> string) -> Xml.uri
+ 
+@@ -44,7 +44,7 @@ module type Html5 = sig
+     ([ `A | `Form_get | `Form_post] *
+      (bool * string list) option *
+      string option) option Eliom_lazy.request ->
+-    Html5_types.form_attrib attrib
++    Html_types.form_attrib attrib
+ 
+ end
+ 
+@@ -174,7 +174,7 @@ module Make (Html5 : Html5) = struct
+       | None -> a
+       | Some src -> a_src src :: a
+     in
+-    let a = if checked then a_checked `Checked :: a else a in
++    let a = if checked then a_checked () :: a else a in
+     let a = a_input_type typ :: a in
+     input ~a ()
+ 
+@@ -194,7 +194,7 @@ module Make (Html5 : Html5) = struct
+     textarea ~a (pcdata value)
+ 
+   let make_select ?(a = []) ~multiple ~name elt elts =
+-    let a = if multiple then a_multiple `Multiple :: a else a in
++    let a = if multiple then a_multiple () :: a else a in
+     let a = a_name name :: a in
+     select ~a (elt :: elts)
+ 
+@@ -203,7 +203,7 @@ module Make (Html5 : Html5) = struct
+       | None -> a
+       | Some v -> a_text_value v :: a
+     in
+-    let a = if selected then a_selected `Selected :: a else a in
++    let a = if selected then a_selected () :: a else a in
+     option ~a c
+ 
+   let make_optgroup ?(a = []) ~label elt elts =
+@@ -364,7 +364,7 @@ module Make (Html5 : Html5) = struct
+ 
+   let string_radio_required ?a ?checked ~name ~value () =
+     let a =
+-      let required = Html5.a_required `Required in
++      let required = Html5.a_required () in
+       match a with
+       | None -> [required]
+       | Some a -> required :: a
+@@ -385,14 +385,14 @@ module Make (Html5 : Html5) = struct
+     make_textarea ?a ~name:(Eliom_parameter.string_of_param_name name)
+ 
+   type 'a soption =
+-    Html5_types.option_attrib attrib list
++    Html_types.option_attrib attrib list
+     * 'a (* Content (or value if the following is present) *)
+-    * Html5_types.pcdata elt option (* if content different from value *)
++    * Html_types.pcdata elt option (* if content different from value *)
+     * bool (* selected *)
+ 
+   type 'a select_opt =
+     | Optgroup of
+-        [ Html5_types.common | `Disabled ] attrib list
++        [ Html_types.common | `Disabled ] attrib list
+         * string (* label *)
+         * 'a soption
+         * 'a soption list
+@@ -404,7 +404,7 @@ module Make (Html5 : Html5) = struct
+     let a = match required with
+       | None -> a
+       | Some _ ->
+-        let required = Html5.a_required `Required in
++        let required = Html5.a_required () in
+         match a with
+         | Some a -> Some (required :: a)
+         | None -> Some [required]
+Index: eliom-5.0.0/src/lib/eliom_form.eliomi
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_form.eliomi
++++ eliom-5.0.0/src/lib/eliom_form.eliomi
+@@ -22,7 +22,7 @@
+ 
+ module type Html5 = sig
+ 
+-  include Html5_sigs.T
++  include Html_sigs.T
+     with type 'a Xml.W.t = 'a
+      and type 'a Xml.W.tlist = 'a list
+      and type Xml.mouse_event_handler =
+@@ -34,9 +34,9 @@ module type Html5 = sig
+     'c elt
+ 
+   val lazy_form :
+-    ([< Html5_types.form_attrib ],
+-     [< Html5_types.form_content_fun ],
+-     [> Html5_types.form ]) lazy_star
++    ([< Html_types.form_attrib ],
++     [< Html_types.form_content_fun ],
++     [> Html_types.form ]) lazy_star
+ 
+   val uri_of_fun : (unit -> string) -> Xml.uri
+ 
+@@ -45,7 +45,7 @@ module type Html5 = sig
+     ([ `A | `Form_get | `Form_post] *
+      (bool * string list) option *
+      string option) option Eliom_lazy.request ->
+-    Html5_types.form_attrib attrib
++    Html_types.form_attrib attrib
+ 
+ end
+ 
+Index: eliom-5.0.0/src/lib/eliom_form_sigs.shared.mli
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_form_sigs.shared.mli
++++ eliom-5.0.0/src/lib/eliom_form_sigs.shared.mli
+@@ -136,8 +136,8 @@ module type LINKS = sig
+       The optional parameter [~a] allows one to add extra HTML
+       attributes to the generated node.  *)
+   val css_link :
+-    ?a:Html5_types.link_attrib attrib list ->
+-    uri:uri -> unit -> [> Html5_types.link] elt
++    ?a:Html_types.link_attrib attrib list ->
++    uri:uri -> unit -> [> Html_types.link] elt
+ 
+   (** The function [js_script ~uri ()] creates a [<script>] node that
+       reference a javascript file.
+@@ -151,8 +151,8 @@ module type LINKS = sig
+       The optional parameter [~a] allows one to add extra HTML
+       attributes to the generated node.  *)
+   val js_script :
+-    ?a:Html5_types.script_attrib attrib list -> uri:uri -> unit ->
+-    [> Html5_types.script] elt
++    ?a:Html_types.script_attrib attrib list -> uri:uri -> unit ->
++    [> Html_types.script] elt
+ 
+   (** The function [a service a_content get_params] creates a [<a>]
+       node that link to [service] applied to GET parameters
+@@ -186,7 +186,7 @@ module type LINKS = sig
+     ?absolute:bool ->
+     ?absolute_path:bool ->
+     ?https:bool ->
+-    ?a:Html5_types.a_attrib attrib list ->
++    ?a:Html_types.a_attrib attrib list ->
+     service:('get, unit, [< Eliom_service.get_service_kind ], _, _,
+              [< Eliom_service.suff ], 'd, unit,
+              [< Eliom_service.registrable ],
+@@ -200,7 +200,7 @@ module type LINKS = sig
+     ?xhr:bool ->
+     'a elt list ->
+     'get ->
+-    [> 'a Html5_types.a] elt
++    [> 'a Html_types.a] elt
+ 
+ end
+ 
+@@ -278,7 +278,7 @@ module type S = sig
+     ?absolute:bool ->
+     ?absolute_path:bool ->
+     ?https:bool ->
+-    ?a:Html5_types.form_attrib attrib list ->
++    ?a:Html_types.form_attrib attrib list ->
+     service:('get, unit, [< get_service_kind ], _, _,
+              [<suff ], 'gn, 'pn,
+              [< registrable ], [< non_ocaml_service]) service ->
+@@ -288,8 +288,8 @@ module type S = sig
+     ?keep_nl_params:[ `All | `Persistent | `None ] ->
+     ?nl_params: Eliom_parameter.nl_params_set ->
+     ?xhr:bool ->
+-    ('gn -> Html5_types.form_content elt list) ->
+-    [> Html5_types.form ] elt
++    ('gn -> Html_types.form_content elt list) ->
++    [> Html_types.form ] elt
+ 
+   (** Same as {!get_form} but taking a cooperative function for
+       [<form>] content generation. *)
+@@ -297,7 +297,7 @@ module type S = sig
+     ?absolute:bool ->
+     ?absolute_path:bool ->
+     ?https:bool ->
+-    ?a:Html5_types.form_attrib attrib list ->
++    ?a:Html_types.form_attrib attrib list ->
+     service:('get, unit, [< get_service_kind ], _, _,
+              [<suff ], 'gn, 'pn,
+              [< registrable ], [< non_ocaml_service]) service ->
+@@ -307,8 +307,8 @@ module type S = sig
+     ?keep_nl_params:[ `All | `Persistent | `None ] ->
+     ?nl_params: Eliom_parameter.nl_params_set ->
+     ?xhr:bool ->
+-    ('gn -> Html5_types.form_content elt list Lwt.t) ->
+-    [> Html5_types.form ] elt Lwt.t
++    ('gn -> Html_types.form_content elt list Lwt.t) ->
++    [> Html_types.form ] elt Lwt.t
+ 
+   (** The function [post_form service formgen get_params] creates a
+       POST [<form>] to [service] preapplied to the GET parameters
+@@ -328,7 +328,7 @@ module type S = sig
+     ?absolute:bool ->
+     ?absolute_path:bool ->
+     ?https:bool ->
+-    ?a:Html5_types.form_attrib attrib list ->
++    ?a:Html_types.form_attrib attrib list ->
+     service:('get, 'post, [< post_service_kind ], _, _,
+              [< suff ], 'gn, 'pn,
+              [< registrable ], [< non_ocaml_service]) service ->
+@@ -339,9 +339,9 @@ module type S = sig
+     ?keep_get_na_params:bool ->
+     ?nl_params: Eliom_parameter.nl_params_set ->
+     ?xhr:bool ->
+-    ('pn -> Html5_types.form_content elt list) ->
++    ('pn -> Html_types.form_content elt list) ->
+     'get ->
+-    [> Html5_types.form ] elt
++    [> Html_types.form ] elt
+ 
+   (** Same as {!post_form} but taking a cooperative function for
+       [<form>] content generation. *)
+@@ -349,7 +349,7 @@ module type S = sig
+     ?absolute:bool ->
+     ?absolute_path:bool ->
+     ?https:bool ->
+-    ?a:Html5_types.form_attrib attrib list ->
++    ?a:Html_types.form_attrib attrib list ->
+     service:('get, 'post, [< post_service_kind ], _, _,
+              [< suff ], 'gn, 'pn,
+              [< registrable ], [< non_ocaml_service]) service ->
+@@ -360,93 +360,93 @@ module type S = sig
+     ?keep_get_na_params:bool ->
+     ?nl_params: Eliom_parameter.nl_params_set ->
+     ?xhr:bool ->
+-    ('pn -> Html5_types.form_content elt list Lwt.t) ->
++    ('pn -> Html_types.form_content elt list Lwt.t) ->
+     'get ->
+-    [> Html5_types.form ] elt Lwt.t
++    [> Html_types.form ] elt Lwt.t
+ 
+   (** Creates an [<input>] tag. *)
+   val input :
+-    ?a:Html5_types.input_attrib attrib list ->
+-    input_type:[< Html5_types.input_type] ->
++    ?a:Html_types.input_attrib attrib list ->
++    input_type:[< Html_types.input_type] ->
+     ?name:[< 'a setoneradio] param_name ->
+     ?value:'a ->
+     'a param ->
+-    [> Html5_types.input] elt
++    [> Html_types.input] elt
+ 
+   (** Creates an [<input>] tag for sending a file *)
+   val file_input :
+-    ?a:Html5_types.input_attrib attrib list ->
++    ?a:Html_types.input_attrib attrib list ->
+     name:[< file_info setoneradio ] param_name ->
+     unit ->
+-    [> Html5_types.input] elt
++    [> Html_types.input] elt
+ 
+   (** Creates an [<input type="image" name="...">] tag. The server
+       receives the coordinates that the user clicked on. *)
+   val image_input :
+-    ?a:Html5_types.input_attrib attrib list ->
++    ?a:Html_types.input_attrib attrib list ->
+     name:[< coordinates oneradio ] param_name ->
+     ?src:uri ->
+     unit ->
+-    [> Html5_types.input] elt
++    [> Html_types.input] elt
+ 
+   (** Creates a checkbox [<input>] tag. You can produce several
+       checkboxes with the same name (and different values). The
+       service must declare a parameter of type [set]. *)
+   val checkbox :
+-    ?a:Html5_types.input_attrib attrib list -> ?checked:bool ->
++    ?a:Html_types.input_attrib attrib list -> ?checked:bool ->
+     name:[ `Set of 'a ] Eliom_parameter.param_name -> value:'a ->
+     'a param ->
+-    [> Html5_types.input] elt
++    [> Html_types.input] elt
+ 
+   (** Creates a checkbox [<input>] tag of type bool. Only one checkbox
+       with the same [name] is allowed. *)
+   val bool_checkbox_one :
+-    ?a:Html5_types.input_attrib attrib list -> ?checked:bool ->
++    ?a:Html_types.input_attrib attrib list -> ?checked:bool ->
+     name:[ `One of bool ] Eliom_parameter.param_name ->
+     unit ->
+-    [> Html5_types.input] elt
++    [> Html_types.input] elt
+ 
+   (** Creates a radio [<input>] tag. *)
+   val radio :
+-    ?a:Html5_types.input_attrib attrib list -> ?checked:bool ->
++    ?a:Html_types.input_attrib attrib list -> ?checked:bool ->
+     name:[ `Radio of 'a ] param_name ->
+     value:'a ->
+     'a param ->
+-    [> Html5_types.input] elt
++    [> Html_types.input] elt
+ 
+   val string_radio_required :
+-    ?a:Html5_types.input_attrib attrib list -> ?checked:bool ->
++    ?a:Html_types.input_attrib attrib list -> ?checked:bool ->
+     name:[ `One of string ] param_name ->
+     value:string -> unit ->
+-    [> Html5_types.input] elt
++    [> Html_types.input] elt
+ 
+   (** Creates a [<button>] tag. *)
+   val button :
+-    ?a:Html5_types.button_attrib attrib list ->
++    ?a:Html_types.button_attrib attrib list ->
+     button_type:[< button_type] ->
+     name:[< 'a setone ] param_name ->
+     value:'a ->
+     'a param ->
+-    Html5_types.button_content elt list ->
+-    [> Html5_types.button] elt
++    Html_types.button_content elt list ->
++    [> Html_types.button] elt
+ 
+   (** Creates a [<button>] tag with no value. No value is sent. *)
+   val button_no_value :
+-    ?a:Html5_types.button_attrib attrib list ->
++    ?a:Html_types.button_attrib attrib list ->
+     button_type:[< button_type] ->
+-    Html5_types.button_content elt list ->
+-    [> Html5_types.button] elt
++    Html_types.button_content elt list ->
++    [> Html_types.button] elt
+ 
+   (** Creates a [<textarea>] tag *)
+   val textarea :
+-    ?a:Html5_types.textarea_attrib attrib list ->
++    ?a:Html_types.textarea_attrib attrib list ->
+     name:[< string setoneradio ] param_name -> ?value:string ->
+-    unit -> [> Html5_types.textarea] elt
++    unit -> [> Html_types.textarea] elt
+ 
+   type 'a soption =
+-    Html5_types.option_attrib attrib list
++    Html_types.option_attrib attrib list
+     * 'a (* Content (or value if the following is present) *)
+-    * Html5_types.pcdata elt option (* if content different from value *)
++    * Html_types.pcdata elt option (* if content different from value *)
+     * bool (* selected *)
+ 
+   (** The type for [<select>] options and groups of options.
+@@ -458,7 +458,7 @@ module type S = sig
+       - The string in [select_opt] is the label *)
+   type 'a select_opt =
+     | Optgroup of
+-        [ Html5_types.common | `Disabled ] attrib list
++        [ Html_types.common | `Disabled ] attrib list
+         * string (* label *)
+         * 'a soption
+         * 'a soption list
+@@ -466,22 +466,22 @@ module type S = sig
+ 
+   (** Creates a [<select>] tag. *)
+   val select :
+-    ?a:Html5_types.select_attrib attrib list ->
+-    ?required:Html5_types.pcdata elt ->
++    ?a:Html_types.select_attrib attrib list ->
++    ?required:Html_types.pcdata elt ->
+     name:[ `One of 'a ] param_name ->
+     'a param ->
+     'a select_opt ->
+     'a select_opt list ->
+-    [> Html5_types.select] elt
++    [> Html_types.select] elt
+ 
+   (** Creates a multiple-selection [<select>] tag. *)
+   val multiple_select :
+-    ?a:Html5_types.select_attrib attrib list ->
+-    ?required:Html5_types.pcdata elt ->
++    ?a:Html_types.select_attrib attrib list ->
++    ?required:Html_types.pcdata elt ->
+     name:[ `Set of 'a ] param_name ->
+     'a param ->
+     'a select_opt ->
+     'a select_opt list ->
+-    [> Html5_types.select] elt
++    [> Html_types.select] elt
+ 
+ end
+Index: eliom-5.0.0/src/lib/eliom_registration.server.ml
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_registration.server.ml
++++ eliom-5.0.0/src/lib/eliom_registration.server.ml
+@@ -75,12 +75,12 @@ let cast_http_result = Result_types.cast
+ 
+ module Html5_make_reg_base
+   (Html5_content : Ocsigen_http_frame.HTTP_CONTENT
+-                   with type t = Html5_types.html Eliom_content.Html5.elt
++                   with type t = Html_types.html Eliom_content.Html5.elt
+                    and type options = Http_headers.accept Lazy.t)
+   = struct
+ 
+   open Eliom_content.Html5.F
+-  open Html5_types
++  open Html_types
+ 
+   type page = html elt
+ 
+@@ -203,7 +203,7 @@ module Make_typed_xml_registration
+   end
+ 
+ module Flow5 = Make_typed_xml_registration(Xml)(Eliom_content.Html5.D)(struct
+-  type content = Html5_types.flow5
++  type content = Html_types.flow5
+ end)
+ 
+ 
+@@ -1861,7 +1861,7 @@ module Eliom_appl_reg_make_param
+   (Appl_params : APPL_PARAMS) = struct
+ 
+   open Eliom_content.Html5.D
+-  open Html5_types
++  open Html_types
+ 
+   type appl
+ 
+@@ -1880,9 +1880,9 @@ module Eliom_appl_reg_make_param
+     Eliom_content.Html5.Id.new_elt_id ~global:true ()
+   let application_script ?(defer = false) ?(async = false) () =
+     let a =
+-      (if defer then [Eliom_content.Html5.D.a_defer `Defer] else [])
++      (if defer then [Eliom_content.Html5.D.a_defer ()] else [])
+         @
+-      (if async then [Eliom_content.Html5.D.a_async `Async] else [])
++      (if async then [Eliom_content.Html5.D.a_async ()] else [])
+     in
+     Eliom_content.Html5.Id.create_named_elt
+       ~id:eliom_appl_script_id
+@@ -1992,11 +1992,11 @@ module Eliom_appl_reg_make_param
+     Lwt.return (Eliom_content.Html5.F.script (cdata_script script))
+ 
+   let split_page page :
+-      (Html5_types.html_attrib Eliom_content.Html5.attrib list
+-        * (Html5_types.head_attrib Eliom_content.Html5.attrib list
+-            * [ Html5_types.title ] Eliom_content.Html5.elt
+-            * Html5_types.head_content_fun Eliom_content.Html5.elt list)
+-        * Html5_types.body Eliom_content.Html5.elt ) =
++      (Html_types.html_attrib Eliom_content.Html5.attrib list
++        * (Html_types.head_attrib Eliom_content.Html5.attrib list
++            * [ Html_types.title ] Eliom_content.Html5.elt
++            * Html_types.head_content_fun Eliom_content.Html5.elt list)
++        * Html_types.body Eliom_content.Html5.elt ) =
+     match Eliom_content.Xml.content page with
+       | Eliom_content.Xml.Node (_, html_attribs, [head; body]) ->
+ 	begin match Eliom_content.Xml.content head with
+@@ -2132,7 +2132,7 @@ module type ELIOM_APPL = sig
+   val is_initial_request : unit -> bool
+   type appl
+   include "sigs/eliom_reg.mli"
+-    subst type page    := Html5_types.html Eliom_content.Html5.elt
++    subst type page    := Html_types.html Eliom_content.Html5.elt
+       and type options := appl_service_options
+       and type return  := appl_service
+       and type returnB := [> appl_service ]
+@@ -2172,7 +2172,7 @@ end
+ module type TMPL_PARAMS = sig
+   type t
+   val name: string
+-  val make_page: t -> Html5_types.html Eliom_content.Html5.elt Lwt.t
++  val make_page: t -> Html_types.html Eliom_content.Html5.elt Lwt.t
+   val update: t -> unit client_value
+ end
+ 
+Index: eliom-5.0.0/src/lib/eliom_registration.server.mli
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_registration.server.mli
++++ eliom-5.0.0/src/lib/eliom_registration.server.mli
+@@ -212,7 +212,7 @@ module type ELIOM_APPL = sig
+   type appl
+ 
+   include "sigs/eliom_reg.mli"
+-    subst type page    := Html5_types.html Eliom_content.Html5.elt
++    subst type page    := Html_types.html Eliom_content.Html5.elt
+       and type options := appl_service_options
+       and type return  := appl_service
+       and type returnB := [> appl_service ]
+@@ -231,7 +231,7 @@ module App (Appl_params : APPL_PARAMS) :
+ module type TMPL_PARAMS = sig
+   type t
+   val name: string
+-  val make_page: t -> Html5_types.html Eliom_content.Html5.elt Lwt.t
++  val make_page: t -> Html_types.html Eliom_content.Html5.elt Lwt.t
+   val update: t -> unit client_value
+ end
+ 
+@@ -257,7 +257,7 @@ end
+     fragments.
+ *)
+ module Flow5 : "sigs/eliom_reg.mli"
+-  subst type page    := Html5_types.flow5 Eliom_content.Html5.elt list
++  subst type page    := Html_types.flow5 Eliom_content.Html5.elt list
+   and type options := unit
+   and type return  := http_service
+   and type returnB := [> http_service ]
+Index: eliom-5.0.0/src/lib/eliom_shared_content.eliom
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_shared_content.eliom
++++ eliom-5.0.0/src/lib/eliom_shared_content.eliom
+@@ -56,9 +56,11 @@ module Xml = struct
+ 
+   type uri = Eliom_content_core.Xml.uri
+ 
+-  let string_of_uri = Eliom_content_core.Xml.string_of_uri
++  let string_of_uri () = 
++    {shared#{ Eliom_content_core.Xml.string_of_uri }}
+ 
+-  let uri_of_string = Eliom_content_core.Xml.uri_of_string
++  let uri_of_string () = 
++    {shared#{ Eliom_content_core.Xml.uri_of_string }}
+ 
+   type aname = Eliom_content_core.Xml.aname
+ 
+@@ -197,77 +199,84 @@ module Xml = struct
+ 
+ end
+ 
++{shared{
++module Raw_wrapped_functions_svg =
++  Svg_f.Wrapped_functions(Eliom_content_core.Xml)
++}}
++
++
+ module Svg = struct
+ 
+   module Wrapped_functions :
+ 
+-    Svg_sigs.Wrapped_functions
+-    with type (-'a, 'b) ft = ('a, 'b) Xml.W.ft =
++    Svg_sigs.Wrapped_functions with module Xml = Xml =
+ 
+   struct
+ 
++    module Xml = Xml
++
+     type (-'a, 'b) ft = ('a, 'b) Xml.W.ft
+ 
+     let string_of_alignment_baseline () =
+-      {shared#{ Svg_f.Wrapped_functions.string_of_alignment_baseline }}
++      {shared#{ Raw_wrapped_functions_svg.string_of_alignment_baseline }}
+ 
+     let string_of_big_variant () =
+-      {shared#{ Svg_f.Wrapped_functions.string_of_big_variant }}
++      {shared#{ Raw_wrapped_functions_svg.string_of_big_variant }}
+ 
+     let string_of_bool () =
+-      {shared#{ Svg_f.Wrapped_functions.string_of_bool }}
++      {shared#{ Raw_wrapped_functions_svg.string_of_bool }}
+ 
+     let string_of_coords () =
+-      {shared#{ Svg_f.Wrapped_functions.string_of_coords }}
++      {shared#{ Raw_wrapped_functions_svg.string_of_coords }}
+ 
+     let string_of_dominant_baseline () =
+-      {shared#{ Svg_f.Wrapped_functions.string_of_dominant_baseline }}
++      {shared#{ Raw_wrapped_functions_svg.string_of_dominant_baseline }}
+ 
+     let string_of_fourfloats () =
+-      {shared#{ Svg_f.Wrapped_functions.string_of_fourfloats }}
++      {shared#{ Raw_wrapped_functions_svg.string_of_fourfloats }}
+ 
+     let string_of_in_value () =
+-      {shared#{ Svg_f.Wrapped_functions.string_of_in_value }}
++      {shared#{ Raw_wrapped_functions_svg.string_of_in_value }}
+ 
+     let string_of_int () =
+-      {shared#{ Svg_f.Wrapped_functions.string_of_int }}
++      {shared#{ Raw_wrapped_functions_svg.string_of_int }}
+ 
+     let string_of_length () =
+-      {shared#{ Svg_f.Wrapped_functions.string_of_length }}
++      {shared#{ Raw_wrapped_functions_svg.string_of_length }}
+ 
+     let string_of_lengths () =
+-      {shared#{ Svg_f.Wrapped_functions.string_of_lengths }}
++      {shared#{ Raw_wrapped_functions_svg.string_of_lengths }}
+ 
+     let string_of_number () =
+-      {shared#{ Svg_f.Wrapped_functions.string_of_number }}
++      {shared#{ Raw_wrapped_functions_svg.string_of_number }}
+ 
+     let string_of_number_optional_number () =
+       {shared#{
+-         Svg_f.Wrapped_functions.string_of_number_optional_number }}
++         Raw_wrapped_functions_svg.string_of_number_optional_number }}
+ 
+     let string_of_numbers () =
+-      {shared#{ Svg_f.Wrapped_functions.string_of_numbers }}
++      {shared#{ Raw_wrapped_functions_svg.string_of_numbers }}
+ 
+     let string_of_numbers_semicolon () =
+-      {shared#{ Svg_f.Wrapped_functions.string_of_numbers_semicolon }}
++      {shared#{ Raw_wrapped_functions_svg.string_of_numbers_semicolon }}
+ 
+     let string_of_offset () =
+-      {shared#{ Svg_f.Wrapped_functions.string_of_offset }}
++      {shared#{ Raw_wrapped_functions_svg.string_of_offset }}
+ 
+     let string_of_orient () =
+-      {shared#{ Svg_f.Wrapped_functions.string_of_orient }}
++      {shared#{ Raw_wrapped_functions_svg.string_of_orient }}
+ 
+     let string_of_paint () =
+-      {shared#{ Svg_f.Wrapped_functions.string_of_paint }}
++      {shared#{ Raw_wrapped_functions_svg.string_of_paint }}
+ 
+     let string_of_strokedasharray () =
+-      {shared#{ Svg_f.Wrapped_functions.string_of_strokedasharray }}
++      {shared#{ Raw_wrapped_functions_svg.string_of_strokedasharray }}
+ 
+     let string_of_transform () =
+-      {shared#{ Svg_f.Wrapped_functions.string_of_transform }}
++      {shared#{ Raw_wrapped_functions_svg.string_of_transform }}
+ 
+     let string_of_transforms () =
+-      {shared#{ Svg_f.Wrapped_functions.string_of_transforms }}
++      {shared#{ Raw_wrapped_functions_svg.string_of_transforms }}
+ 
+   end
+ 
+@@ -313,57 +322,72 @@ module Svg = struct
+ 
+   end
+ 
+-end
++end;;
++
++{shared{
++module Raw_wrapped_functions =
++  Html_f.Wrapped_functions(Eliom_content_core.Xml)
++}}
++
+ 
+ module Html5 = struct
+ 
+   module Wrapped_functions :
+ 
+-    Html5_sigs.Wrapped_functions
+-    with type (-'a, 'b) ft = ('a, 'b) Xml.W.ft =
++    Html_sigs.Wrapped_functions with module Xml = Xml =
+ 
+   struct
+ 
++    module Xml = Xml
++
+     type (-'a, 'b) ft = ('a, 'b) Xml.W.ft
+ 
++    type image_candidate =
++      [ `Url of Xml.uri
++      | `Url_width of Xml.uri * Html_types.number
++      | `Url_pixel of Xml.uri * Html_types.float_number ]
++
++    let onoff_of_bool () =
++      {shared#{ Raw_wrapped_functions.onoff_of_bool }}
++
+     let string_of_big_variant () =
+-      {shared#{ Html5_f.Wrapped_functions.string_of_big_variant }}
++      {shared#{ Raw_wrapped_functions.string_of_big_variant }}
+ 
+     let string_of_bool () =
+-      {shared#{ Html5_f.Wrapped_functions.string_of_bool }}
++      {shared#{ Raw_wrapped_functions.string_of_bool }}
+ 
+     let string_of_character () =
+-      {shared#{ Html5_f.Wrapped_functions.string_of_character }}
++      {shared#{ Raw_wrapped_functions.string_of_character }}
+ 
+     let string_of_input_type () =
+-      {shared#{ Html5_f.Wrapped_functions.string_of_input_type }}
++      {shared#{ Raw_wrapped_functions.string_of_input_type }}
+ 
+     let string_of_linktypes () =
+-      {shared#{ Html5_f.Wrapped_functions.string_of_linktypes }}
++      {shared#{ Raw_wrapped_functions.string_of_linktypes }}
+ 
+     let string_of_mediadesc () =
+-      {shared#{ Html5_f.Wrapped_functions.string_of_mediadesc }}
+-
+-    let string_of_multilength () =
+-      {shared#{ Html5_f.Wrapped_functions.string_of_multilength }}
++      {shared#{ Raw_wrapped_functions.string_of_mediadesc }}
+ 
+-    let string_of_multilengths () =
+-      {shared#{ Html5_f.Wrapped_functions.string_of_multilengths }}
++    let string_of_number_or_datetime () =
++      {shared#{ Raw_wrapped_functions.string_of_number_or_datetime }}
+ 
+     let string_of_numbers () =
+-      {shared#{ Html5_f.Wrapped_functions.string_of_numbers }}
++      {shared#{ Raw_wrapped_functions.string_of_numbers }}
+ 
+     let string_of_sandbox () =
+-      {shared#{ Html5_f.Wrapped_functions.string_of_sandbox }}
++      {shared#{ Raw_wrapped_functions.string_of_sandbox }}
+ 
+     let string_of_sizes () =
+-      {shared#{ Html5_f.Wrapped_functions.string_of_sizes }}
++      {shared#{ Raw_wrapped_functions.string_of_sizes }}
+ 
++    let string_of_srcset () =
++      {shared#{ Raw_wrapped_functions.string_of_srcset }}
++ 
+     let string_of_step () =
+-      {shared#{ Html5_f.Wrapped_functions.string_of_step }}
++      {shared#{ Raw_wrapped_functions.string_of_step }}
+ 
+     let unoption_string () =
+-      {shared#{ Html5_f.Wrapped_functions.unoption_string }}
++      {shared#{ Raw_wrapped_functions.unoption_string }}
+ 
+   end
+ 
+Index: eliom-5.0.0/src/lib/eliom_shared_content.eliomi
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_shared_content.eliomi
++++ eliom-5.0.0/src/lib/eliom_shared_content.eliomi
+@@ -46,13 +46,13 @@ module Html5 : sig
+ 
+   module R : sig
+ 
+-    include Html5_sigs.Make(Xml)(Svg.R).T
++    include Html_sigs.Make(Xml)(Svg.R).T
+       with type 'a elt = 'a Eliom_content_core.Html5.elt
+        and type 'a attrib = 'a Eliom_content_core.Html5.attrib
+ 
+     val pcdata :
+       string Eliom_shared.React.S.t ->
+-      [> | Html5_types.span] elt
++      [> | Html_types.span] elt
+ 
+     val node : 'a elt Eliom_shared.React.S.t -> 'a elt
+ 
+Index: eliom-5.0.0/src/lib/eliom_tools.eliom
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_tools.eliom
++++ eliom-5.0.0/src/lib/eliom_tools.eliom
+@@ -46,12 +46,12 @@ module type HTML5_TOOLS = sig
+       corresponding attributes in the generated [<ul>] node. The
+       default class for the [<ul>] node is [eliomtools_menu]. *)
+   val menu :
+-    ?classe:Html5_types.nmtoken list ->
++    ?classe:Html_types.nmtoken list ->
+     ?id:string ->
+     (([< get_service_kind ] as 'a,
+       [< registrable ] as 'b,
+       [< Eliom_registration.non_ocaml_service ] as 'c) one_page *
+-        Html5_types.flow5_without_interactive Html5.elt list)
++        Html_types.flow5_without_interactive Html5.elt list)
+       list ->
+     ?service:('a, 'b, 'c) one_page ->
+     unit ->
+@@ -74,12 +74,12 @@ module type HTML5_TOOLS = sig
+       See {!menu} for a description of the optional parameters [id]
+       and [classe]. *)
+   val hierarchical_menu_depth_first :
+-    ?classe:Html5_types.nmtoken list ->
++    ?classe:Html_types.nmtoken list ->
+     ?id:string ->
+     ?whole_tree:bool ->
+     ([< Eliom_service.get_service_kind ] as 'a,
+      [< Eliom_service.registrable ] as 'b,
+-     Html5_types.a_content Html5.elt list)
++     Html_types.a_content Html5.elt list)
+       hierarchical_site ->
+     ?service:('a, 'b, 'c) one_page ->
+     unit ->
+@@ -101,11 +101,11 @@ module type HTML5_TOOLS = sig
+       and [classe].
+   *)
+   val hierarchical_menu_breadth_first :
+-    ?classe:Html5_types.nmtoken list ->
++    ?classe:Html_types.nmtoken list ->
+     ?id:string ->
+     ([< Eliom_service.get_service_kind ] as 'a,
+      [< Eliom_service.registrable ] as 'b,
+-     Html5_types.a_content Html5.elt list)
++     Html_types.a_content Html5.elt list)
+       hierarchical_site ->
+     ?service:('a, 'b, [< Eliom_registration.non_ocaml_service]) one_page ->
+     unit ->
+@@ -121,7 +121,7 @@ module type HTML5_TOOLS = sig
+   val structure_links :
+     ([< Eliom_service.get_service_kind ] as 'a,
+      [< Eliom_service.registrable ] as 'b,
+-     Html5_types.a_content Html5.elt list)
++     Html_types.a_content Html5.elt list)
+     hierarchical_site ->
+     ?service:('a, 'b, [< Eliom_registration.non_ocaml_service ]) one_page ->
+     unit ->
+@@ -133,18 +133,18 @@ module type HTML5_TOOLS = sig
+     title:string ->
+     ?css:string list list ->
+     ?js:string list list ->
+-    ?other:Html5_types.head_content_fun Html5.elt list ->
++    ?other:Html_types.head_content_fun Html5.elt list ->
+     unit ->
+-    Html5_types.head Html5.elt
++    Html_types.head Html5.elt
+ 
+   val html :
+     title:string ->
+-    ?a:Html5_types.html_attrib Html5.attrib list ->
++    ?a:Html_types.html_attrib Html5.attrib list ->
+     ?css:string list list ->
+     ?js:string list list ->
+-    ?other_head:Html5_types.head_content_fun Html5.elt list ->
+-    Html5_types.body Html5.elt ->
+-    Html5_types.html Html5.elt
++    ?other_head:Html_types.head_content_fun Html5.elt list ->
++    Html_types.body Html5.elt ->
++    Html_types.html Html5.elt
+ end
+ }}
+ {server{
+@@ -167,7 +167,7 @@ let get_js_files () = let f = !js_files
+ }}
+ {shared{
+ module Make(DorF : module type of Eliom_content.Html5.F) : HTML5_TOOLS = struct
+-  open Html5_types
++  open Html_types
+   open Html5.F
+ 
+   let make_string_uri = Eliom_uri.make_string_uri
+@@ -450,7 +450,7 @@ module Make(DorF : module type of Eliom_
+       css_link ~uri () in
+     let mk_js_script path =
+       let uri = make_uri  (Eliom_service.static_dir ()) path in
+-      js_script ~a:[a_defer `Defer] ~uri () in
++      js_script ~a:[a_defer ()] ~uri () in
+     DorF.head
+       (title (pcdata ttl))
+       List.(map mk_css_link css @ map mk_js_script js @ other)
+@@ -484,7 +484,7 @@ let add_js_file path =
+       path
+   in
+   let script =
+-    Html5.F.js_script ~a:[Html5.F.a_defer `Defer] ~uri ()
++    Html5.F.js_script ~a:[Html5.F.a_defer ()] ~uri ()
+   in
+   ignore
+     Dom_html.document##head##appendChild (Html5.To_dom.of_node script)
+Index: eliom-5.0.0/src/lib/eliom_tools.eliomi
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_tools.eliomi
++++ eliom-5.0.0/src/lib/eliom_tools.eliomi
+@@ -105,12 +105,12 @@ module type HTML5_TOOLS = sig
+       corresponding attributes in the generated [<ul>] node. The
+       default class for the [<ul>] node is [eliomtools_menu]. *)
+   val menu :
+-    ?classe:Html5_types.nmtoken list ->
++    ?classe:Html_types.nmtoken list ->
+     ?id:string ->
+     (([< get_service_kind ] as 'a,
+       [< registrable ] as 'b,
+       [< Eliom_registration.non_ocaml_service ] as 'c) one_page *
+-        Html5_types.flow5_without_interactive Html5.elt list)
++        Html_types.flow5_without_interactive Html5.elt list)
+       list ->
+     ?service:('a, 'b, 'c) one_page ->
+     unit ->
+@@ -133,12 +133,12 @@ module type HTML5_TOOLS = sig
+       See {!menu} for a description of the optional parameters [id]
+       and [classe]. *)
+   val hierarchical_menu_depth_first :
+-    ?classe:Html5_types.nmtoken list ->
++    ?classe:Html_types.nmtoken list ->
+     ?id:string ->
+     ?whole_tree:bool ->
+     ([< Eliom_service.get_service_kind ] as 'a,
+      [< Eliom_service.registrable ] as 'b,
+-     Html5_types.a_content Html5.elt list)
++     Html_types.a_content Html5.elt list)
+       hierarchical_site ->
+     ?service:('a, 'b, 'c) one_page ->
+     unit ->
+@@ -160,11 +160,11 @@ module type HTML5_TOOLS = sig
+       and [classe].
+   *)
+   val hierarchical_menu_breadth_first :
+-    ?classe:Html5_types.nmtoken list ->
++    ?classe:Html_types.nmtoken list ->
+     ?id:string ->
+     ([< Eliom_service.get_service_kind ] as 'a,
+      [< Eliom_service.registrable ] as 'b,
+-     Html5_types.a_content Html5.elt list)
++     Html_types.a_content Html5.elt list)
+       hierarchical_site ->
+     ?service:('a, 'b, [< Eliom_registration.non_ocaml_service]) one_page ->
+     unit ->
+@@ -180,7 +180,7 @@ module type HTML5_TOOLS = sig
+   val structure_links :
+     ([< Eliom_service.get_service_kind ] as 'a,
+      [< Eliom_service.registrable ] as 'b,
+-     Html5_types.a_content Html5.elt list)
++     Html_types.a_content Html5.elt list)
+     hierarchical_site ->
+     ?service:('a, 'b, [< Eliom_registration.non_ocaml_service ]) one_page ->
+     unit ->
+@@ -192,18 +192,18 @@ module type HTML5_TOOLS = sig
+     title:string ->
+     ?css:string list list ->
+     ?js:string list list ->
+-    ?other:Html5_types.head_content_fun Html5.elt list ->
++    ?other:Html_types.head_content_fun Html5.elt list ->
+     unit ->
+-    Html5_types.head Html5.elt
++    Html_types.head Html5.elt
+ 
+   val html :
+     title:string ->
+-    ?a:Html5_types.html_attrib Html5.attrib list ->
++    ?a:Html_types.html_attrib Html5.attrib list ->
+     ?css:string list list ->
+     ?js:string list list ->
+-    ?other_head:Html5_types.head_content_fun Html5.elt list ->
+-    Html5_types.body Html5.elt ->
+-    Html5_types.html Html5.elt
++    ?other_head:Html_types.head_content_fun Html5.elt list ->
++    Html_types.body Html5.elt ->
++    Html_types.html Html5.elt
+ 
+ end
+ 
+Index: eliom-5.0.0/src/lib/server/extensions/atom_feed.ml
+===================================================================
+--- eliom-5.0.0.orig/src/lib/server/extensions/atom_feed.ml
++++ eliom-5.0.0/src/lib/server/extensions/atom_feed.ml
+@@ -23,7 +23,7 @@ open Eliom_lib
+ (*
+  * types {{{
+  *)
+-type uri = Xml.uri
++type uri = Tyxml_xml.uri
+ type lang = string
+ type base = uri
+ type ncname = string
+@@ -31,7 +31,7 @@ type dateConstruct = string
+ type emailAddress = string
+ type mediaType = string
+ type length = int
+-type href = Xml.uri
++type href = Tyxml_xml.uri
+ type hrefLang = string
+ type rel = string
+ type ltitle = string
+@@ -40,21 +40,21 @@ type label = string
+ type term = string
+ type metaAttr = [ `Base of base | `Lang of lang ]
+ type personConstruct = [ `Uri of uri | `Email of emailAddress ]
+-type author = Xml.elt
+-type contributor = Xml.elt
+-type generator = Xml.elt
+-type id = Xml.elt
+-type icon = Xml.elt
+-type category = Xml.elt
+-type link = Xml.elt
+-type logo = Xml.elt
+-type published = Xml.elt
+-type updated = Xml.elt
+-type source = Xml.elt
+-type entry = Xml.elt
+-type feed = Xml.elt
+-type content = Xml.elt
+-type textConstruct = Xml.attrib list * Xml.elt list
++type author = Tyxml_xml.elt
++type contributor = Tyxml_xml.elt
++type generator = Tyxml_xml.elt
++type id = Tyxml_xml.elt
++type icon = Tyxml_xml.elt
++type category = Tyxml_xml.elt
++type link = Tyxml_xml.elt
++type logo = Tyxml_xml.elt
++type published = Tyxml_xml.elt
++type updated = Tyxml_xml.elt
++type source = Tyxml_xml.elt
++type entry = Tyxml_xml.elt
++type feed = Tyxml_xml.elt
++type content = Tyxml_xml.elt
++type textConstruct = Tyxml_xml.attrib list * Tyxml_xml.elt list
+ type linkOAttr = [ metaAttr
+    | `Type of string
+    | `Rel of rel
+@@ -106,18 +106,18 @@ let xml_of_feed f = f
+ (*
+  * attr converters {{{
+  *)
+-let a_base = Xml.uri_attrib "base"
+-let a_lang = Xml.string_attrib "lang"
+-let a_scheme = Xml.string_attrib "scheme"
+-let a_label = Xml.string_attrib "label"
+-let a_href = Xml.uri_attrib "href"
+-let a_rel = Xml.string_attrib "rel"
+-let a_hreflang = Xml.string_attrib "hreflang"
+-let a_medtype = Xml.string_attrib "mediatype"
+-let a_title = Xml.string_attrib "title"
+-let a_length = Xml.int_attrib "length"
+-let a_term = Xml.string_attrib "term"
+-let a_type = Xml.string_attrib "type"
++let a_base = Tyxml_xml.uri_attrib "base"
++let a_lang = Tyxml_xml.string_attrib "lang"
++let a_scheme = Tyxml_xml.string_attrib "scheme"
++let a_label = Tyxml_xml.string_attrib "label"
++let a_href = Tyxml_xml.uri_attrib "href"
++let a_rel = Tyxml_xml.string_attrib "rel"
++let a_hreflang = Tyxml_xml.string_attrib "hreflang"
++let a_medtype = Tyxml_xml.string_attrib "mediatype"
++let a_title = Tyxml_xml.string_attrib "title"
++let a_length = Tyxml_xml.int_attrib "length"
++let a_term = Tyxml_xml.string_attrib "term"
++let a_type = Tyxml_xml.string_attrib "type"
+ (*
+  * }}}
+  *)
+@@ -128,7 +128,7 @@ let rec metaAttr_extract l = match l wit
+    | `Lang a :: r    -> a_lang a :: metaAttr_extract r | _ :: r          ->
+    metaAttr_extract r
+ 
+-let rec c_pcdata l = match l with | [] -> [] | a::r -> Xml.pcdata a :: c_pcdata
++let rec c_pcdata l = match l with | [] -> [] | a::r -> Tyxml_xml.pcdata a :: c_pcdata
+ r
+ 
+ let print_html5 l =
+@@ -138,33 +138,33 @@ let print_html5 l =
+   Eliom_content.Html5.Printer.print_list ~encode ~output l;
+   Buffer.contents buffer
+ 
+-let inlineC ?(meta = []) ?(html = false) c = `Content (Xml.node ~a:(a_type (if
++let inlineC ?(meta = []) ?(html = false) c = `Content (Tyxml_xml.node ~a:(a_type (if
+             html then "html" else "text") :: metaAttr_extract meta) "content"
+       (c_pcdata c))
+ 
+ let html5C ?meta c =
+   inlineC ?meta ~html:true [print_html5 [Eliom_content.Html5.F.div c]]
+ 
+-let inlineOtherC ?(meta = []) (a,b) = `Content (Xml.node ~a:(a_medtype a ::
++let inlineOtherC ?(meta = []) (a,b) = `Content (Tyxml_xml.node ~a:(a_medtype a ::
+          metaAttr_extract meta) "content" b)
+ 
+-let outOfLineC ?(meta = []) (a,b) = `Content (Xml.node ~a:(a_medtype a ::
+-         Xml.uri_attrib "src" b :: metaAttr_extract meta) "content" [])
++let outOfLineC ?(meta = []) (a,b) = `Content (Tyxml_xml.node ~a:(a_medtype a ::
++         Tyxml_xml.uri_attrib "src" b :: metaAttr_extract meta) "content" [])
+ 
+ (*
+  * Extraction functions {{{
+  *)
+ let rec personConstruct_extract l = match l with
+    | []              -> []
+-   |`Email a :: r   -> Xml.node ~a:[] "email" [(Xml.pcdata a)] ::
++   |`Email a :: r   -> Tyxml_xml.node ~a:[] "email" [(Tyxml_xml.pcdata a)] ::
+       personConstruct_extract r
+-   | `Uri a :: r     -> Xml.node ~a:[] "uri" [(Xml.pcdata (Xml.string_of_uri a))] ::
++   | `Uri a :: r     -> Tyxml_xml.node ~a:[] "uri" [(Tyxml_xml.pcdata (Tyxml_xml.string_of_uri a))] ::
+       personConstruct_extract r
+    | _ :: r          -> personConstruct_extract r
+ 
+ let rec linkOAttr_extract l = match l with
+    | []              -> []
+-   | `Type a :: r    -> Xml.string_attrib "type" a :: linkOAttr_extract r
++   | `Type a :: r    -> Tyxml_xml.string_attrib "type" a :: linkOAttr_extract r
+    | `Rel a :: r     -> a_rel a :: linkOAttr_extract r
+    | `Medtype a :: r -> a_medtype a :: linkOAttr_extract r
+    | `Hrefl a :: r   -> a_hreflang a :: linkOAttr_extract r
+@@ -181,8 +181,8 @@ let rec sourceOAttr_extract l = match l
+    | `Gen a :: r
+    | `Icon a :: r
+    | `Logo a :: r       -> a :: sourceOAttr_extract r
+-   | `Rights (a,b) :: r -> Xml.node ~a "rights" b :: sourceOAttr_extract r
+-   | `Sub (a,b) :: r    -> Xml.node ~a "subtitle" b :: sourceOAttr_extract r
++   | `Rights (a,b) :: r -> Tyxml_xml.node ~a "rights" b :: sourceOAttr_extract r
++   | `Sub (a,b) :: r    -> Tyxml_xml.node ~a "subtitle" b :: sourceOAttr_extract r
+    | _ :: r             -> sourceOAttr_extract r
+ 
+ let rec entryOAttr_extract l = match l with
+@@ -194,8 +194,8 @@ let rec entryOAttr_extract l = match l w
+    | `Content a :: r
+    | `Pub a :: r
+    | `Source a :: r     -> a :: entryOAttr_extract r
+-   | `Rights (a,b) :: r -> Xml.node ~a "rights" b :: entryOAttr_extract r
+-   | `Sum (a,b) :: r    -> Xml.node ~a "summary" b :: entryOAttr_extract r
++   | `Rights (a,b) :: r -> Tyxml_xml.node ~a "rights" b :: entryOAttr_extract r
++   | `Sum (a,b) :: r    -> Tyxml_xml.node ~a "summary" b :: entryOAttr_extract r
+    | _ :: r             -> entryOAttr_extract r
+ 
+ let rec feedOAttr_extract l = match l with
+@@ -207,8 +207,8 @@ let rec feedOAttr_extract l = match l wi
+    | `Gen a :: r
+    | `Icon a :: r
+    | `Logo a :: r       -> a :: feedOAttr_extract r
+-   | `Rights (a,b) :: r -> Xml.node ~a "rights" b :: feedOAttr_extract r
+-   | `Sub (a,b) :: r    -> Xml.node ~a "subtitle" b :: feedOAttr_extract r
++   | `Rights (a,b) :: r -> Tyxml_xml.node ~a "rights" b :: feedOAttr_extract r
++   | `Sub (a,b) :: r    -> Tyxml_xml.node ~a "subtitle" b :: feedOAttr_extract r
+    | _ :: r          -> feedOAttr_extract r
+  (*
+  * }}}
+@@ -217,8 +217,8 @@ let rec feedOAttr_extract l = match l wi
+ (*
+  * Textconstructs [Rights, Subtitle, Summary, Title] {{{
+  *)
+-let plain ?(meta = []) ?(html = false) content = (Xml.string_attrib "type"
+-    (if html then "html" else "text"):: metaAttr_extract meta, [Xml.pcdata
++let plain ?(meta = []) ?(html = false) content = (Tyxml_xml.string_attrib "type"
++    (if html then "html" else "text"):: metaAttr_extract meta, [Tyxml_xml.pcdata
+     content])
+ 
+ let html5 ?meta content =
+@@ -234,30 +234,30 @@ let summary t = `Sum t
+  *)
+ 
+ let feed ~updated ~id ~title:(a,b) ?(fields = []) entries =
+-   Xml.node ~a:(Xml.string_attrib "xmlns" "http://www.w3.org/2005/Atom" ::
++   Tyxml_xml.node ~a:(Tyxml_xml.string_attrib "xmlns" "http://www.w3.org/2005/Atom" ::
+          metaAttr_extract fields)
+          "feed"
+-         (Xml.node ~a:[] "updated" [ Xml.pcdata (date updated) ] ::
+-            Xml.node ~a:[] "id" [ Xml.pcdata (Xml.string_of_uri id) ] :: Xml.node ~a "title" b ::
++         (Tyxml_xml.node ~a:[] "updated" [ Tyxml_xml.pcdata (date updated) ] ::
++            Tyxml_xml.node ~a:[] "id" [ Tyxml_xml.pcdata (Tyxml_xml.string_of_uri id) ] :: Tyxml_xml.node ~a "title" b ::
+             feedOAttr_extract fields @ entries)
+ 
+ let entry ~updated ~id ~title:(a,b) elt =
+-   Xml.node ~a:(metaAttr_extract elt)
++   Tyxml_xml.node ~a:(metaAttr_extract elt)
+          "entry"
+-         (Xml.node ~a:[] "updated" [ Xml.pcdata (date updated) ] ::
+-            Xml.node ~a:[] "id" [ Xml.pcdata (Xml.string_of_uri id) ] ::
+-            Xml.node ~a "title" b ::
++         (Tyxml_xml.node ~a:[] "updated" [ Tyxml_xml.pcdata (date updated) ] ::
++            Tyxml_xml.node ~a:[] "id" [ Tyxml_xml.pcdata (Tyxml_xml.string_of_uri id) ] ::
++            Tyxml_xml.node ~a "title" b ::
+             entryOAttr_extract elt)
+ 
+ let source ~updated ~id ~title:(a,b) elt = `Source (
+-   Xml.node ~a:(metaAttr_extract elt)
++   Tyxml_xml.node ~a:(metaAttr_extract elt)
+          "source"
+-         (Xml.node ~a:[] "updated" [ Xml.pcdata (date updated) ] ::
+-            Xml.node ~a:[] "id" [ Xml.pcdata (Xml.string_of_uri id) ] ::
+-	       Xml.node ~a "title" b :: sourceOAttr_extract elt)
++         (Tyxml_xml.node ~a:[] "updated" [ Tyxml_xml.pcdata (date updated) ] ::
++            Tyxml_xml.node ~a:[] "id" [ Tyxml_xml.pcdata (Tyxml_xml.string_of_uri id) ] ::
++	       Tyxml_xml.node ~a "title" b :: sourceOAttr_extract elt)
+ 	 )
+ 
+-let link ?(elt = []) href = Xml.leaf ~a:(a_href href :: (linkOAttr_extract elt)
++let link ?(elt = []) href = Tyxml_xml.leaf ~a:(a_href href :: (linkOAttr_extract elt)
+       @ (metaAttr_extract elt)) "link"
+ 
+ let links l = `Links l
+@@ -266,34 +266,34 @@ let email s = `Email s
+ 
+ let uri s = `Uri s
+ 
+-let author ?(elt = []) name = Xml.node ~a:[] "author" (Xml.node ~a:[] "name"
+-      [Xml.pcdata name] :: personConstruct_extract elt)
++let author ?(elt = []) name = Tyxml_xml.node ~a:[] "author" (Tyxml_xml.node ~a:[] "name"
++      [Tyxml_xml.pcdata name] :: personConstruct_extract elt)
+ 
+ let authors l = `Authors l
+ 
+-let contributor ?(elt = []) name = Xml.node ~a:[] "contributor" (Xml.node ~a:[]
+-      "name" [Xml.pcdata name] :: personConstruct_extract elt)
++let contributor ?(elt = []) name = Tyxml_xml.node ~a:[] "contributor" (Tyxml_xml.node ~a:[]
++      "name" [Tyxml_xml.pcdata name] :: personConstruct_extract elt)
+ 
+ let contributors l = `Contribs l
+ 
+-let icon address = `Icon (Xml.node ~a:[] "icon" [ Xml.pcdata (Xml.string_of_uri address) ])
++let icon address = `Icon (Tyxml_xml.node ~a:[] "icon" [ Tyxml_xml.pcdata (Tyxml_xml.string_of_uri address) ])
+ 
+-let logo address = `Logo (Xml.node ~a:[] "icon" [ Xml.pcdata (Xml.string_of_uri address) ])
++let logo address = `Logo (Tyxml_xml.node ~a:[] "icon" [ Tyxml_xml.pcdata (Tyxml_xml.string_of_uri address) ])
+ 
+ let category ?(meta = []) ?(scheme = "") ?(label = "") term content =
+-   Xml.node ~a:(a_scheme scheme :: a_label label ::
++   Tyxml_xml.node ~a:(a_scheme scheme :: a_label label ::
+                a_term term :: metaAttr_extract meta)
+          "category"
+          content
+ 
+ let categories l = `Cats l
+ 
+-let published d = `Pub (Xml.node ~a:[] "published" [ Xml.pcdata (date d) ])
++let published d = `Pub (Tyxml_xml.node ~a:[] "published" [ Tyxml_xml.pcdata (date d) ])
+ 
+ (*
+  * }}}
+  *)
+ 
+-let insert_hub_links hubs feed = match Xml.content feed with
+-   | Xml.Node (b, a, c)  -> Xml.node ~a b (List.map
++let insert_hub_links hubs feed = match Tyxml_xml.content feed with
++   | Tyxml_xml.Node (b, a, c)  -> Tyxml_xml.node ~a b (List.map
+          (fun uri -> link ~elt:[`Rel ("hub")] uri) hubs @ c) | _ -> assert false
+Index: eliom-5.0.0/src/lib/server/extensions/atom_feed.mli
+===================================================================
+--- eliom-5.0.0.orig/src/lib/server/extensions/atom_feed.mli
++++ eliom-5.0.0/src/lib/server/extensions/atom_feed.mli
+@@ -23,7 +23,7 @@
+ (*
+  * types {{{
+  *)
+-type uri = Xml.uri
++type uri = Tyxml_xml.uri
+ type lang = string
+ type base = uri
+ type ncname = string
+@@ -31,7 +31,7 @@ type dateConstruct = string
+ type emailAddress = string
+ type mediaType = string
+ type length = int
+-type href = Xml.uri
++type href = Tyxml_xml.uri
+ type hrefLang = string
+ type rel = string
+ type ltitle = string
+@@ -113,7 +113,7 @@ type feedOAttr = [ metaAttr
+  * Constructors {{{
+  *)
+ 
+-val xml_of_feed : feed -> Xml.elt
++val xml_of_feed : feed -> Tyxml_xml.elt
+ 
+ (*
+  * attr converters {{{
+@@ -140,12 +140,12 @@ val inlineC : ?meta:[> metaAttr ] list
+ 
+ (** An html5 content, embedded in a div *)
+ val html5C : ?meta:[> metaAttr ] list
+-   -> ([ `PCDATA | Html5_types.flow5 ] Eliom_content.Html5.elt list)
++   -> ([ `PCDATA | Html_types.flow5 ] Eliom_content.Html5.elt list)
+    -> [> `Content of content ]
+ 
+ (** Inline content from another kind *)
+ val inlineOtherC : ?meta:[> metaAttr ] list
+-   -> string * Xml.elt list
++   -> string * Tyxml_xml.elt list
+    -> [> `Content of content ]
+ 
+ (** Every other content *)
+@@ -161,7 +161,7 @@ val plain : ?meta:[> metaAttr ] list
+ 
+ (** HTML5 text construct *)
+ val html5 : ?meta:[> metaAttr ] list
+-   -> [ `PCDATA | Html5_types.flow5 ] Eliom_content.Html5.elt list
++   -> [ `PCDATA | Html_types.flow5 ] Eliom_content.Html5.elt list
+    -> textConstruct
+ 
+ (** Rights tag *)
+@@ -240,7 +240,7 @@ val logo : uri -> [> `Logo of logo ]
+ val category :
+   ?meta:[> metaAttr ] list ->
+   ?scheme:scheme -> ?label:label ->
+-  term -> Xml.elt list -> category
++  term -> Tyxml_xml.elt list -> category
+ 
+ (** We need a list of categories, this is only a converter from category list
+  to `Categories *)
+Index: eliom-5.0.0/src/lib/server/extensions/eliom_atom.ml
+===================================================================
+--- eliom-5.0.0.orig/src/lib/server/extensions/eliom_atom.ml
++++ eliom-5.0.0/src/lib/server/extensions/eliom_atom.ml
+@@ -33,7 +33,7 @@ module Atom_info = struct
+   let emptytags = []
+ end
+ 
+-module Format = Xml_print.Make_simple(Xml)(Atom_info)
++module Format = Xml_print.Make_simple(Tyxml_xml)(Atom_info)
+ 
+ let result_of_content feed headers =
+   let b = Buffer.create 10 in
+@@ -118,7 +118,7 @@ let rec ping_hub u address t =
+ 
+ let rec nfu_s hubs address = match hubs with
+    | []     -> ()
+-   | s :: r -> let u = Neturl.parse_url (Xml.string_of_uri s) in ignore (ping_hub u address 1.) ;
++   | s :: r -> let u = Neturl.parse_url (Tyxml_xml.string_of_uri s) in ignore (ping_hub u address 1.) ;
+       nfu_s r address
+ 
+ let notify_feed_updates address hubs s =
+Index: eliom-5.0.0/src/lib/sigs/eliom_html5_reg.mli
+===================================================================
+--- eliom-5.0.0.orig/src/lib/sigs/eliom_html5_reg.mli
++++ eliom-5.0.0/src/lib/sigs/eliom_html5_reg.mli
+@@ -1,5 +1,5 @@
+ include "sigs/eliom_reg.mli"
+-  subst type page    := Html5_types.html Eliom_content.Html5.elt
++  subst type page    := Html_types.html Eliom_content.Html5.elt
+     and type options := unit
+     and type return  := http_service
+     and type returnB := [> http_service ]
+Index: eliom-5.0.0/src/lib/server/monitor/eliom_monitor.mli
+===================================================================
+--- eliom-5.0.0.orig/src/lib/server/monitor/eliom_monitor.mli
++++ eliom-5.0.0/src/lib/server/monitor/eliom_monitor.mli
+@@ -23,5 +23,5 @@ val pid : unit -> int
+ 
+ val fd : pid:int -> [`Ok of int | `Error of string]
+ 
+-val content_div : unit -> [> Html5_types.div ] Eliom_content.Html5.elt Lwt.t
+-val content_html : unit -> [> Html5_types.html ] Eliom_content.Html5.elt Lwt.t
++val content_div : unit -> [> Html_types.div ] Eliom_content.Html5.elt Lwt.t
++val content_html : unit -> [> Html_types.html ] Eliom_content.Html5.elt Lwt.t


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-ml/eliom/, dev-ml/eliom/files/
@ 2016-10-10 14:03 Alexis Ballier
  0 siblings, 0 replies; 6+ messages in thread
From: Alexis Ballier @ 2016-10-10 14:03 UTC (permalink / raw
  To: gentoo-commits

commit:     f2518d6d2f139f677c63c9edc39511dc83c9c852
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 10 14:03:22 2016 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Mon Oct 10 14:03:34 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f2518d6d

dev-ml/eliom: fix build with js of ocaml 2.8.2, bug #593978.

Also, make all patches mandatory and bump required versions in deps.

Package-Manager: portage-2.3.1

 dev-ml/eliom/eliom-5.0.0-r2.ebuild     |  13 +-
 dev-ml/eliom/files/jsofocaml-282.patch | 361 +++++++++++++++++++++++++++++++++
 2 files changed, 367 insertions(+), 7 deletions(-)

diff --git a/dev-ml/eliom/eliom-5.0.0-r2.ebuild b/dev-ml/eliom/eliom-5.0.0-r2.ebuild
index 36923d1..6b4ae4b 100644
--- a/dev-ml/eliom/eliom-5.0.0-r2.ebuild
+++ b/dev-ml/eliom/eliom-5.0.0-r2.ebuild
@@ -15,10 +15,10 @@ SLOT="0/${PV}"
 KEYWORDS="~amd64"
 IUSE="doc +ocamlopt +ppx"
 
-RDEPEND=">=dev-lang/ocaml-4.00:=[ocamlopt?]
-	>=dev-ml/js_of_ocaml-2.5-r1:=
+RDEPEND=">=dev-lang/ocaml-4.03:=[ocamlopt?]
+	>=dev-ml/js_of_ocaml-2.8.2:=
 	>=www-servers/ocsigenserver-2.5:=
-	>=dev-ml/tyxml-3.6:=
+	>=dev-ml/tyxml-4:=
 	>=dev-ml/deriving-0.6:=
 	>=dev-ml/reactiveData-0.2:=
 	dev-ml/ocaml-ipaddr:=
@@ -33,10 +33,9 @@ DEPEND="${RDEPEND}
 	dev-ml/opam"
 
 src_prepare() {
-	if has_version '>=dev-lang/ocaml-4.03' ; then
-		epatch "${FILESDIR}/"{camlp4,oc43,oc43-2}.patch
-	fi
-	has_version '>=dev-ml/tyxml-4' && epatch "${FILESDIR}/tyxml4.patch"
+	epatch "${FILESDIR}/"{camlp4,oc43,oc43-2}.patch \
+		"${FILESDIR}/tyxml4.patch" \
+		"${FILESDIR}/jsofocaml-282.patch"
 }
 
 src_compile() {

diff --git a/dev-ml/eliom/files/jsofocaml-282.patch b/dev-ml/eliom/files/jsofocaml-282.patch
new file mode 100644
index 00000000..985432f
--- /dev/null
+++ b/dev-ml/eliom/files/jsofocaml-282.patch
@@ -0,0 +1,361 @@
+Backported from:
+
+commit 4edaf2275e2f7a027f3c7dc52e1e295a6e56b19a
+Author: Vasilis Papavasileiou <git@vasilis.airpost.net>
+Date:   Thu Aug 18 19:40:56 2016 +0200
+
+    Fix ocsigen/js_of_ocaml#518
+
+upstream.
+
+Index: eliom-5.0.0/src/lib/eliom_client.client.ml
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_client.client.ml
++++ eliom-5.0.0/src/lib/eliom_client.client.ml
+@@ -461,23 +461,29 @@ let raw_event_handler value =
+ 
+ let closure_name_prefix = Eliom_lib_base.RawXML.closure_name_prefix
+ let closure_name_prefix_len = String.length closure_name_prefix
+-let reify_caml_event name node ce : string * (#Dom_html.event Js.t -> bool) =
++let reify_caml_event name node ce =
+   match ce with
+-  | Xml.CE_call_service None -> name,(fun _ -> true)
++  | Xml.CE_call_service None -> name, `Other (fun _ -> true)
+   | Xml.CE_call_service (Some (`A, cookies_info, tmpl)) ->
+-    name, (fun ev ->
++    name, `Other (fun ev ->
+       let node = Js.Opt.get (Dom_html.CoerceTo.a node)
+           (fun () -> Lwt_log.raise_error ~section "not an anchor element")
+       in
+       raw_a_handler node cookies_info tmpl ev)
+   | Xml.CE_call_service
+       (Some ((`Form_get | `Form_post) as kind, cookies_info, tmpl)) ->
+-    name, (fun ev ->
++    name, `Other (fun ev ->
+       let form = Js.Opt.get (Dom_html.CoerceTo.form node)
+           (fun () -> Lwt_log.raise_error ~section "not a form element") in
+       raw_form_handler form kind cookies_info tmpl ev)
+   | Xml.CE_client_closure f ->
+-      name, (fun ev -> try f ev; true with False -> false)
++      name, `Other (fun ev -> try f ev; true with False -> false)
++  | Xml.CE_client_closure_keyboard f ->
++      name,
++      `Keyboard (fun ev -> try f ev; true with Eliom_lib.False -> false)
++  | Xml.CE_client_closure_mouse f ->
++      name,
++      `Mouse (fun ev -> try f ev; true with Eliom_lib.False -> false)
+   | Xml.CE_registered_closure (_, cv) ->
+     let name =
+       let len = String.length name in
+@@ -485,16 +491,27 @@ let reify_caml_event name node ce : stri
+       then String.sub name closure_name_prefix_len
+           (len - closure_name_prefix_len)
+       else name in
+-    name, raw_event_handler cv
++    name, `Other (raw_event_handler cv)
+ 
+ let register_event_handler, flush_load_script =
+   let add, _, flush = create_buffer () in
+   let register node (name, ev) =
+-    let name,f = reify_caml_event name node ev in
+-    if name = "onload"
+-    then add f
+-    else Js.Unsafe.set node (Js.bytestring name)
+-        (Dom_html.handler (fun ev -> Js.bool (f ev)))
++     match reify_caml_event name node ev with
++     | "onload", `Other f ->
++       add f
++     | "onload", `Keyboard _ ->
++       failwith "keyboard event handler for onload"
++     | "onload", `Mouse _ ->
++       failwith "keyboard event handler for onload"
++     | name, `Other f ->
++       Js.Unsafe.set node (Js.bytestring name)
++         (Dom_html.handler (fun ev -> Js.bool (f ev)))
++     | name, `Keyboard f ->
++       Js.Unsafe.set node (Js.bytestring name)
++         (Dom_html.handler (fun ev -> Js.bool (f ev)))
++     | name, `Mouse f ->
++       Js.Unsafe.set node (Js.bytestring name)
++         (Dom_html.handler (fun ev -> Js.bool (f ev)))
+   in
+   let flush () =
+     let fs = flush () in
+Index: eliom-5.0.0/src/lib/eliom_content.server.mli
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_content.server.mli
++++ eliom-5.0.0/src/lib/eliom_content.server.mli
+@@ -114,7 +114,7 @@ module Xml : sig
+       example {% <<a_api project="js_of_ocaml" | type
+       Dom_html.mouseEvent>>%} or {% <<a_api project="js_of_ocaml" | type
+       Dom_html.keyboardEvent >>%}. *)
+-  type -'a caml_event_handler constraint 'a = #Dom_html.event
++  type caml_event_handler
+ 
+   (**/**)
+ 
+@@ -129,18 +129,14 @@ module Xml : sig
+   val make_event_handler_table : elt -> Eliom_lib.RawXML.event_handler_table
+   val make_client_attrib_table : elt -> Eliom_lib.RawXML.client_attrib_table
+ 
+-  val caml_event_handler : ((#Dom_html.event as 'a) Js.t -> unit) Eliom_lib.client_value -> 'a caml_event_handler
+-
+-  class type biggest_event = object
+-    inherit Dom_html.event
+-    inherit Dom_html.mouseEvent
+-    inherit Dom_html.keyboardEvent
+-  end
++  val caml_event_handler :
++  	(Dom_html.event Js.t -> unit) Eliom_lib.client_value ->
++	    caml_event_handler
+ 
+   type racontent =
+     | RA of acontent
+     | RAReact of acontent option React.signal
+-    | RACamlEventHandler of biggest_event caml_event_handler
++    | RACamlEventHandler of caml_event_handler
+     | RALazyStr of string Eliom_lazy.request
+     | RALazyStrL of separator * string Eliom_lazy.request list
+     | RAClient of string * attrib option * Eliom_lib.poly
+Index: eliom-5.0.0/src/lib/eliom_content_core.client.ml
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_content_core.client.ml
++++ eliom-5.0.0/src/lib/eliom_content_core.client.ml
+@@ -87,21 +87,19 @@ module Xml = struct
+   let node ?(a = []) name children = make (Node (name, a, children))
+   let lazy_node ?a name children = node ?a name (Eliom_lazy.force children)
+ 
+-  type biggest_event_handler = biggest_event Js.t -> unit
+-
+   type event_handler = Dom_html.event Js.t -> unit
+   type mouse_event_handler = Dom_html.mouseEvent Js.t -> unit
+   type keyboard_event_handler = Dom_html.keyboardEvent Js.t -> unit
+ 
+   let event_handler_attrib name (value : event_handler) =
+     internal_event_handler_attrib name
+-      (Caml (CE_client_closure (value :> biggest_event_handler)))
++      (Caml (CE_client_closure value))
+   let mouse_event_handler_attrib name (value : mouse_event_handler) =
+     internal_event_handler_attrib name
+-      (Caml (CE_client_closure (value :> biggest_event_handler)))
++      (Caml (CE_client_closure_mouse value))
+   let keyboard_event_handler_attrib name (value : keyboard_event_handler) =
+     internal_event_handler_attrib name
+-      (Caml (CE_client_closure (value :> biggest_event_handler)))
++      (Caml (CE_client_closure_keyboard value))
+ 
+   let node_react_children ?(a = []) name children =
+     {elt = Lazy.from_val (ReactChildren (Node (name,a,[]),children)); node_id=NoId}
+Index: eliom-5.0.0/src/lib/eliom_content_core.client.mli
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_content_core.client.mli
++++ eliom-5.0.0/src/lib/eliom_content_core.client.mli
+@@ -35,24 +35,21 @@ module Xml : sig
+   type aname = string
+   type attrib
+ 
+-  type -'a caml_event_handler =
++  type caml_event_handler =
+     | CE_registered_closure of string * Eliom_lib.poly
+                                     (* 'a Js.t -> unit) client_value_server *)
+-    | CE_client_closure of ((#Dom_html.event as 'a) Js.t -> unit)
++    | CE_client_closure of
++        (Dom_html.event Js.t -> unit) (* Client side-only *)
++    | CE_client_closure_mouse of
++        (Dom_html.mouseEvent Js.t -> unit) (* Client side-only *)
++    | CE_client_closure_keyboard of
++        (Dom_html.keyboardEvent Js.t -> unit) (* Client side-only *)
+     | CE_call_service of
+         ([ `A | `Form_get | `Form_post] * (bool * string list) option * string option) option Eliom_lazy.request
+ 
+-  (* Inherit from all events.
+-     Necessary for subtyping since caml_event_handler is contravariant. *)
+-  class type biggest_event = object
+-    inherit Dom_html.event
+-    inherit Dom_html.mouseEvent
+-    inherit Dom_html.keyboardEvent
+-  end
+-
+   type internal_event_handler =
+     | Raw of string
+-    | Caml of biggest_event caml_event_handler
++    | Caml of caml_event_handler
+   type event_handler = Dom_html.event Js.t -> unit
+   type mouse_event_handler = Dom_html.mouseEvent Js.t -> unit
+   type keyboard_event_handler = Dom_html.keyboardEvent Js.t -> unit
+@@ -89,7 +86,7 @@ module Xml : sig
+   type racontent =
+     | RA of acontent
+     | RAReact of acontent option React.signal
+-    | RACamlEventHandler of biggest_event caml_event_handler
++    | RACamlEventHandler of caml_event_handler
+     | RALazyStr of string Eliom_lazy.request
+     | RALazyStrL of separator * string Eliom_lazy.request list
+     | RAClient of string * attrib option * Eliom_lib.poly
+Index: eliom-5.0.0/src/lib/eliom_content_core.server.ml
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_content_core.server.ml
++++ eliom-5.0.0/src/lib/eliom_content_core.server.ml
+@@ -114,7 +114,6 @@ module Xml = struct
+   let lazy_node ?(a = []) name children =
+     make_lazy (Eliom_lazy.from_fun (fun () -> (Node (name, a, Eliom_lazy.force children))))
+ 
+-  type biggest_event_handler = (biggest_event Js.t -> unit) Eliom_lib.client_value
+   type event_handler = (Dom_html.event Js.t -> unit) Eliom_lib.client_value
+   type mouse_event_handler = (Dom_html.mouseEvent Js.t -> unit) Eliom_lib.client_value
+   type keyboard_event_handler = (Dom_html.keyboardEvent Js.t -> unit) Eliom_lib.client_value
+@@ -133,11 +132,11 @@ module Xml = struct
+   let biggest_event_handler_attrib name cf =
+     internal_event_handler_attrib name (event_handler cf)
+   let event_handler_attrib name (cf : event_handler) =
+-    biggest_event_handler_attrib name (cf :> biggest_event_handler)
++    biggest_event_handler_attrib name cf
+   let mouse_event_handler_attrib name (cf : mouse_event_handler) =
+-    biggest_event_handler_attrib name (cf :> biggest_event_handler)
++    biggest_event_handler_attrib name cf
+   let keyboard_event_handler_attrib name (cf : keyboard_event_handler) =
+-    biggest_event_handler_attrib name (cf :> biggest_event_handler)
++    biggest_event_handler_attrib name cf
+ 
+   let client_attrib ?init (x : attrib Eliom_lib.client_value) =
+     let crypto = make_cryptographic_safe_string () in
+Index: eliom-5.0.0/src/lib/eliom_content_core.server.mli
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_content_core.server.mli
++++ eliom-5.0.0/src/lib/eliom_content_core.server.mli
+@@ -28,7 +28,7 @@ module Xml : sig
+      and type mouse_event_handler = (Dom_html.mouseEvent Js.t -> unit) Eliom_lib.client_value
+      and type keyboard_event_handler = (Dom_html.keyboardEvent Js.t -> unit) Eliom_lib.client_value
+ 
+-  type -'a caml_event_handler constraint 'a = #Dom_html.event
++  type caml_event_handler
+ 
+   (**/**)
+ 
+@@ -43,15 +43,9 @@ module Xml : sig
+   val make_event_handler_table : elt -> Eliom_lib.RawXML.event_handler_table
+   val make_client_attrib_table : elt -> Eliom_lib.RawXML.client_attrib_table
+ 
+-  class type biggest_event = object
+-    inherit Dom_html.event
+-    inherit Dom_html.mouseEvent
+-    inherit Dom_html.keyboardEvent
+-  end
+-
+   type internal_event_handler =
+     | Raw of string
+-    | Caml of biggest_event caml_event_handler
++    | Caml of caml_event_handler
+ 
+   val internal_event_handler_attrib : aname -> internal_event_handler -> attrib
+   val internal_event_handler_of_service :
+@@ -59,12 +53,14 @@ module Xml : sig
+       * (bool * string list) option
+       * string option) option Eliom_lazy.request -> internal_event_handler
+ 
+-  val caml_event_handler : ((#Dom_html.event as 'a) Js.t -> unit) Eliom_lib.client_value -> 'a caml_event_handler
++  val caml_event_handler :
++      (Dom_html.event Js.t -> unit) Eliom_lib.client_value ->
++      caml_event_handler
+ 
+   type racontent =
+     | RA of acontent
+     | RAReact of acontent option React.signal
+-    | RACamlEventHandler of biggest_event caml_event_handler
++    | RACamlEventHandler of caml_event_handler
+     | RALazyStr of string Eliom_lazy.request
+     | RALazyStrL of separator * string Eliom_lazy.request list
+     | RAClient of string * attrib option * Eliom_lib.poly
+Index: eliom-5.0.0/src/lib/eliom_lib_base.shared.ml
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_lib_base.shared.ml
++++ eliom-5.0.0/src/lib/eliom_lib_base.shared.ml
+@@ -70,26 +70,22 @@ module RawXML = struct
+ 
+   type cookie_info = (bool * string list) deriving (Json)
+ 
+-  type -'a caml_event_handler =
++  type caml_event_handler =
+     | CE_registered_closure of
+         string * poly (* 'a Js.t -> unit) client_value *)
+     | CE_client_closure of
+-        ((#Dom_html.event as 'a) Js.t -> unit) (* Client side-only *)
++         (Dom_html.event Js.t -> unit) (* Client side-only *)
++    | CE_client_closure_mouse of
++        (Dom_html.mouseEvent Js.t -> unit) (* Client side-only *)
++    | CE_client_closure_keyboard of
++        (Dom_html.keyboardEvent Js.t -> unit) (* Client side-only *)
+     | CE_call_service of
+         ([ `A | `Form_get | `Form_post] * (cookie_info option) * string option)
+           option Eliom_lazy.request
+ 
+-  (* Inherit from all events.
+-     Necessary for subtyping since caml_event_handler is contravariant. *)
+-  class type biggest_event = object
+-    inherit Dom_html.event
+-    inherit Dom_html.mouseEvent
+-    inherit Dom_html.keyboardEvent
+-  end
+-
+   type internal_event_handler =
+     | Raw of string
+-    | Caml of biggest_event caml_event_handler
++    | Caml of caml_event_handler
+ 
+   type uri = string Eliom_lazy.request
+   let string_of_uri = Eliom_lazy.force
+@@ -128,7 +124,7 @@ module RawXML = struct
+   type racontent =
+     | RA of acontent
+     | RAReact of acontent option React.signal
+-    | RACamlEventHandler of biggest_event caml_event_handler
++    | RACamlEventHandler of caml_event_handler
+     | RALazyStr of string Eliom_lazy.request
+     | RALazyStrL of separator * string Eliom_lazy.request list
+     | RAClient of string * attrib option * poly (*attrib client_value *)
+Index: eliom-5.0.0/src/lib/eliom_lib_base.shared.mli
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_lib_base.shared.mli
++++ eliom-5.0.0/src/lib/eliom_lib_base.shared.mli
+@@ -73,24 +73,21 @@ module RawXML : sig
+ 
+   type cookie_info = (bool * string list) deriving (Json)
+ 
+-  type -'a caml_event_handler =
++  type caml_event_handler =
+     | CE_registered_closure of
+         string * poly (* 'a Js.t -> unit) client_value *)
+-    | CE_client_closure of ((#Dom_html.event as 'a) Js.t -> unit)
++    | CE_client_closure of
++          (Dom_html.event Js.t -> unit) (* Client side-only *)
++    | CE_client_closure_mouse of
++          (Dom_html.mouseEvent Js.t -> unit) (* Client side-only *)
++    | CE_client_closure_keyboard of
++          (Dom_html.keyboardEvent Js.t -> unit) (* Client side-only *)
+     | CE_call_service of
+         ([ `A | `Form_get | `Form_post] * (cookie_info option) * string option) option Eliom_lazy.request
+ 
+-  (* Inherit from all events.
+-     Necessary for subtyping since caml_event_handler is contravariant. *)
+-  class type biggest_event = object
+-    inherit Dom_html.event
+-    inherit Dom_html.mouseEvent
+-    inherit Dom_html.keyboardEvent
+-  end
+-
+   type internal_event_handler =
+     | Raw of string
+-    | Caml of biggest_event caml_event_handler
++    | Caml of caml_event_handler
+ 
+   type uri = string Eliom_lazy.request
+   val string_of_uri : uri -> string
+@@ -127,7 +124,7 @@ module RawXML : sig
+   type racontent =
+     | RA of acontent
+     | RAReact of acontent option React.signal
+-    | RACamlEventHandler of biggest_event caml_event_handler
++    | RACamlEventHandler of caml_event_handler
+     | RALazyStr of string Eliom_lazy.request
+     | RALazyStrL of separator * string Eliom_lazy.request list
+     | RAClient of string * attrib option * poly (* attrib client_value *)


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-ml/eliom/, dev-ml/eliom/files/
@ 2016-12-19 12:54 Alexis Ballier
  0 siblings, 0 replies; 6+ messages in thread
From: Alexis Ballier @ 2016-12-19 12:54 UTC (permalink / raw
  To: gentoo-commits

commit:     90c300d4d72b06a672e29bb44cd7985e01bac68d
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 19 12:54:27 2016 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Mon Dec 19 12:54:27 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=90c300d4

dev-ml/eliom: remove old

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 dev-ml/eliom/Manifest                  |    1 -
 dev-ml/eliom/eliom-5.0.0-r2.ebuild     |   67 --
 dev-ml/eliom/files/camlp4.patch        |   48 -
 dev-ml/eliom/files/jsofocaml-282.patch |  361 -------
 dev-ml/eliom/files/oc43-2.patch        |  136 ---
 dev-ml/eliom/files/oc43.patch          |   37 -
 dev-ml/eliom/files/ocsigen28.patch     |  500 ----------
 dev-ml/eliom/files/reactivedata.patch  |   44 -
 dev-ml/eliom/files/tyxml4.patch        | 1642 --------------------------------
 9 files changed, 2836 deletions(-)

diff --git a/dev-ml/eliom/Manifest b/dev-ml/eliom/Manifest
index 08bcca8..3b5090e 100644
--- a/dev-ml/eliom/Manifest
+++ b/dev-ml/eliom/Manifest
@@ -1,2 +1 @@
-DIST eliom-5.0.0.tar.gz 728278 SHA256 6726500f9a54478def95875d04098dc8dc829d4a10e06896ff4f037bb1c03cbd SHA512 1c5297e376c3a46935de369b418638a772304246b73756f8bc052301b48d62a37af527274bf1a05064f33b60ff9dcde057a0030f083136fa4e1c0cfa07f01887 WHIRLPOOL ca1186787a8f938cf029f9a5c9904ed0324a3d24d2f0d0834dd1e2b2f995de6d57d1040b4d128de8233255ca385478f0ba3bf597c2f0315ab2f1894118755dca
 DIST eliom-6.0.0.tar.gz 722673 SHA256 ec5636481be9cccc8256b13a5e551f6a8c32662e1c3211887a22eedf5c8958f9 SHA512 c59261bb6ba2303a7951de2e689abcb55af92b53a145d42054244d253b6757d72ba3f937772219b2b0aa5bccfe1a74baf62c938f40c1cce90720b6efe7be3b63 WHIRLPOOL e4f8c44c16dbc33c7576a117a25cb2f709a893ad82baa517fb2d5a776b0838affbef56aba84a977903c71d32987f3d16af485c5cf8dddd1cc39395025d996226

diff --git a/dev-ml/eliom/eliom-5.0.0-r2.ebuild b/dev-ml/eliom/eliom-5.0.0-r2.ebuild
deleted file mode 100644
index 0807fa3..00000000
--- a/dev-ml/eliom/eliom-5.0.0-r2.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit eutils multilib findlib
-
-DESCRIPTION="A web framework to program client/server applications"
-HOMEPAGE="http://ocsigen.org/eliom/"
-SRC_URI="https://github.com/ocsigen/eliom/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2.1-with-linking-exception"
-SLOT="0/${PV}"
-KEYWORDS="~amd64"
-IUSE="doc +ocamlopt +ppx"
-
-RDEPEND=">=dev-lang/ocaml-4.03:=[ocamlopt?]
-	>=dev-ml/js_of_ocaml-2.8.2:=
-	>=www-servers/ocsigenserver-2.8:=
-	>=dev-ml/tyxml-4:=
-	>=dev-ml/deriving-0.6:=
-	>=dev-ml/reactiveData-0.2.1:=
-	dev-ml/ocaml-ipaddr:=
-	dev-ml/react:=
-	dev-ml/ocaml-ssl:=
-	>=dev-ml/lwt-2.5.0:=
-	dev-ml/calendar:=
-	dev-ml/camlp4:=
-	ppx? ( >=dev-ml/ppx_tools-0.99.3:= )"
-DEPEND="${RDEPEND}
-	dev-ml/ocamlbuild
-	dev-ml/opam"
-
-src_prepare() {
-	epatch "${FILESDIR}/"{camlp4,oc43,oc43-2}.patch \
-		"${FILESDIR}/tyxml4.patch" \
-		"${FILESDIR}/jsofocaml-282.patch" \
-		"${FILESDIR}/reactivedata.patch" \
-		"${FILESDIR}/ocsigen28.patch"
-}
-
-src_compile() {
-	if use ocamlopt ; then
-		emake PPX=$(usex ppx true false) all
-	else
-		emake PPX=$(usex ppx true false) byte
-	fi
-	use doc && emake doc
-	emake man
-}
-
-src_install() {
-	opam-installer \
-		--prefix="${ED}/usr" \
-		--libdir="${D}/$(ocamlc -where)" \
-		--docdir="${ED}/usr/share/doc/${PF}" \
-		--mandir="${ED}/usr/share/man" \
-		|| die
-	dodoc CHANGES README.md
-	if use doc ; then
-		docinto client/html
-		dodoc -r _build/src/lib/client/api.docdir/*
-		docinto server/html
-		dodoc -r _build/src/lib/server/api.docdir/*
-	fi
-}

diff --git a/dev-ml/eliom/files/camlp4.patch b/dev-ml/eliom/files/camlp4.patch
deleted file mode 100644
index 59e94ab..00000000
--- a/dev-ml/eliom/files/camlp4.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-commit f157a5b913451b85e8cfe7549c66e5c98669233b
-Author: Vasilis Papavasileiou <git@vasilis.airpost.net>
-Date:   Wed Mar 2 14:23:02 2016 +0100
-
-    Compile against Camlp4 4.02+7
-
-diff --git a/src/syntax/pa_eliom_seed.ml b/src/syntax/pa_eliom_seed.ml
-index c101ff8..dc31caa 100644
---- a/src/syntax/pa_eliom_seed.ml
-+++ b/src/syntax/pa_eliom_seed.ml
-@@ -632,8 +632,26 @@ module Register(Id : sig val name: string end)(Pass : Pass) = struct
-         | None ->
-             Printf.ksprintf (Syntax_error.raise loc) fmt
- 
--    module E2 = Camlp4.ErrorHandler.Register(Syntax_error)
--    DELETE_RULE Gram expr: "{"; TRY [label_expr_list; "}"] END;
-+    module E2 = Camlp4.ErrorHandler.Register(Syntax_error) ;;
-+
-+    try
-+      DELETE_RULE Gram expr: "{"; TRY [label_expr_list; "}"] END
-+    with Camlp4.Struct.Grammar.Delete.Rule_not_found _ ->
-+      (let test_record_field =
-+         Gram.Entry.of_parser "record_field" (fun strm ->
-+           let rec loop = function
-+             | [] -> ()
-+             | (UIDENT _, _) :: (KEYWORD ".", _) :: rest -> loop rest
-+             | (LIDENT _, _) :: (KEYWORD "=", _) :: _    -> ()
-+             | (LIDENT _, _) :: (KEYWORD ";", _) :: _    -> ()
-+             | [LIDENT _, _] -> ()
-+             | _ -> raise Stream.Failure
-+           in
-+           loop (Stream.npeek 100 strm))
-+       in
-+       DELETE_RULE Gram expr:
-+         "{"; test_record_field; label_expr_list; "}" END) ;;
-+
-     DELETE_RULE Gram expr: "{"; TRY [expr LEVEL "."; "with"]; label_expr_list; "}" END;
- 
-     (* Extending syntax *)
-@@ -812,7 +830,7 @@ module Register(Id : sig val name: string end)(Pass : Pass) = struct
-       expr: LEVEL "simple"
- 
-         [ [ KEYWORD "{"; lel = TRY [lel = label_expr_list; "}" -> lel] ->
--              <:expr< { $lel$ } >>
-+            Ast.ExRec (_loc, lel, Ast.ExNil _loc)
-           | KEYWORD "{shared#";
-             typ = TRY [ typ = OPT ctyp; KEYWORD "{" -> typ];
-             opt_lvl = dummy_set_level_shared_value_expr ;

diff --git a/dev-ml/eliom/files/jsofocaml-282.patch b/dev-ml/eliom/files/jsofocaml-282.patch
deleted file mode 100644
index 985432f..00000000
--- a/dev-ml/eliom/files/jsofocaml-282.patch
+++ /dev/null
@@ -1,361 +0,0 @@
-Backported from:
-
-commit 4edaf2275e2f7a027f3c7dc52e1e295a6e56b19a
-Author: Vasilis Papavasileiou <git@vasilis.airpost.net>
-Date:   Thu Aug 18 19:40:56 2016 +0200
-
-    Fix ocsigen/js_of_ocaml#518
-
-upstream.
-
-Index: eliom-5.0.0/src/lib/eliom_client.client.ml
-===================================================================
---- eliom-5.0.0.orig/src/lib/eliom_client.client.ml
-+++ eliom-5.0.0/src/lib/eliom_client.client.ml
-@@ -461,23 +461,29 @@ let raw_event_handler value =
- 
- let closure_name_prefix = Eliom_lib_base.RawXML.closure_name_prefix
- let closure_name_prefix_len = String.length closure_name_prefix
--let reify_caml_event name node ce : string * (#Dom_html.event Js.t -> bool) =
-+let reify_caml_event name node ce =
-   match ce with
--  | Xml.CE_call_service None -> name,(fun _ -> true)
-+  | Xml.CE_call_service None -> name, `Other (fun _ -> true)
-   | Xml.CE_call_service (Some (`A, cookies_info, tmpl)) ->
--    name, (fun ev ->
-+    name, `Other (fun ev ->
-       let node = Js.Opt.get (Dom_html.CoerceTo.a node)
-           (fun () -> Lwt_log.raise_error ~section "not an anchor element")
-       in
-       raw_a_handler node cookies_info tmpl ev)
-   | Xml.CE_call_service
-       (Some ((`Form_get | `Form_post) as kind, cookies_info, tmpl)) ->
--    name, (fun ev ->
-+    name, `Other (fun ev ->
-       let form = Js.Opt.get (Dom_html.CoerceTo.form node)
-           (fun () -> Lwt_log.raise_error ~section "not a form element") in
-       raw_form_handler form kind cookies_info tmpl ev)
-   | Xml.CE_client_closure f ->
--      name, (fun ev -> try f ev; true with False -> false)
-+      name, `Other (fun ev -> try f ev; true with False -> false)
-+  | Xml.CE_client_closure_keyboard f ->
-+      name,
-+      `Keyboard (fun ev -> try f ev; true with Eliom_lib.False -> false)
-+  | Xml.CE_client_closure_mouse f ->
-+      name,
-+      `Mouse (fun ev -> try f ev; true with Eliom_lib.False -> false)
-   | Xml.CE_registered_closure (_, cv) ->
-     let name =
-       let len = String.length name in
-@@ -485,16 +491,27 @@ let reify_caml_event name node ce : stri
-       then String.sub name closure_name_prefix_len
-           (len - closure_name_prefix_len)
-       else name in
--    name, raw_event_handler cv
-+    name, `Other (raw_event_handler cv)
- 
- let register_event_handler, flush_load_script =
-   let add, _, flush = create_buffer () in
-   let register node (name, ev) =
--    let name,f = reify_caml_event name node ev in
--    if name = "onload"
--    then add f
--    else Js.Unsafe.set node (Js.bytestring name)
--        (Dom_html.handler (fun ev -> Js.bool (f ev)))
-+     match reify_caml_event name node ev with
-+     | "onload", `Other f ->
-+       add f
-+     | "onload", `Keyboard _ ->
-+       failwith "keyboard event handler for onload"
-+     | "onload", `Mouse _ ->
-+       failwith "keyboard event handler for onload"
-+     | name, `Other f ->
-+       Js.Unsafe.set node (Js.bytestring name)
-+         (Dom_html.handler (fun ev -> Js.bool (f ev)))
-+     | name, `Keyboard f ->
-+       Js.Unsafe.set node (Js.bytestring name)
-+         (Dom_html.handler (fun ev -> Js.bool (f ev)))
-+     | name, `Mouse f ->
-+       Js.Unsafe.set node (Js.bytestring name)
-+         (Dom_html.handler (fun ev -> Js.bool (f ev)))
-   in
-   let flush () =
-     let fs = flush () in
-Index: eliom-5.0.0/src/lib/eliom_content.server.mli
-===================================================================
---- eliom-5.0.0.orig/src/lib/eliom_content.server.mli
-+++ eliom-5.0.0/src/lib/eliom_content.server.mli
-@@ -114,7 +114,7 @@ module Xml : sig
-       example {% <<a_api project="js_of_ocaml" | type
-       Dom_html.mouseEvent>>%} or {% <<a_api project="js_of_ocaml" | type
-       Dom_html.keyboardEvent >>%}. *)
--  type -'a caml_event_handler constraint 'a = #Dom_html.event
-+  type caml_event_handler
- 
-   (**/**)
- 
-@@ -129,18 +129,14 @@ module Xml : sig
-   val make_event_handler_table : elt -> Eliom_lib.RawXML.event_handler_table
-   val make_client_attrib_table : elt -> Eliom_lib.RawXML.client_attrib_table
- 
--  val caml_event_handler : ((#Dom_html.event as 'a) Js.t -> unit) Eliom_lib.client_value -> 'a caml_event_handler
--
--  class type biggest_event = object
--    inherit Dom_html.event
--    inherit Dom_html.mouseEvent
--    inherit Dom_html.keyboardEvent
--  end
-+  val caml_event_handler :
-+  	(Dom_html.event Js.t -> unit) Eliom_lib.client_value ->
-+	    caml_event_handler
- 
-   type racontent =
-     | RA of acontent
-     | RAReact of acontent option React.signal
--    | RACamlEventHandler of biggest_event caml_event_handler
-+    | RACamlEventHandler of caml_event_handler
-     | RALazyStr of string Eliom_lazy.request
-     | RALazyStrL of separator * string Eliom_lazy.request list
-     | RAClient of string * attrib option * Eliom_lib.poly
-Index: eliom-5.0.0/src/lib/eliom_content_core.client.ml
-===================================================================
---- eliom-5.0.0.orig/src/lib/eliom_content_core.client.ml
-+++ eliom-5.0.0/src/lib/eliom_content_core.client.ml
-@@ -87,21 +87,19 @@ module Xml = struct
-   let node ?(a = []) name children = make (Node (name, a, children))
-   let lazy_node ?a name children = node ?a name (Eliom_lazy.force children)
- 
--  type biggest_event_handler = biggest_event Js.t -> unit
--
-   type event_handler = Dom_html.event Js.t -> unit
-   type mouse_event_handler = Dom_html.mouseEvent Js.t -> unit
-   type keyboard_event_handler = Dom_html.keyboardEvent Js.t -> unit
- 
-   let event_handler_attrib name (value : event_handler) =
-     internal_event_handler_attrib name
--      (Caml (CE_client_closure (value :> biggest_event_handler)))
-+      (Caml (CE_client_closure value))
-   let mouse_event_handler_attrib name (value : mouse_event_handler) =
-     internal_event_handler_attrib name
--      (Caml (CE_client_closure (value :> biggest_event_handler)))
-+      (Caml (CE_client_closure_mouse value))
-   let keyboard_event_handler_attrib name (value : keyboard_event_handler) =
-     internal_event_handler_attrib name
--      (Caml (CE_client_closure (value :> biggest_event_handler)))
-+      (Caml (CE_client_closure_keyboard value))
- 
-   let node_react_children ?(a = []) name children =
-     {elt = Lazy.from_val (ReactChildren (Node (name,a,[]),children)); node_id=NoId}
-Index: eliom-5.0.0/src/lib/eliom_content_core.client.mli
-===================================================================
---- eliom-5.0.0.orig/src/lib/eliom_content_core.client.mli
-+++ eliom-5.0.0/src/lib/eliom_content_core.client.mli
-@@ -35,24 +35,21 @@ module Xml : sig
-   type aname = string
-   type attrib
- 
--  type -'a caml_event_handler =
-+  type caml_event_handler =
-     | CE_registered_closure of string * Eliom_lib.poly
-                                     (* 'a Js.t -> unit) client_value_server *)
--    | CE_client_closure of ((#Dom_html.event as 'a) Js.t -> unit)
-+    | CE_client_closure of
-+        (Dom_html.event Js.t -> unit) (* Client side-only *)
-+    | CE_client_closure_mouse of
-+        (Dom_html.mouseEvent Js.t -> unit) (* Client side-only *)
-+    | CE_client_closure_keyboard of
-+        (Dom_html.keyboardEvent Js.t -> unit) (* Client side-only *)
-     | CE_call_service of
-         ([ `A | `Form_get | `Form_post] * (bool * string list) option * string option) option Eliom_lazy.request
- 
--  (* Inherit from all events.
--     Necessary for subtyping since caml_event_handler is contravariant. *)
--  class type biggest_event = object
--    inherit Dom_html.event
--    inherit Dom_html.mouseEvent
--    inherit Dom_html.keyboardEvent
--  end
--
-   type internal_event_handler =
-     | Raw of string
--    | Caml of biggest_event caml_event_handler
-+    | Caml of caml_event_handler
-   type event_handler = Dom_html.event Js.t -> unit
-   type mouse_event_handler = Dom_html.mouseEvent Js.t -> unit
-   type keyboard_event_handler = Dom_html.keyboardEvent Js.t -> unit
-@@ -89,7 +86,7 @@ module Xml : sig
-   type racontent =
-     | RA of acontent
-     | RAReact of acontent option React.signal
--    | RACamlEventHandler of biggest_event caml_event_handler
-+    | RACamlEventHandler of caml_event_handler
-     | RALazyStr of string Eliom_lazy.request
-     | RALazyStrL of separator * string Eliom_lazy.request list
-     | RAClient of string * attrib option * Eliom_lib.poly
-Index: eliom-5.0.0/src/lib/eliom_content_core.server.ml
-===================================================================
---- eliom-5.0.0.orig/src/lib/eliom_content_core.server.ml
-+++ eliom-5.0.0/src/lib/eliom_content_core.server.ml
-@@ -114,7 +114,6 @@ module Xml = struct
-   let lazy_node ?(a = []) name children =
-     make_lazy (Eliom_lazy.from_fun (fun () -> (Node (name, a, Eliom_lazy.force children))))
- 
--  type biggest_event_handler = (biggest_event Js.t -> unit) Eliom_lib.client_value
-   type event_handler = (Dom_html.event Js.t -> unit) Eliom_lib.client_value
-   type mouse_event_handler = (Dom_html.mouseEvent Js.t -> unit) Eliom_lib.client_value
-   type keyboard_event_handler = (Dom_html.keyboardEvent Js.t -> unit) Eliom_lib.client_value
-@@ -133,11 +132,11 @@ module Xml = struct
-   let biggest_event_handler_attrib name cf =
-     internal_event_handler_attrib name (event_handler cf)
-   let event_handler_attrib name (cf : event_handler) =
--    biggest_event_handler_attrib name (cf :> biggest_event_handler)
-+    biggest_event_handler_attrib name cf
-   let mouse_event_handler_attrib name (cf : mouse_event_handler) =
--    biggest_event_handler_attrib name (cf :> biggest_event_handler)
-+    biggest_event_handler_attrib name cf
-   let keyboard_event_handler_attrib name (cf : keyboard_event_handler) =
--    biggest_event_handler_attrib name (cf :> biggest_event_handler)
-+    biggest_event_handler_attrib name cf
- 
-   let client_attrib ?init (x : attrib Eliom_lib.client_value) =
-     let crypto = make_cryptographic_safe_string () in
-Index: eliom-5.0.0/src/lib/eliom_content_core.server.mli
-===================================================================
---- eliom-5.0.0.orig/src/lib/eliom_content_core.server.mli
-+++ eliom-5.0.0/src/lib/eliom_content_core.server.mli
-@@ -28,7 +28,7 @@ module Xml : sig
-      and type mouse_event_handler = (Dom_html.mouseEvent Js.t -> unit) Eliom_lib.client_value
-      and type keyboard_event_handler = (Dom_html.keyboardEvent Js.t -> unit) Eliom_lib.client_value
- 
--  type -'a caml_event_handler constraint 'a = #Dom_html.event
-+  type caml_event_handler
- 
-   (**/**)
- 
-@@ -43,15 +43,9 @@ module Xml : sig
-   val make_event_handler_table : elt -> Eliom_lib.RawXML.event_handler_table
-   val make_client_attrib_table : elt -> Eliom_lib.RawXML.client_attrib_table
- 
--  class type biggest_event = object
--    inherit Dom_html.event
--    inherit Dom_html.mouseEvent
--    inherit Dom_html.keyboardEvent
--  end
--
-   type internal_event_handler =
-     | Raw of string
--    | Caml of biggest_event caml_event_handler
-+    | Caml of caml_event_handler
- 
-   val internal_event_handler_attrib : aname -> internal_event_handler -> attrib
-   val internal_event_handler_of_service :
-@@ -59,12 +53,14 @@ module Xml : sig
-       * (bool * string list) option
-       * string option) option Eliom_lazy.request -> internal_event_handler
- 
--  val caml_event_handler : ((#Dom_html.event as 'a) Js.t -> unit) Eliom_lib.client_value -> 'a caml_event_handler
-+  val caml_event_handler :
-+      (Dom_html.event Js.t -> unit) Eliom_lib.client_value ->
-+      caml_event_handler
- 
-   type racontent =
-     | RA of acontent
-     | RAReact of acontent option React.signal
--    | RACamlEventHandler of biggest_event caml_event_handler
-+    | RACamlEventHandler of caml_event_handler
-     | RALazyStr of string Eliom_lazy.request
-     | RALazyStrL of separator * string Eliom_lazy.request list
-     | RAClient of string * attrib option * Eliom_lib.poly
-Index: eliom-5.0.0/src/lib/eliom_lib_base.shared.ml
-===================================================================
---- eliom-5.0.0.orig/src/lib/eliom_lib_base.shared.ml
-+++ eliom-5.0.0/src/lib/eliom_lib_base.shared.ml
-@@ -70,26 +70,22 @@ module RawXML = struct
- 
-   type cookie_info = (bool * string list) deriving (Json)
- 
--  type -'a caml_event_handler =
-+  type caml_event_handler =
-     | CE_registered_closure of
-         string * poly (* 'a Js.t -> unit) client_value *)
-     | CE_client_closure of
--        ((#Dom_html.event as 'a) Js.t -> unit) (* Client side-only *)
-+         (Dom_html.event Js.t -> unit) (* Client side-only *)
-+    | CE_client_closure_mouse of
-+        (Dom_html.mouseEvent Js.t -> unit) (* Client side-only *)
-+    | CE_client_closure_keyboard of
-+        (Dom_html.keyboardEvent Js.t -> unit) (* Client side-only *)
-     | CE_call_service of
-         ([ `A | `Form_get | `Form_post] * (cookie_info option) * string option)
-           option Eliom_lazy.request
- 
--  (* Inherit from all events.
--     Necessary for subtyping since caml_event_handler is contravariant. *)
--  class type biggest_event = object
--    inherit Dom_html.event
--    inherit Dom_html.mouseEvent
--    inherit Dom_html.keyboardEvent
--  end
--
-   type internal_event_handler =
-     | Raw of string
--    | Caml of biggest_event caml_event_handler
-+    | Caml of caml_event_handler
- 
-   type uri = string Eliom_lazy.request
-   let string_of_uri = Eliom_lazy.force
-@@ -128,7 +124,7 @@ module RawXML = struct
-   type racontent =
-     | RA of acontent
-     | RAReact of acontent option React.signal
--    | RACamlEventHandler of biggest_event caml_event_handler
-+    | RACamlEventHandler of caml_event_handler
-     | RALazyStr of string Eliom_lazy.request
-     | RALazyStrL of separator * string Eliom_lazy.request list
-     | RAClient of string * attrib option * poly (*attrib client_value *)
-Index: eliom-5.0.0/src/lib/eliom_lib_base.shared.mli
-===================================================================
---- eliom-5.0.0.orig/src/lib/eliom_lib_base.shared.mli
-+++ eliom-5.0.0/src/lib/eliom_lib_base.shared.mli
-@@ -73,24 +73,21 @@ module RawXML : sig
- 
-   type cookie_info = (bool * string list) deriving (Json)
- 
--  type -'a caml_event_handler =
-+  type caml_event_handler =
-     | CE_registered_closure of
-         string * poly (* 'a Js.t -> unit) client_value *)
--    | CE_client_closure of ((#Dom_html.event as 'a) Js.t -> unit)
-+    | CE_client_closure of
-+          (Dom_html.event Js.t -> unit) (* Client side-only *)
-+    | CE_client_closure_mouse of
-+          (Dom_html.mouseEvent Js.t -> unit) (* Client side-only *)
-+    | CE_client_closure_keyboard of
-+          (Dom_html.keyboardEvent Js.t -> unit) (* Client side-only *)
-     | CE_call_service of
-         ([ `A | `Form_get | `Form_post] * (cookie_info option) * string option) option Eliom_lazy.request
- 
--  (* Inherit from all events.
--     Necessary for subtyping since caml_event_handler is contravariant. *)
--  class type biggest_event = object
--    inherit Dom_html.event
--    inherit Dom_html.mouseEvent
--    inherit Dom_html.keyboardEvent
--  end
--
-   type internal_event_handler =
-     | Raw of string
--    | Caml of biggest_event caml_event_handler
-+    | Caml of caml_event_handler
- 
-   type uri = string Eliom_lazy.request
-   val string_of_uri : uri -> string
-@@ -127,7 +124,7 @@ module RawXML : sig
-   type racontent =
-     | RA of acontent
-     | RAReact of acontent option React.signal
--    | RACamlEventHandler of biggest_event caml_event_handler
-+    | RACamlEventHandler of caml_event_handler
-     | RALazyStr of string Eliom_lazy.request
-     | RALazyStrL of separator * string Eliom_lazy.request list
-     | RAClient of string * attrib option * poly (* attrib client_value *)

diff --git a/dev-ml/eliom/files/oc43-2.patch b/dev-ml/eliom/files/oc43-2.patch
deleted file mode 100644
index c7eb8e2..00000000
--- a/dev-ml/eliom/files/oc43-2.patch
+++ /dev/null
@@ -1,136 +0,0 @@
-commit 27c69ac5dfbc26744e304232bb8c0cf22d396082
-Author: Vasilis Papavasileiou <git@vasilis.airpost.net>
-Date:   Thu May 5 11:14:02 2016 -0400
-
-    Fix PPX for 4.03 (empty let bindings)
-
-diff --git a/src/ppx/ppx_eliom_client.ml b/src/ppx/ppx_eliom_client.ml
-index 580d2b5..fb2d263 100644
---- a/src/ppx/ppx_eliom_client.ml
-+++ b/src/ppx/ppx_eliom_client.ml
-@@ -89,21 +89,25 @@ module Pass = struct
-     ]
- 
-   let define_client_functions ~loc client_value_datas =
--    let bindings =
--      List.map
--        (fun (_num, id, expr, args) ->
--           let patt = Pat.var id in
--           let typ = find_fragment id in
--           let args = List.map Pat.var args in
--           let expr =
--             [%expr
--               fun [%p pat_args args] -> ([%e expr] : [%t typ])
--             ] [@metaloc loc]
--           in
--           Vb.mk ~loc patt expr)
--        client_value_datas
--    in
--    Str.value ~loc Nonrecursive bindings
-+    match client_value_datas with
-+    | [] ->
-+      []
-+    | _ ->
-+      let bindings =
-+        List.map
-+          (fun (_num, id, expr, args) ->
-+             let patt = Pat.var id in
-+             let typ = find_fragment id in
-+             let args = List.map Pat.var args in
-+             let expr =
-+               [%expr
-+                 fun [%p pat_args args] -> ([%e expr] : [%t typ])
-+               ] [@metaloc loc]
-+             in
-+             Vb.mk ~loc patt expr)
-+          client_value_datas
-+      in
-+      [Str.value ~loc Nonrecursive bindings]
- 
-   (* For injections *)
- 
-@@ -139,8 +143,8 @@ module Pass = struct
-     let client_expr_data = flush_client_value_datas () in
-     open_client_section loc ::
-     register_client_closures client_expr_data @
--    [ define_client_functions loc client_expr_data ;
--      item ;
-+    define_client_functions loc client_expr_data @
-+    [ item ;
-       close_server_section loc ;
-     ]
- 
-@@ -155,11 +159,13 @@ module Pass = struct
-     push_client_value_data num id expr
-       (List.map fst escaped_bindings);
- 
--    match context with
--    | `Server ->
-+    match context, escaped_bindings with
-+    | `Server, _ ->
-       (* We are in a server fragment, this code should always be discarded. *)
-       Exp.extension @@ AM.extension_of_error @@ Location.errorf "Eliom: ICE"
--    | `Shared ->
-+    | `Shared, [] ->
-+      [%expr [%e frag_eid] ()][@metaloc loc]
-+    | `Shared, _ ->
-       let bindings =
-         List.map
-           (fun (gen_id, expr) ->
-diff --git a/src/ppx/ppx_eliom_server.ml b/src/ppx/ppx_eliom_server.ml
-index 97f0b53..b5238ad 100644
---- a/src/ppx/ppx_eliom_server.ml
-+++ b/src/ppx/ppx_eliom_server.ml
-@@ -85,6 +85,7 @@ module Pass = struct
-      let $gen_id$ = $orig_expr$ and ...
-      (Necessary for injections in shared section) *)
-   let bind_injected_idents injections =
-+    assert (injections <> []);
-     let bindings =
-       List.map
-         (fun (txt, expr,_) ->
-@@ -134,10 +135,15 @@ module Pass = struct
- 
-   let client_str item =
-     let all_injections = flush_injections () in
--    let loc = item.pstr_loc in
--    [ bind_injected_idents all_injections;
-+    let ccs =
-+      let loc = item.pstr_loc in
-       close_client_section loc all_injections
--    ]
-+    in
-+    match all_injections with
-+    | [] ->
-+      [ ccs ]
-+    | l ->
-+      [ bind_injected_idents l ; ccs ]
- 
-   let server_str item = [
-     item ;
-@@ -146,12 +152,19 @@ module Pass = struct
- 
-   let shared_str item =
-     let all_injections = flush_injections () in
--    let loc = item.pstr_loc in
--    [ bind_injected_idents all_injections ;
--      item ;
--      close_server_section loc ;
--      close_client_section loc all_injections ;
--    ]
-+    let cl =
-+      let loc = item.pstr_loc in
-+      [
-+        item;
-+        close_server_section loc ;
-+        close_client_section loc all_injections ;
-+      ]
-+    in
-+    match all_injections with
-+    | [] ->
-+      cl
-+    | l ->
-+      bind_injected_idents l :: cl
- 
-   let fragment ?typ ~context:_ ~num ~id expr =
-     let typ =

diff --git a/dev-ml/eliom/files/oc43.patch b/dev-ml/eliom/files/oc43.patch
deleted file mode 100644
index 07d2729..00000000
--- a/dev-ml/eliom/files/oc43.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Index: eliom-5.0.0/src/lib/eliom_lib.client.mli
-===================================================================
---- eliom-5.0.0.orig/src/lib/eliom_lib.client.mli
-+++ eliom-5.0.0/src/lib/eliom_lib.client.mli
-@@ -43,7 +43,6 @@ type 'a shared_value = 'a
- 
- val create_shared_value : 'a -> 'a client_value -> 'a shared_value
- 
--exception Eliom_Internal_Error of string
- 
- (** This exception is raised (in Lwt) on the client if a call to a
-     server function {% <<a_api subproject="server"|val
-Index: eliom-5.0.0/src/lib/eliom_lib.server.mli
-===================================================================
---- eliom-5.0.0.orig/src/lib/eliom_lib.server.mli
-+++ eliom-5.0.0/src/lib/eliom_lib.server.mli
-@@ -50,7 +50,6 @@ type +'a shared_value
- *)
- exception Client_value_creation_invalid_context of string
- 
--exception Eliom_Internal_Error of string
- 
- type file_info = Ocsigen_extensions.file_info
- 
-Index: eliom-5.0.0/src/syntax/pa_include.ml
-===================================================================
---- eliom-5.0.0.orig/src/syntax/pa_include.ml
-+++ eliom-5.0.0/src/syntax/pa_include.ml
-@@ -27,7 +27,7 @@ module Make(Syntax : Camlp4.Sig.Camlp4Sy
-   class subst_type env = object (self)
-     inherit Ast.map as super
-     method sig_item si = match si with
--      | Ast.SgTyp (_loc, (Ast.TyDcl (_, lid, _, Ast.TyNil _, _)))
-+      | Ast.SgTyp (_loc, rf, (Ast.TyDcl (_, lid, _, Ast.TyNil _, _)))
-         when List.mem_assoc lid env -> <:sig_item< >>
-       | si -> super#sig_item si
-     method ctyp ty = match ty with

diff --git a/dev-ml/eliom/files/ocsigen28.patch b/dev-ml/eliom/files/ocsigen28.patch
deleted file mode 100644
index fb3ef0a..00000000
--- a/dev-ml/eliom/files/ocsigen28.patch
+++ /dev/null
@@ -1,500 +0,0 @@
-Index: eliom-5.0.0/src/lib/eliom_common.server.ml
-===================================================================
---- eliom-5.0.0.orig/src/lib/eliom_common.server.ml
-+++ eliom-5.0.0/src/lib/eliom_common.server.ml
-@@ -1372,7 +1372,7 @@ let create_persistent_table name =
- 
- let persistent_cookies_table :
-     (full_state_name * float option * timeout * perssessgrp option)
--    Ocsipersist.table Lazy.t =
-+    Ocsipersist.table Lwt.t Lazy.t =
-   lazy (create_persistent_table eliom_persistent_cookie_table)
- (* Another tables, containing the session info for each cookie *)
- (* the table contains:
-@@ -1390,7 +1390,7 @@ let persistent_cookies_table :
- let remove_from_all_persistent_tables key =
-   Perstables.fold (* could be replaced by a parallel map *)
-     (fun thr t -> thr >>= fun () ->
--      Ocsipersist.remove (Ocsipersist.open_table t) key >>= Lwt_unix.yield)
-+      Ocsipersist.open_table t >>= fun table -> Ocsipersist.remove table key >>= Lwt_unix.yield)
-     (return ())
-     !perstables
- 
-Index: eliom-5.0.0/src/lib/eliom_common.server.mli
-===================================================================
---- eliom-5.0.0.orig/src/lib/eliom_common.server.mli
-+++ eliom-5.0.0/src/lib/eliom_common.server.mli
-@@ -609,10 +609,10 @@ module Perstables :
-     val fold : ('a -> 'b -> 'a) -> 'a -> 'b list -> 'a
-   end
- val perstables : string list ref
--val create_persistent_table : string -> 'a Ocsipersist.table
-+val create_persistent_table : string -> 'a Ocsipersist.table Lwt.t
- val persistent_cookies_table :
-   (full_state_name * float option * timeout * perssessgrp option)
--  Ocsipersist.table Lazy.t
-+  Ocsipersist.table Lwt.t Lazy.t
- val remove_from_all_persistent_tables : string -> unit Lwt.t
- val absolute_change_sitedata : sitedata -> unit
- val get_current_sitedata : unit -> sitedata
-Index: eliom-5.0.0/src/lib/eliom_reference.server.ml
-===================================================================
---- eliom-5.0.0.orig/src/lib/eliom_reference.server.ml
-+++ eliom-5.0.0/src/lib/eliom_reference.server.ml
-@@ -32,8 +32,8 @@ type 'a eref_kind =
-   | Ref of 'a lazy_t ref (* Ocaml reference *)
-   | Vol of 'a volatile_table Lazy.t (* Vol. table (group, session, process) *)
-   | Ocsiper of 'a option Ocsipersist.t Lwt.t (* Global persist. table *)
--  | Ocsiper_sit of 'a Ocsipersist.table (* Persist. table for site *)
--  | Per of 'a persistent_table (* Persist. table for group session or process *)
-+  | Ocsiper_sit of 'a Ocsipersist.table Lwt.t (* Persist. table for site *)
-+  | Per of 'a persistent_table Lwt.t (* Persist. table for group session or process *)
- 
- type volatile = [ `Volatile ]
- type persistent = [ `Persistent ]
-@@ -174,9 +174,7 @@ let eref_from_fun_ ~ext ~scope ?secure ?
-           | None -> (Volatile.eref_from_fun_ ~ext ~scope ?secure f :> _ eref)
-           | Some name ->
-             (f, ext,
--             Ocsiper (Ocsipersist.make_persistent
--                        ~store:pers_ref_store
--                        ~name ~default:None))
-+	     Ocsiper (pers_ref_store >>= fun store -> Ocsipersist.make_persistent ~store ~name ~default:None))
-       end
-     | `Site ->
-       begin
-@@ -207,6 +205,7 @@ let get_site_id () =
- let get (f, _, table as eref) =
-   match table with
-     | Per t ->
-+      t >>= fun t ->
-       (get_persistent_data ~table:t () >>= function
-         | Data d -> Lwt.return d
-         | _ ->
-@@ -221,6 +220,7 @@ let get (f, _, table as eref) =
-              Ocsipersist.set r (Some value) >>= fun () ->
-              Lwt.return value)
-     | Ocsiper_sit t ->
-+      t >>= fun t ->
-       (let site_id = get_site_id () in
-        try_lwt Ocsipersist.find t site_id
-        with Not_found ->
-@@ -231,9 +231,10 @@ let get (f, _, table as eref) =
- 
- let set (_, _, table as eref) value =
-   match table with
--    | Per t -> set_persistent_data ~table:t value
-+    | Per t -> t >>= fun t -> set_persistent_data ~table:t value
-     | Ocsiper r -> r >>= fun r -> Ocsipersist.set r (Some value)
-     | Ocsiper_sit t ->
-+      t >>= fun t ->
-       Ocsipersist.add t (get_site_id ()) value
-     | _ -> Lwt.return (Volatile.set eref value)
- 
-@@ -242,9 +243,10 @@ let modify eref f =
- 
- let unset (f, _, table as eref) =
-   match table with
--    | Per t -> remove_persistent_data ~table:t ()
-+    | Per t ->  t >>= fun t -> remove_persistent_data ~table:t ()
-     | Ocsiper r -> r >>= fun r -> Ocsipersist.set r None
-     | Ocsiper_sit t ->
-+      t >>= fun t ->
-       Ocsipersist.remove t (get_site_id ())
-     | _ -> Lwt.return (Volatile.unset eref)
- 
-@@ -258,6 +260,7 @@ module Ext = struct
-     match table with
-       | Vol _ -> Lwt.return (Volatile.Ext.get state r)
-       | Per t ->
-+        t >>= fun t ->
-         (Lwt.catch
-            (fun () -> Eliom_state.Ext.Low_level.get_persistent_data
-              ~state ~table:t)
-@@ -279,6 +282,7 @@ module Ext = struct
-     match table with
-       | Vol _ -> Lwt.return (Volatile.Ext.set state r value)
-       | Per t ->
-+        t >>= fun t ->
-         Eliom_state.Ext.Low_level.set_persistent_data
-           ~state ~table:t value
-       | _ -> Lwt.fail (Failure "wrong eref for this function")
-@@ -291,7 +295,7 @@ module Ext = struct
-     let state = Eliom_state.Ext.untype_state state in
-     match table with
-       | Vol _ -> Lwt.return (Volatile.Ext.unset state r)
--      | Per t -> Eliom_state.Ext.Low_level.remove_persistent_data
-+      | Per t -> t >>= fun t -> Eliom_state.Ext.Low_level.remove_persistent_data
-         ~state ~table:t
-       | _ -> failwith "wrong eref for this function"
- 
-Index: eliom-5.0.0/src/lib/eliom_state.server.ml
-===================================================================
---- eliom-5.0.0.orig/src/lib/eliom_state.server.ml
-+++ eliom-5.0.0/src/lib/eliom_state.server.ml
-@@ -918,11 +918,11 @@ type 'a persistent_table =
-        bool *
-        (int64 * 'a) Ocsipersist.table)
- 
--let create_persistent_table ~scope ?secure name : 'a persistent_table =
-+let create_persistent_table ~scope ?secure name : 'a persistent_table Lwt.t =
-   let sitedata = Eliom_request_info.find_sitedata "create_persistent_table" in
-   let secure = Eliom_common.get_secure secure sitedata in
--  let t = Eliom_common.create_persistent_table name in
--  (scope, secure, t)
-+  Eliom_common.create_persistent_table name >>= fun t ->
-+  Lwt.return (scope, secure, t)
- 
- let get_p_table_key_
-     ~table:(scope, secure, table)
-@@ -1271,10 +1271,8 @@ module Ext = struct
- 
-   let get_persistent_cookie_info
-       ((_, _, cookie) : ([< Eliom_common.cookie_level ], [ `Pers ]) state) =
--    Ocsipersist.find
--      (Lazy.force Eliommod_persess.persistent_cookies_table)
--      cookie
--    >>= fun v ->
-+    Lazy.force Eliommod_persess.persistent_cookies_table >>= fun table ->
-+    Ocsipersist.find table cookie >>= fun v ->
-     Lwt.return (cookie, v)
- 
-   let discard_state ~state =
-@@ -1487,10 +1485,8 @@ module Ext = struct
-     | None -> TNone
-     | Some t -> TSome t
-     in
--    Ocsipersist.add
--      (Lazy.force Eliom_common.persistent_cookies_table)
--      cookie
--      (fullstname, exp, ti, sessgrp)
-+    Lazy.force Eliom_common.persistent_cookies_table >>= fun table ->
-+     Ocsipersist.add table cookie (fullstname, exp, ti, sessgrp)
- 
-   let get_service_cookie_timeout ~cookie:(_, (_, _, _, r, _, _)) =
-     !r
-@@ -1510,10 +1506,8 @@ module Ext = struct
- 
-   let unset_persistent_data_cookie_timeout
-       ~cookie:(cookie, (fullstname, exp, _, sessgrp)) =
--    Ocsipersist.add
--      (Lazy.force Eliom_common.persistent_cookies_table)
--      cookie
--      (fullstname, exp, TGlobal, sessgrp)
-+     Lazy.force Eliom_common.persistent_cookies_table >>= fun table ->
-+     Ocsipersist.add table cookie (fullstname, exp, TGlobal, sessgrp)
- 
- 
-   let get_session_group_list () =
-Index: eliom-5.0.0/src/lib/eliom_state.server.mli
-===================================================================
---- eliom-5.0.0.orig/src/lib/eliom_state.server.mli
-+++ eliom-5.0.0/src/lib/eliom_state.server.mli
-@@ -1019,7 +1019,7 @@ val remove_volatile_data :
- val create_persistent_table :
-   scope:Eliom_common.user_scope ->
-   ?secure:bool ->
--  string -> 'a persistent_table
-+  string -> 'a persistent_table Lwt.t
- 
- (** gets persistent session data for the current persistent session (if any).
-     (low level) *)
-Index: eliom-5.0.0/src/lib/server/eliommod_cookies.ml
-===================================================================
---- eliom-5.0.0.orig/src/lib/server/eliommod_cookies.ml
-+++ eliom-5.0.0/src/lib/server/eliommod_cookies.ml
-@@ -152,8 +152,7 @@ let get_cookie_info
-         lazy
-           (catch
-              (fun () ->
--               Ocsipersist.find
--                 (Lazy.force Eliom_common.persistent_cookies_table) value >>=
-+	       Lazy.force Eliom_common.persistent_cookies_table >>= fun table -> Ocsipersist.find table value >>=
-                fun (full_state_name, persexp, perstimeout, sessgrp) ->
- 
-                  Eliommod_sessiongroups.Pers.up value sessgrp >>= fun () ->
-Index: eliom-5.0.0/src/lib/server/eliommod_gc.ml
-===================================================================
---- eliom-5.0.0.orig/src/lib/server/eliommod_gc.ml
-+++ eliom-5.0.0/src/lib/server/eliommod_gc.ml
-@@ -309,7 +309,8 @@ let persistent_session_gc sitedata =
-         (fun () ->
-           let now = Unix.time () in
-           Lwt_log.ign_info ~section "GC of persistent sessions";
--          (Ocsipersist.iter_table
-+	  Lazy.force Eliommod_persess.persistent_cookies_table >>=
-+	  Ocsipersist.iter_table
-              (fun k ((scope, _, _), exp, _, session_group) ->
-                (match exp with
-                | Some exp when exp < now ->
-@@ -320,8 +321,7 @@ let persistent_session_gc sitedata =
-                    session_group k
-                (*WAS: remove_from_all_persistent_tables k *)
-                | _ -> return ())
--             )
--             (Lazy.force Eliommod_persess.persistent_cookies_table)))
-+             ))
-           >>=
-         f
-       in ignore (f ())
-Index: eliom-5.0.0/src/lib/server/eliommod_pagegen.ml
-===================================================================
---- eliom-5.0.0.orig/src/lib/server/eliommod_pagegen.ml
-+++ eliom-5.0.0/src/lib/server/eliommod_pagegen.ml
-@@ -135,8 +135,9 @@ let update_cookie_table ?now sitedata (c
-                       oldv = newc.Eliom_common.pc_value ->
-                     catch
-                       (fun () ->
-+		        Lazy.force Eliommod_persess.persistent_cookies_table >>= fun table ->
-                         Ocsipersist.replace_if_exists
--                          (Lazy.force Eliommod_persess.persistent_cookies_table)
-+			  table
-                           newc.Eliom_common.pc_value
-                           (name,
-                            newexp,
-@@ -147,8 +148,9 @@ let update_cookie_table ?now sitedata (c
-                         (* someone else closed the session *)
-                         | e -> fail e)
-                   | _ ->
-+		    Lazy.force Eliommod_persess.persistent_cookies_table >>= fun table ->
-                     Ocsipersist.add
--                      (Lazy.force Eliommod_persess.persistent_cookies_table)
-+		      table
-                       newc.Eliom_common.pc_value
-                       (name,
-                        newexp,
-Index: eliom-5.0.0/src/lib/server/eliommod_persess.ml
-===================================================================
---- eliom-5.0.0.orig/src/lib/server/eliommod_persess.ml
-+++ eliom-5.0.0/src/lib/server/eliommod_persess.ml
-@@ -50,7 +50,7 @@ let number_of_persistent_table_elements
-   List.fold_left
-     (fun thr t ->
-       thr >>= fun l ->
--      Ocsipersist.length (Ocsipersist.open_table t) >>= fun e ->
-+      Ocsipersist.open_table t >>= fun table -> Ocsipersist.length table >>= fun e ->
-       return ((t, e)::l)) (return []) !perstables
- 
- let close_persistent_state2
-@@ -141,8 +141,7 @@ let rec find_or_create_persistent_cookie
-   (* We do not need to verify if it already exists.
-      make_new_session_id does never generate twice the same cookie. *)
-     let usertimeout = ref Eliom_common.TGlobal (* See global table *) in
--    Ocsipersist.add
--      (Lazy.force persistent_cookies_table) c
-+    Lazy.force persistent_cookies_table >>= fun table -> Ocsipersist.add table c
-       (full_st_name,
-        None (* Some 0. *) (* exp on server - We'll change it later *),
-        Eliom_common.TGlobal (* timeout - see global config *),
-Index: eliom-5.0.0/src/lib/server/eliommod_persess.mli
-===================================================================
---- eliom-5.0.0.orig/src/lib/server/eliommod_persess.mli
-+++ eliom-5.0.0/src/lib/server/eliommod_persess.mli
-@@ -22,7 +22,7 @@ val perstables : string list ref
- val persistent_cookies_table :
-   (Eliom_common.full_state_name * float option * Eliom_common.timeout *
-    Eliom_common.perssessgrp option)
--  Ocsipersist.table Lazy.t
-+  Ocsipersist.table Lwt.t Lazy.t
- val number_of_persistent_tables : unit -> int
- val number_of_persistent_table_elements : unit -> (string * int) list Lwt.t
- val close_persistent_state2 :
-Index: eliom-5.0.0/src/lib/server/eliommod_sessadmin.ml
-===================================================================
---- eliom-5.0.0.orig/src/lib/server/eliommod_sessadmin.ml
-+++ eliom-5.0.0/src/lib/server/eliommod_sessadmin.ml
-@@ -94,6 +94,7 @@ let close_all_data_states ~scope ~secure
- 
- 
- let close_all_persistent_states2 full_st_name sitedata =
-+  Lazy.force Eliommod_persess.persistent_cookies_table >>=
-   Ocsipersist.iter_table
-     (fun k ((scope, _, _) as full_st_name2, old_exp, old_t, sessiongrp) ->
-       if full_st_name = full_st_name2 && old_t = Eliom_common.TGlobal
-@@ -102,7 +103,6 @@ let close_all_persistent_states2 full_st
-         Lwt_unix.yield
-       else return ()
-     )
--    (Lazy.force Eliommod_persess.persistent_cookies_table)
- 
- (** Close all persistent sessions for one session name.
-     If the optional parameter [?state_name] (session name) is not present,
-@@ -195,6 +195,7 @@ let update_pers_exp full_st_name sitedat
-       close_all_persistent_states2 full_st_name sitedata
-   | _ ->
-     let now = Unix.time () in
-+    Lazy.force Eliommod_persess.persistent_cookies_table >>= fun table ->
-     Ocsipersist.iter_table
-       (fun k ((scope, _, _) as full_st_name2, old_exp, old_t, sessgrp) ->
-         if full_st_name = full_st_name2 && old_t =
-@@ -211,11 +212,7 @@ let update_pers_exp full_st_name sitedat
-               Eliommod_persess.close_persistent_state2
-                 ~scope sitedata sessgrp k
-           | _ ->
--              Ocsipersist.add
--                (Lazy.force Eliommod_persess.persistent_cookies_table)
--                k
--                (full_st_name2, newexp,
--                 Eliom_common.TGlobal, sessgrp) >>= Lwt_unix.yield
-+	      Ocsipersist.add table k (full_st_name2, newexp, Eliom_common.TGlobal, sessgrp) >>= Lwt_unix.yield
-         else return ()
-       )
--      (Lazy.force Eliommod_persess.persistent_cookies_table)
-+      table
-Index: eliom-5.0.0/src/lib/server/eliommod_sessexpl.ml
-===================================================================
---- eliom-5.0.0.orig/src/lib/server/eliommod_sessexpl.ml
-+++ eliom-5.0.0/src/lib/server/eliommod_sessexpl.ml
-@@ -57,12 +57,12 @@ let iter_data_cookies f =
- 
-     (** Iterator on persistent cookies *)
- let iter_persistent_cookies f =
-+  Lazy.force Eliommod_persess.persistent_cookies_table >>=
-   Ocsipersist.iter_table
-     (fun k v ->
-       f (k, v) >>=
-       Lwt_unix.yield
-     )
--    (Lazy.force Eliommod_persess.persistent_cookies_table)
- 
- 
-     (** Iterator on service cookies *)
-@@ -94,13 +94,14 @@ let fold_data_cookies f beg =
- 
-     (** Iterator on persistent cookies *)
- let fold_persistent_cookies f beg =
-+  Lazy.force Eliommod_persess.persistent_cookies_table >>= fun table ->
-   Ocsipersist.fold_table
-     (fun k v beg ->
-       f (k, v) beg >>= fun res ->
-       Lwt_unix.yield () >>= fun () ->
-       return res
-     )
--    (Lazy.force Eliommod_persess.persistent_cookies_table)
-+    table
-     beg
- 
- (*****************************************************************************)
-@@ -121,4 +122,4 @@ let number_of_table_elements () =
-   List.map (fun f -> f ()) !Eliommod_datasess.counttableelements
- 
- let number_of_persistent_cookies () =
--  Ocsipersist.length (Lazy.force Eliommod_persess.persistent_cookies_table)
-+  Lazy.force Eliommod_persess.persistent_cookies_table >>= Ocsipersist.length
-Index: eliom-5.0.0/src/lib/server/eliommod_sessiongroups.ml
-===================================================================
---- eliom-5.0.0.orig/src/lib/server/eliommod_sessiongroups.ml
-+++ eliom-5.0.0/src/lib/server/eliommod_sessiongroups.ml
-@@ -413,7 +413,7 @@ module Pers = struct
- (*VVV Verify this carefully! *)
- (*VVV VEOcsigen_request_infoFY concurrent access *)
- 
--  let grouptable : (nbmax * string list) Ocsipersist.table Lazy.t =
-+  let grouptable : (nbmax * string list) Ocsipersist.table Lwt.t Lazy.t =
-     lazy (Ocsipersist.open_table "__eliom_session_group_table")
-       (* It is lazy because if the module is linked statically,
-          the creation of the table must happen after initialisation
-@@ -426,7 +426,7 @@ module Pers = struct
-     | Some g ->
-         Lwt.catch
-           (fun () ->
--            Ocsipersist.find !!grouptable
-+	    !!grouptable >>= fun grouptable -> Ocsipersist.find grouptable
-               (Eliom_common.string_of_perssessgrp g) >>= fun (_, a) ->
-             Lwt.return a)
-           (function
-@@ -439,7 +439,7 @@ module Pers = struct
-       let sg = Eliom_common.string_of_perssessgrp sg in
-       Lwt.catch
-         (fun () ->
--          Ocsipersist.find !!grouptable sg >>= fun (max2, cl) ->
-+	  !!grouptable >>= fun grouptable -> Ocsipersist.find grouptable sg >>= fun (max2, cl) ->
-           let max, newmax = match set_max with
-             | None -> ((match max2 with
-                 | Default -> defaultmax
-@@ -449,7 +449,7 @@ module Pers = struct
-             | Some (Some v) -> Some v, Val v
-           in
-           let cl, toclose = cut max cl in
--          Ocsipersist.replace_if_exists !!grouptable sg (newmax, (sess_id::cl))
-+	  Ocsipersist.replace_if_exists grouptable sg (newmax, (sess_id::cl))
-           >>= fun () ->
-           Lwt.return toclose)
-         (function
-@@ -459,7 +459,7 @@ module Pers = struct
-               | Some None -> Nolimit
-               | Some (Some v) -> Val v
-             in
--            Ocsipersist.add !!grouptable sg (max, [sess_id]) >>= fun () ->
-+	    !!grouptable >>= fun grouptable -> Ocsipersist.add grouptable sg (max, [sess_id]) >>= fun () ->
-             Lwt.return []
-           | e -> Lwt.fail e)
-     | None -> Lwt.return []
-@@ -502,8 +502,7 @@ module Pers = struct
-                                       belonging to the group grp *)
-             (* group_name is the cookie value *)
-             remove sitedata group_name grp >>= fun () ->
--            Ocsipersist.remove
--              (!!Eliom_common.persistent_cookies_table) group_name
-+	    !!Eliom_common.persistent_cookies_table >>= fun table -> Ocsipersist.remove table group_name
-           | _ -> Lwt.return ())
-         >>= fun () ->
- 
-@@ -511,7 +510,7 @@ module Pers = struct
-         match sess_grp with
-           | Some sg ->
-             let sg = Eliom_common.string_of_perssessgrp sg in
--            Ocsipersist.remove !!grouptable sg
-+	    !!grouptable >>= fun grouptable -> Ocsipersist.remove grouptable sg
-           | None -> Lwt.return ()
-       )
-       (function Not_found -> Lwt.return () | e -> Lwt.fail e)
-@@ -526,7 +525,7 @@ module Pers = struct
-         match cookie_level with
-           | `Client_process -> begin
-             (* We remove cookie info from the table *)
--            Ocsipersist.remove (!!Eliom_common.persistent_cookies_table) cookie
-+	    !!Eliom_common.persistent_cookies_table >>= fun table -> Ocsipersist.remove table cookie
-             >>= fun () ->
- 
-             (* We remove the session from its group: *)
-@@ -555,7 +554,7 @@ module Pers = struct
-       let sg = Eliom_common.string_of_perssessgrp sg0 in
-       Lwt.catch
-         (fun () ->
--          Ocsipersist.find !!grouptable sg >>= fun (max, cl) ->
-+	  !!grouptable >>= fun grouptable -> Ocsipersist.find grouptable sg >>= fun (max, cl) ->
-           let newcl = List.remove_first_if_any sess_id cl in
-           (match newcl with
-             | [] ->
-@@ -570,8 +569,8 @@ module Pers = struct
-                   remove_group ~cookie_level:`Session sitedata sess_grp
-                 | _ -> Lwt.return ()
-               ) >>= fun () ->
--              Ocsipersist.remove !!grouptable sg
--            | _ -> Ocsipersist.replace_if_exists !!grouptable sg (max, newcl)
-+	      Ocsipersist.remove grouptable sg
-+            | _ -> Ocsipersist.replace_if_exists grouptable sg (max, newcl)
-           )
-         )
-         (function
-@@ -586,9 +585,9 @@ module Pers = struct
-         let sg = Eliom_common.string_of_perssessgrp sg in
-         Lwt.catch
-           (fun () ->
--            Ocsipersist.find !!grouptable sg >>= fun (max, cl) ->
-+	    !!grouptable >>= fun grouptable -> Ocsipersist.find grouptable sg >>= fun (max, cl) ->
-             let newcl = List.remove_first_if_any sess_id cl in
--            Ocsipersist.replace_if_exists !!grouptable sg (max, sess_id::newcl)
-+	    Ocsipersist.replace_if_exists grouptable sg (max, sess_id::newcl)
-           )
-           (function
-             | Not_found -> Lwt.return ()
-@@ -601,6 +600,6 @@ module Pers = struct
-     end
-     else Lwt.return []
- 
--  let nb_of_groups () = Ocsipersist.length !!grouptable
-+  let nb_of_groups () = !!grouptable >>= Ocsipersist.length
- 
- end

diff --git a/dev-ml/eliom/files/reactivedata.patch b/dev-ml/eliom/files/reactivedata.patch
deleted file mode 100644
index 190df85..00000000
--- a/dev-ml/eliom/files/reactivedata.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-Index: eliom-5.0.0/src/lib/eliom_shared.eliom
-===================================================================
---- eliom-5.0.0.orig/src/lib/eliom_shared.eliom
-+++ eliom-5.0.0/src/lib/eliom_shared.eliom
-@@ -288,7 +288,7 @@ module FakeReactiveData = struct
-     val concat : 'a t -> 'a t -> 'a t
-     val value : 'a t -> 'a list
-     val synced : 'a t -> bool
--    val signal : 'a t -> 'a list FakeReact.S.t
-+    val signal : ?eq:('a -> 'a -> bool) -> 'a t -> 'a list FakeReact.S.t
-     val singleton_s : 'a FakeReact.S.t -> 'a t
-     val map : ('a -> 'b) -> 'a t -> 'b t
-     val from_signal :
-@@ -304,7 +304,7 @@ module FakeReactiveData = struct
-     let singleton_s s = [FakeReact.S.value s], FakeReact.S.synced s
-     let value (l, _) = l
-     let synced (_, b) = b
--    let signal (l, synced) = fst (FakeReact.S.create ~synced l)
-+    let signal ?eq (l, synced) = fst (FakeReact.S.create ~synced l)
-     let map f (l, b) = List.map f l, b
-     let from_signal ?eq s = FakeReact.S.(value s, synced s)
-     module Lwt = struct
-@@ -635,7 +635,7 @@ module ReactiveData = struct
-     let value (s : 'a t) = {shared# 'a list {
-       FakeReactiveData.RList.value (Value.local %s) }}
- 
--    let signal (s : 'a t) = {shared# 'a list FakeReact.S.t {
-+    let signal ?eq (s : 'a t) = {shared# 'a list FakeReact.S.t {
-       FakeReactiveData.RList.signal (Value.local %s) }}
- 
-     let map f s = {shared# 'a FakeReactiveData.RList.t {
-Index: eliom-5.0.0/src/lib/eliom_shared_sigs.shared.mli
-===================================================================
---- eliom-5.0.0.orig/src/lib/eliom_shared_sigs.shared.mli
-+++ eliom-5.0.0/src/lib/eliom_shared_sigs.shared.mli
-@@ -143,7 +143,7 @@ module type RLIST = sig
- 
-   val concat : 'a t -> 'a t -> 'a t
-   val value : 'a t -> 'a list Eliom_lib.shared_value
--  val signal : 'a t -> 'a list signal
-+  val signal : ?eq:(('a -> 'a -> bool)) -> 'a t -> 'a list signal
-   val singleton_s : 'a signal -> 'a t
-   val map : ('a -> 'b) Eliom_lib.shared_value -> 'a t -> 'b t
-   val from_signal :

diff --git a/dev-ml/eliom/files/tyxml4.patch b/dev-ml/eliom/files/tyxml4.patch
deleted file mode 100644
index bf749e4..00000000
--- a/dev-ml/eliom/files/tyxml4.patch
+++ /dev/null
@@ -1,1642 +0,0 @@
-Index: eliom-5.0.0/src/lib/eliom_content.client.mli
-===================================================================
---- eliom-5.0.0.orig/src/lib/eliom_content.client.mli
-+++ eliom-5.0.0/src/lib/eliom_content.client.mli
-@@ -292,7 +292,7 @@ module Html5 : sig
-         See {% <<a_api project="tyxml" | module Html5_sigs.T >> %} *)
- 
-     (** Cf. {% <<a_api project="tyxml" | module Html5_sigs.T >> %}. *)
--    module Raw : Html5_sigs.Make(Xml)(Svg.F.Raw).T
-+    module Raw : Html_sigs.Make(Xml)(Svg.F.Raw).T
-       with type +'a elt = 'a elt
-        and type +'a attrib = 'a attrib
- 
-@@ -313,7 +313,7 @@ module Html5 : sig
-         See {% <<a_api project="tyxml" | module Html5_sigs.T >> %} *)
- 
-     (** Cf. {% <<a_api project="tyxml" | module Html5_sigs.T >> %}. *)
--    module Raw : Html5_sigs.Make(Xml)(Svg.D.Raw).T
-+    module Raw : Html_sigs.Make(Xml)(Svg.D.Raw).T
-       with type +'a elt = 'a elt
-        and type +'a attrib = 'a attrib
- 
-@@ -352,7 +352,7 @@ module Html5 : sig
-     val filter_attrib : 'a attrib -> bool React.signal -> 'a attrib
- 
-     (** Cf. {% <<a_api project="tyxml" | module Html5_sigs.T >> %}. *)
--    module Raw : Html5_sigs.Make(Eliom_content_core.Xml_wed)(Svg.R.Raw).T
-+    module Raw : Html_sigs.Make(Eliom_content_core.Xml_wed)(Svg.R.Raw).T
-       with type +'a elt = 'a elt
-        and type +'a attrib = 'a attrib
- 
-Index: eliom-5.0.0/src/lib/eliom_content.server.mli
-===================================================================
---- eliom-5.0.0.orig/src/lib/eliom_content.server.mli
-+++ eliom-5.0.0/src/lib/eliom_content.server.mli
-@@ -309,7 +309,7 @@ module Html5 : sig
-         {{:http://ocsigen.org/howto/forms/}"how to make forms"} *)
- 
-     (** See {% <<a_api project="tyxml" | module Html5_sigs.T >> %}. *)
--    module Raw : Html5_sigs.Make(Xml)(Svg.F.Raw).T
-+    module Raw : Html_sigs.Make(Xml)(Svg.F.Raw).T
-       with type +'a elt = 'a elt
-        and type +'a attrib = 'a attrib
- 
-@@ -337,7 +337,7 @@ module Html5 : sig
-         {{:http://ocsigen.org/howto/forms/}"how to make forms"} *)
- 
-     (** See {% <<a_api project="tyxml" | module Html5_sigs.T >> %}. *)
--    module Raw : Html5_sigs.Make(Xml)(Svg.D.Raw).T
-+    module Raw : Html_sigs.Make(Xml)(Svg.D.Raw).T
-       with type +'a elt = 'a elt
-        and type +'a attrib = 'a attrib
- 
-@@ -406,7 +406,7 @@ module Html5 : sig
-       {% <<a_api project="tyxml" | module Html5_sigs.T >> %}. *)
-   module R : sig
- 
--    include Html5_sigs.Make(Xml_shared)(Svg.R.Raw).T
-+    include Html_sigs.Make(Xml_shared)(Svg.R.Raw).T
-       with type 'a elt = 'a elt
-        and type 'a attrib = 'a attrib
- 
-@@ -414,7 +414,7 @@ module Html5 : sig
-         [\[> Html5_types.span\] elt]
-         out of the string signal [s]. *)
-     val pcdata :
--      string Eliom_shared.React.S.t -> [> Html5_types.span] elt
-+      string Eliom_shared.React.S.t -> [> Html_types.span] elt
- 
-     (** [node s] produces an ['a elt] out of the shared reactive
-         signal [s]. *)
-Index: eliom-5.0.0/src/lib/eliom_content_core.client.ml
-===================================================================
---- eliom-5.0.0.orig/src/lib/eliom_content_core.client.ml
-+++ eliom-5.0.0/src/lib/eliom_content_core.client.ml
-@@ -175,7 +175,7 @@ end
- 
- module Xml_wed =
- struct
--  module W = Tyxml_js.Xml_wrap
-+  module W = Tyxml_js.Wrap
-   type 'a wrap = 'a W.t
-   type 'a list_wrap = 'a W.tlist
-   type uri = Xml.uri
-@@ -188,7 +188,7 @@ struct
-   type attrib = Xml.attrib
- 
-   let float_attrib name s : attrib =
--    name, Xml.RAReact (Tyxml_js.Xml_wrap.fmap (fun f -> Some (Xml.AFloat f)) s)
-+    name, Xml.RAReact (Tyxml_js.Wrap.fmap (fun f -> Some (Xml.AFloat f)) s)
-   let int_attrib name s =
-     name, Xml.RAReact (React.S.map (fun f -> Some (Xml.AInt f)) s)
-   let string_attrib name s =
-@@ -320,7 +320,7 @@ module Html5 = struct
-       let lazy_node ?(a = []) name children =
-         make (Node (name, a, Eliom_lazy.force children))
-     end
--    module Raw = Html5_f.Make(Xml')(Svg.D.Raw)
-+    module Raw = Html_f.Make(Xml')(Svg.D.Raw)
- 
-     include Raw
- 
-@@ -340,7 +340,7 @@ module Html5 = struct
- 
-     let node s = Xml.make_react s
- 
--    module Raw = Html5_f.Make(Xml_wed)(Svg.R)
-+    module Raw = Html_f.Make(Xml_wed)(Svg.R)
-     let filter_attrib (name,a) on =
-       let v = match a with
-         | Xml.RA a -> Xml.RAReact (React.S.map (function
-@@ -365,7 +365,7 @@ module Html5 = struct
-   module F = struct
- 
-     module Xml' = Xml
--    module Raw = Html5_f.Make(Xml')(Svg.F.Raw)
-+    module Raw = Html_f.Make(Xml')(Svg.F.Raw)
-     include Raw
- 
-     type ('a, 'b, 'c) lazy_star =
-Index: eliom-5.0.0/src/lib/eliom_content_core.client.mli
-===================================================================
---- eliom-5.0.0.orig/src/lib/eliom_content_core.client.mli
-+++ eliom-5.0.0/src/lib/eliom_content_core.client.mli
-@@ -22,7 +22,10 @@
- 
- module Xml : sig
- 
--  module W : Xml_wrap.T with type 'a t = 'a and type 'a tlist = 'a list
-+  module W : Xml_wrap.T
-+  	with type 'a t = 'a 
-+	 and type 'a tlist = 'a list
-+	 and type (-'a, 'b) ft = 'a -> 'b
- 
-   type uri = string
-   val uri_of_string : uri -> string
-@@ -153,7 +156,7 @@ end
- 
- module Xml_wed : sig
- 
--  include Xml_sigs.T with module W = Tyxml_js.Xml_wrap
-+  include Xml_sigs.T with module W = Tyxml_js.Wrap
-                       and type elt = Xml.elt
-                       and type aname = Xml.aname
-                       and type attrib = Xml.attrib
-@@ -281,7 +284,7 @@ module Html5 : sig
-       See {% <<a_api project="tyxml" | module type Html5_sigs.T >> %}. *)
-   module F : sig
- 
--    module Raw : Html5_sigs.Make(Xml)(Svg.F.Raw).T
-+    module Raw : Html_sigs.Make(Xml)(Svg.F.Raw).T
-       with type +'a elt = 'a elt
-        and type +'a attrib = 'a attrib
- 
-@@ -293,7 +296,7 @@ module Html5 : sig
-       ?a: (('a attrib) list) -> ('b elt) list Eliom_lazy.request -> 'c elt
- 
-     val lazy_form:
--      ([< Html5_types.form_attrib ], [< Html5_types.form_content_fun ], [> Html5_types.form ]) lazy_star
-+      ([< Html_types.form_attrib ], [< Html_types.form_content_fun ], [> Html_types.form ]) lazy_star
- 
-   end
- 
-@@ -302,7 +305,7 @@ module Html5 : sig
-       {% <<a_api project="tyxml" | module type Html5_sigs.T >> %}. *)
-   module D: sig
- 
--    module Raw : Html5_sigs.Make(Xml)(Svg.D.Raw).T
-+    module Raw : Html_sigs.Make(Xml)(Svg.D.Raw).T
-       with type +'a elt = 'a elt
-        and type +'a attrib = 'a attrib
- 
-@@ -313,7 +316,7 @@ module Html5 : sig
-       ?a: (('a attrib) list) -> ('b elt) list Eliom_lazy.request -> 'c elt
- 
-     val lazy_form:
--      ([< Html5_types.form_attrib ], [< Html5_types.form_content_fun ], [> Html5_types.form ]) lazy_star
-+      ([< Html_types.form_attrib ], [< Html_types.form_content_fun ], [> Html_types.form ]) lazy_star
- 
-   end
- 
-@@ -332,7 +335,7 @@ module Html5 : sig
- 
-     val filter_attrib : 'a attrib -> bool React.signal -> 'a attrib
- 
--    module Raw : Html5_sigs.Make(Xml_wed)(Svg.R.Raw).T
-+    module Raw : Html_sigs.Make(Xml_wed)(Svg.R.Raw).T
-       with type +'a elt = 'a elt
-        and type +'a attrib = 'a attrib
- 
-Index: eliom-5.0.0/src/lib/eliom_content_core.server.ml
-===================================================================
---- eliom-5.0.0.orig/src/lib/eliom_content_core.server.ml
-+++ eliom-5.0.0/src/lib/eliom_content_core.server.ml
-@@ -289,8 +289,7 @@ module Svg = struct
-   module Make
-       (Xml : Xml_sigs.T with type elt = Xml.elt
-                          and type attrib = Xml.attrib)
--      (C : Svg_sigs.Wrapped_functions
--       with type ('a, 'b) ft = ('a, 'b) Xml.W.ft) =
-+      (C : Svg_sigs.Wrapped_functions with module Xml = Xml) =
-     Svg_f.Make_with_wrapped_functions(Xml)(C)
- 
-   type +'a elt = 'a F.elt
-@@ -341,7 +340,7 @@ module Html5 = struct
- 
-     end
- 
--    module Raw = Html5_f.Make(Xml')(Svg.D.Raw)
-+    module Raw = Html_f.Make(Xml')(Svg.D.Raw)
-     let client_attrib ?init (x : 'a Raw.attrib Eliom_lib.client_value) =
-       Xml.client_attrib ?init x
- 
-@@ -359,7 +358,7 @@ module Html5 = struct
-   module F = struct
- 
-     module Xml' = Xml
--    module Raw = Html5_f.Make(Xml')(Svg.F.Raw)
-+    module Raw = Html_f.Make(Xml')(Svg.F.Raw)
-     include Raw
- 
-     type ('a, 'b, 'c) lazy_star =
-@@ -376,10 +375,9 @@ module Html5 = struct
-       (Xml : Xml_sigs.T
-        with type elt = Xml.elt
-         and type attrib = Xml.attrib)
--      (C : Html5_sigs.Wrapped_functions
--       with type ('a, 'b) ft = ('a, 'b) Xml.W.ft)
-+      (C : Html_sigs.Wrapped_functions with module Xml = Xml)
-       (Svg : Svg_sigs.T with module Xml := Xml) =
--    Html5_f.Make_with_wrapped_functions(Xml)(C)(Svg)
-+    Html_f.Make_with_wrapped_functions(Xml)(C)(Svg)
- 
-   type +'a elt = 'a F.elt
-   type 'a wrap = 'a
-Index: eliom-5.0.0/src/lib/eliom_content_core.server.mli
-===================================================================
---- eliom-5.0.0.orig/src/lib/eliom_content_core.server.mli
-+++ eliom-5.0.0/src/lib/eliom_content_core.server.mli
-@@ -116,8 +116,7 @@ module Svg : sig
-       (Xml : Xml_sigs.T
-        with type elt = Xml.elt
-         and type attrib = Xml.attrib)
--      (C : Svg_sigs.Wrapped_functions
--       with type ('a, 'b) ft = ('a, 'b) Xml.W.ft) :
-+      (C : Svg_sigs.Wrapped_functions with module Xml = Xml) :
-     Svg_sigs.Make(Xml).T
-     with type +'a elt = 'a elt
-      and type +'a attrib = 'a attrib
-@@ -156,7 +155,7 @@ module Html5 : sig
- 
-   module F : sig
- 
--    module Raw : Html5_sigs.Make(Xml)(Svg.F.Raw).T
-+    module Raw : Html_sigs.Make(Xml)(Svg.F.Raw).T
-       with type +'a elt = 'a elt
-        and type +'a attrib = 'a attrib
- 
-@@ -167,12 +166,12 @@ module Html5 : sig
-       ?a: (('a attrib) list) -> ('b elt) list Eliom_lazy.request -> 'c elt
- 
-     val lazy_form:
--      ([< Html5_types.form_attrib ], [< Html5_types.form_content_fun ], [> Html5_types.form ]) lazy_star
-+      ([< Html_types.form_attrib ], [< Html_types.form_content_fun ], [> Html_types.form ]) lazy_star
-   end
- 
-   module D : sig
- 
--    module Raw : Html5_sigs.Make(Xml)(Svg.D.Raw).T
-+    module Raw : Html_sigs.Make(Xml)(Svg.D.Raw).T
-       with type +'a elt = 'a elt
-        and type +'a attrib = 'a attrib
- 
-@@ -185,7 +184,7 @@ module Html5 : sig
-       ?a: (('a attrib) list) -> ('b elt) list Eliom_lazy.request -> 'c elt
- 
-     val lazy_form:
--      ([< Html5_types.form_attrib ], [< Html5_types.form_content_fun ], [> Html5_types.form ]) lazy_star
-+      ([< Html_types.form_attrib ], [< Html_types.form_content_fun ], [> Html_types.form ]) lazy_star
- 
-   end
- 
-@@ -193,10 +192,9 @@ module Html5 : sig
-       (Xml : Xml_sigs.T
-        with type elt = Xml.elt
-         and type attrib = Xml.attrib)
--      (C : Html5_sigs.Wrapped_functions
--       with type ('a, 'b) ft = ('a, 'b) Xml.W.ft)
-+      (C : Html_sigs.Wrapped_functions with module Xml = Xml)
-       (Svg : Svg_sigs.T with module Xml := Xml) :
--    Html5_sigs.Make(Xml)(Svg).T
-+    Html_sigs.Make(Xml)(Svg).T
-     with type +'a elt = 'a elt
-      and type +'a attrib = 'a attrib
- 
-Index: eliom-5.0.0/src/lib/eliom_content_sigs.shared.mli
-===================================================================
---- eliom-5.0.0.orig/src/lib/eliom_content_sigs.shared.mli
-+++ eliom-5.0.0/src/lib/eliom_content_sigs.shared.mli
-@@ -31,9 +31,9 @@ module type LINKS_AND_FORMS = sig
-     'c elt
- 
-   val lazy_form:
--    ([< Html5_types.form_attrib ],
--     [< Html5_types.form_content_fun ],
--     [> Html5_types.form ]) lazy_star
-+    ([< Html_types.form_attrib ],
-+     [< Html_types.form_content_fun ],
-+     [> Html_types.form ]) lazy_star
- 
-   include Eliom_form_sigs.LINKS
-     with type +'a elt := 'a elt
-Index: eliom-5.0.0/src/lib/eliom_form.eliom
-===================================================================
---- eliom-5.0.0.orig/src/lib/eliom_form.eliom
-+++ eliom-5.0.0/src/lib/eliom_form.eliom
-@@ -21,7 +21,7 @@
- {shared{
- module type Html5 = sig
- 
--  include Html5_sigs.T
-+  include Html_sigs.T
-     with type 'a Xml.W.t = 'a
-      and type 'a Xml.W.tlist = 'a list
-      and type Xml.mouse_event_handler =
-@@ -33,9 +33,9 @@ module type Html5 = sig
-     'c elt
- 
-   val lazy_form:
--    ([< Html5_types.form_attrib ],
--     [< Html5_types.form_content_fun ],
--     [> Html5_types.form ]) lazy_star
-+    ([< Html_types.form_attrib ],
-+     [< Html_types.form_content_fun ],
-+     [> Html_types.form ]) lazy_star
- 
-   val uri_of_fun : (unit -> string) -> Xml.uri
- 
-@@ -44,7 +44,7 @@ module type Html5 = sig
-     ([ `A | `Form_get | `Form_post] *
-      (bool * string list) option *
-      string option) option Eliom_lazy.request ->
--    Html5_types.form_attrib attrib
-+    Html_types.form_attrib attrib
- 
- end
- 
-@@ -174,7 +174,7 @@ module Make (Html5 : Html5) = struct
-       | None -> a
-       | Some src -> a_src src :: a
-     in
--    let a = if checked then a_checked `Checked :: a else a in
-+    let a = if checked then a_checked () :: a else a in
-     let a = a_input_type typ :: a in
-     input ~a ()
- 
-@@ -194,7 +194,7 @@ module Make (Html5 : Html5) = struct
-     textarea ~a (pcdata value)
- 
-   let make_select ?(a = []) ~multiple ~name elt elts =
--    let a = if multiple then a_multiple `Multiple :: a else a in
-+    let a = if multiple then a_multiple () :: a else a in
-     let a = a_name name :: a in
-     select ~a (elt :: elts)
- 
-@@ -203,7 +203,7 @@ module Make (Html5 : Html5) = struct
-       | None -> a
-       | Some v -> a_text_value v :: a
-     in
--    let a = if selected then a_selected `Selected :: a else a in
-+    let a = if selected then a_selected () :: a else a in
-     option ~a c
- 
-   let make_optgroup ?(a = []) ~label elt elts =
-@@ -364,7 +364,7 @@ module Make (Html5 : Html5) = struct
- 
-   let string_radio_required ?a ?checked ~name ~value () =
-     let a =
--      let required = Html5.a_required `Required in
-+      let required = Html5.a_required () in
-       match a with
-       | None -> [required]
-       | Some a -> required :: a
-@@ -385,14 +385,14 @@ module Make (Html5 : Html5) = struct
-     make_textarea ?a ~name:(Eliom_parameter.string_of_param_name name)
- 
-   type 'a soption =
--    Html5_types.option_attrib attrib list
-+    Html_types.option_attrib attrib list
-     * 'a (* Content (or value if the following is present) *)
--    * Html5_types.pcdata elt option (* if content different from value *)
-+    * Html_types.pcdata elt option (* if content different from value *)
-     * bool (* selected *)
- 
-   type 'a select_opt =
-     | Optgroup of
--        [ Html5_types.common | `Disabled ] attrib list
-+        [ Html_types.common | `Disabled ] attrib list
-         * string (* label *)
-         * 'a soption
-         * 'a soption list
-@@ -404,7 +404,7 @@ module Make (Html5 : Html5) = struct
-     let a = match required with
-       | None -> a
-       | Some _ ->
--        let required = Html5.a_required `Required in
-+        let required = Html5.a_required () in
-         match a with
-         | Some a -> Some (required :: a)
-         | None -> Some [required]
-Index: eliom-5.0.0/src/lib/eliom_form.eliomi
-===================================================================
---- eliom-5.0.0.orig/src/lib/eliom_form.eliomi
-+++ eliom-5.0.0/src/lib/eliom_form.eliomi
-@@ -22,7 +22,7 @@
- 
- module type Html5 = sig
- 
--  include Html5_sigs.T
-+  include Html_sigs.T
-     with type 'a Xml.W.t = 'a
-      and type 'a Xml.W.tlist = 'a list
-      and type Xml.mouse_event_handler =
-@@ -34,9 +34,9 @@ module type Html5 = sig
-     'c elt
- 
-   val lazy_form :
--    ([< Html5_types.form_attrib ],
--     [< Html5_types.form_content_fun ],
--     [> Html5_types.form ]) lazy_star
-+    ([< Html_types.form_attrib ],
-+     [< Html_types.form_content_fun ],
-+     [> Html_types.form ]) lazy_star
- 
-   val uri_of_fun : (unit -> string) -> Xml.uri
- 
-@@ -45,7 +45,7 @@ module type Html5 = sig
-     ([ `A | `Form_get | `Form_post] *
-      (bool * string list) option *
-      string option) option Eliom_lazy.request ->
--    Html5_types.form_attrib attrib
-+    Html_types.form_attrib attrib
- 
- end
- 
-Index: eliom-5.0.0/src/lib/eliom_form_sigs.shared.mli
-===================================================================
---- eliom-5.0.0.orig/src/lib/eliom_form_sigs.shared.mli
-+++ eliom-5.0.0/src/lib/eliom_form_sigs.shared.mli
-@@ -136,8 +136,8 @@ module type LINKS = sig
-       The optional parameter [~a] allows one to add extra HTML
-       attributes to the generated node.  *)
-   val css_link :
--    ?a:Html5_types.link_attrib attrib list ->
--    uri:uri -> unit -> [> Html5_types.link] elt
-+    ?a:Html_types.link_attrib attrib list ->
-+    uri:uri -> unit -> [> Html_types.link] elt
- 
-   (** The function [js_script ~uri ()] creates a [<script>] node that
-       reference a javascript file.
-@@ -151,8 +151,8 @@ module type LINKS = sig
-       The optional parameter [~a] allows one to add extra HTML
-       attributes to the generated node.  *)
-   val js_script :
--    ?a:Html5_types.script_attrib attrib list -> uri:uri -> unit ->
--    [> Html5_types.script] elt
-+    ?a:Html_types.script_attrib attrib list -> uri:uri -> unit ->
-+    [> Html_types.script] elt
- 
-   (** The function [a service a_content get_params] creates a [<a>]
-       node that link to [service] applied to GET parameters
-@@ -186,7 +186,7 @@ module type LINKS = sig
-     ?absolute:bool ->
-     ?absolute_path:bool ->
-     ?https:bool ->
--    ?a:Html5_types.a_attrib attrib list ->
-+    ?a:Html_types.a_attrib attrib list ->
-     service:('get, unit, [< Eliom_service.get_service_kind ], _, _,
-              [< Eliom_service.suff ], 'd, unit,
-              [< Eliom_service.registrable ],
-@@ -200,7 +200,7 @@ module type LINKS = sig
-     ?xhr:bool ->
-     'a elt list ->
-     'get ->
--    [> 'a Html5_types.a] elt
-+    [> 'a Html_types.a] elt
- 
- end
- 
-@@ -278,7 +278,7 @@ module type S = sig
-     ?absolute:bool ->
-     ?absolute_path:bool ->
-     ?https:bool ->
--    ?a:Html5_types.form_attrib attrib list ->
-+    ?a:Html_types.form_attrib attrib list ->
-     service:('get, unit, [< get_service_kind ], _, _,
-              [<suff ], 'gn, 'pn,
-              [< registrable ], [< non_ocaml_service]) service ->
-@@ -288,8 +288,8 @@ module type S = sig
-     ?keep_nl_params:[ `All | `Persistent | `None ] ->
-     ?nl_params: Eliom_parameter.nl_params_set ->
-     ?xhr:bool ->
--    ('gn -> Html5_types.form_content elt list) ->
--    [> Html5_types.form ] elt
-+    ('gn -> Html_types.form_content elt list) ->
-+    [> Html_types.form ] elt
- 
-   (** Same as {!get_form} but taking a cooperative function for
-       [<form>] content generation. *)
-@@ -297,7 +297,7 @@ module type S = sig
-     ?absolute:bool ->
-     ?absolute_path:bool ->
-     ?https:bool ->
--    ?a:Html5_types.form_attrib attrib list ->
-+    ?a:Html_types.form_attrib attrib list ->
-     service:('get, unit, [< get_service_kind ], _, _,
-              [<suff ], 'gn, 'pn,
-              [< registrable ], [< non_ocaml_service]) service ->
-@@ -307,8 +307,8 @@ module type S = sig
-     ?keep_nl_params:[ `All | `Persistent | `None ] ->
-     ?nl_params: Eliom_parameter.nl_params_set ->
-     ?xhr:bool ->
--    ('gn -> Html5_types.form_content elt list Lwt.t) ->
--    [> Html5_types.form ] elt Lwt.t
-+    ('gn -> Html_types.form_content elt list Lwt.t) ->
-+    [> Html_types.form ] elt Lwt.t
- 
-   (** The function [post_form service formgen get_params] creates a
-       POST [<form>] to [service] preapplied to the GET parameters
-@@ -328,7 +328,7 @@ module type S = sig
-     ?absolute:bool ->
-     ?absolute_path:bool ->
-     ?https:bool ->
--    ?a:Html5_types.form_attrib attrib list ->
-+    ?a:Html_types.form_attrib attrib list ->
-     service:('get, 'post, [< post_service_kind ], _, _,
-              [< suff ], 'gn, 'pn,
-              [< registrable ], [< non_ocaml_service]) service ->
-@@ -339,9 +339,9 @@ module type S = sig
-     ?keep_get_na_params:bool ->
-     ?nl_params: Eliom_parameter.nl_params_set ->
-     ?xhr:bool ->
--    ('pn -> Html5_types.form_content elt list) ->
-+    ('pn -> Html_types.form_content elt list) ->
-     'get ->
--    [> Html5_types.form ] elt
-+    [> Html_types.form ] elt
- 
-   (** Same as {!post_form} but taking a cooperative function for
-       [<form>] content generation. *)
-@@ -349,7 +349,7 @@ module type S = sig
-     ?absolute:bool ->
-     ?absolute_path:bool ->
-     ?https:bool ->
--    ?a:Html5_types.form_attrib attrib list ->
-+    ?a:Html_types.form_attrib attrib list ->
-     service:('get, 'post, [< post_service_kind ], _, _,
-              [< suff ], 'gn, 'pn,
-              [< registrable ], [< non_ocaml_service]) service ->
-@@ -360,93 +360,93 @@ module type S = sig
-     ?keep_get_na_params:bool ->
-     ?nl_params: Eliom_parameter.nl_params_set ->
-     ?xhr:bool ->
--    ('pn -> Html5_types.form_content elt list Lwt.t) ->
-+    ('pn -> Html_types.form_content elt list Lwt.t) ->
-     'get ->
--    [> Html5_types.form ] elt Lwt.t
-+    [> Html_types.form ] elt Lwt.t
- 
-   (** Creates an [<input>] tag. *)
-   val input :
--    ?a:Html5_types.input_attrib attrib list ->
--    input_type:[< Html5_types.input_type] ->
-+    ?a:Html_types.input_attrib attrib list ->
-+    input_type:[< Html_types.input_type] ->
-     ?name:[< 'a setoneradio] param_name ->
-     ?value:'a ->
-     'a param ->
--    [> Html5_types.input] elt
-+    [> Html_types.input] elt
- 
-   (** Creates an [<input>] tag for sending a file *)
-   val file_input :
--    ?a:Html5_types.input_attrib attrib list ->
-+    ?a:Html_types.input_attrib attrib list ->
-     name:[< file_info setoneradio ] param_name ->
-     unit ->
--    [> Html5_types.input] elt
-+    [> Html_types.input] elt
- 
-   (** Creates an [<input type="image" name="...">] tag. The server
-       receives the coordinates that the user clicked on. *)
-   val image_input :
--    ?a:Html5_types.input_attrib attrib list ->
-+    ?a:Html_types.input_attrib attrib list ->
-     name:[< coordinates oneradio ] param_name ->
-     ?src:uri ->
-     unit ->
--    [> Html5_types.input] elt
-+    [> Html_types.input] elt
- 
-   (** Creates a checkbox [<input>] tag. You can produce several
-       checkboxes with the same name (and different values). The
-       service must declare a parameter of type [set]. *)
-   val checkbox :
--    ?a:Html5_types.input_attrib attrib list -> ?checked:bool ->
-+    ?a:Html_types.input_attrib attrib list -> ?checked:bool ->
-     name:[ `Set of 'a ] Eliom_parameter.param_name -> value:'a ->
-     'a param ->
--    [> Html5_types.input] elt
-+    [> Html_types.input] elt
- 
-   (** Creates a checkbox [<input>] tag of type bool. Only one checkbox
-       with the same [name] is allowed. *)
-   val bool_checkbox_one :
--    ?a:Html5_types.input_attrib attrib list -> ?checked:bool ->
-+    ?a:Html_types.input_attrib attrib list -> ?checked:bool ->
-     name:[ `One of bool ] Eliom_parameter.param_name ->
-     unit ->
--    [> Html5_types.input] elt
-+    [> Html_types.input] elt
- 
-   (** Creates a radio [<input>] tag. *)
-   val radio :
--    ?a:Html5_types.input_attrib attrib list -> ?checked:bool ->
-+    ?a:Html_types.input_attrib attrib list -> ?checked:bool ->
-     name:[ `Radio of 'a ] param_name ->
-     value:'a ->
-     'a param ->
--    [> Html5_types.input] elt
-+    [> Html_types.input] elt
- 
-   val string_radio_required :
--    ?a:Html5_types.input_attrib attrib list -> ?checked:bool ->
-+    ?a:Html_types.input_attrib attrib list -> ?checked:bool ->
-     name:[ `One of string ] param_name ->
-     value:string -> unit ->
--    [> Html5_types.input] elt
-+    [> Html_types.input] elt
- 
-   (** Creates a [<button>] tag. *)
-   val button :
--    ?a:Html5_types.button_attrib attrib list ->
-+    ?a:Html_types.button_attrib attrib list ->
-     button_type:[< button_type] ->
-     name:[< 'a setone ] param_name ->
-     value:'a ->
-     'a param ->
--    Html5_types.button_content elt list ->
--    [> Html5_types.button] elt
-+    Html_types.button_content elt list ->
-+    [> Html_types.button] elt
- 
-   (** Creates a [<button>] tag with no value. No value is sent. *)
-   val button_no_value :
--    ?a:Html5_types.button_attrib attrib list ->
-+    ?a:Html_types.button_attrib attrib list ->
-     button_type:[< button_type] ->
--    Html5_types.button_content elt list ->
--    [> Html5_types.button] elt
-+    Html_types.button_content elt list ->
-+    [> Html_types.button] elt
- 
-   (** Creates a [<textarea>] tag *)
-   val textarea :
--    ?a:Html5_types.textarea_attrib attrib list ->
-+    ?a:Html_types.textarea_attrib attrib list ->
-     name:[< string setoneradio ] param_name -> ?value:string ->
--    unit -> [> Html5_types.textarea] elt
-+    unit -> [> Html_types.textarea] elt
- 
-   type 'a soption =
--    Html5_types.option_attrib attrib list
-+    Html_types.option_attrib attrib list
-     * 'a (* Content (or value if the following is present) *)
--    * Html5_types.pcdata elt option (* if content different from value *)
-+    * Html_types.pcdata elt option (* if content different from value *)
-     * bool (* selected *)
- 
-   (** The type for [<select>] options and groups of options.
-@@ -458,7 +458,7 @@ module type S = sig
-       - The string in [select_opt] is the label *)
-   type 'a select_opt =
-     | Optgroup of
--        [ Html5_types.common | `Disabled ] attrib list
-+        [ Html_types.common | `Disabled ] attrib list
-         * string (* label *)
-         * 'a soption
-         * 'a soption list
-@@ -466,22 +466,22 @@ module type S = sig
- 
-   (** Creates a [<select>] tag. *)
-   val select :
--    ?a:Html5_types.select_attrib attrib list ->
--    ?required:Html5_types.pcdata elt ->
-+    ?a:Html_types.select_attrib attrib list ->
-+    ?required:Html_types.pcdata elt ->
-     name:[ `One of 'a ] param_name ->
-     'a param ->
-     'a select_opt ->
-     'a select_opt list ->
--    [> Html5_types.select] elt
-+    [> Html_types.select] elt
- 
-   (** Creates a multiple-selection [<select>] tag. *)
-   val multiple_select :
--    ?a:Html5_types.select_attrib attrib list ->
--    ?required:Html5_types.pcdata elt ->
-+    ?a:Html_types.select_attrib attrib list ->
-+    ?required:Html_types.pcdata elt ->
-     name:[ `Set of 'a ] param_name ->
-     'a param ->
-     'a select_opt ->
-     'a select_opt list ->
--    [> Html5_types.select] elt
-+    [> Html_types.select] elt
- 
- end
-Index: eliom-5.0.0/src/lib/eliom_registration.server.ml
-===================================================================
---- eliom-5.0.0.orig/src/lib/eliom_registration.server.ml
-+++ eliom-5.0.0/src/lib/eliom_registration.server.ml
-@@ -75,12 +75,12 @@ let cast_http_result = Result_types.cast
- 
- module Html5_make_reg_base
-   (Html5_content : Ocsigen_http_frame.HTTP_CONTENT
--                   with type t = Html5_types.html Eliom_content.Html5.elt
-+                   with type t = Html_types.html Eliom_content.Html5.elt
-                    and type options = Http_headers.accept Lazy.t)
-   = struct
- 
-   open Eliom_content.Html5.F
--  open Html5_types
-+  open Html_types
- 
-   type page = html elt
- 
-@@ -203,7 +203,7 @@ module Make_typed_xml_registration
-   end
- 
- module Flow5 = Make_typed_xml_registration(Xml)(Eliom_content.Html5.D)(struct
--  type content = Html5_types.flow5
-+  type content = Html_types.flow5
- end)
- 
- 
-@@ -1861,7 +1861,7 @@ module Eliom_appl_reg_make_param
-   (Appl_params : APPL_PARAMS) = struct
- 
-   open Eliom_content.Html5.D
--  open Html5_types
-+  open Html_types
- 
-   type appl
- 
-@@ -1880,9 +1880,9 @@ module Eliom_appl_reg_make_param
-     Eliom_content.Html5.Id.new_elt_id ~global:true ()
-   let application_script ?(defer = false) ?(async = false) () =
-     let a =
--      (if defer then [Eliom_content.Html5.D.a_defer `Defer] else [])
-+      (if defer then [Eliom_content.Html5.D.a_defer ()] else [])
-         @
--      (if async then [Eliom_content.Html5.D.a_async `Async] else [])
-+      (if async then [Eliom_content.Html5.D.a_async ()] else [])
-     in
-     Eliom_content.Html5.Id.create_named_elt
-       ~id:eliom_appl_script_id
-@@ -1992,11 +1992,11 @@ module Eliom_appl_reg_make_param
-     Lwt.return (Eliom_content.Html5.F.script (cdata_script script))
- 
-   let split_page page :
--      (Html5_types.html_attrib Eliom_content.Html5.attrib list
--        * (Html5_types.head_attrib Eliom_content.Html5.attrib list
--            * [ Html5_types.title ] Eliom_content.Html5.elt
--            * Html5_types.head_content_fun Eliom_content.Html5.elt list)
--        * Html5_types.body Eliom_content.Html5.elt ) =
-+      (Html_types.html_attrib Eliom_content.Html5.attrib list
-+        * (Html_types.head_attrib Eliom_content.Html5.attrib list
-+            * [ Html_types.title ] Eliom_content.Html5.elt
-+            * Html_types.head_content_fun Eliom_content.Html5.elt list)
-+        * Html_types.body Eliom_content.Html5.elt ) =
-     match Eliom_content.Xml.content page with
-       | Eliom_content.Xml.Node (_, html_attribs, [head; body]) ->
- 	begin match Eliom_content.Xml.content head with
-@@ -2132,7 +2132,7 @@ module type ELIOM_APPL = sig
-   val is_initial_request : unit -> bool
-   type appl
-   include "sigs/eliom_reg.mli"
--    subst type page    := Html5_types.html Eliom_content.Html5.elt
-+    subst type page    := Html_types.html Eliom_content.Html5.elt
-       and type options := appl_service_options
-       and type return  := appl_service
-       and type returnB := [> appl_service ]
-@@ -2172,7 +2172,7 @@ end
- module type TMPL_PARAMS = sig
-   type t
-   val name: string
--  val make_page: t -> Html5_types.html Eliom_content.Html5.elt Lwt.t
-+  val make_page: t -> Html_types.html Eliom_content.Html5.elt Lwt.t
-   val update: t -> unit client_value
- end
- 
-Index: eliom-5.0.0/src/lib/eliom_registration.server.mli
-===================================================================
---- eliom-5.0.0.orig/src/lib/eliom_registration.server.mli
-+++ eliom-5.0.0/src/lib/eliom_registration.server.mli
-@@ -212,7 +212,7 @@ module type ELIOM_APPL = sig
-   type appl
- 
-   include "sigs/eliom_reg.mli"
--    subst type page    := Html5_types.html Eliom_content.Html5.elt
-+    subst type page    := Html_types.html Eliom_content.Html5.elt
-       and type options := appl_service_options
-       and type return  := appl_service
-       and type returnB := [> appl_service ]
-@@ -231,7 +231,7 @@ module App (Appl_params : APPL_PARAMS) :
- module type TMPL_PARAMS = sig
-   type t
-   val name: string
--  val make_page: t -> Html5_types.html Eliom_content.Html5.elt Lwt.t
-+  val make_page: t -> Html_types.html Eliom_content.Html5.elt Lwt.t
-   val update: t -> unit client_value
- end
- 
-@@ -257,7 +257,7 @@ end
-     fragments.
- *)
- module Flow5 : "sigs/eliom_reg.mli"
--  subst type page    := Html5_types.flow5 Eliom_content.Html5.elt list
-+  subst type page    := Html_types.flow5 Eliom_content.Html5.elt list
-   and type options := unit
-   and type return  := http_service
-   and type returnB := [> http_service ]
-Index: eliom-5.0.0/src/lib/eliom_shared_content.eliom
-===================================================================
---- eliom-5.0.0.orig/src/lib/eliom_shared_content.eliom
-+++ eliom-5.0.0/src/lib/eliom_shared_content.eliom
-@@ -56,9 +56,11 @@ module Xml = struct
- 
-   type uri = Eliom_content_core.Xml.uri
- 
--  let string_of_uri = Eliom_content_core.Xml.string_of_uri
-+  let string_of_uri () = 
-+    {shared#{ Eliom_content_core.Xml.string_of_uri }}
- 
--  let uri_of_string = Eliom_content_core.Xml.uri_of_string
-+  let uri_of_string () = 
-+    {shared#{ Eliom_content_core.Xml.uri_of_string }}
- 
-   type aname = Eliom_content_core.Xml.aname
- 
-@@ -197,77 +199,84 @@ module Xml = struct
- 
- end
- 
-+{shared{
-+module Raw_wrapped_functions_svg =
-+  Svg_f.Wrapped_functions(Eliom_content_core.Xml)
-+}}
-+
-+
- module Svg = struct
- 
-   module Wrapped_functions :
- 
--    Svg_sigs.Wrapped_functions
--    with type (-'a, 'b) ft = ('a, 'b) Xml.W.ft =
-+    Svg_sigs.Wrapped_functions with module Xml = Xml =
- 
-   struct
- 
-+    module Xml = Xml
-+
-     type (-'a, 'b) ft = ('a, 'b) Xml.W.ft
- 
-     let string_of_alignment_baseline () =
--      {shared#{ Svg_f.Wrapped_functions.string_of_alignment_baseline }}
-+      {shared#{ Raw_wrapped_functions_svg.string_of_alignment_baseline }}
- 
-     let string_of_big_variant () =
--      {shared#{ Svg_f.Wrapped_functions.string_of_big_variant }}
-+      {shared#{ Raw_wrapped_functions_svg.string_of_big_variant }}
- 
-     let string_of_bool () =
--      {shared#{ Svg_f.Wrapped_functions.string_of_bool }}
-+      {shared#{ Raw_wrapped_functions_svg.string_of_bool }}
- 
-     let string_of_coords () =
--      {shared#{ Svg_f.Wrapped_functions.string_of_coords }}
-+      {shared#{ Raw_wrapped_functions_svg.string_of_coords }}
- 
-     let string_of_dominant_baseline () =
--      {shared#{ Svg_f.Wrapped_functions.string_of_dominant_baseline }}
-+      {shared#{ Raw_wrapped_functions_svg.string_of_dominant_baseline }}
- 
-     let string_of_fourfloats () =
--      {shared#{ Svg_f.Wrapped_functions.string_of_fourfloats }}
-+      {shared#{ Raw_wrapped_functions_svg.string_of_fourfloats }}
- 
-     let string_of_in_value () =
--      {shared#{ Svg_f.Wrapped_functions.string_of_in_value }}
-+      {shared#{ Raw_wrapped_functions_svg.string_of_in_value }}
- 
-     let string_of_int () =
--      {shared#{ Svg_f.Wrapped_functions.string_of_int }}
-+      {shared#{ Raw_wrapped_functions_svg.string_of_int }}
- 
-     let string_of_length () =
--      {shared#{ Svg_f.Wrapped_functions.string_of_length }}
-+      {shared#{ Raw_wrapped_functions_svg.string_of_length }}
- 
-     let string_of_lengths () =
--      {shared#{ Svg_f.Wrapped_functions.string_of_lengths }}
-+      {shared#{ Raw_wrapped_functions_svg.string_of_lengths }}
- 
-     let string_of_number () =
--      {shared#{ Svg_f.Wrapped_functions.string_of_number }}
-+      {shared#{ Raw_wrapped_functions_svg.string_of_number }}
- 
-     let string_of_number_optional_number () =
-       {shared#{
--         Svg_f.Wrapped_functions.string_of_number_optional_number }}
-+         Raw_wrapped_functions_svg.string_of_number_optional_number }}
- 
-     let string_of_numbers () =
--      {shared#{ Svg_f.Wrapped_functions.string_of_numbers }}
-+      {shared#{ Raw_wrapped_functions_svg.string_of_numbers }}
- 
-     let string_of_numbers_semicolon () =
--      {shared#{ Svg_f.Wrapped_functions.string_of_numbers_semicolon }}
-+      {shared#{ Raw_wrapped_functions_svg.string_of_numbers_semicolon }}
- 
-     let string_of_offset () =
--      {shared#{ Svg_f.Wrapped_functions.string_of_offset }}
-+      {shared#{ Raw_wrapped_functions_svg.string_of_offset }}
- 
-     let string_of_orient () =
--      {shared#{ Svg_f.Wrapped_functions.string_of_orient }}
-+      {shared#{ Raw_wrapped_functions_svg.string_of_orient }}
- 
-     let string_of_paint () =
--      {shared#{ Svg_f.Wrapped_functions.string_of_paint }}
-+      {shared#{ Raw_wrapped_functions_svg.string_of_paint }}
- 
-     let string_of_strokedasharray () =
--      {shared#{ Svg_f.Wrapped_functions.string_of_strokedasharray }}
-+      {shared#{ Raw_wrapped_functions_svg.string_of_strokedasharray }}
- 
-     let string_of_transform () =
--      {shared#{ Svg_f.Wrapped_functions.string_of_transform }}
-+      {shared#{ Raw_wrapped_functions_svg.string_of_transform }}
- 
-     let string_of_transforms () =
--      {shared#{ Svg_f.Wrapped_functions.string_of_transforms }}
-+      {shared#{ Raw_wrapped_functions_svg.string_of_transforms }}
- 
-   end
- 
-@@ -313,57 +322,72 @@ module Svg = struct
- 
-   end
- 
--end
-+end;;
-+
-+{shared{
-+module Raw_wrapped_functions =
-+  Html_f.Wrapped_functions(Eliom_content_core.Xml)
-+}}
-+
- 
- module Html5 = struct
- 
-   module Wrapped_functions :
- 
--    Html5_sigs.Wrapped_functions
--    with type (-'a, 'b) ft = ('a, 'b) Xml.W.ft =
-+    Html_sigs.Wrapped_functions with module Xml = Xml =
- 
-   struct
- 
-+    module Xml = Xml
-+
-     type (-'a, 'b) ft = ('a, 'b) Xml.W.ft
- 
-+    type image_candidate =
-+      [ `Url of Xml.uri
-+      | `Url_width of Xml.uri * Html_types.number
-+      | `Url_pixel of Xml.uri * Html_types.float_number ]
-+
-+    let onoff_of_bool () =
-+      {shared#{ Raw_wrapped_functions.onoff_of_bool }}
-+
-     let string_of_big_variant () =
--      {shared#{ Html5_f.Wrapped_functions.string_of_big_variant }}
-+      {shared#{ Raw_wrapped_functions.string_of_big_variant }}
- 
-     let string_of_bool () =
--      {shared#{ Html5_f.Wrapped_functions.string_of_bool }}
-+      {shared#{ Raw_wrapped_functions.string_of_bool }}
- 
-     let string_of_character () =
--      {shared#{ Html5_f.Wrapped_functions.string_of_character }}
-+      {shared#{ Raw_wrapped_functions.string_of_character }}
- 
-     let string_of_input_type () =
--      {shared#{ Html5_f.Wrapped_functions.string_of_input_type }}
-+      {shared#{ Raw_wrapped_functions.string_of_input_type }}
- 
-     let string_of_linktypes () =
--      {shared#{ Html5_f.Wrapped_functions.string_of_linktypes }}
-+      {shared#{ Raw_wrapped_functions.string_of_linktypes }}
- 
-     let string_of_mediadesc () =
--      {shared#{ Html5_f.Wrapped_functions.string_of_mediadesc }}
--
--    let string_of_multilength () =
--      {shared#{ Html5_f.Wrapped_functions.string_of_multilength }}
-+      {shared#{ Raw_wrapped_functions.string_of_mediadesc }}
- 
--    let string_of_multilengths () =
--      {shared#{ Html5_f.Wrapped_functions.string_of_multilengths }}
-+    let string_of_number_or_datetime () =
-+      {shared#{ Raw_wrapped_functions.string_of_number_or_datetime }}
- 
-     let string_of_numbers () =
--      {shared#{ Html5_f.Wrapped_functions.string_of_numbers }}
-+      {shared#{ Raw_wrapped_functions.string_of_numbers }}
- 
-     let string_of_sandbox () =
--      {shared#{ Html5_f.Wrapped_functions.string_of_sandbox }}
-+      {shared#{ Raw_wrapped_functions.string_of_sandbox }}
- 
-     let string_of_sizes () =
--      {shared#{ Html5_f.Wrapped_functions.string_of_sizes }}
-+      {shared#{ Raw_wrapped_functions.string_of_sizes }}
- 
-+    let string_of_srcset () =
-+      {shared#{ Raw_wrapped_functions.string_of_srcset }}
-+ 
-     let string_of_step () =
--      {shared#{ Html5_f.Wrapped_functions.string_of_step }}
-+      {shared#{ Raw_wrapped_functions.string_of_step }}
- 
-     let unoption_string () =
--      {shared#{ Html5_f.Wrapped_functions.unoption_string }}
-+      {shared#{ Raw_wrapped_functions.unoption_string }}
- 
-   end
- 
-Index: eliom-5.0.0/src/lib/eliom_shared_content.eliomi
-===================================================================
---- eliom-5.0.0.orig/src/lib/eliom_shared_content.eliomi
-+++ eliom-5.0.0/src/lib/eliom_shared_content.eliomi
-@@ -46,13 +46,13 @@ module Html5 : sig
- 
-   module R : sig
- 
--    include Html5_sigs.Make(Xml)(Svg.R).T
-+    include Html_sigs.Make(Xml)(Svg.R).T
-       with type 'a elt = 'a Eliom_content_core.Html5.elt
-        and type 'a attrib = 'a Eliom_content_core.Html5.attrib
- 
-     val pcdata :
-       string Eliom_shared.React.S.t ->
--      [> | Html5_types.span] elt
-+      [> | Html_types.span] elt
- 
-     val node : 'a elt Eliom_shared.React.S.t -> 'a elt
- 
-Index: eliom-5.0.0/src/lib/eliom_tools.eliom
-===================================================================
---- eliom-5.0.0.orig/src/lib/eliom_tools.eliom
-+++ eliom-5.0.0/src/lib/eliom_tools.eliom
-@@ -46,12 +46,12 @@ module type HTML5_TOOLS = sig
-       corresponding attributes in the generated [<ul>] node. The
-       default class for the [<ul>] node is [eliomtools_menu]. *)
-   val menu :
--    ?classe:Html5_types.nmtoken list ->
-+    ?classe:Html_types.nmtoken list ->
-     ?id:string ->
-     (([< get_service_kind ] as 'a,
-       [< registrable ] as 'b,
-       [< Eliom_registration.non_ocaml_service ] as 'c) one_page *
--        Html5_types.flow5_without_interactive Html5.elt list)
-+        Html_types.flow5_without_interactive Html5.elt list)
-       list ->
-     ?service:('a, 'b, 'c) one_page ->
-     unit ->
-@@ -74,12 +74,12 @@ module type HTML5_TOOLS = sig
-       See {!menu} for a description of the optional parameters [id]
-       and [classe]. *)
-   val hierarchical_menu_depth_first :
--    ?classe:Html5_types.nmtoken list ->
-+    ?classe:Html_types.nmtoken list ->
-     ?id:string ->
-     ?whole_tree:bool ->
-     ([< Eliom_service.get_service_kind ] as 'a,
-      [< Eliom_service.registrable ] as 'b,
--     Html5_types.a_content Html5.elt list)
-+     Html_types.a_content Html5.elt list)
-       hierarchical_site ->
-     ?service:('a, 'b, 'c) one_page ->
-     unit ->
-@@ -101,11 +101,11 @@ module type HTML5_TOOLS = sig
-       and [classe].
-   *)
-   val hierarchical_menu_breadth_first :
--    ?classe:Html5_types.nmtoken list ->
-+    ?classe:Html_types.nmtoken list ->
-     ?id:string ->
-     ([< Eliom_service.get_service_kind ] as 'a,
-      [< Eliom_service.registrable ] as 'b,
--     Html5_types.a_content Html5.elt list)
-+     Html_types.a_content Html5.elt list)
-       hierarchical_site ->
-     ?service:('a, 'b, [< Eliom_registration.non_ocaml_service]) one_page ->
-     unit ->
-@@ -121,7 +121,7 @@ module type HTML5_TOOLS = sig
-   val structure_links :
-     ([< Eliom_service.get_service_kind ] as 'a,
-      [< Eliom_service.registrable ] as 'b,
--     Html5_types.a_content Html5.elt list)
-+     Html_types.a_content Html5.elt list)
-     hierarchical_site ->
-     ?service:('a, 'b, [< Eliom_registration.non_ocaml_service ]) one_page ->
-     unit ->
-@@ -133,18 +133,18 @@ module type HTML5_TOOLS = sig
-     title:string ->
-     ?css:string list list ->
-     ?js:string list list ->
--    ?other:Html5_types.head_content_fun Html5.elt list ->
-+    ?other:Html_types.head_content_fun Html5.elt list ->
-     unit ->
--    Html5_types.head Html5.elt
-+    Html_types.head Html5.elt
- 
-   val html :
-     title:string ->
--    ?a:Html5_types.html_attrib Html5.attrib list ->
-+    ?a:Html_types.html_attrib Html5.attrib list ->
-     ?css:string list list ->
-     ?js:string list list ->
--    ?other_head:Html5_types.head_content_fun Html5.elt list ->
--    Html5_types.body Html5.elt ->
--    Html5_types.html Html5.elt
-+    ?other_head:Html_types.head_content_fun Html5.elt list ->
-+    Html_types.body Html5.elt ->
-+    Html_types.html Html5.elt
- end
- }}
- {server{
-@@ -167,7 +167,7 @@ let get_js_files () = let f = !js_files
- }}
- {shared{
- module Make(DorF : module type of Eliom_content.Html5.F) : HTML5_TOOLS = struct
--  open Html5_types
-+  open Html_types
-   open Html5.F
- 
-   let make_string_uri = Eliom_uri.make_string_uri
-@@ -450,7 +450,7 @@ module Make(DorF : module type of Eliom_
-       css_link ~uri () in
-     let mk_js_script path =
-       let uri = make_uri  (Eliom_service.static_dir ()) path in
--      js_script ~a:[a_defer `Defer] ~uri () in
-+      js_script ~a:[a_defer ()] ~uri () in
-     DorF.head
-       (title (pcdata ttl))
-       List.(map mk_css_link css @ map mk_js_script js @ other)
-@@ -484,7 +484,7 @@ let add_js_file path =
-       path
-   in
-   let script =
--    Html5.F.js_script ~a:[Html5.F.a_defer `Defer] ~uri ()
-+    Html5.F.js_script ~a:[Html5.F.a_defer ()] ~uri ()
-   in
-   ignore
-     Dom_html.document##head##appendChild (Html5.To_dom.of_node script)
-Index: eliom-5.0.0/src/lib/eliom_tools.eliomi
-===================================================================
---- eliom-5.0.0.orig/src/lib/eliom_tools.eliomi
-+++ eliom-5.0.0/src/lib/eliom_tools.eliomi
-@@ -105,12 +105,12 @@ module type HTML5_TOOLS = sig
-       corresponding attributes in the generated [<ul>] node. The
-       default class for the [<ul>] node is [eliomtools_menu]. *)
-   val menu :
--    ?classe:Html5_types.nmtoken list ->
-+    ?classe:Html_types.nmtoken list ->
-     ?id:string ->
-     (([< get_service_kind ] as 'a,
-       [< registrable ] as 'b,
-       [< Eliom_registration.non_ocaml_service ] as 'c) one_page *
--        Html5_types.flow5_without_interactive Html5.elt list)
-+        Html_types.flow5_without_interactive Html5.elt list)
-       list ->
-     ?service:('a, 'b, 'c) one_page ->
-     unit ->
-@@ -133,12 +133,12 @@ module type HTML5_TOOLS = sig
-       See {!menu} for a description of the optional parameters [id]
-       and [classe]. *)
-   val hierarchical_menu_depth_first :
--    ?classe:Html5_types.nmtoken list ->
-+    ?classe:Html_types.nmtoken list ->
-     ?id:string ->
-     ?whole_tree:bool ->
-     ([< Eliom_service.get_service_kind ] as 'a,
-      [< Eliom_service.registrable ] as 'b,
--     Html5_types.a_content Html5.elt list)
-+     Html_types.a_content Html5.elt list)
-       hierarchical_site ->
-     ?service:('a, 'b, 'c) one_page ->
-     unit ->
-@@ -160,11 +160,11 @@ module type HTML5_TOOLS = sig
-       and [classe].
-   *)
-   val hierarchical_menu_breadth_first :
--    ?classe:Html5_types.nmtoken list ->
-+    ?classe:Html_types.nmtoken list ->
-     ?id:string ->
-     ([< Eliom_service.get_service_kind ] as 'a,
-      [< Eliom_service.registrable ] as 'b,
--     Html5_types.a_content Html5.elt list)
-+     Html_types.a_content Html5.elt list)
-       hierarchical_site ->
-     ?service:('a, 'b, [< Eliom_registration.non_ocaml_service]) one_page ->
-     unit ->
-@@ -180,7 +180,7 @@ module type HTML5_TOOLS = sig
-   val structure_links :
-     ([< Eliom_service.get_service_kind ] as 'a,
-      [< Eliom_service.registrable ] as 'b,
--     Html5_types.a_content Html5.elt list)
-+     Html_types.a_content Html5.elt list)
-     hierarchical_site ->
-     ?service:('a, 'b, [< Eliom_registration.non_ocaml_service ]) one_page ->
-     unit ->
-@@ -192,18 +192,18 @@ module type HTML5_TOOLS = sig
-     title:string ->
-     ?css:string list list ->
-     ?js:string list list ->
--    ?other:Html5_types.head_content_fun Html5.elt list ->
-+    ?other:Html_types.head_content_fun Html5.elt list ->
-     unit ->
--    Html5_types.head Html5.elt
-+    Html_types.head Html5.elt
- 
-   val html :
-     title:string ->
--    ?a:Html5_types.html_attrib Html5.attrib list ->
-+    ?a:Html_types.html_attrib Html5.attrib list ->
-     ?css:string list list ->
-     ?js:string list list ->
--    ?other_head:Html5_types.head_content_fun Html5.elt list ->
--    Html5_types.body Html5.elt ->
--    Html5_types.html Html5.elt
-+    ?other_head:Html_types.head_content_fun Html5.elt list ->
-+    Html_types.body Html5.elt ->
-+    Html_types.html Html5.elt
- 
- end
- 
-Index: eliom-5.0.0/src/lib/server/extensions/atom_feed.ml
-===================================================================
---- eliom-5.0.0.orig/src/lib/server/extensions/atom_feed.ml
-+++ eliom-5.0.0/src/lib/server/extensions/atom_feed.ml
-@@ -23,7 +23,7 @@ open Eliom_lib
- (*
-  * types {{{
-  *)
--type uri = Xml.uri
-+type uri = Tyxml_xml.uri
- type lang = string
- type base = uri
- type ncname = string
-@@ -31,7 +31,7 @@ type dateConstruct = string
- type emailAddress = string
- type mediaType = string
- type length = int
--type href = Xml.uri
-+type href = Tyxml_xml.uri
- type hrefLang = string
- type rel = string
- type ltitle = string
-@@ -40,21 +40,21 @@ type label = string
- type term = string
- type metaAttr = [ `Base of base | `Lang of lang ]
- type personConstruct = [ `Uri of uri | `Email of emailAddress ]
--type author = Xml.elt
--type contributor = Xml.elt
--type generator = Xml.elt
--type id = Xml.elt
--type icon = Xml.elt
--type category = Xml.elt
--type link = Xml.elt
--type logo = Xml.elt
--type published = Xml.elt
--type updated = Xml.elt
--type source = Xml.elt
--type entry = Xml.elt
--type feed = Xml.elt
--type content = Xml.elt
--type textConstruct = Xml.attrib list * Xml.elt list
-+type author = Tyxml_xml.elt
-+type contributor = Tyxml_xml.elt
-+type generator = Tyxml_xml.elt
-+type id = Tyxml_xml.elt
-+type icon = Tyxml_xml.elt
-+type category = Tyxml_xml.elt
-+type link = Tyxml_xml.elt
-+type logo = Tyxml_xml.elt
-+type published = Tyxml_xml.elt
-+type updated = Tyxml_xml.elt
-+type source = Tyxml_xml.elt
-+type entry = Tyxml_xml.elt
-+type feed = Tyxml_xml.elt
-+type content = Tyxml_xml.elt
-+type textConstruct = Tyxml_xml.attrib list * Tyxml_xml.elt list
- type linkOAttr = [ metaAttr
-    | `Type of string
-    | `Rel of rel
-@@ -106,18 +106,18 @@ let xml_of_feed f = f
- (*
-  * attr converters {{{
-  *)
--let a_base = Xml.uri_attrib "base"
--let a_lang = Xml.string_attrib "lang"
--let a_scheme = Xml.string_attrib "scheme"
--let a_label = Xml.string_attrib "label"
--let a_href = Xml.uri_attrib "href"
--let a_rel = Xml.string_attrib "rel"
--let a_hreflang = Xml.string_attrib "hreflang"
--let a_medtype = Xml.string_attrib "mediatype"
--let a_title = Xml.string_attrib "title"
--let a_length = Xml.int_attrib "length"
--let a_term = Xml.string_attrib "term"
--let a_type = Xml.string_attrib "type"
-+let a_base = Tyxml_xml.uri_attrib "base"
-+let a_lang = Tyxml_xml.string_attrib "lang"
-+let a_scheme = Tyxml_xml.string_attrib "scheme"
-+let a_label = Tyxml_xml.string_attrib "label"
-+let a_href = Tyxml_xml.uri_attrib "href"
-+let a_rel = Tyxml_xml.string_attrib "rel"
-+let a_hreflang = Tyxml_xml.string_attrib "hreflang"
-+let a_medtype = Tyxml_xml.string_attrib "mediatype"
-+let a_title = Tyxml_xml.string_attrib "title"
-+let a_length = Tyxml_xml.int_attrib "length"
-+let a_term = Tyxml_xml.string_attrib "term"
-+let a_type = Tyxml_xml.string_attrib "type"
- (*
-  * }}}
-  *)
-@@ -128,7 +128,7 @@ let rec metaAttr_extract l = match l wit
-    | `Lang a :: r    -> a_lang a :: metaAttr_extract r | _ :: r          ->
-    metaAttr_extract r
- 
--let rec c_pcdata l = match l with | [] -> [] | a::r -> Xml.pcdata a :: c_pcdata
-+let rec c_pcdata l = match l with | [] -> [] | a::r -> Tyxml_xml.pcdata a :: c_pcdata
- r
- 
- let print_html5 l =
-@@ -138,33 +138,33 @@ let print_html5 l =
-   Eliom_content.Html5.Printer.print_list ~encode ~output l;
-   Buffer.contents buffer
- 
--let inlineC ?(meta = []) ?(html = false) c = `Content (Xml.node ~a:(a_type (if
-+let inlineC ?(meta = []) ?(html = false) c = `Content (Tyxml_xml.node ~a:(a_type (if
-             html then "html" else "text") :: metaAttr_extract meta) "content"
-       (c_pcdata c))
- 
- let html5C ?meta c =
-   inlineC ?meta ~html:true [print_html5 [Eliom_content.Html5.F.div c]]
- 
--let inlineOtherC ?(meta = []) (a,b) = `Content (Xml.node ~a:(a_medtype a ::
-+let inlineOtherC ?(meta = []) (a,b) = `Content (Tyxml_xml.node ~a:(a_medtype a ::
-          metaAttr_extract meta) "content" b)
- 
--let outOfLineC ?(meta = []) (a,b) = `Content (Xml.node ~a:(a_medtype a ::
--         Xml.uri_attrib "src" b :: metaAttr_extract meta) "content" [])
-+let outOfLineC ?(meta = []) (a,b) = `Content (Tyxml_xml.node ~a:(a_medtype a ::
-+         Tyxml_xml.uri_attrib "src" b :: metaAttr_extract meta) "content" [])
- 
- (*
-  * Extraction functions {{{
-  *)
- let rec personConstruct_extract l = match l with
-    | []              -> []
--   |`Email a :: r   -> Xml.node ~a:[] "email" [(Xml.pcdata a)] ::
-+   |`Email a :: r   -> Tyxml_xml.node ~a:[] "email" [(Tyxml_xml.pcdata a)] ::
-       personConstruct_extract r
--   | `Uri a :: r     -> Xml.node ~a:[] "uri" [(Xml.pcdata (Xml.string_of_uri a))] ::
-+   | `Uri a :: r     -> Tyxml_xml.node ~a:[] "uri" [(Tyxml_xml.pcdata (Tyxml_xml.string_of_uri a))] ::
-       personConstruct_extract r
-    | _ :: r          -> personConstruct_extract r
- 
- let rec linkOAttr_extract l = match l with
-    | []              -> []
--   | `Type a :: r    -> Xml.string_attrib "type" a :: linkOAttr_extract r
-+   | `Type a :: r    -> Tyxml_xml.string_attrib "type" a :: linkOAttr_extract r
-    | `Rel a :: r     -> a_rel a :: linkOAttr_extract r
-    | `Medtype a :: r -> a_medtype a :: linkOAttr_extract r
-    | `Hrefl a :: r   -> a_hreflang a :: linkOAttr_extract r
-@@ -181,8 +181,8 @@ let rec sourceOAttr_extract l = match l
-    | `Gen a :: r
-    | `Icon a :: r
-    | `Logo a :: r       -> a :: sourceOAttr_extract r
--   | `Rights (a,b) :: r -> Xml.node ~a "rights" b :: sourceOAttr_extract r
--   | `Sub (a,b) :: r    -> Xml.node ~a "subtitle" b :: sourceOAttr_extract r
-+   | `Rights (a,b) :: r -> Tyxml_xml.node ~a "rights" b :: sourceOAttr_extract r
-+   | `Sub (a,b) :: r    -> Tyxml_xml.node ~a "subtitle" b :: sourceOAttr_extract r
-    | _ :: r             -> sourceOAttr_extract r
- 
- let rec entryOAttr_extract l = match l with
-@@ -194,8 +194,8 @@ let rec entryOAttr_extract l = match l w
-    | `Content a :: r
-    | `Pub a :: r
-    | `Source a :: r     -> a :: entryOAttr_extract r
--   | `Rights (a,b) :: r -> Xml.node ~a "rights" b :: entryOAttr_extract r
--   | `Sum (a,b) :: r    -> Xml.node ~a "summary" b :: entryOAttr_extract r
-+   | `Rights (a,b) :: r -> Tyxml_xml.node ~a "rights" b :: entryOAttr_extract r
-+   | `Sum (a,b) :: r    -> Tyxml_xml.node ~a "summary" b :: entryOAttr_extract r
-    | _ :: r             -> entryOAttr_extract r
- 
- let rec feedOAttr_extract l = match l with
-@@ -207,8 +207,8 @@ let rec feedOAttr_extract l = match l wi
-    | `Gen a :: r
-    | `Icon a :: r
-    | `Logo a :: r       -> a :: feedOAttr_extract r
--   | `Rights (a,b) :: r -> Xml.node ~a "rights" b :: feedOAttr_extract r
--   | `Sub (a,b) :: r    -> Xml.node ~a "subtitle" b :: feedOAttr_extract r
-+   | `Rights (a,b) :: r -> Tyxml_xml.node ~a "rights" b :: feedOAttr_extract r
-+   | `Sub (a,b) :: r    -> Tyxml_xml.node ~a "subtitle" b :: feedOAttr_extract r
-    | _ :: r          -> feedOAttr_extract r
-  (*
-  * }}}
-@@ -217,8 +217,8 @@ let rec feedOAttr_extract l = match l wi
- (*
-  * Textconstructs [Rights, Subtitle, Summary, Title] {{{
-  *)
--let plain ?(meta = []) ?(html = false) content = (Xml.string_attrib "type"
--    (if html then "html" else "text"):: metaAttr_extract meta, [Xml.pcdata
-+let plain ?(meta = []) ?(html = false) content = (Tyxml_xml.string_attrib "type"
-+    (if html then "html" else "text"):: metaAttr_extract meta, [Tyxml_xml.pcdata
-     content])
- 
- let html5 ?meta content =
-@@ -234,30 +234,30 @@ let summary t = `Sum t
-  *)
- 
- let feed ~updated ~id ~title:(a,b) ?(fields = []) entries =
--   Xml.node ~a:(Xml.string_attrib "xmlns" "http://www.w3.org/2005/Atom" ::
-+   Tyxml_xml.node ~a:(Tyxml_xml.string_attrib "xmlns" "http://www.w3.org/2005/Atom" ::
-          metaAttr_extract fields)
-          "feed"
--         (Xml.node ~a:[] "updated" [ Xml.pcdata (date updated) ] ::
--            Xml.node ~a:[] "id" [ Xml.pcdata (Xml.string_of_uri id) ] :: Xml.node ~a "title" b ::
-+         (Tyxml_xml.node ~a:[] "updated" [ Tyxml_xml.pcdata (date updated) ] ::
-+            Tyxml_xml.node ~a:[] "id" [ Tyxml_xml.pcdata (Tyxml_xml.string_of_uri id) ] :: Tyxml_xml.node ~a "title" b ::
-             feedOAttr_extract fields @ entries)
- 
- let entry ~updated ~id ~title:(a,b) elt =
--   Xml.node ~a:(metaAttr_extract elt)
-+   Tyxml_xml.node ~a:(metaAttr_extract elt)
-          "entry"
--         (Xml.node ~a:[] "updated" [ Xml.pcdata (date updated) ] ::
--            Xml.node ~a:[] "id" [ Xml.pcdata (Xml.string_of_uri id) ] ::
--            Xml.node ~a "title" b ::
-+         (Tyxml_xml.node ~a:[] "updated" [ Tyxml_xml.pcdata (date updated) ] ::
-+            Tyxml_xml.node ~a:[] "id" [ Tyxml_xml.pcdata (Tyxml_xml.string_of_uri id) ] ::
-+            Tyxml_xml.node ~a "title" b ::
-             entryOAttr_extract elt)
- 
- let source ~updated ~id ~title:(a,b) elt = `Source (
--   Xml.node ~a:(metaAttr_extract elt)
-+   Tyxml_xml.node ~a:(metaAttr_extract elt)
-          "source"
--         (Xml.node ~a:[] "updated" [ Xml.pcdata (date updated) ] ::
--            Xml.node ~a:[] "id" [ Xml.pcdata (Xml.string_of_uri id) ] ::
--	       Xml.node ~a "title" b :: sourceOAttr_extract elt)
-+         (Tyxml_xml.node ~a:[] "updated" [ Tyxml_xml.pcdata (date updated) ] ::
-+            Tyxml_xml.node ~a:[] "id" [ Tyxml_xml.pcdata (Tyxml_xml.string_of_uri id) ] ::
-+	       Tyxml_xml.node ~a "title" b :: sourceOAttr_extract elt)
- 	 )
- 
--let link ?(elt = []) href = Xml.leaf ~a:(a_href href :: (linkOAttr_extract elt)
-+let link ?(elt = []) href = Tyxml_xml.leaf ~a:(a_href href :: (linkOAttr_extract elt)
-       @ (metaAttr_extract elt)) "link"
- 
- let links l = `Links l
-@@ -266,34 +266,34 @@ let email s = `Email s
- 
- let uri s = `Uri s
- 
--let author ?(elt = []) name = Xml.node ~a:[] "author" (Xml.node ~a:[] "name"
--      [Xml.pcdata name] :: personConstruct_extract elt)
-+let author ?(elt = []) name = Tyxml_xml.node ~a:[] "author" (Tyxml_xml.node ~a:[] "name"
-+      [Tyxml_xml.pcdata name] :: personConstruct_extract elt)
- 
- let authors l = `Authors l
- 
--let contributor ?(elt = []) name = Xml.node ~a:[] "contributor" (Xml.node ~a:[]
--      "name" [Xml.pcdata name] :: personConstruct_extract elt)
-+let contributor ?(elt = []) name = Tyxml_xml.node ~a:[] "contributor" (Tyxml_xml.node ~a:[]
-+      "name" [Tyxml_xml.pcdata name] :: personConstruct_extract elt)
- 
- let contributors l = `Contribs l
- 
--let icon address = `Icon (Xml.node ~a:[] "icon" [ Xml.pcdata (Xml.string_of_uri address) ])
-+let icon address = `Icon (Tyxml_xml.node ~a:[] "icon" [ Tyxml_xml.pcdata (Tyxml_xml.string_of_uri address) ])
- 
--let logo address = `Logo (Xml.node ~a:[] "icon" [ Xml.pcdata (Xml.string_of_uri address) ])
-+let logo address = `Logo (Tyxml_xml.node ~a:[] "icon" [ Tyxml_xml.pcdata (Tyxml_xml.string_of_uri address) ])
- 
- let category ?(meta = []) ?(scheme = "") ?(label = "") term content =
--   Xml.node ~a:(a_scheme scheme :: a_label label ::
-+   Tyxml_xml.node ~a:(a_scheme scheme :: a_label label ::
-                a_term term :: metaAttr_extract meta)
-          "category"
-          content
- 
- let categories l = `Cats l
- 
--let published d = `Pub (Xml.node ~a:[] "published" [ Xml.pcdata (date d) ])
-+let published d = `Pub (Tyxml_xml.node ~a:[] "published" [ Tyxml_xml.pcdata (date d) ])
- 
- (*
-  * }}}
-  *)
- 
--let insert_hub_links hubs feed = match Xml.content feed with
--   | Xml.Node (b, a, c)  -> Xml.node ~a b (List.map
-+let insert_hub_links hubs feed = match Tyxml_xml.content feed with
-+   | Tyxml_xml.Node (b, a, c)  -> Tyxml_xml.node ~a b (List.map
-          (fun uri -> link ~elt:[`Rel ("hub")] uri) hubs @ c) | _ -> assert false
-Index: eliom-5.0.0/src/lib/server/extensions/atom_feed.mli
-===================================================================
---- eliom-5.0.0.orig/src/lib/server/extensions/atom_feed.mli
-+++ eliom-5.0.0/src/lib/server/extensions/atom_feed.mli
-@@ -23,7 +23,7 @@
- (*
-  * types {{{
-  *)
--type uri = Xml.uri
-+type uri = Tyxml_xml.uri
- type lang = string
- type base = uri
- type ncname = string
-@@ -31,7 +31,7 @@ type dateConstruct = string
- type emailAddress = string
- type mediaType = string
- type length = int
--type href = Xml.uri
-+type href = Tyxml_xml.uri
- type hrefLang = string
- type rel = string
- type ltitle = string
-@@ -113,7 +113,7 @@ type feedOAttr = [ metaAttr
-  * Constructors {{{
-  *)
- 
--val xml_of_feed : feed -> Xml.elt
-+val xml_of_feed : feed -> Tyxml_xml.elt
- 
- (*
-  * attr converters {{{
-@@ -140,12 +140,12 @@ val inlineC : ?meta:[> metaAttr ] list
- 
- (** An html5 content, embedded in a div *)
- val html5C : ?meta:[> metaAttr ] list
--   -> ([ `PCDATA | Html5_types.flow5 ] Eliom_content.Html5.elt list)
-+   -> ([ `PCDATA | Html_types.flow5 ] Eliom_content.Html5.elt list)
-    -> [> `Content of content ]
- 
- (** Inline content from another kind *)
- val inlineOtherC : ?meta:[> metaAttr ] list
--   -> string * Xml.elt list
-+   -> string * Tyxml_xml.elt list
-    -> [> `Content of content ]
- 
- (** Every other content *)
-@@ -161,7 +161,7 @@ val plain : ?meta:[> metaAttr ] list
- 
- (** HTML5 text construct *)
- val html5 : ?meta:[> metaAttr ] list
--   -> [ `PCDATA | Html5_types.flow5 ] Eliom_content.Html5.elt list
-+   -> [ `PCDATA | Html_types.flow5 ] Eliom_content.Html5.elt list
-    -> textConstruct
- 
- (** Rights tag *)
-@@ -240,7 +240,7 @@ val logo : uri -> [> `Logo of logo ]
- val category :
-   ?meta:[> metaAttr ] list ->
-   ?scheme:scheme -> ?label:label ->
--  term -> Xml.elt list -> category
-+  term -> Tyxml_xml.elt list -> category
- 
- (** We need a list of categories, this is only a converter from category list
-  to `Categories *)
-Index: eliom-5.0.0/src/lib/server/extensions/eliom_atom.ml
-===================================================================
---- eliom-5.0.0.orig/src/lib/server/extensions/eliom_atom.ml
-+++ eliom-5.0.0/src/lib/server/extensions/eliom_atom.ml
-@@ -33,7 +33,7 @@ module Atom_info = struct
-   let emptytags = []
- end
- 
--module Format = Xml_print.Make_simple(Xml)(Atom_info)
-+module Format = Xml_print.Make_simple(Tyxml_xml)(Atom_info)
- 
- let result_of_content feed headers =
-   let b = Buffer.create 10 in
-@@ -118,7 +118,7 @@ let rec ping_hub u address t =
- 
- let rec nfu_s hubs address = match hubs with
-    | []     -> ()
--   | s :: r -> let u = Neturl.parse_url (Xml.string_of_uri s) in ignore (ping_hub u address 1.) ;
-+   | s :: r -> let u = Neturl.parse_url (Tyxml_xml.string_of_uri s) in ignore (ping_hub u address 1.) ;
-       nfu_s r address
- 
- let notify_feed_updates address hubs s =
-Index: eliom-5.0.0/src/lib/sigs/eliom_html5_reg.mli
-===================================================================
---- eliom-5.0.0.orig/src/lib/sigs/eliom_html5_reg.mli
-+++ eliom-5.0.0/src/lib/sigs/eliom_html5_reg.mli
-@@ -1,5 +1,5 @@
- include "sigs/eliom_reg.mli"
--  subst type page    := Html5_types.html Eliom_content.Html5.elt
-+  subst type page    := Html_types.html Eliom_content.Html5.elt
-     and type options := unit
-     and type return  := http_service
-     and type returnB := [> http_service ]
-Index: eliom-5.0.0/src/lib/server/monitor/eliom_monitor.mli
-===================================================================
---- eliom-5.0.0.orig/src/lib/server/monitor/eliom_monitor.mli
-+++ eliom-5.0.0/src/lib/server/monitor/eliom_monitor.mli
-@@ -23,5 +23,5 @@ val pid : unit -> int
- 
- val fd : pid:int -> [`Ok of int | `Error of string]
- 
--val content_div : unit -> [> Html5_types.div ] Eliom_content.Html5.elt Lwt.t
--val content_html : unit -> [> Html5_types.html ] Eliom_content.Html5.elt Lwt.t
-+val content_div : unit -> [> Html_types.div ] Eliom_content.Html5.elt Lwt.t
-+val content_html : unit -> [> Html_types.html ] Eliom_content.Html5.elt Lwt.t


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-12-19 12:54 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-01 18:47 [gentoo-commits] repo/gentoo:master commit in: dev-ml/eliom/, dev-ml/eliom/files/ Alexis Ballier
  -- strict thread matches above, loose matches on Subject: below --
2016-12-19 12:54 Alexis Ballier
2016-10-10 14:03 Alexis Ballier
2016-08-12 12:47 Alexis Ballier
2016-08-12 11:05 Alexis Ballier
2016-01-19 12:18 Alexis Ballier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox