dev-ml/ppx_tools: backport upstream fixes for ocaml 4.04

Package-Manager: portage-2.3.2
This commit is contained in:
Alexis Ballier
2016-11-29 13:37:39 +01:00
parent 201562fcf6
commit b16ff5e76b
2 changed files with 52 additions and 1 deletions

View File

@@ -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 ->

View File

@@ -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
}