summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexis Ballier <aballier@gentoo.org>2016-05-01 17:16:29 +0200
committerAlexis Ballier <aballier@gentoo.org>2016-05-03 11:13:52 +0200
commita5cc44195933bd43f9b584dfc988113ef94c509a (patch)
treebd4b7f0b3dd40277dbedfb75562bfd28365b637a
parentdev-ml/ocaml-mysql: fix build with ocaml 4.03 (diff)
downloadgentoo-a5cc44195933bd43f9b584dfc988113ef94c509a.tar.gz
gentoo-a5cc44195933bd43f9b584dfc988113ef94c509a.tar.bz2
gentoo-a5cc44195933bd43f9b584dfc988113ef94c509a.zip
dev-ml/deriving: fix build with ocaml 4.03
Package-Manager: portage-2.2.28 Signed-off-by: Alexis Ballier <aballier@gentoo.org>
-rw-r--r--dev-ml/deriving/deriving-0.7.ebuild1
-rw-r--r--dev-ml/deriving/files/oc43.patch24
2 files changed, 25 insertions, 0 deletions
diff --git a/dev-ml/deriving/deriving-0.7.ebuild b/dev-ml/deriving/deriving-0.7.ebuild
index 9ce44589d7a7..a37c6ee105cc 100644
--- a/dev-ml/deriving/deriving-0.7.ebuild
+++ b/dev-ml/deriving/deriving-0.7.ebuild
@@ -29,6 +29,7 @@ DEPEND="${RDEPEND}
DOCS=( CHANGES README.md )
oasis_configure_opts="--enable-tc"
OASIS_SETUP_COMMAND="./setup.exe"
+PATCHES=( "${FILESDIR}/oc43.patch" )
src_configure() {
emake setup.exe
diff --git a/dev-ml/deriving/files/oc43.patch b/dev-ml/deriving/files/oc43.patch
new file mode 100644
index 000000000000..036934316f58
--- /dev/null
+++ b/dev-ml/deriving/files/oc43.patch
@@ -0,0 +1,24 @@
+commit 926305bb6fc95494064e75ceafc6443b62d3773b
+Author: Vasilis Papavasileiou <git@vasilis.airpost.net>
+Date: Tue Mar 29 15:42:38 2016 +0200
+
+ Fix DELETE_RULE for 4.03 (nonrec flag)
+
+diff --git a/syntax/std/pa_deriving_std.ml b/syntax/std/pa_deriving_std.ml
+index 1ec000c..dde8d9e 100644
+--- a/syntax/std/pa_deriving_std.ml
++++ b/syntax/std/pa_deriving_std.ml
+@@ -18,8 +18,13 @@ struct
+ open Camlp4.PreCast
+ include Syntax
+
++#if ocaml_version >= (4, 03)
++ DELETE_RULE Gram str_item: "type"; opt_nonrec; type_declaration END
++ DELETE_RULE Gram sig_item: "type"; opt_nonrec; type_declaration END
++#else
+ DELETE_RULE Gram str_item: "type"; type_declaration END
+ DELETE_RULE Gram sig_item: "type"; type_declaration END
++#endif
+
+ open Ast
+