control: tags -1 patch pending I went ahead and uploaded the patch for this. Feel free to package the new release on top of this upload! (at least we can now unblock reverse-deps)
G.
diff -Nru sexplib310-113.33.03/debian/changelog sexplib310-113.33.03/debian/changelog --- sexplib310-113.33.03/debian/changelog 2016-08-19 09:11:38.000000000 +0200 +++ sexplib310-113.33.03/debian/changelog 2019-08-05 18:06:14.000000000 +0200 @@ -1,3 +1,11 @@ +sexplib310 (113.33.03-3.1) unstable; urgency=medium + + * Non-maintainer upload + * Cherry-pick upstream fix for new ocaml (From Ubuntu) + Closes: #877496 + + -- Gianfranco Costamagna <locutusofb...@debian.org> Mon, 05 Aug 2019 18:06:14 +0200 + sexplib310 (113.33.03-3) unstable; urgency=medium * Team upload diff -Nru sexplib310-113.33.03/debian/patches/1c3df4807e71f39d064941d5fc527fe3c2e2bda7.patch sexplib310-113.33.03/debian/patches/1c3df4807e71f39d064941d5fc527fe3c2e2bda7.patch --- sexplib310-113.33.03/debian/patches/1c3df4807e71f39d064941d5fc527fe3c2e2bda7.patch 1970-01-01 01:00:00.000000000 +0100 +++ sexplib310-113.33.03/debian/patches/1c3df4807e71f39d064941d5fc527fe3c2e2bda7.patch 2019-08-05 18:06:14.000000000 +0200 @@ -0,0 +1,80 @@ +From 1c3df4807e71f39d064941d5fc527fe3c2e2bda7 Mon Sep 17 00:00:00 2001 +From: Thomas Refis <thomas.re...@gmail.com> +Date: Tue, 22 Mar 2016 14:13:51 +0000 +Subject: [PATCH] 113.33.00+4.03 + +--- + CHANGES.md | 4 ++++ + _oasis | 4 ++-- + opam | 2 +- + src/conv.ml | 13 +++++++++---- + 4 files changed, 16 insertions(+), 7 deletions(-) + +--- a/CHANGES.md ++++ b/CHANGES.md +@@ -1,3 +1,7 @@ ++## 113.33.00+4.03 ++ ++Various updates to work with OCaml 4.03.0 ++ + ## 113.33.00 + + - Changes `Sexp.to_string` to escape all non-ASCII characters. +--- a/_oasis ++++ b/_oasis +@@ -1,5 +1,5 @@ + OASISFormat: 0.4 +-OCamlVersion: >= 4.02.3 ++OCamlVersion: >= 4.03.0 + FindlibVersion: >= 1.3.2 + Name: sexplib + Version: 113.33.03 +--- a/opam ++++ b/opam +@@ -15,4 +15,4 @@ + "ocamlfind" {build & >= "1.3.2"} + "js-build-tools" {build} + ] +-available: [ ocaml-version = "4.02.3" ] ++available: [ ocaml-version = "4.03.0" ] +--- a/src/conv.ml ++++ b/src/conv.ml +@@ -185,7 +185,7 @@ + + (* [Obj.extension_id] works on both the exception itself, and the extension slot of the + exception. *) +- let rec clean_up_handler (slot : Obj.t) = ++ let rec clean_up_handler (slot : extension_constructor) = + let id = Obj.extension_id slot in + let old_exn_id_map = !exn_id_map in + let new_exn_id_map = Exn_ids.remove id old_exn_id_map in +@@ -196,7 +196,7 @@ + exn_id_map := new_exn_id_map + + let add_auto ?(finalise = true) exn sexp_of_exn = +- let id = Obj.extension_id exn in ++ let id = Obj.extension_id (Obj.extension_constructor exn) in + let rec loop () = + let old_exn_id_map = !exn_id_map in + let new_exn_id_map = Exn_ids.add id sexp_of_exn old_exn_id_map in +@@ -205,13 +205,18 @@ + loop () + else begin + exn_id_map := new_exn_id_map; +- if finalise then Gc.finalise clean_up_handler (Obj.extension_slot exn) ++ if finalise then ++ try ++ Gc.finalise clean_up_handler (Obj.extension_constructor exn) ++ with Invalid_argument _ -> ++ (* Pre-allocated extension constructors cannot be finalised *) ++ () + end + in + loop () + + let find_auto exn = +- let id = Obj.extension_id exn in ++ let id = Obj.extension_id (Obj.extension_constructor exn) in + match Exn_ids.find id !exn_id_map with + | exception Not_found -> None + | sexp_of_exn -> Some (sexp_of_exn exn) diff -Nru sexplib310-113.33.03/debian/patches/series sexplib310-113.33.03/debian/patches/series --- sexplib310-113.33.03/debian/patches/series 1970-01-01 01:00:00.000000000 +0100 +++ sexplib310-113.33.03/debian/patches/series 2019-08-05 18:06:14.000000000 +0200 @@ -0,0 +1 @@ +1c3df4807e71f39d064941d5fc527fe3c2e2bda7.patch