pkgsrc-Changes archive

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

CVS commit: pkgsrc/devel/ocaml-dune



Module Name:    pkgsrc
Committed By:   wiz
Date:           Sun May 10 12:14:49 UTC 2026

Modified Files:
        pkgsrc/devel/ocaml-dune: Makefile.common distinfo
Added Files:
        pkgsrc/devel/ocaml-dune/patches: patch-src_lev_src_lev__stubs.c

Log Message:
ocaml-dune: update to 3.23.0.

Fixed

    Auto-inject "menhir" {>= "20180523"} into generated opam files when the
    menhir extension is used. Dune's menhir rules rely on --infer-write-query
    and --infer-read-reply, which require at least this version; without the
    lower bound, builds fail with older menhir installations.
    (#10707, @robinbb)

    Fix --display=quiet not suppressing "Entering directory" and "Leaving
    directory" messages when using --root. These messages are now deferred
    until there is actual output, so silent builds produce no noise.
    (#12974, fixes #12854, @Alizter)

    Fix an internal error when a module is shared between a rocq.theory and
    rocq.extraction stanza. The error now includes a hint pointing to the
    conflicting stanza. (#13733, @Durbatuluk1701)

    Fix cookies defined on ppx_rewriter being lost when that rewriter was used
    as a dependency of another ppx_rewriter. (#13737, fixes #3426, @Alizter)

    Improve opam file generation for packages that set (dir ..). Such packages
    will now have a test target that is limited to this directory. (#13778, @rgrinberg)

    Stop duplicating dune diagnostics to subscribers over RPC (#13816,
    @rgrinberg)

    Fix dependency cycle when using the package with a library
    conditionally enabled via enabled_if. (#13833, @toots)

    Fix underspecification of dependencies in the sandbox for modules with
    interfaces. (#13842, @anmonteiro)

    Honor sandbox settings specified inside (:include ..) expressions in the deps field
    (#13898, @rgrinberg)

    Fix dune pkg lock failing when a pin stanza contains a file:// URL with
    a relative path outside the workspace (#13915, fixes #10254, @shunueda)

    Use all stat attributes to detect patch back source tree changes (#13986, @rgrinberg)

    Use device and inode number for invalidating cached digests (#13991, @rgrinberg)

    Stop trying to set SO_REUSEADDR on unix sockets when setting up dune rpc
    (#14056, @rgrinberg)

    Fix autolocking to correctly detect changes to (depends) in watch mode
    (#14066, fixes #13234, @Alizter)

    Fix incremental builds for libraries using (wrapped (transition ...)).
    The compat shim modules were never recompiled when the inner module's
    interface changed, causing "inconsistent assumptions" errors.
    (#14090, fixes #14089, @Alizter)

    Fix Rocq configuration detection to use rocq c --config subcommand
    instead of rocq --config (#14093, fixes #13774, @Durbatuluk1701)

    Bump dune rpc's request pending request limit 10 to 100 (#14094, @rginberg)

    Invalidate stale cached digests in all build commands (#14126, @rgrinberg)

    Fix root_module generating duplicate module definitions when a
    findlib sub-package shares a directory with its parent (e.g.,
    logs.lwt alongside logs). (#14135, fixes #6148, @robinbb)

    Fix dune subst prepending a duplicate version: field to opam
    files that already contain one, instead of replacing it in place.
    (#14136, fixes #878, @robinbb)

    Fix @ocaml-index alias being generated for all contexts, causing build
    errors in multi-context workspaces where some libraries are disabled in
    non-default contexts. The alias is now only generated for the merlin context.
    (#14137, fixes #12007, @robinbb)

    Remove the warning about the deprecation of the coq stanza for
    dune lang before 3.21 since it has been introduced in this
    version (#14187, @bobot)

    $ dune init now generates projects with correct .opam files (#14192, @rgrinberg)

    Send SIGTERM before SIGKILL when cancelling child processes in watch
    mode, giving cleanup handlers a chance to run before escalating.
    (#14224, #14170, fixes #2445, @robinbb)

    Correctly specify dependencies for generate_runner in inline tests (#14276, @rgrinberg)

    Fix duplicate dune version bounds in generated opam files. When users
    declare (dune (>= X.Y)) matching or exceeding the (lang dune X.Y)
    version, the generated opam depends no longer contains redundant
    constraints like {>= "2.7" & >= "2.7"}. (#3916, #11106, @robinbb)

    Fix inline tests not being executed for byte-only libraries. When a library
    has (modes byte), the inline test runner is now linked in byte mode so the
    library's test code is included. (#9757, @robinbb)

Added

    Add support for c_library_flags in foreign_stubs (#13484, @madroach)

    Move the management of Jsoo config details out of dune (#13613, @vouillon)

    Js_of_ocaml: share standalone runtimes (#13621, @vouillon)

    Allow multiple (dirs ..) stanzas in the same Dune file. Starting with
    (lang dune 3.23), Dune takes the union of the specified directories
    (#13734, fixes #6249, @anmonteiro)

    Sandboxed rules are now allowed to produce diff promotions when (corrections produce) is set on the rules. Whenever such an action produces foo.corrected, it will
    be automatically registered as a promotion for foo (#13813, @rgrinberg)

    $ dune clean now accepts arguments to only remove certain targets from the
    _build directory (#13875, @rgrinberg)

    $ dune promote now promotes all paths that are a prefix of the path provided.
    For example, $ dune promote foo will promote foo, foo/bar, foo/bar/baz
    (but not foobar). (#13876, @rgrinberg)

    Allow for the diff action to diff entire directories (#13880, fixes #3567, @rgrinberg)

    A hint is now emitted when trying to build a target inside a directory that
    was excluded by a (dirs ...) stanza (#13919, @mefyl).

    Add --debug-backtraces to $ dune {promote,trace,cache} (#13933, @rgrinberg)

    Actions are now able to observe their project directory via
    DUNE_PROJECT_ROOT (#13934, @rgrinberg)

    Support hardlink sandboxing on Windows. (#13987, addresses part of #4362, @Alizter)

    rocq.extraction: Add extracted_files field in (rocq 0.13), replacing
    extracted_modules, supporting extraction to languages other than OCaml
    (#13997, @Durbatuluk1701).

    Infer source directories as dependencies when they're as reference
    directories in diff actions.

    Add trace events for build start/stop/restarts (#14163, #14166, @rgrinberg)

    Generate compile_commands.json for C/C++ foreign stubs when building
    @check with (lang dune 3.23). This enables clangd, ccls, and other
    tools that consume compilation databases. (#14185, fixes #3531, @Alizter)

    Add trace events for accepting clients and shutting down RPC (#14232, @rgrinberg)

    Back up the default trace file as trace.csexp.old before each build,
    preserving the previous trace for comparison. This does not apply when
    --trace-file is used. (#14269, @Alizter)

Changed

    Dune digests target files and directories in background threads (#13341,
    @rgrinbreg)

    Dyn.pp now prints valid OCaml literals for more constructors:
        Char is quoted (e.g., 'a')
        Int32/Int64/Nativeint include literal suffixes (l/L/n)
        Float handles infinity, neg_infinity, and nan
        (#13394, grants #13378, @Alizter)

    Bump the minimal OCaml version required to build Dune from 4.08 to 4.14.
    (#13533, @Alizter)

    Starting from 3.23, user rules are sandboxed by default (#13805, @rgrinberg)

    Dune will no longer stat paths in the _build directory. This was done as protection
    from user rules accidentally touching things in the _build directory. This is forbidden,
    and dune offers rule sandboxing to prevent this (#13875, @rgrinberg)

    Improve mtime precision by no longer approximating them with floats (#13962,
    @rgrinberg).

    Remove --makefile (or -m) in $ dune rules. The sexp output is the only
    supported way of reflecting dune rules (#14069, @rgrinberg)

    Do not automatically promote files. Now, opam files must be manually
    promoted with $ dune promote. Their generation is triggered by @install,
    @runtest, and @opam. In release mode, .opam files aren't generated at all
    and whatever is in the source is used (#14108, @rgrinberg)

    Inline test runner generation is now sandboxed (#14257, @rgrinberg)


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 pkgsrc/devel/ocaml-dune/Makefile.common
cvs rdiff -u -r1.23 -r1.24 pkgsrc/devel/ocaml-dune/distinfo
cvs rdiff -u -r0 -r1.1 \
    pkgsrc/devel/ocaml-dune/patches/patch-src_lev_src_lev__stubs.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/devel/ocaml-dune/Makefile.common
diff -u pkgsrc/devel/ocaml-dune/Makefile.common:1.12 pkgsrc/devel/ocaml-dune/Makefile.common:1.13
--- pkgsrc/devel/ocaml-dune/Makefile.common:1.12        Mon Apr 13 12:59:57 2026
+++ pkgsrc/devel/ocaml-dune/Makefile.common     Sun May 10 12:14:49 2026
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile.common,v 1.12 2026/04/13 12:59:57 wiz Exp $
+# $NetBSD: Makefile.common,v 1.13 2026/05/10 12:14:49 wiz Exp $
 
 # used by devel/ocaml-dune-configurator/Makefile
 
-DUNE_VERSION=  3.22.2
+DUNE_VERSION=  3.23.0
 DISTNAME=      ${GITHUB_PROJECT}-${DUNE_VERSION}
 
 LICENSE=       mit

Index: pkgsrc/devel/ocaml-dune/distinfo
diff -u pkgsrc/devel/ocaml-dune/distinfo:1.23 pkgsrc/devel/ocaml-dune/distinfo:1.24
--- pkgsrc/devel/ocaml-dune/distinfo:1.23       Tue Apr 14 09:15:00 2026
+++ pkgsrc/devel/ocaml-dune/distinfo    Sun May 10 12:14:49 2026
@@ -1,11 +1,12 @@
-$NetBSD: distinfo,v 1.23 2026/04/14 09:15:00 jperkin Exp $
+$NetBSD: distinfo,v 1.24 2026/05/10 12:14:49 wiz Exp $
 
-BLAKE2s (dune-3.22.2.tar.gz) = 9f61bc48f5bcb1176499ae4fac491d989689680d71f79b605355eb533aa424c0
-SHA512 (dune-3.22.2.tar.gz) = 1cdde88dcb0d738287c08afa2870cdc1a9850952b5fb49c834a20f90335b71a8ec129a01639b5c56926b9bcbd716aebecfe6d33d2440839850ebacc81615308c
-Size (dune-3.22.2.tar.gz) = 3571784 bytes
+BLAKE2s (dune-3.23.0.tar.gz) = d3e9c357637d07f465c965a00fac0d9e8097582a025bf93936f22eca03c10995
+SHA512 (dune-3.23.0.tar.gz) = fadcf88303a5ef476a6a38976360c8990d5f70f666da8c2853609eb3fe5b5b74d89e2b9380723b29598b68ed4674e07dbd226582d8eada6651715354a2a45d0a
+Size (dune-3.23.0.tar.gz) = 3707019 bytes
 SHA1 (patch-otherlibs_configurator_src_v1.ml) = 74ddbf037c59ed81eb858042463fa5016027d9b8
 SHA1 (patch-otherlibs_stdune_src_readdir.c) = 640249f86e95d43dcd672fb61eb146af1434a11d
 SHA1 (patch-otherlibs_stdune_src_wait4__stubs.c) = 3294a78f451b450ba0614803c68ba340901cc8c7
+SHA1 (patch-src_lev_src_lev__stubs.c) = 913e0bcd32a925e5874e2552fae084d3d259204d
 SHA1 (patch-vendor_notty_src-unix_native_winsize.c) = d970c142e55e217477a54f11801e2d2365e12e7f
 SHA1 (patch-vendor_ocaml-lmdb_mdb.c) = 9c46b39da5dd5bb9db7501a7818edf52503cbc1a
 SHA1 (patch-vendor_spawn_src_spawn__stubs.c) = be446f444daae8cb97a500d6491ac9f92eb9c446

Added files:

Index: pkgsrc/devel/ocaml-dune/patches/patch-src_lev_src_lev__stubs.c
diff -u /dev/null pkgsrc/devel/ocaml-dune/patches/patch-src_lev_src_lev__stubs.c:1.1
--- /dev/null   Sun May 10 12:14:49 2026
+++ pkgsrc/devel/ocaml-dune/patches/patch-src_lev_src_lev__stubs.c      Sun May 10 12:14:49 2026
@@ -0,0 +1,16 @@
+$NetBSD: patch-src_lev_src_lev__stubs.c,v 1.1 2026/05/10 12:14:49 wiz Exp $
+
+Add missing header (WIFEXITED etc.).
+https://github.com/ocaml/dune/issues/14484
+
+--- src/lev/src/lev_stubs.c.orig       2026-05-10 12:10:14.160997135 +0000
++++ src/lev/src/lev_stubs.c
+@@ -4,7 +4,7 @@
+ #include <stdint.h>
+ 
+ #include <math.h>
+-#if (defined(__FreeBSD__) || defined(__OpenBSD__))
++#if (defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__))
+ #include <sys/wait.h>
+ #endif
+ #define TAG_WEXITED 0



Home | Main Index | Thread Index | Old Index