commit:     cbc29b26347423fa03e477352f098a522f994125
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Sun May  1 18:09:34 2016 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Tue May  3 09:13:52 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cbc29b26

dev-ml/ppx_driver: fix build with ocaml 4.03

Package-Manager: portage-2.2.28
Signed-off-by: Alexis Ballier <aballier <AT> gentoo.org>

 dev-ml/ppx_driver/files/oc43.patch            | 67 +++++++++++++++++++++++++++
 dev-ml/ppx_driver/ppx_driver-113.33.00.ebuild |  6 ++-
 2 files changed, 72 insertions(+), 1 deletion(-)

diff --git a/dev-ml/ppx_driver/files/oc43.patch 
b/dev-ml/ppx_driver/files/oc43.patch
new file mode 100644
index 0000000..630d6bf
--- /dev/null
+++ b/dev-ml/ppx_driver/files/oc43.patch
@@ -0,0 +1,67 @@
+diff -uNr ppx_driver-113.33.00/_oasis ppx_driver-113.33.00+4.03/_oasis
+--- ppx_driver-113.33.00/_oasis        2016-03-09 16:44:54.000000000 +0100
++++ ppx_driver-113.33.00+4.03/_oasis   2016-03-22 15:13:50.000000000 +0100
+@@ -1,8 +1,8 @@
+ OASISFormat:      0.4
+-OCamlVersion:     >= 4.02.3
++OCamlVersion:     >= 4.03.0
+ FindlibVersion:   >= 1.3.2
+ Name:             ppx_driver
+-Version:          113.33.00
++Version:          113.33.00+4.03
+ Synopsis:         Feature-full driver for OCaml AST transformers
+ Authors:          Jane Street Group, LLC <[email protected]>
+ Copyrights:       (C) 2015-2016 Jane Street Group LLC 
<[email protected]>
+diff -uNr ppx_driver-113.33.00/opam ppx_driver-113.33.00+4.03/opam
+--- ppx_driver-113.33.00/opam  2016-03-18 12:08:01.000000000 +0100
++++ ppx_driver-113.33.00+4.03/opam     2016-03-22 17:51:36.000000000 +0100
+@@ -16,4 +16,4 @@
+   "ppx_core"
+   "ppx_optcomp"
+ ]
+-available: [ ocaml-version >= "4.02.3" ]
++available: [ ocaml-version >= "4.03.0" ]
+diff -uNr ppx_driver-113.33.00/src/ppx_driver.ml 
ppx_driver-113.33.00+4.03/src/ppx_driver.ml
+--- ppx_driver-113.33.00/src/ppx_driver.ml     2016-03-09 16:44:54.000000000 
+0100
++++ ppx_driver-113.33.00+4.03/src/ppx_driver.ml        2016-03-22 
15:13:50.000000000 +0100
+@@ -111,6 +111,24 @@
+   |> fst
+ ;;
+ 
++let remove_empty_lets = object
++  inherit Ast_traverse.map as super
++
++  method! structure_item st =
++    let st = super#structure_item st in
++    match st.pstr_desc with
++    | Pstr_value (_, []) ->
++      let (module B) = Ast_builder.make st.pstr_loc in
++      B.pstr_value Nonrecursive [B.value_binding ~pat:B.punit ~expr:B.eunit]
++    | _ -> st
++
++  method! expression e =
++    let e = super#expression e in
++    match e.pexp_desc with
++    | Pexp_let (_, [], e) -> e
++    | _ -> e
++end
++
+ let map_structure st =
+   let st =
+     if !perform_checks then begin
+@@ -123,6 +141,7 @@
+     apply_transforms st ~field:(fun (ct : Transform.t) -> ct.impl)
+       ~dropped_so_far:Attribute.dropped_so_far_structure
+   in
++  let st = remove_empty_lets#structure st in
+   if !perform_checks then begin
+     Attribute.check_unused#structure st;
+     Extension.check_unused#structure st;
+@@ -143,6 +162,7 @@
+     apply_transforms sg ~field:(fun ct -> ct.intf)
+       ~dropped_so_far:Attribute.dropped_so_far_signature
+   in
++  let sg = remove_empty_lets#signature sg in
+   if !perform_checks then begin
+     Attribute.check_unused#signature sg;
+     Extension.check_unused#signature sg;

diff --git a/dev-ml/ppx_driver/ppx_driver-113.33.00.ebuild 
b/dev-ml/ppx_driver/ppx_driver-113.33.00.ebuild
index 9e4a762..798b803 100644
--- a/dev-ml/ppx_driver/ppx_driver-113.33.00.ebuild
+++ b/dev-ml/ppx_driver/ppx_driver-113.33.00.ebuild
@@ -4,7 +4,7 @@
 
 EAPI="5"
 
-inherit oasis
+inherit oasis eutils
 
 DESCRIPTION="Feature-full driver for OCaml AST transformers"
 HOMEPAGE="http://www.janestreet.com/ocaml";
@@ -22,6 +22,10 @@ DEPEND="dev-ml/ppx_tools:=
 RDEPEND="${DEPEND}"
 DEPEND="${DEPEND} dev-ml/opam"
 
+src_prepare() {
+       has_version '>=dev-lang/ocaml-4.03' && epatch "${FILESDIR}/oc43.patch"
+}
+
 src_configure() {
        emake setup.exe
        OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure

Reply via email to