[Pkg-ocaml-maint-commits] [ocaml-visitors] 01/02: migrate to ocaml 4.05
Ralf Treinen
treinen at moszumanska.debian.org
Mon Oct 30 19:41:00 UTC 2017
This is an automated email from the git hooks/post-receive script.
treinen pushed a commit to branch master
in repository ocaml-visitors.
commit 67dbf57582833838cac8f92d464979bf54984de6
Author: Ralf Treinen <treinen at free.fr>
Date: Mon Oct 30 20:21:26 2017 +0100
migrate to ocaml 4.05
---
debian/changelog | 7 +++++
debian/patches/ocaml-4.05 | 70 +++++++++++++++++++++++++++++++++++++++++++++++
debian/patches/series | 1 +
3 files changed, 78 insertions(+)
diff --git a/debian/changelog b/debian/changelog
index 5be3382..92a67d3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+ocaml-visitors (20170725-2) unstable; urgency=medium
+
+ * Patch ocaml-4.05: migrate to ocaml 4.05, patch picked from upstream git
+ (closes: #880063)
+
+ -- Ralf Treinen <treinen at debian.org> Mon, 30 Oct 2017 20:20:56 +0100
+
ocaml-visitors (20170725-1) unstable; urgency=medium
* New upstream release. This release fixes compilation on bytecode
diff --git a/debian/patches/ocaml-4.05 b/debian/patches/ocaml-4.05
new file mode 100644
index 0000000..100bdc8
--- /dev/null
+++ b/debian/patches/ocaml-4.05
@@ -0,0 +1,70 @@
+Author: François Pottier <Francois.Pottier at inria.fr>
+Description: compile with ocaml 4.05
+Upstream-commit: 07948b5b9207d87d510b920dc72c7ea08b267ea5
+
+diff --git a/src/Visitors.ml b/src/Visitors.ml
+index 0ad37aa..2fea732 100644
+--- a/src/Visitors.ml
++++ b/src/Visitors.ml
+@@ -387,7 +387,7 @@ let ty_env =
+
+ let tyvar_visitor_method_type =
+ if X.poly "env" then
+- Typ.poly ["env"] (ty_arrow ty_env ty_any)
++ typ_poly ["env"] (ty_arrow ty_env ty_any)
+ else
+ ty_any
+
+@@ -538,7 +538,7 @@ let quantify (alphas : tyvars) (ty : core_type) : core_type =
+ alphas
+ in
+ (* Done. *)
+- Typ.poly alphas ty
++ typ_poly alphas ty
+
+ (* -------------------------------------------------------------------------- *)
+
+diff --git a/src/VisitorsCompatibility.cppo.ml b/src/VisitorsCompatibility.cppo.ml
+index 71b6b0f..d263409 100644
+--- a/src/VisitorsCompatibility.cppo.ml
++++ b/src/VisitorsCompatibility.cppo.ml
+@@ -1,3 +1,4 @@
++let mknoloc = Location.mknoloc
+ open Asttypes
+ open Parsetree
+ open Ast_helper
+@@ -68,3 +69,21 @@ let data_constructor_variety (cd : constructor_declaration) =
+ | Pcstr_record lds ->
+ DataInlineRecord (ld_labels lds, ld_tys lds)
+ #endif
++
++(* Between OCaml 4.04 and OCaml 4.05, the types of several functions in [Ast_helper]
++ have changed. They used to take arguments of type [string], and now take arguments
++ of type [str], thus requiring a conversion. These functions include [Typ.object_],
++ [Typ.poly], [Exp.send], [Exp.newtype], [Ctf.val_], [Ctf.method_], [Cf.inherit_]. *)
++
++let string2str (s : string) =
++ #if OCAML_VERSION < (4, 05, 0)
++ s
++ #else
++ mknoloc s
++ #endif
++
++let typ_poly (tyvars : string list) (cty : core_type) : core_type =
++ Typ.poly (List.map string2str tyvars) cty
++
++let exp_send (e : expression) (m : string) : expression =
++ Exp.send e (string2str m)
+diff --git a/src/VisitorsGeneration.ml b/src/VisitorsGeneration.ml
+index 01fae98..2d656c2 100644
+--- a/src/VisitorsGeneration.ml
++++ b/src/VisitorsGeneration.ml
+@@ -467,7 +467,7 @@ let is_virtual (Meth (_, _, oe, _)) : bool =
+ (* [send o m es] produces a call to the method [o#m] with arguments [es]. *)
+
+ let send (o : variable) (m : methode) (es : expressions) : expression =
+- app (Exp.send (evar o) m) es
++ app (exp_send (evar o) m) es
+
+ (* -------------------------------------------------------------------------- *)
+
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..cd802a8
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+ocaml-4.05
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ocaml-maint/packages/ocaml-visitors.git
More information about the Pkg-ocaml-maint-commits
mailing list