diff options
Diffstat (limited to 'dev-ml/ocaml-mysql')
-rw-r--r-- | dev-ml/ocaml-mysql/files/oc43.patch | 37 | ||||
-rw-r--r-- | dev-ml/ocaml-mysql/ocaml-mysql-1.2.0.ebuild | 4 |
2 files changed, 41 insertions, 0 deletions
diff --git a/dev-ml/ocaml-mysql/files/oc43.patch b/dev-ml/ocaml-mysql/files/oc43.patch new file mode 100644 index 000000000000..5782c343cdab --- /dev/null +++ b/dev-ml/ocaml-mysql/files/oc43.patch @@ -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)); + } diff --git a/dev-ml/ocaml-mysql/ocaml-mysql-1.2.0.ebuild b/dev-ml/ocaml-mysql/ocaml-mysql-1.2.0.ebuild index 76292cff82b2..af4aeb1b8643 100644 --- a/dev-ml/ocaml-mysql/ocaml-mysql-1.2.0.ebuild +++ b/dev-ml/ocaml-mysql/ocaml-mysql-1.2.0.ebuild @@ -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 |