dev-ml/ocaml-mysql: fix build with ocaml 4.03
authorAlexis Ballier <aballier@gentoo.org>
Sun, 1 May 2016 14:44:09 +0000 (16:44 +0200)
committerAlexis Ballier <aballier@gentoo.org>
Tue, 3 May 2016 09:13:52 +0000 (11:13 +0200)
Package-Manager: portage-2.2.28
Signed-off-by: Alexis Ballier <aballier@gentoo.org>
dev-ml/ocaml-mysql/files/oc43.patch [new file with mode: 0644]
dev-ml/ocaml-mysql/ocaml-mysql-1.2.0.ebuild

diff --git a/dev-ml/ocaml-mysql/files/oc43.patch b/dev-ml/ocaml-mysql/files/oc43.patch
new file mode 100644 (file)
index 0000000..5782c34
--- /dev/null
@@ -0,0 +1,37 @@
+Index: ocaml-mysql-1.2.0/mysql_stubs.c
+===================================================================
+--- ocaml-mysql-1.2.0.orig/mysql_stubs.c
++++ ocaml-mysql-1.2.0/mysql_stubs.c
+@@ -508,14 +508,14 @@ db_fetch (value result)
+ EXTERNAL value
+ db_to_row(value result, value offset) {
+-  int64 off = Int64_val(offset);
++  int64_t off = Int64_val(offset);
+   MYSQL_RES *res;
+   res = RESval(result);
+   if (!res) 
+     mysqlfailwith("Mysql.to_row: result did not return fetchable data");
+-  if (off < 0 || off > (int64)mysql_num_rows(res)-1)
++  if (off < 0 || off > (int64_t)mysql_num_rows(res)-1)
+     invalid_argument("Mysql.to_row: offset out of range");
+   mysql_data_seek(res, off);
+@@ -640,13 +640,13 @@ db_size(value result)
+ {
+   CAMLparam1(result);
+   MYSQL_RES *res;
+-  int64 size;
++  int64_t size;
+   res = RESval(result);
+   if (!res)
+     size = 0;
+   else
+-    size = (int64)(mysql_num_rows(res));
++    size = (int64_t)(mysql_num_rows(res));
+   
+   CAMLreturn(copy_int64(size));
+ }
index 76292cff82b22cbebc147fab61c3109cd616453f..af4aeb1b864310e3db9ff5962c5619493bcc1246 100644 (file)
@@ -22,6 +22,10 @@ SLOT="0/${PV}"
 LICENSE="LGPL-2"
 KEYWORDS="~amd64 ~ppc ~x86"
 
+src_prepare() {
+       has_version '>=dev-lang/ocaml-4.03' && epatch "${FILESDIR}/oc43.patch"
+}
+
 src_compile()
 {
        emake all