summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexis Ballier <aballier@gentoo.org>2016-01-19 13:18:04 +0100
committerAlexis Ballier <aballier@gentoo.org>2016-01-19 13:18:04 +0100
commit63883f105e1b97a4b5d3b90b35243459b4c74660 (patch)
treeb1ba692f8f50f5d9737db0453b5ea3299e7533e9 /dev-ml/eliom
parentdev-ml/eliom: fix deps; opam is build dep only (diff)
downloadgentoo-63883f105e1b97a4b5d3b90b35243459b4c74660.tar.gz
gentoo-63883f105e1b97a4b5d3b90b35243459b4c74660.tar.bz2
gentoo-63883f105e1b97a4b5d3b90b35243459b4c74660.zip
dev-ml/eliom: backport upstream patch to build with tyxml 3.6
Package-Manager: portage-2.2.27 Signed-off-by: Alexis Ballier <aballier@gentoo.org>
Diffstat (limited to 'dev-ml/eliom')
-rw-r--r--dev-ml/eliom/eliom-4.2.ebuild6
-rw-r--r--dev-ml/eliom/files/tyxml36.patch125
2 files changed, 130 insertions, 1 deletions
diff --git a/dev-ml/eliom/eliom-4.2.ebuild b/dev-ml/eliom/eliom-4.2.ebuild
index 44f4cd59e8e..4f7efd737f5 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 00000000000..02ac3f181e7
--- /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
+