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 <g...@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
+ 

Reply via email to