From b08333a7ea7cbc5265fdedf74681514803b71256 Mon Sep 17 00:00:00 2001 From: jaapb Date: Tue, 11 Jul 2017 10:05:25 +0000 Subject: [PATCH] Updated package to latest version, 0.11.0. Changes include: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 0.11.0 (5 Mar 2017): -------------------- OCamlbuild 0.11.0 introduces a change to the way `.cmxs` files are produced when no `.mldylib` file is absent: it will now use the exact same semantics as `.cmxa` and `.mllib` file -- in particular, it should not be necessary anymore to have identical `foo.{mllib,mldylib}` files, only `foo.mllib` should suffice. See the detailed changelog below for details. - added "nostdlib" flag for corresponding ocaml{c,opt} options (Thomas Wood) - add `node_modules` to the list of directories ignored by default (.svn/, CVS/, .bzr/, .hg/, .git/, _darcs/, node_modules/) (Yunxing Dai) - added "-toolchain" option for corresponding ocamlfind option. (whitequark) - install ocamlbuild's man pages, missing since 4.02 (Adam Sampson and Gabriel Scherer) - make sure that -just-plugin always stops after the plugin-build phase (Gabriel Scherer, report by whitequark) * remove the rule ".cmx -> .cmxs" Previously, there was a ".cmx -> .cmxa" rule that would pull a module and its dependencies in a .cmxa, and a separate ".cmx -> .cmxs" rule that would pull only a module as a .cmxs. The latter is a reasonable default choice, the idea being that a module's dependencies may often be statically linked with the program instead of being dynamically linked. But it conflicts with the presence of a rule ".cmxa -> .cmxs" as soon as the library has the same name as one of the modules it contains. The reason why the rule ".cmxa -> .cmxs" matter is that it can be composed with the rule ".mllib -> .cmxa" to build .cmxs files from .mllib files, without having to copy each .mllib file into a separate .mldylib file. In other terms, the previous behaviour would, by default (in absence of .mldylib file who always takes priority), only link the module in the .cmxs file, and people wishing otherwise would have to write a list of modules in a .mldylib file. The new behavior will, by default, take the .mllib file or the module dependencies (as for .cmxa) to build a .cmxs file, and people wishing otherwise will have to write just the module name in a .mldylib file. It is unclear whether this change will break some projects on which users relied on the previous semantics. It seems equally likely that the previous semantics, when it applied, was a source of bugs (the .cmxs files didn't have the expected modules) that would not be discovered by people not testing dynamic linking. Such bugs have been found and fixed in the following cases: - - - (Daniel Bünzli, Jérémie Dimino, Armaël Guéneau, Gabriel Scherer, whitequark) - do not explicitly pass -shared when building shared libraries; let the compiler decide what to build. (whitequark) - migration of Mantis bugtracker issues to the github issue tracker (Damien Doligez) - setting up Continuous Infrastructure (CI) testsuite checks (whitequark) - install license, changes and readme in opam's docdir for `odig` (Gabriel Scherer, request and review by Daniel Bünzli) * new heuristic for handling the OCAMLLIB environment variable. `ocamlbuild -where` will ignore OCAMLLIB completely if OCAMLBUILD_LIBDIR is not a lexical subdirectory of OCAML_LIBDIR (i.e. an opam installation). Otherwise, it now returns $OCAMLLIB with the difference between OCAMLBUILD_LIBDIR and OCAML_LIBDIR appended (i.e. for a normal findlib installation, it now returns $OCAMLLIB/site-lib/ocamlbuild) (David Allsopp, review by Gabriel Schere) - "noautolink" tag for ocaml{c,opt} (Gabriel Scherer) 0.10.{0,1} (Dec 2016): ---------------------- These releases were never widely distributed, because of a quickly-caught regression due to the change of .cmxs compilation behavior, fixed with the help Daniel Bünzli, Jérémie Dimino and, in particular, whitequark. 0.9.3 (6 Oct 2016): ------------------- OCamlbuild 0.9.3 introduces several features contributed or requested by our users. See the detailed changelog below. - new ".o -> .clib" rule to build libraries out of single C stubs (Gabriel Scherer, request by whitequark) - Integrate the in-progress OCamlbuild manual, previously located at https://github.com/gasche/manual-ocamlbuild into the ocamlbuild repository, in the manual/ subdirectory. The most current version of the manual can thus be accessed at https://github.com/ocaml/ocamlbuild/tree/master/manual/manual.adoc (Gabriel Scherer) - added "noassert" and "unsafe" flag for corresponding ocaml{c,opt} options (François Pottier) - added "cc", "cclib", and "ccopt" flags which correspond to the respective ocaml{c,opt} options (Rudi Grinberg) - add infer_interface support for various type-checking-time flags: color, keep_docs, no_alias_deps, nolabels, nopervasives, open, strict_formats, strict_sequence, warn, warn_error (Gabriel Scherer, report by Knuth Posern) --- devel/ocamlbuild/Makefile | 8 ++++---- devel/ocamlbuild/buildlink3.mk | 3 ++- devel/ocamlbuild/distinfo | 10 +++++----- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/devel/ocamlbuild/Makefile b/devel/ocamlbuild/Makefile index 0214849546e7..aee1bbf7c7c7 100644 --- a/devel/ocamlbuild/Makefile +++ b/devel/ocamlbuild/Makefile @@ -1,7 +1,6 @@ -# $NetBSD: Makefile,v 1.4 2016/12/30 11:16:59 jaapb Exp $ +# $NetBSD: Makefile,v 1.5 2017/07/11 10:05:25 jaapb Exp $ -DISTNAME= ocamlbuild-0.9.2 -PKGREVISION= 1 +DISTNAME= ocamlbuild-0.11.0 CATEGORIES= devel MASTER_SITES= ${MASTER_SITE_GITHUB:=ocaml/} @@ -18,7 +17,8 @@ USE_TOOLS+= gmake OCAML_USE_FINDLIB= yes INSTALL_TARGET= findlib-install -MAKE_ENV= CHECK_IF_PREINSTALLED=false +MAKE_ENV= CHECK_IF_PREINSTALLED=false OCAMLBUILD_BINDIR=${PREFIX}/bin \ + OCAMLBUILD_LIBDIR=${PREFIX}/${OCAML_SITELIBDIR} .include "../../mk/ocaml.mk" .include "../../mk/bsd.pkg.mk" diff --git a/devel/ocamlbuild/buildlink3.mk b/devel/ocamlbuild/buildlink3.mk index 8ac2dbb456c9..491721b9f58f 100644 --- a/devel/ocamlbuild/buildlink3.mk +++ b/devel/ocamlbuild/buildlink3.mk @@ -1,4 +1,4 @@ -# $NetBSD: buildlink3.mk,v 1.2 2016/05/05 15:58:58 jaapb Exp $ +# $NetBSD: buildlink3.mk,v 1.3 2017/07/11 10:05:25 jaapb Exp $ BUILDLINK_TREE+= ocamlbuild @@ -6,6 +6,7 @@ BUILDLINK_TREE+= ocamlbuild OCAMLBUILD_BUILDLINK3_MK:= BUILDLINK_API_DEPENDS.ocamlbuild+= ocamlbuild>=0.9.2 +BUILDLINK_ABI_DEPENDS.ocamlbuild+= ocamlbuild>=0.11.0 BUILDLINK_PKGSRCDIR.ocamlbuild?= ../../devel/ocamlbuild BUILDLINK_DEPMETHOD.ocamlbuild?= build .endif # OCAMLBUILD_BUILDLINK3_MK diff --git a/devel/ocamlbuild/distinfo b/devel/ocamlbuild/distinfo index 67a18d0602b2..367e02d8fbfb 100644 --- a/devel/ocamlbuild/distinfo +++ b/devel/ocamlbuild/distinfo @@ -1,6 +1,6 @@ -$NetBSD: distinfo,v 1.3 2016/05/05 15:58:58 jaapb Exp $ +$NetBSD: distinfo,v 1.4 2017/07/11 10:05:25 jaapb Exp $ -SHA1 (ocamlbuild-0.9.2.tar.gz) = 1d56cb0d5f4da2456306cde4f909e9dc0e02ba8f -RMD160 (ocamlbuild-0.9.2.tar.gz) = c8f2ea58004d23fe1e31a0f210b179f135f9ef15 -SHA512 (ocamlbuild-0.9.2.tar.gz) = 6f6fa2ca0030256b61a9f93275f26327a032594a1ddd288e1eb9f4c41dfc139e4cdb6cd66ae8e383dd2f8aabb435181abfbf6b4aa0892ef6fa420c29e33b391a -Size (ocamlbuild-0.9.2.tar.gz) = 163014 bytes +SHA1 (ocamlbuild-0.11.0.tar.gz) = f678cbd00942e0d863da018783f62cbdaad96b24 +RMD160 (ocamlbuild-0.11.0.tar.gz) = 9c00aa2a21a638d9ddf8677dc351c30ac4f33bd8 +SHA512 (ocamlbuild-0.11.0.tar.gz) = 14bc44cc63b6c99e711658a1145247bad8263632fbb4550238cef15e226a76b83e51b83575a7a96f16b96ec321dedd0ef23f36166c354838aec1922f58179efd +Size (ocamlbuild-0.11.0.tar.gz) = 195297 bytes