diff options
author | Alexis Ballier <aballier@gentoo.org> | 2016-05-03 16:48:13 +0200 |
---|---|---|
committer | Alexis Ballier <aballier@gentoo.org> | 2016-05-03 19:44:22 +0200 |
commit | 87ec0d4d127155a8461d96aae5c2cb9a8e4ac095 (patch) | |
tree | c55475134778c4c48c4a1a01518dac0b68bf4872 /dev-ml/ppx_variants_conv | |
parent | dev-ml/ppx_bench: bump to 4.03 (diff) | |
download | gentoo-87ec0d4d127155a8461d96aae5c2cb9a8e4ac095.tar.gz gentoo-87ec0d4d127155a8461d96aae5c2cb9a8e4ac095.tar.bz2 gentoo-87ec0d4d127155a8461d96aae5c2cb9a8e4ac095.zip |
dev-ml/ppx_variants_conv: fix build with ocaml 4.03
Package-Manager: portage-2.2.28
Signed-off-by: Alexis Ballier <aballier@gentoo.org>
Diffstat (limited to 'dev-ml/ppx_variants_conv')
-rw-r--r-- | dev-ml/ppx_variants_conv/files/oc43.patch | 87 | ||||
-rw-r--r-- | dev-ml/ppx_variants_conv/ppx_variants_conv-113.33.00.ebuild | 4 |
2 files changed, 91 insertions, 0 deletions
diff --git a/dev-ml/ppx_variants_conv/files/oc43.patch b/dev-ml/ppx_variants_conv/files/oc43.patch new file mode 100644 index 000000000000..5c59422200f9 --- /dev/null +++ b/dev-ml/ppx_variants_conv/files/oc43.patch @@ -0,0 +1,87 @@ +diff -uNr ppx_variants_conv-113.33.00/_oasis ppx_variants_conv-113.33.00+4.03/_oasis +--- ppx_variants_conv-113.33.00/_oasis 2016-03-09 16:44:55.000000000 +0100 ++++ ppx_variants_conv-113.33.00+4.03/_oasis 2016-03-22 15:13:51.000000000 +0100 +@@ -1,8 +1,8 @@ + OASISFormat: 0.4 +-OCamlVersion: >= 4.02.3 ++OCamlVersion: >= 4.03.0 + FindlibVersion: >= 1.3.2 + Name: ppx_variants_conv +-Version: 113.33.00 ++Version: 113.33.00+4.03 + Synopsis: Generation of accessor and iteration functions for ocaml variant types + Authors: Jane Street Group, LLC <opensource@janestreet.com> + Copyrights: (C) 2015-2016 Jane Street Group LLC <opensource@janestreet.com> +diff -uNr ppx_variants_conv-113.33.00/opam ppx_variants_conv-113.33.00+4.03/opam +--- ppx_variants_conv-113.33.00/opam 2016-03-18 12:08:01.000000000 +0100 ++++ ppx_variants_conv-113.33.00+4.03/opam 2016-03-22 17:51:38.000000000 +0100 +@@ -18,4 +18,4 @@ + "ppx_type_conv" + "variantslib" + ] +-available: [ ocaml-version >= "4.02.3" ] ++available: [ ocaml-version >= "4.03.0" ] +diff -uNr ppx_variants_conv-113.33.00/src/ppx_variants_conv.ml ppx_variants_conv-113.33.00+4.03/src/ppx_variants_conv.ml +--- ppx_variants_conv-113.33.00/src/ppx_variants_conv.ml 2016-03-09 16:44:55.000000000 +0100 ++++ ppx_variants_conv-113.33.00+4.03/src/ppx_variants_conv.ml 2016-03-22 15:13:51.000000000 +0100 +@@ -34,7 +34,7 @@ + + let lambda_sig loc arg_tys body_ty = + List.fold_right arg_tys ~init:body_ty ~f:(fun arg_ty acc -> +- ptyp_arrow ~loc "" arg_ty acc) ++ ptyp_arrow ~loc Nolabel arg_ty acc) + ;; + + let lambda_sig' loc arg_tys body_ty = +@@ -94,9 +94,14 @@ + let constructor body_ty cd : Variant_definition.t = + if cd.pcd_res <> None then + Location.raise_errorf ~loc:cd.pcd_loc "GADTs are not supported by variantslib"; ++ let pcd_args = ++ match cd.pcd_args with ++ | Pcstr_tuple pcd_args -> pcd_args ++ | Pcstr_record _ -> failwith "Pcstr_record not supported" ++ in + { name = cd.pcd_name.txt + ; body_ty +- ; arg_tys = cd.pcd_args ++ ; arg_tys = pcd_args + ; kind = `Normal + } + +@@ -120,7 +125,7 @@ + ptyp_constr ~loc (Located.lident ~loc ty_name) tps + + let label_arg _loc name ty = +- (String.lowercase name, ty) ++ (Asttypes.Labelled (String.lowercase name), ty) + ;; + + let variant_arg loc f v = +@@ -186,7 +191,7 @@ + in + let types = List.map variants ~f in + let t = Create.lambda_sig' loc +- (("", variant_type) :: types) result_type in ++ ((Nolabel, variant_type) :: types) result_type in + psig_value ~loc (value_description ~loc ~name:(Located.mk ~loc "map") ~type_:t + ~prim:[]) + ;; +@@ -316,7 +321,7 @@ + | None -> name + | Some n -> n + in +- (l, pvar ~loc name) ++ (Asttypes.Labelled l, pvar ~loc name) + ;; + + let label_arg_fun loc name = +@@ -408,7 +413,7 @@ + List.map variants ~f:(fun variant -> + label_arg_fun loc (variant_name_to_string variant.V.name)) + in +- let lambda = Create.lambda loc (("", [%pat? t__]) :: patterns) body in ++ let lambda = Create.lambda loc ((Nolabel, [%pat? t__]) :: patterns) body in + [%stri let map = [%e lambda] ] + ;; + diff --git a/dev-ml/ppx_variants_conv/ppx_variants_conv-113.33.00.ebuild b/dev-ml/ppx_variants_conv/ppx_variants_conv-113.33.00.ebuild index 54403e9cc86f..ab4bbd0ec574 100644 --- a/dev-ml/ppx_variants_conv/ppx_variants_conv-113.33.00.ebuild +++ b/dev-ml/ppx_variants_conv/ppx_variants_conv-113.33.00.ebuild @@ -24,6 +24,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 |