pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/devel/ocaml-sexplib Updated package to latest version, ...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/3a009220b0d6
branches:  trunk
changeset: 348926:3a009220b0d6
user:      jaapb <jaapb%pkgsrc.org@localhost>
date:      Mon Jun 20 15:10:30 2016 +0000

description:
Updated package to latest version, 113.33.00. Changes include:

- Changes `Sexp.to_string` to escape all non-ASCII characters.

  Previously chars >= 127 are escaped or not depending on:
  1. other character in the string
  2. the system
  3. environment variable settings

  (2) and (3) are because `String.escaped` from the stdlib uses the C
  function `isprint` which is locale and OS dependent.

  This can cause invalid UTF-8 sequence to be printed by sexplib, which
  is annoying:

    https://github.com/janestreet/sexplib/issues/18

  Starting with this release, sexplib:
  1. copies the `String.escaped` function of OCaml 4.03 which escapes
     all non-ascii characters
  2. make sure we escape the string when it contains characters >= 127

- Clean up the documentation for sexplib, modernizing it to include
  `ppx_sexp_conv`, and breaking up the documentation between sexplib and
  `ppx_sexp_conv`.  Also changed the formatting to use org-mode, so it
  will render properly on github.  Markdown doesn't render well by
  default, unless you use quite different conventions about linebeaks.

- In sexp macro library, avoid returning success when there is any error
  reading a sexp. In particular, this prevents

    sexp resolve <(echo '(:use x)')

  from silently succeeding.

  Also, now we no longer read an included file multiple times.
  This lets even crazy stuff like this to work:

    $ echo 'hi ' | sexp resolve <(echo '((:include /dev/stdin) (:include /dev/stdin))')

diffstat:

 devel/ocaml-sexplib/Makefile                  |  10 +-
 devel/ocaml-sexplib/PLIST                     |  95 +++++++++++++++++---------
 devel/ocaml-sexplib/buildlink3.mk             |   4 +-
 devel/ocaml-sexplib/distinfo                  |  12 +-
 devel/ocaml-sexplib/patches/patch-Makefile    |  23 ++++++
 devel/ocaml-sexplib/patches/patch-src_conv.ml |  43 ++++++++++++
 6 files changed, 144 insertions(+), 43 deletions(-)

diffs (242 lines):

diff -r 53a3e6062271 -r 3a009220b0d6 devel/ocaml-sexplib/Makefile
--- a/devel/ocaml-sexplib/Makefile      Mon Jun 20 15:03:47 2016 +0000
+++ b/devel/ocaml-sexplib/Makefile      Mon Jun 20 15:10:30 2016 +0000
@@ -1,9 +1,8 @@
-# $NetBSD: Makefile,v 1.6 2016/05/05 11:45:39 jaapb Exp $
+# $NetBSD: Makefile,v 1.7 2016/06/20 15:10:30 jaapb Exp $
 
 DISTNAME=      sexplib-${VERS}
 PKGNAME=       ocaml-${DISTNAME}
-PKGREVISION=   1
-VERS=          113.24.00
+VERS=          113.33.03
 CATEGORIES=    devel
 MASTER_SITES=  ${MASTER_SITE_GITHUB:=janestreet/sexplib/archive/}
 DISTFILES=     ${VERS}${EXTRACT_SUFX}
@@ -14,8 +13,11 @@
 COMMENT=       S-Expressions with Type Converters for OCaml
 LICENSE=       modified-bsd AND apache-2.0
 
-OCAML_USE_OASIS_DYNRUN=        yes
+OCAML_USE_FINDLIB=     yes
 
+.include "../../devel/ocaml-js-build-tools/buildlink3.mk"
+.include "../../devel/ocaml-oasis/buildlink3.mk"
 .include "../../devel/ocaml-type_conv/buildlink3.mk"
+.include "../../misc/ocaml-opam/buildlink3.mk"
 .include "../../mk/ocaml.mk"
 .include "../../mk/bsd.pkg.mk"
diff -r 53a3e6062271 -r 3a009220b0d6 devel/ocaml-sexplib/PLIST
--- a/devel/ocaml-sexplib/PLIST Mon Jun 20 15:03:47 2016 +0000
+++ b/devel/ocaml-sexplib/PLIST Mon Jun 20 15:10:30 2016 +0000
@@ -1,39 +1,70 @@
-@comment $NetBSD: PLIST,v 1.2 2016/03/04 16:06:19 jaapb Exp $
+@comment $NetBSD: PLIST,v 1.3 2016/06/20 15:10:30 jaapb Exp $
 ${OCAML_SITELIB}/sexplib/META
-${OCAML_SITELIB}/sexplib/conv.mli
-${OCAML_SITELIB}/sexplib/conv_error.ml
-${OCAML_SITELIB}/sexplib/exn_magic.mli
-${OCAML_SITELIB}/sexplib/lexer.mli
-${OCAML_SITELIB}/sexplib/macro.mli
-${OCAML_SITELIB}/sexplib/path.mli
-${OCAML_SITELIB}/sexplib/pre_sexp.ml
-${OCAML_SITELIB}/sexplib/sexp.mli
-${OCAML_SITELIB}/sexplib/sexp_intf.ml
-${OCAML_SITELIB}/sexplib/sexp_with_layout.ml
+${OCAML_SITELIB}/sexplib/conv.annot
+${OCAML_SITELIB}/sexplib/conv.cmt
+${OCAML_SITELIB}/sexplib/conv.cmti
+${OCAML_SITELIB}/sexplib/conv_error.annot
+${OCAML_SITELIB}/sexplib/conv_error.cmt
+${OCAML_SITELIB}/sexplib/exn_magic.annot
+${OCAML_SITELIB}/sexplib/exn_magic.cmt
+${OCAML_SITELIB}/sexplib/exn_magic.cmti
+${OCAML_SITELIB}/sexplib/lexer.annot
+${OCAML_SITELIB}/sexplib/lexer.cmt
+${OCAML_SITELIB}/sexplib/lexer.cmti
+${OCAML_SITELIB}/sexplib/macro.annot
+${OCAML_SITELIB}/sexplib/macro.cmt
+${OCAML_SITELIB}/sexplib/macro.cmti
+${OCAML_SITELIB}/sexplib/parser.annot
+${OCAML_SITELIB}/sexplib/parser.cmt
+${OCAML_SITELIB}/sexplib/parser.cmti
+${OCAML_SITELIB}/sexplib/parser_with_layout.annot
+${OCAML_SITELIB}/sexplib/parser_with_layout.cmt
+${OCAML_SITELIB}/sexplib/parser_with_layout.cmti
+${OCAML_SITELIB}/sexplib/path.annot
+${OCAML_SITELIB}/sexplib/path.cmt
+${OCAML_SITELIB}/sexplib/path.cmti
+${OCAML_SITELIB}/sexplib/pre_sexp.annot
+${OCAML_SITELIB}/sexplib/pre_sexp.cmt
+${OCAML_SITELIB}/sexplib/sexp.annot
+${OCAML_SITELIB}/sexplib/sexp.cmt
+${OCAML_SITELIB}/sexplib/sexp.cmti
+${OCAML_SITELIB}/sexplib/sexp_intf.annot
+${OCAML_SITELIB}/sexplib/sexp_intf.cmt
+${OCAML_SITELIB}/sexplib/sexp_with_layout.annot
+${OCAML_SITELIB}/sexplib/sexp_with_layout.cmt
 ${PLIST.ocaml-opt}${OCAML_SITELIB}/sexplib/sexplib.a
 ${OCAML_SITELIB}/sexplib/sexplib.cma
 ${OCAML_SITELIB}/sexplib/sexplib.cmi
+${OCAML_SITELIB}/sexplib/sexplib.cmt
 ${PLIST.ocaml-opt}${OCAML_SITELIB}/sexplib/sexplib.cmx
 ${PLIST.ocaml-opt}${OCAML_SITELIB}/sexplib/sexplib.cmxa
 ${PLIST.ocaml-opt}${OCAML_SITELIB}/sexplib/sexplib.cmxs
-${OCAML_SITELIB}/sexplib/src_pos.mli
-${OCAML_SITELIB}/sexplib/std.ml
-${OCAML_SITELIB}/sexplib/type.ml
-${OCAML_SITELIB}/sexplib/type_with_layout.mli
-${OCAML_SITELIB}/sexplib_num/META
-${PLIST.ocaml-opt}${OCAML_SITELIB}/sexplib_num/sexplib_num.a
-${OCAML_SITELIB}/sexplib_num/sexplib_num.cma
-${OCAML_SITELIB}/sexplib_num/sexplib_num.cmi
-${PLIST.ocaml-opt}${OCAML_SITELIB}/sexplib_num/sexplib_num.cmx
-${PLIST.ocaml-opt}${OCAML_SITELIB}/sexplib_num/sexplib_num.cmxa
-${PLIST.ocaml-opt}${OCAML_SITELIB}/sexplib_num/sexplib_num.cmxs
-${OCAML_SITELIB}/sexplib_num/sexplib_num_conv.mli
-${OCAML_SITELIB}/sexplib_num/std.ml
-${OCAML_SITELIB}/sexplib_unix/META
-${PLIST.ocaml-opt}${OCAML_SITELIB}/sexplib_unix/sexplib_unix.a
-${OCAML_SITELIB}/sexplib_unix/sexplib_unix.cma
-${OCAML_SITELIB}/sexplib_unix/sexplib_unix.cmi
-${PLIST.ocaml-opt}${OCAML_SITELIB}/sexplib_unix/sexplib_unix.cmx
-${PLIST.ocaml-opt}${OCAML_SITELIB}/sexplib_unix/sexplib_unix.cmxa
-${PLIST.ocaml-opt}${OCAML_SITELIB}/sexplib_unix/sexplib_unix.cmxs
-${OCAML_SITELIB}/sexplib_unix/sexplib_unix_conv.ml
+${PLIST.ocaml-opt}${OCAML_SITELIB}/sexplib/sexplib_num.a
+${OCAML_SITELIB}/sexplib/sexplib_num.cma
+${OCAML_SITELIB}/sexplib/sexplib_num.cmi
+${OCAML_SITELIB}/sexplib/sexplib_num.cmt
+${PLIST.ocaml-opt}${OCAML_SITELIB}/sexplib/sexplib_num.cmx
+${PLIST.ocaml-opt}${OCAML_SITELIB}/sexplib/sexplib_num.cmxa
+${PLIST.ocaml-opt}${OCAML_SITELIB}/sexplib/sexplib_num.cmxs
+${OCAML_SITELIB}/sexplib/sexplib_num_conv.annot
+${OCAML_SITELIB}/sexplib/sexplib_num_conv.cmt
+${OCAML_SITELIB}/sexplib/sexplib_num_conv.cmti
+${PLIST.ocaml-opt}${OCAML_SITELIB}/sexplib/sexplib_unix.a
+${OCAML_SITELIB}/sexplib/sexplib_unix.cma
+${OCAML_SITELIB}/sexplib/sexplib_unix.cmi
+${OCAML_SITELIB}/sexplib/sexplib_unix.cmt
+${PLIST.ocaml-opt}${OCAML_SITELIB}/sexplib/sexplib_unix.cmx
+${PLIST.ocaml-opt}${OCAML_SITELIB}/sexplib/sexplib_unix.cmxa
+${PLIST.ocaml-opt}${OCAML_SITELIB}/sexplib/sexplib_unix.cmxs
+${OCAML_SITELIB}/sexplib/sexplib_unix_conv.annot
+${OCAML_SITELIB}/sexplib/sexplib_unix_conv.cmt
+${OCAML_SITELIB}/sexplib/src_pos.annot
+${OCAML_SITELIB}/sexplib/src_pos.cmt
+${OCAML_SITELIB}/sexplib/src_pos.cmti
+${OCAML_SITELIB}/sexplib/std.annot
+${OCAML_SITELIB}/sexplib/std.cmt
+${OCAML_SITELIB}/sexplib/type.annot
+${OCAML_SITELIB}/sexplib/type.cmt
+${OCAML_SITELIB}/sexplib/type_with_layout.annot
+${OCAML_SITELIB}/sexplib/type_with_layout.cmt
+${OCAML_SITELIB}/sexplib/type_with_layout.cmti
diff -r 53a3e6062271 -r 3a009220b0d6 devel/ocaml-sexplib/buildlink3.mk
--- a/devel/ocaml-sexplib/buildlink3.mk Mon Jun 20 15:03:47 2016 +0000
+++ b/devel/ocaml-sexplib/buildlink3.mk Mon Jun 20 15:10:30 2016 +0000
@@ -1,11 +1,11 @@
-# $NetBSD: buildlink3.mk,v 1.1 2015/01/20 16:27:02 jaapb Exp $
+# $NetBSD: buildlink3.mk,v 1.2 2016/06/20 15:10:30 jaapb Exp $
 
 BUILDLINK_TREE+=       ocaml-sexplib
 
 .if !defined(OCAML_SEXPLIB_BUILDLINK3_MK)
 OCAML_SEXPLIB_BUILDLINK3_MK:=
 
-BUILDLINK_API_DEPENDS.ocaml-sexplib+=  ocaml-sexplib>=112.01.00
+BUILDLINK_API_DEPENDS.ocaml-sexplib+=  ocaml-sexplib>=113.33.03
 BUILDLINK_PKGSRCDIR.ocaml-sexplib?=    ../../devel/ocaml-sexplib
 
 .endif # OCAML_SEXPLIB_BUILDLINK3_MK
diff -r 53a3e6062271 -r 3a009220b0d6 devel/ocaml-sexplib/distinfo
--- a/devel/ocaml-sexplib/distinfo      Mon Jun 20 15:03:47 2016 +0000
+++ b/devel/ocaml-sexplib/distinfo      Mon Jun 20 15:10:30 2016 +0000
@@ -1,6 +1,8 @@
-$NetBSD: distinfo,v 1.3 2016/03/04 16:06:19 jaapb Exp $
+$NetBSD: distinfo,v 1.4 2016/06/20 15:10:30 jaapb Exp $
 
-SHA1 (ocaml-sexplib/113.24.00.tar.gz) = 2809485197f8f0598b6cd9b807509cfe9f1190cc
-RMD160 (ocaml-sexplib/113.24.00.tar.gz) = 38372cac8dfe1fb1893476b0205121bbb65a7478
-SHA512 (ocaml-sexplib/113.24.00.tar.gz) = 0331437500a13bc26c6cc635e8f1a63454257c3c699a07562469f6ebe127c61b3428bf4465c12fead5f7ac416e664417b0f9473ab2953e9c446cbda762ba00ea
-Size (ocaml-sexplib/113.24.00.tar.gz) = 72087 bytes
+SHA1 (ocaml-sexplib/113.33.03.tar.gz) = 93dbbf1f8337eb588a94fed5b1bc844dfa8480b5
+RMD160 (ocaml-sexplib/113.33.03.tar.gz) = 49dd47c79e62f3c2116521820fe96bf6b443cc79
+SHA512 (ocaml-sexplib/113.33.03.tar.gz) = 33b0dbcfd2f2040628cc8680305e988a0b4e24d4e3d773c2a968ed5a9d9727bd7e3383b4c93ee3cb41872857026e7e747df7f1026a83b8d51b5aaebf430e9fe0
+Size (ocaml-sexplib/113.33.03.tar.gz) = 67249 bytes
+SHA1 (patch-Makefile) = b39d312d8db993db38302d42451854b1078e8209
+SHA1 (patch-src_conv.ml) = a47d82a1b3e8c1a000972b1ed9cc559e5bac38e6
diff -r 53a3e6062271 -r 3a009220b0d6 devel/ocaml-sexplib/patches/patch-Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/ocaml-sexplib/patches/patch-Makefile        Mon Jun 20 15:10:30 2016 +0000
@@ -0,0 +1,23 @@
+$NetBSD: patch-Makefile,v 1.1 2016/06/20 15:10:30 jaapb Exp $
+
+Install in the right directory
+--- Makefile.orig      2016-04-28 09:46:25.000000000 +0000
++++ Makefile
+@@ -2,7 +2,7 @@
+ 
+ SETUP := setup.exe
+ NAME := sexplib
+-PREFIX = $(shell grep ^prefix= setup.data | cut -d\" -f 2)
++#PREFIX = $(shell grep ^prefix= setup.data | cut -d\" -f 2)
+ 
+ # Default rule
+ default: build
+@@ -30,7 +30,7 @@ $(NAME).install: install.ml setup.log se
+       ocaml -I "$(OCAML_TOPLEVEL_PATH)" install.ml
+ 
+ install: $(NAME).install
+-      opam-installer -i --prefix $(PREFIX) $(NAME).install
++      opam-installer -i --prefix ${DESTDIR}$(PREFIX) --libdir ${OCAML_SITELIBDIR}  $(NAME).install
+ 
+ uninstall: $(NAME).install
+       opam-installer -u --prefix $(PREFIX) $(NAME).install
diff -r 53a3e6062271 -r 3a009220b0d6 devel/ocaml-sexplib/patches/patch-src_conv.ml
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/ocaml-sexplib/patches/patch-src_conv.ml     Mon Jun 20 15:10:30 2016 +0000
@@ -0,0 +1,43 @@
+$NetBSD: patch-src_conv.ml,v 1.1 2016/06/20 15:10:30 jaapb Exp $
+
+Changes for ocaml 4.03 (patch from upstream)
+--- src/conv.ml.orig   2016-04-28 09:46:25.000000000 +0000
++++ src/conv.ml
+@@ -185,7 +185,7 @@ module Exn_converter = struct
+ 
+   (* [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 @@ module Exn_converter = struct
+       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,17 @@ module Exn_converter = struct
+         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 _ ->
++                                              ()
+       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)



Home | Main Index | Thread Index | Old Index