summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-ml/camomile')
-rw-r--r--dev-ml/camomile/camomile-0.8.5-r1.ebuild6
-rw-r--r--dev-ml/camomile/files/ocaml405.patch40
2 files changed, 45 insertions, 1 deletions
diff --git a/dev-ml/camomile/camomile-0.8.5-r1.ebuild b/dev-ml/camomile/camomile-0.8.5-r1.ebuild
index 14fd515c631d..68d9d15dcc3e 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 000000000000..3fec6955a27c
--- /dev/null
+++ b/dev-ml/camomile/files/ocaml405.patch
@@ -0,0 +1,40 @@
+commit 0fa0a19f15998e89e4b04150dd74529bbd406f42
+Author: Gabriel Scherer <gabriel.scherer@gmail.com>
+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 *)