dev-ml/eliom: backport upstream patch to build with tyxml 3.6
authorAlexis Ballier <aballier@gentoo.org>
Tue, 19 Jan 2016 12:18:04 +0000 (13:18 +0100)
committerAlexis Ballier <aballier@gentoo.org>
Tue, 19 Jan 2016 12:18:04 +0000 (13:18 +0100)
Package-Manager: portage-2.2.27
Signed-off-by: Alexis Ballier <aballier@gentoo.org>
dev-ml/eliom/eliom-4.2.ebuild
dev-ml/eliom/files/tyxml36.patch [new file with mode: 0644]

index 44f4cd59e8e8f06a48f0b852a3f40ba056bcf4eb..4f7efd737f5894a7eb4a4c008b5a541d0dad5734 100644 (file)
@@ -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 (file)
index 0000000..02ac3f1
--- /dev/null
@@ -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