Skip to content

Commit

Permalink
dev-ml/camomile: Backport upstream patch to build with ocaml 4.05
Browse files Browse the repository at this point in the history
Package-Manager: Portage-2.3.5, Repoman-2.3.2
  • Loading branch information
aballier committed Mar 27, 2017
1 parent 2096de6 commit 0bea621
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 1 deletion.
6 changes: 5 additions & 1 deletion dev-ml/camomile/camomile-0.8.5-r1.ebuild
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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)
}
Expand Down
40 changes: 40 additions & 0 deletions dev-ml/camomile/files/ocaml405.patch
Original file line number Diff line number Diff line change
@@ -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 *)

0 comments on commit 0bea621

Please sign in to comment.