commit:     0bea6212ce59f53fe81d0806798b659480a67882
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 27 12:04:39 2017 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Mon Mar 27 13:59:25 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0bea6212

dev-ml/camomile: Backport upstream patch to build with ocaml 4.05

Package-Manager: Portage-2.3.5, Repoman-2.3.2

 dev-ml/camomile/camomile-0.8.5-r1.ebuild |  6 ++++-
 dev-ml/camomile/files/ocaml405.patch     | 40 ++++++++++++++++++++++++++++++++
 2 files changed, 45 insertions(+), 1 deletion(-)

diff --git a/dev-ml/camomile/camomile-0.8.5-r1.ebuild 
b/dev-ml/camomile/camomile-0.8.5-r1.ebuild
index 14fd515c631..68d9d15dcc3 100644
--- a/dev-ml/camomile/camomile-0.8.5-r1.ebuild
+++ b/dev-ml/camomile/camomile-0.8.5-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=5
@@ -20,6 +20,10 @@ RDEPEND="
 "
 DEPEND="${RDEPEND}"
 
+src_prepare() {
+       has_version '>=dev-lang/ocaml-4.05_beta' && epatch 
"${FILESDIR}/ocaml405.patch"
+}
+
 src_configure() {
        econf $(use_enable debug)
 }

diff --git a/dev-ml/camomile/files/ocaml405.patch 
b/dev-ml/camomile/files/ocaml405.patch
new file mode 100644
index 00000000000..3fec6955a27
--- /dev/null
+++ b/dev-ml/camomile/files/ocaml405.patch
@@ -0,0 +1,40 @@
+commit 0fa0a19f15998e89e4b04150dd74529bbd406f42
+Author: Gabriel Scherer <[email protected]>
+Date:   Fri Feb 24 22:30:23 2017 -0500
+
+    4.05 compatibility: use explicit module signatures
+    
+    In 4.05, checking for non-generalizable inference variable ('_a)
+    (forbidden in toplevel modules and functors) happens before checking
+    the .ml file against the .mli signature, so non-generalizable
+    variables that were previously resolved through the .mli constraint
+    are now underspecified and result in a compilation failure
+    (see MPR#7414, GPR#929). This commit adds enough annotations to avoid
+    such underspecified variables in functors.
+
+diff --git a/Camomile/internal/unimap.ml b/Camomile/internal/unimap.ml
+index b6fdbde..6a7cc30 100644
+--- a/Camomile/internal/unimap.ml
++++ b/Camomile/internal/unimap.ml
+@@ -58,7 +58,7 @@ val of_name : string -> t
+ end
+ 
+ 
+-module Make (Config : ConfigInt.Type) = struct
++module Make (Config : ConfigInt.Type) : Type = struct
+ 
+ type mapping = {no_char : int; tbl : Tbl31.Bytes.t}
+ 
+diff --git a/Camomile/public/uCharInfo.ml b/Camomile/public/uCharInfo.ml
+index 69bf141..6a0337a 100644
+--- a/Camomile/public/uCharInfo.ml
++++ b/Camomile/public/uCharInfo.ml
+@@ -298,7 +298,7 @@ val load_composition_exclusion_tbl : unit -> 
UCharTbl.Bool.t
+ 
+ end
+ 
+-module Make (Config : ConfigInt.Type) = struct
++module Make (Config : ConfigInt.Type) : Type = struct
+ include Unidata.Make(Config)
+ 
+ (* General category *)

Reply via email to