commit:     10e1908cf37a3df1d04856cc5b426ede061195f5
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 27 12:54:36 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=10e1908c

dev-ml/extlib: Fix build with ocaml 4.05

Package-Manager: Portage-2.3.5, Repoman-2.3.2

 dev-ml/extlib/extlib-1.7.1.ebuild  |  4 ++++
 dev-ml/extlib/files/ocaml405.patch | 35 +++++++++++++++++++++++++++++++++++
 2 files changed, 39 insertions(+)

diff --git a/dev-ml/extlib/extlib-1.7.1.ebuild 
b/dev-ml/extlib/extlib-1.7.1.ebuild
index 17444f6a356..50788c3c054 100644
--- a/dev-ml/extlib/extlib-1.7.1.ebuild
+++ b/dev-ml/extlib/extlib-1.7.1.ebuild
@@ -19,6 +19,10 @@ KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
 IUSE="doc +ocamlopt"
 S="${WORKDIR}/ocaml-${P}"
 
+src_prepare() {
+       epatch "${FILESDIR}/ocaml405.patch"
+}
+
 src_compile() {
        cd src
        emake -j1 all

diff --git a/dev-ml/extlib/files/ocaml405.patch 
b/dev-ml/extlib/files/ocaml405.patch
new file mode 100644
index 00000000000..4e3b04a1c8e
--- /dev/null
+++ b/dev-ml/extlib/files/ocaml405.patch
@@ -0,0 +1,35 @@
+Index: ocaml-extlib-1.7.1/src/configure.ml
+===================================================================
+--- ocaml-extlib-1.7.1.orig/src/configure.ml
++++ ocaml-extlib-1.7.1/src/configure.ml
+@@ -3,5 +3,6 @@ let () =
+   print_endline (if Sys.ocaml_version >= "4.02.0" then "-D OCAML4_02 " else 
"");
+   print_endline (if Sys.ocaml_version >= "4.03.0" then "-D OCAML4_03 " else 
"");
+   print_endline (if Sys.ocaml_version >= "4.04.0" then "-D OCAML4_04 " else 
"");
++  print_endline (if Sys.ocaml_version >= "4.05.0" then "-D OCAML4_05 " else 
"");
+   let (_:int) = Sys.command "ocamlfind query -format \"-D WITH_BYTES\" bytes" 
in ();
+   exit 0
+Index: ocaml-extlib-1.7.1/src/extHashtbl.mli
+===================================================================
+--- ocaml-extlib-1.7.1.orig/src/extHashtbl.mli
++++ ocaml-extlib-1.7.1/src/extHashtbl.mli
+@@ -132,6 +132,9 @@ module type S =
+     val add : 'a t -> key -> 'a -> unit
+     val remove : 'a t -> key -> unit
+     val find : 'a t -> key -> 'a
++#ifdef OCAML4_05
++    val find_opt:  'a t -> key -> 'a option
++#endif
+     val find_all : 'a t -> key -> 'a list
+     val replace : 'a t -> key -> 'a -> unit
+     val mem : 'a t -> key -> bool
+@@ -167,6 +170,9 @@ module type SeededS =
+     val add : 'a t -> key -> 'a -> unit
+     val remove : 'a t -> key -> unit
+     val find : 'a t -> key -> 'a
++#ifdef OCAML4_05
++    val find_opt : 'a t -> key -> 'a option
++#endif
+     val find_all : 'a t -> key -> 'a list
+     val replace : 'a t -> key -> 'a -> unit
+     val mem : 'a t -> key -> bool

Reply via email to