diff options
author | Alexis Ballier <aballier@gentoo.org> | 2016-11-29 13:37:39 +0100 |
---|---|---|
committer | Alexis Ballier <aballier@gentoo.org> | 2016-11-29 16:05:22 +0100 |
commit | b16ff5e76b8aa2daf85deddf3eba603c8e263a80 (patch) | |
tree | 17feefd169cfaf0b0299e8c9b89b2e5551a3b50f /dev-ml | |
parent | net-nntp/sabnzbd: remove 1.1.0 (diff) | |
download | gentoo-b16ff5e76b8aa2daf85deddf3eba603c8e263a80.tar.gz gentoo-b16ff5e76b8aa2daf85deddf3eba603c8e263a80.tar.bz2 gentoo-b16ff5e76b8aa2daf85deddf3eba603c8e263a80.zip |
dev-ml/ppx_tools: backport upstream fixes for ocaml 4.04
Package-Manager: portage-2.3.2
Diffstat (limited to 'dev-ml')
-rw-r--r-- | dev-ml/ppx_tools/files/ocaml404.patch | 47 | ||||
-rw-r--r-- | dev-ml/ppx_tools/ppx_tools-5.0.4.03.0.ebuild | 6 |
2 files changed, 52 insertions, 1 deletions
diff --git a/dev-ml/ppx_tools/files/ocaml404.patch b/dev-ml/ppx_tools/files/ocaml404.patch new file mode 100644 index 000000000000..8a2ccee071e4 --- /dev/null +++ b/dev-ml/ppx_tools/files/ocaml404.patch @@ -0,0 +1,47 @@ +Index: ppx_tools-5.0-4.03.0/ast_mapper_class.ml +=================================================================== +--- ppx_tools-5.0-4.03.0.orig/ast_mapper_class.ml ++++ ppx_tools-5.0-4.03.0/ast_mapper_class.ml +@@ -335,6 +335,7 @@ module P = struct + | Ppat_unpack s -> unpack ~loc ~attrs (map_loc sub s) + | Ppat_exception p -> exception_ ~loc ~attrs (sub # pat p) + | Ppat_extension x -> extension ~loc ~attrs (sub # extension x) ++ | Ppat_open (l, p) -> open_ ~loc ~attrs (map_loc sub l) (sub # pat p) + end + + module CE = struct +Index: ppx_tools-5.0-4.03.0/genlifter.ml +=================================================================== +--- ppx_tools-5.0-4.03.0.orig/genlifter.ml ++++ ppx_tools-5.0-4.03.0/genlifter.ml +@@ -49,8 +49,8 @@ module Main : sig end = struct + let rec gen ty = + if Hashtbl.mem printed ty then () + else let tylid = Longident.parse ty in +- let (_, td) = +- try Env.lookup_type tylid env ++ let td = ++ try Env.find_type (Env.lookup_type tylid env) env + with Not_found -> + Format.eprintf "** Cannot resolve type %s@." ty; + exit 2 +Index: ppx_tools-5.0-4.03.0/rewriter.ml +=================================================================== +--- ppx_tools-5.0-4.03.0.orig/rewriter.ml ++++ ppx_tools-5.0-4.03.0/rewriter.ml +@@ -92,13 +92,13 @@ let () = + | `Struct -> + let pstr = Parse.implementation lexer in + let pstr = Pparse.apply_rewriters (* ~restore:true *) ~tool_name:!tool_name +- Config.ast_impl_magic_number pstr in ++ Pparse.Structure pstr in + Pprintast.structure fmt pstr; + Format.pp_print_newline fmt () + | `Sig -> + let psig = Parse.interface lexer in + let psig = Pparse.apply_rewriters (* ~restore:true *) ~tool_name:!tool_name +- Config.ast_intf_magic_number psig in ++ Pparse.Signature psig in + Pprintast.signature fmt psig; + Format.pp_print_newline fmt ()) + with exn -> diff --git a/dev-ml/ppx_tools/ppx_tools-5.0.4.03.0.ebuild b/dev-ml/ppx_tools/ppx_tools-5.0.4.03.0.ebuild index 0caa4d7a3dcb..1b7a8601f9d2 100644 --- a/dev-ml/ppx_tools/ppx_tools-5.0.4.03.0.ebuild +++ b/dev-ml/ppx_tools/ppx_tools-5.0.4.03.0.ebuild @@ -4,7 +4,7 @@ EAPI=5 -inherit findlib versionator +inherit findlib versionator eutils MY_PV=$(replace_version_separator 2 '+') DESCRIPTION="Tools for authors of ppx rewriters" @@ -20,6 +20,10 @@ DEPEND=">=dev-lang/ocaml-4.03.0:=" RDEPEND="${DEPEND}" S="${WORKDIR}/${PN}-$(replace_version_separator 2 '-')" +src_prepare() { + has_version '>=dev-lang/ocaml-4.04_beta' && epatch "${FILESDIR}/ocaml404.patch" +} + src_compile() { emake -j1 } |