diff options
author | jaapb <jaapb@pkgsrc.org> | 2016-06-20 15:10:30 +0000 |
---|---|---|
committer | jaapb <jaapb@pkgsrc.org> | 2016-06-20 15:10:30 +0000 |
commit | 8994028fcb3c063fc2ab4e988d4bc01ac23b8403 (patch) | |
tree | fcd6ab7dfecac52a56d606d998719520e0e78075 /devel | |
parent | bc29cae2ca59731b288379a2f6ba747f6fcc2eea (diff) | |
download | pkgsrc-8994028fcb3c063fc2ab4e988d4bc01ac23b8403.tar.gz |
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 (limited to 'devel')
-rw-r--r-- | devel/ocaml-sexplib/Makefile | 10 | ||||
-rw-r--r-- | devel/ocaml-sexplib/PLIST | 95 | ||||
-rw-r--r-- | devel/ocaml-sexplib/buildlink3.mk | 4 | ||||
-rw-r--r-- | devel/ocaml-sexplib/distinfo | 12 | ||||
-rw-r--r-- | devel/ocaml-sexplib/patches/patch-Makefile | 23 | ||||
-rw-r--r-- | devel/ocaml-sexplib/patches/patch-src_conv.ml | 43 |
6 files changed, 144 insertions, 43 deletions
diff --git a/devel/ocaml-sexplib/Makefile b/devel/ocaml-sexplib/Makefile index fad93a67a84..2950c71cfdf 100644 --- a/devel/ocaml-sexplib/Makefile +++ b/devel/ocaml-sexplib/Makefile @@ -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 @@ HOMEPAGE= https://github.com/janestreet/sexplib/ 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 --git a/devel/ocaml-sexplib/PLIST b/devel/ocaml-sexplib/PLIST index 45d14a8b864..b45b1a7052e 100644 --- a/devel/ocaml-sexplib/PLIST +++ b/devel/ocaml-sexplib/PLIST @@ -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 --git a/devel/ocaml-sexplib/buildlink3.mk b/devel/ocaml-sexplib/buildlink3.mk index 7082aa86ac4..fefceda13ec 100644 --- a/devel/ocaml-sexplib/buildlink3.mk +++ b/devel/ocaml-sexplib/buildlink3.mk @@ -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 --git a/devel/ocaml-sexplib/distinfo b/devel/ocaml-sexplib/distinfo index d9e22c37047..079065302f9 100644 --- a/devel/ocaml-sexplib/distinfo +++ b/devel/ocaml-sexplib/distinfo @@ -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 --git a/devel/ocaml-sexplib/patches/patch-Makefile b/devel/ocaml-sexplib/patches/patch-Makefile new file mode 100644 index 00000000000..563e446cbaf --- /dev/null +++ b/devel/ocaml-sexplib/patches/patch-Makefile @@ -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 --git a/devel/ocaml-sexplib/patches/patch-src_conv.ml b/devel/ocaml-sexplib/patches/patch-src_conv.ml new file mode 100644 index 00000000000..7b636df8f24 --- /dev/null +++ b/devel/ocaml-sexplib/patches/patch-src_conv.ml @@ -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) |