head	1.21;
access;
symbols
	pkgsrc-2026Q2:1.21.0.2
	pkgsrc-2026Q2-base:1.21
	pkgsrc-2026Q1:1.20.0.2
	pkgsrc-2026Q1-base:1.20
	pkgsrc-2025Q4:1.17.0.4
	pkgsrc-2025Q4-base:1.17
	pkgsrc-2025Q3:1.17.0.2
	pkgsrc-2025Q3-base:1.17
	pkgsrc-2025Q2:1.16.0.6
	pkgsrc-2025Q2-base:1.16
	pkgsrc-2025Q1:1.16.0.4
	pkgsrc-2025Q1-base:1.16
	pkgsrc-2024Q4:1.16.0.2
	pkgsrc-2024Q4-base:1.16
	pkgsrc-2024Q3:1.15.0.8
	pkgsrc-2024Q3-base:1.15
	pkgsrc-2024Q2:1.15.0.6
	pkgsrc-2024Q2-base:1.15
	pkgsrc-2024Q1:1.15.0.4
	pkgsrc-2024Q1-base:1.15
	pkgsrc-2023Q4:1.15.0.2
	pkgsrc-2023Q4-base:1.15
	pkgsrc-2023Q3:1.14.0.12
	pkgsrc-2023Q3-base:1.14
	pkgsrc-2023Q2:1.14.0.10
	pkgsrc-2023Q2-base:1.14
	pkgsrc-2023Q1:1.14.0.8
	pkgsrc-2023Q1-base:1.14
	pkgsrc-2022Q4:1.14.0.6
	pkgsrc-2022Q4-base:1.14
	pkgsrc-2022Q3:1.14.0.4
	pkgsrc-2022Q3-base:1.14
	pkgsrc-2022Q2:1.14.0.2
	pkgsrc-2022Q2-base:1.14
	pkgsrc-2022Q1:1.11.0.2
	pkgsrc-2022Q1-base:1.11
	pkgsrc-2021Q4:1.10.0.8
	pkgsrc-2021Q4-base:1.10
	pkgsrc-2021Q3:1.10.0.6
	pkgsrc-2021Q3-base:1.10
	pkgsrc-2021Q2:1.10.0.4
	pkgsrc-2021Q2-base:1.10
	pkgsrc-2021Q1:1.10.0.2
	pkgsrc-2021Q1-base:1.10
	pkgsrc-2020Q4:1.9.0.2
	pkgsrc-2020Q4-base:1.9
	pkgsrc-2020Q3:1.8.0.6
	pkgsrc-2020Q3-base:1.8
	pkgsrc-2020Q2:1.8.0.4
	pkgsrc-2020Q2-base:1.8
	pkgsrc-2020Q1:1.8.0.2
	pkgsrc-2020Q1-base:1.8
	pkgsrc-2019Q4:1.5.0.4
	pkgsrc-2019Q4-base:1.5
	pkgsrc-2019Q3:1.3.0.4
	pkgsrc-2019Q3-base:1.3
	pkgsrc-2019Q2:1.3.0.2
	pkgsrc-2019Q2-base:1.3
	pkgsrc-2019Q1:1.2.0.2
	pkgsrc-2019Q1-base:1.2
	pkgsrc-2018Q4:1.1.0.2
	pkgsrc-2018Q4-base:1.1;
locks; strict;
comment	@# @;


1.21
date	2026.03.28.10.22.15;	author wiz;	state Exp;
branches;
next	1.20;
commitid	iYjNwIqtxOMhdJzG;

1.20
date	2026.03.25.03.19.00;	author maya;	state Exp;
branches;
next	1.19;
commitid	hdafBh8mi8TKXizG;

1.19
date	2026.03.01.12.38.23;	author gdt;	state Exp;
branches;
next	1.18;
commitid	xaHXyYFajPgHPgwG;

1.18
date	2026.01.11.18.09.04;	author alnsn;	state Exp;
branches;
next	1.17;
commitid	PvU19TZoCvUId0qG;

1.17
date	2025.08.25.08.34.57;	author wiz;	state Exp;
branches;
next	1.16;
commitid	tgYETpEmimJPw58G;

1.16
date	2024.12.18.03.06.47;	author riastradh;	state Exp;
branches;
next	1.15;
commitid	5SPFFwe5vvMfJVBF;

1.15
date	2023.11.05.21.26.41;	author jaapb;	state Exp;
branches;
next	1.14;
commitid	arZvMS4ti3n5YsLE;

1.14
date	2022.05.24.18.51.48;	author jaapb;	state Exp;
branches;
next	1.13;
commitid	tyn8C2gxw4eI9lFD;

1.13
date	2022.04.12.11.28.00;	author tnn;	state Exp;
branches;
next	1.12;
commitid	uEbqoIk2nGbw3UzD;

1.12
date	2022.03.28.17.08.09;	author tnn;	state Exp;
branches;
next	1.11;
commitid	54yBDRm8eqsSp0yD;

1.11
date	2022.03.01.09.33.09;	author jaapb;	state Exp;
branches;
next	1.10;
commitid	q0I6oRajkmsHLuuD;

1.10
date	2021.03.08.08.12.51;	author jaapb;	state Exp;
branches;
next	1.9;
commitid	ZSVtQ5nGxDdxPtKC;

1.9
date	2020.12.09.10.48.33;	author jaapb;	state Exp;
branches;
next	1.8;
commitid	8kjioUZcOAgXx3zC;

1.8
date	2020.01.17.10.42.42;	author jaapb;	state Exp;
branches;
next	1.7;
commitid	BpMJwWm6eGCd22TB;

1.7
date	2020.01.17.10.29.34;	author jaapb;	state Exp;
branches;
next	1.6;
commitid	QQVC8ieLunksX1TB;

1.6
date	2020.01.17.09.18.08;	author jaapb;	state Exp;
branches;
next	1.5;
commitid	3w81DYFU4LjTy1TB;

1.5
date	2019.11.03.10.39.22;	author rillig;	state Exp;
branches;
next	1.4;
commitid	REW2CfrA7HdqqoJB;

1.4
date	2019.11.01.19.41.46;	author maya;	state Exp;
branches;
next	1.3;
commitid	VMEpJIysWTwxubJB;

1.3
date	2019.05.07.11.29.34;	author jaapb;	state Exp;
branches;
next	1.2;
commitid	Tv6MQcNr6xZ2ugmB;

1.2
date	2019.03.05.16.11.03;	author jaapb;	state Exp;
branches;
next	1.1;
commitid	2XRUqB7BNDsHXbeB;

1.1
date	2018.11.27.14.27.39;	author jaapb;	state Exp;
branches;
next	;
commitid	4DVhHrY2ogjhEA1B;


desc
@@


1.21
log
@ocaml-dune: update to 3.22.0.

3.22.0 (2026-03-18)
-------------------

### Fixed

- `Dyn.to_string` now uses a smarter way to convert floats. This ensures that
  floats are printed with enough precision to round-trip and are valid OCaml
  lexemes. (#12982, fixes #12980, @@Alizter)

- Fix `dune install --prefix` failing with relative paths outside the workspace
  like `../foo` (#12993, fixes #12241, @@benodiwal)

- Place the default trace file inside the build directory at the
  workspace root, rather than relative to the current directory.
  (#13735, @@vouillon)

- Fixed interpreting relative paths in `%{bin:..}` and `%{bin-available:..}`.
  These are now interpreted correctly, relative to the dune file they're in.
  (#13712, fixes #9564, @@anmonteiro)

- Delete sandboxes with broken permissions (#13511, @@rgrinberg)

- Fix compiling Menhir parsers that refer to sibling modules within a
  subdirectory of `(include_subdirs qualified)`. (#13118, fixes #11119,
  @@anmonteiro)

- Fixed the dependency specification of C stubs, which could result in C
  stubs not getting rebuilt when needed (which could in turn lead to
  segmentation faults and other hard-to-track bugs).
  (#13652, fixes #13651, @@nojb)

- Fix the Dune cache on Windows by correctly handling renames onto read-only
  files. Before this change, the Dune cache would be filled but the stored
  artifacts would not generally be usable by Dune. (#13713, @@Nevor)

- Fix rpc not transferring promotion warnings to the client
  (#12604, fixes #12578, @@ElectreAAS)

- Fix issue where `dune exec -w` was unable to kill running programs on
  rebuild. (#12360, fixes #12323, @@Alizter)

- Resolve context and workspace binaries introduced by the respective `(env
  (binaries ..))` stanzas. (#12952, fixes #6220, @@anmonteiro)

- Fix `diff` promotions originating from sandboxed rules. Previously, they
  would be completely ignored as the sandbox with the promoted file would be
  destroyed if the promotion fired (#13520, @@rgrinberg)

- Fix failure to digest installed directory targets, allowing them to be used
  as dependencies to other rules. (#13045, @@anmonteiro)

- Fix handling of `(select ..)` field when used with `(include_subdirs ..)`.
  `(select <path> from ..)` modules now parse `path` as a relative path
  starting from the module group root (#13175, fixes #4383, #12450,
  @@anmonteiro)

- Fix dune trying to kill processes that were already reaped due to race
  conditions (#13245, @@rgrinberg)

- Add `O_CLOEXEC` to all files used for stdin/stdout/stderr (#13385, @@rgrinberg)

- Fix `$ dune promote dir/foo` when `dir` does not exist (#13493, @@rgrinberg)

- Fix `(select ..)` field evaluation when a transitive library has optional
  dependencies (fixes #13299, #13389, @@anmonteiro)

- Fix sandboxed builds of `library` stanzas that set
  `(stdlib (modules_before_stdlib ..))` (#13624, @@anmonteiro)

- Dune cache: use of hard links under Windows. (#13714, @@Nevor)

- Fixed non-build caches not following `$DUNE_CACHE_ROOT` and instead only
  relying on `$XDG_CACHE_HOME`.
  This means the normal build cache moves:
  `$DUNE_CACHE_ROOT -> $DUNE_CACHE_ROOT/db` (no changes if that variable was
  unset). Affected users can prevent a full cache invalidation by moving
  previous contents:
  `cd $DUNE_CACHE_ROOT; mkdir db; mv <contents of directory> db`.
  (#11612, fixes #11584, @@ElectreAAS)

- `$ dune promotion list` writes output to stdout rather than stderr (#13462)

- Improve handling of empty files in the `diff` action. These are now correctly
  distinguished from *empty* files. (#13696, @@rgrinberg)
- Pass `/dev/null` to `--diff-command` instead of non-existent files (#13696,
  @@rgrinberg)

- Fix failure when multiple `rocq.extraction` stanzas existing in a directory
  (#13531, fixes #8042, @@rlepigre-skylabs-ai)

- Print `$ dune promotion show` output to stdout rather than stderr (#13481,
  @@rgrinberg)

- Fix deadlock in the `memo` library in the presence of dependency cycles
  (#13625, @@anmonteiro)

- Fix promotions that modify a directory into a file (#13516, fixes #4067,
  @@rgrinberg)

- Fix installation of implementations of virtual libraries. This failed when
  the implementation had no private modules, but the virtual library did
  (#10635, @@rgrinberg)

- Respect the `(dir ..)` field on packages when setting up cram tests (#13581,
  @@rgrinberg)

### Added

- Add support for generating `.cms` files using oxcaml and adding `.cms` or
  `.cmt` files as compilation dependencies (#13397, @@spiessimon)

- Add trace events for custom actions (#13265, @@rgrinberg)

- Allow enabling extensions with `(using ..)` in `dune-workspace` files
  (#13395, @@spiessimon)

- Add sandbox extraction trace event (#13544, @@rgrinberg)

- Add the initial cwd to the first config event (#13026, @@rgrinberg)

- Dune dune produces trace events in `DUNE_ACTION_TRACE_DIR` if this variable
  is set. (#13302, @@rgrinberg)

- Add file watching events to the trace file (#13038, @@rgrinberg)

- Introduce the `$ dune trace cat` subcommand to view the trace file. (#13055,
  @@rgrinberg)

- Add diagnostic events to the trace. (#13041, @@rgrinberg)

- Add `DUNE_JOBS` environment variable for controlling concurrency of Dune from
  environment. The `INSIDE_DUNE` variable also now no longer controls
  concurrency (#12800, @@Alizter)

- Support for Rocq expected output tests (#13632, @@rlepigre-skylabs-ai)

- Add `rusage` information to completed processes in the trace (@@rgrinberg,
  #13241)

- Add process start events to the trace (#13261, rgrinberg)

- Generate odoc documentation in markdown using the `@@doc-markdown` alias
  (#12581, @@davesnx)

- Add timing information for every command executed by cram (#13092,
  @@rgrinberg)

- Add the workspace root to the config trace event (#12922, @@rgrinberg)

- Introduce the `dune-action-trace` library. This public library is to be used
  by custom actions to emit trace events while executed as part of a dune
  build. The trace events emitted through this library will be incorporated
  into dune's own trace (#13348, @@rgrinberg)

- Add `dune-find-dominating` to `dune.el`, a command to find the
  dominating dune file. (#12696, @@arvidj)

- Add a `--no-recursive` flag to `$ dune describe workspace` (#13590, @@rgrinberg)

- Trace events for files written directly by dune (#13618, @@rgrinberg)

- Allow expansion of special forms like `(:include ..)` and `%{read-lines:..}`
  in the `modules` specification for the `ocamllex`, `ocamlyacc` and `menhir`
  stanzas. (#13105, #13135, #13157, @@anmonteiro)

- Add a trace event for snapshotting the asndbox (#13541, @@rgrinberg)

- Add signal send and receive events to the trace (#13193, @@rgrinberg)

- Emit final trace event before exiting. (#13018, @@rgrinberg)

- `dune runtest` can now run individual test executables from `(tests)` stanzas
  and inline tests from `(library (inline_tests))` stanzas by providing their
  source files as arguments. (#13064, fixes #870, @@Alizter)

- Add a `shell` field to the cram stanza. This field allows customizing the
  shell to be `bash` rather than `sh` (#13083, @@haochenx)

### Changed

- Start sandboxing the execution of tests defined with the `test` and `tests`
  stanzas (#13510, #13617, @@rgrinberg)

- Disabled cram tests can now be run explicitly with `dune runtest disabled.t`.
  The `enabled_if` field now only controls whether a test is included in
  the `@@runtest` alias. (#13081, @@Alizter)

- Process categories in trace events are moved to their own field in `args`
  (#13024, @@rgrinberg)

- Sandbox running `ocamllex` and `ocamlyacc` actions. (#13098, @@anmonteiro)

- Sandboxing mdx test actions is now the default starting from `0.5` (#13504,
  @@rgrinberg)

- Start sandboxing Melange rules by default in the `(library ..)` and
  `(melange.emit ..)` stanzas (#13619, @@anmonteiro)

- Introduce a promotion trace event and remove the corresponding verbose log
  message. (#12949, #13444, @@rgrinberg)

- Change dune's trace format to emit canonical s-expressions. This improves
  performance and is better aligned with dune's usage of the format
  elsewhere. `$ dune trace cat` can also emit the trace in `--chrome-trace`
  for perfetto, or `--sexp` for regular s-expressions for interactive usage.
  (#13059, @@rgrinberg)

- Move all logging statements to the trace file. All log statements now contain
  structured payloads (#13015, fixes #12904, @@rgrinberg)

- Add a target resolution event to replace the equivalent log message (#12955,
  @@rgrinberg)
@
text
@# $NetBSD: Makefile,v 1.20 2026/03/25 03:19:00 maya Exp $

.include "Makefile.common"

PKGNAME=	ocaml-${DISTNAME}
CATEGORIES=	devel

MAINTAINER=	pkgsrc-users@@NetBSD.org
HOMEPAGE=	https://github.com/ocaml/dune/
COMMENT=	Composable build system for OCaml

CONFLICTS=	ocaml-jbuilder-[0-9]*
SUPERSEDES=	ocaml-jbuilder-[0-9]*

USE_TOOLS+=		gmake
USE_LANGUAGES=		# none
UNLIMIT_RESOURCES+=	stacksize

HAS_CONFIGURE=		yes
CONFIGURE_ARGS=		--libdir ${PREFIX}/lib/ocaml --libdir ${PREFIX}/${OCAML_SITELIBDIR}

BUILD_TARGET=		release
MAKE_ENV+=		MAKE_JOBS=${MAKE_JOBS:U1}
INSTALLATION_DIRS+=	bin ${PKGMANDIR}/man1 ${PKGMANDIR}/man5 ${OCAML_SITELIBDIR}/dune

OCAML_USE_FINDLIB=	yes
OCAML_FINDLIB_DIRS=	dune

# The configure script has a `--mandir' option, but it doesn't seem to be respected.
post-install:
	@@${STEP_MSG} Fixing man page installation directory
.for section in man1 man5
	${RUN} ${MV} ${DESTDIR}${PREFIX}/man/${section}/* \
	    ${DESTDIR}${PREFIX}/${PKGMANDIR}/${section}/ || ${TRUE}
.endfor

.include "../../lang/ocaml/ocaml.mk"

.include "../../mk/bsd.pkg.mk"
@


1.20
log
@ocaml-dune: Fix install with custom PKGMANDIR.

Seen in jperkin's darwin bulk builds.
From riastradh
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.19 2026/03/01 12:38:23 gdt Exp $
a2 1
PKGREVISION= 1
@


1.19
log
@*: revbump for lang/ocaml micro (security) update
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.18 2026/01/11 18:09:04 alnsn Exp $
d25 1
a25 1
INSTALLATION_DIRS+=	bin ${PKGMANDIR}/man1 ${OCAML_SITELIBDIR}/dune
d30 8
@


1.18
log
@Update devel/ocaml-dune to 3.20.2.

All changes between 3.11.1 and 3.20.2 are listed here:
https://github.com/ocaml/dune/blob/main/CHANGES.md
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.17 2025/08/25 08:34:57 wiz Exp $
d3 1
@


1.17
log
@reset maintainer
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.16 2024/12/18 03:06:47 riastradh Exp $
a5 1
PKGREVISION=	1
@


1.16
log
@devel/ocaml-dune: revbump for the `which' fix (pkg-config not found).

dholland@@ had added this patch only to devel/ocaml-dune-configurator
and revbumped that:

https://mail-index.netbsd.org/pkgsrc-changes/2024/11/30/msg311600.html

Then gdt@@ moved the patches to devel/ocaml-dune to merge the patchdir
and distinfo, since the half-merged state was causing trouble, but
didn't revbump devel/ocaml-dune:

https://mail-index.netbsd.org/pkgsrc-changes/2024/12/06/msg311977.html

Builds that have been incremental since before 2024-12-06 may still
have a broken devel/ocaml-dune and no reason to rebuild it until we
revbump it.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.15 2023/11/05 21:26:41 jaapb Exp $
d9 1
a9 1
MAINTAINER=	jaapb@@NetBSD.org
@


1.15
log
@Updated devel/ocaml-dune to version 3.11.1.

This is a change that's way overdue; lots and lots of changes between
the latest version (2.9.3) and this one. Check out CHANGES.md in the
distribution for all details.

I've slimmed down the package so it only installes the core dune
package.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.14 2022/05/24 18:51:48 jaapb Exp $
d6 1
@


1.14
log
@Recursive revbump associated with update of ocaml.

Also change of mk/ocaml.mk to lang/ocaml/ocaml.mk.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.13 2022/04/12 11:28:00 tnn Exp $
a5 1
PKGREVISION=	1
d19 3
d27 1
a27 15
OCAML_FINDLIB_DIRS=	dune \
			dune-action-plugin \
			dune-build-info \
			dune-glob \
			dune-private-libs \
			stublibs
OCAML_USE_OPAM=		yes
OPAM_INSTALL_FILES=	dune-glob \
			dune-action-plugin \
			dune-build-info \
			dune \
			dune-private-libs

post-build:
	${RUN} cd ${WRKSRC} && ./dune.exe build -p dune,dune-action-plugin,dune-build-info,dune-glob,dune-private-libs @@install
@


1.13
log
@ocaml-dune: remove wrong/incomplete PKGMANDIR solution
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.12 2022/03/28 17:08:09 tnn Exp $
d6 1
d41 1
a41 1
.include "../../mk/ocaml.mk"
@


1.12
log
@ocaml-dune: honour PKGMANDIR
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.11 2022/03/01 09:33:09 jaapb Exp $
a36 5
SUBST_CLASSES+=		mandir
SUBST_STAGE.mandir=	pre-configure
SUBST_FILES.mandir=	src/dune_engine/install.ml
SUBST_SED.mandir=	-e 's,sprintf "man%c",sprintf  "${PKGMANDIR}%c",'

@


1.11
log
@Updated devel/ocaml-dune to version 2.9.3.

Mostly minor bugfixes. I'm holding off on the update to dune 3.0 for the
moment.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.10 2021/03/08 08:12:51 jaapb Exp $
d37 5
@


1.10
log
@Recursive revbump associated with update of lang/ocaml
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.9 2020/12/09 10:48:33 jaapb Exp $
a2 1
PKGREVISION= 1
@


1.9
log
@Updated devel/ocaml-dune to version 2.7.1.

Changes from the previous version are too many to mention (see the
CHANGELOG.md file in the distribution for full details). From a practical
point of view the package bootstrap procedure has changed now so that
dune-configurator had to be split off as a separate package; there are
also compatibility changes so the package works with newer versions of
OCaml.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.8 2020/01/17 10:42:42 jaapb Exp $
d3 1
@


1.8
log
@Updated OCAML_FINDLIB_DIRS variable in devel/ocaml-dune.
@
text
@d1 3
a3 1
# $NetBSD: Makefile,v 1.7 2020/01/17 10:29:34 jaapb Exp $
a4 2
GITHUB_PROJECT=	dune
DISTNAME=	${GITHUB_PROJECT}-2.1.3
a5 1
PKGREVISION=	1
a6 1
MASTER_SITES=	${MASTER_SITE_GITHUB:=ocaml/}
a10 1
LICENSE=	apache-2.0
a26 1
			dune-configurator \
d35 1
a35 2
			dune-private-libs \
			dune-configurator
d38 1
a38 1
	${RUN} cd ${WRKSRC} && ./dune.exe build -p dune,dune-action-plugin,dune-build-info,dune-configurator,dune-glob,dune-private-libs @@install
@


1.7
log
@Updated devel/ocaml-dune to version 2.1.3nb1.

This also compiles all the other packages included in the distribution;
they do not add any dependencies, so I decided against making them
optional.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.6 2020/01/17 09:18:08 jaapb Exp $
d27 7
a33 1
OCAML_FINDLIB_DIRS=	dune stublibs
@


1.6
log
@Updated devel/ocaml-dune to version 2.1.3.

The list of changes is quite large, details can be found in the CHANGES.md
file in the distribution.

For our purposes, the main change is that .install files are now put in a
different location by default; I've updated mk/ocaml.mk to take that into
account.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.5 2019/11/03 10:39:22 rillig Exp $
a3 1
#GITHUB_TAG=	${PKGVERSION_NOREV:S/_/+/}
d6 1
d29 9
@


1.5
log
@devel: align variable assignments

pkglint -Wall -F --only aligned --only indent -r

No manual corrections.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.4 2019/11/01 19:41:46 maya Exp $
d5 1
a5 1
DISTNAME=	${GITHUB_PROJECT}-1.11.4
@


1.4
log
@ocaml-dune: update to 1.11.4

dune 1.11.4:

    Allow to mark directories as data_only_dirs without including them as dirs
    (#2619, fix #2584, @@rgrinberg)

    Fix reading .install files generated with an external --build-dir. (#2638,
    fix #2629, @@rgrinberg)


dune 1.11.3:

    Fix a ppx hash collision in watch mode (#2546, fixes #2520, @@diml)

dune 1.11.2:

    Remove the optimisation of passing -nodynlink for executalbes when
    not necessary. It seems to be breaking things (see #2527, @@diml)

    Fix invalid library names in dune-package files. Only public names should
    exist in such files. (#2558, fix #2425, @@rgrinberg)


dune 1.11.1:

    Fix config file dependencies of ocamlformat (#2471, fixes #2646,
    @@nojb)

    Cleanup stale directories when using (source_tree ...) in the
    presence of directories with only sub-directories and no files
    (#2514, fixes #2499, @@diml)


dune 1.11.0:

    Don't select all local implementations in dune utop. Instead, let the
    default implementation selection do its job. (#2327, fixes #2323, @@TheLortex,
    review by @@rgrinberg)

    Check that selected implementations (either by variants or default
    implementations) are indeed implementations. (#2328, @@TheLortex, review by
    @@rgrinberg)

    Don't reserve the Ppx toplevel module name for ppx rewriters (#2242, @@diml)

    Redesign of the library variant feature according to the #2134 proposal. The
    set of variants is now computed when the virtual library is installed.
    Introducing a new external_variant stanza. (#2169, fixes #2134, @@TheLortex,
    review by @@diml)

    Add proper line directives when copying .cc and .cxx sources (#2275,
    @@rgrinberg)

    Fix error message for missing C++ sources. The .cc extension was always
    ignored before. (#2275, @@rgrinberg)

    Add $ dune init project subcommand to create project boilerplate according
    to a common template. (#2185, fixes #159, @@shonfeder)

    Allow to run inline tests in javascript with nodejs (#2266, @@hhugo)

    Build ppx.exe as compiling host binary. (#2286, fixes #2252, @@toots, review
    by @@rgrinberg and @@diml)

    Add a cinaps extension and stanza for better integration with the
    cinaps tool tool (#2269,
    @@diml)

    Allow to embed build info in executables such as version and list
    and version of statically linked libraries (#2224, @@diml)

    Set version in META and dune-package files to the one read from
    the vcs when no other version is available (#2224, @@diml)

    Add a variable %{target} to be used in situations where the context
    requires at most one word, so %{targets} can be confusing; stdout
    redirections and "-o" arguments of various tools are the main use
    case; also, introduce a separate field target that must be used
    instead of targets in those situations. (#2341, @@aalekseyev)

    Fix dependency graph of wrapped_compat modules. Previously, the dependency on
    the user written entry module was omitted. (#2305, @@rgrinberg)

    Allow to promote executables built with an executable stanza
    (#2379, @@diml)

    When instantiating an implementation with a variant, make sure it matches
    virtual library's list of known implementations. (#2361, fixes #2322,
    @@TheLortex, review by @@rgrinberg)

    Add a variable %{ignoring_promoted_rules} that is true when
    --ingore-promoted-rules is passed on the command line and false
    otherwise (#2382, @@diml)

    Fix a bug in future_syntax where the characters @@ and & were
    not distinguished in the names of binding operators (let@@ was the
    same as let&) (#2376, @@aalekseyev, @@diml)

    Workspaces with non unique project names are now supported. (#2377, fix #2325,
    @@rgrinberg)

    Improve opam generation to include the dune dependncies with the minimum
    constraint set based on the dune language version specified in the
    dune-project file. (2383, @@avsm)

    The order of fields in the generated opam file now follows order preferred in
    opam-lib. (@@avsm, #2380)

    Fix coloring of error messages from the compiler (@@diml, #2384)

    Add warning 66 to default set of warnings starting for dune projects with
    language verison >= 1.11 (@@rgrinberg, @@diml, fixes #2299)

    Add (dialect ...) stanza
    (@@nojb, #2404)

    Add a --context argument to dune install/uninstall (@@diml, #2412)

    Do not warn about merlin files pre 1.9. This warning can only be disabled in
    1.9 (#2421, fixes #2399, @@emillon)

    Add a new inline_tests field in the env stanza to control inline_tests
    framework with a variable (#2313, @@mlasson, original idea by @@diml, review
    by @@rgrinberg).

    New binary kind js for executables in order to explicitly enable Javascript
    targets, and a switch (explicit_js_mode) to require this mode in order to
    declare JS targets corresponding to executables. (#1941, @@nojb)


dune 1.10.0:

    Restricted the set of variables available for expansion in the destination
    filename of install stanza to simplify implementation and avoid dependency
    cycles. (#2073, @@aalekseyev, @@diml)

    [menhir] call menhir from context root build_dir (#2067, @@ejgallego,
    review by @@diml, @@rgrinberg)

    [coq] Add coq.pp stanza to help with pre-processing of grammar
    files (#2054, @@ejgallego, review by @@rgrinberg)

    Add a new more generic form for the promote mode: (promote (until-clean) (into <dir>)) (#2068, @@diml)

    Allow to promote only a subset of the targets via (promote (only <pred>)). For instance: (promote (only *.mli)) (#2068, @@diml)

    Improve the behavior when a strict subset of the targets of a rule is already
    in the source tree for projects using the dune language < 1.10 (#2068, fixes
    #2061, @@diml)

    With lang dune >= 1.10, rules in standard mode are no longer allowed to
    produce targets that are present in the source tree. This has been a warning
    for long enough (#2068, @@diml)

    Allow %{...} variables in pps flags (#2076, @@mlasson review by @@diml and
    @@aalekseyev).

    Add a 'cookies' option to ppx_rewriter/deriver flags in library stanzas. This
    allow to specify cookie requests from variables expanded at each invocation of
    the preprocessor. (#2106, @@mlasson @@diml)

    Add more opam metadata and use it to generate .opam files. In particular, a
    package field has been added to specify package specific information.
    (#2017, #2091, @@avsm, @@jonludlam, @@rgrinberg)

    Clean up the special support for findlib.dynload. Before, Dune would simply
    match on the library name. Now, we only match on the findlib package name when
    the library doesn't come from Dune. Someone writing a library called
    findlib.dynload with Dune would have to add (special_builtin_support findlib_dynload) to trigger the special behavior. (#2115, @@diml)

    Install the future_syntax preprocessor as ocaml-syntax-shims.exe (#2125,
    @@rgrinberg)

    Hide full command on errors and warnings in development and show them in CI.
    (detected using the CI environment variable). Commands for which the
    invocation might be omitted must output an error prefixed with File . Add an
    --always-show-command-line option to disable this behavior and always show
    the full command. (#2120, fixes #1733, @@rgrinberg)

    In dune-workspace files, add the ability to choose the host context and to
    create duplicates of the default context with different settings. (#2098,
    @@TheLortex, review by @@diml, @@rgrinberg and @@aalekseyev)

    Add support for hg in dune subst (#2135, @@diml)

    Don't build documentation for implementations of virtual libraries (#2141,
    fixes #2138, @@jonludlam)

    Fix generation of the -pp flag in .merlin (#2142, @@rgrinberg)

    Make dune subst add a (version ...) field to the dune-project
    file (#2148, @@diml)

    Add the %{os_type} variable, which is a short-hand for
    %{ocaml-config:os_type} (#1764, @@diml)

    Allow enabled_if fields in library stanzas, restricted to the
    %{os_type}, %{model}, %{architecture}, %{system} variables (#1764,
    #2164 @@diml, @@rgrinberg)

    Fix chdir on external and source paths. Dune will also fail gracefully if
    the external or source path does not exist (#2165, fixes #2158, @@rgrinberg)

    Support the .cc extension fro C++ sources (#2195, fixes #83, @@rgrinberg)

    Run ocamlformat relative to the context root. This improves the locations of
    errors. (#2196, fixes #1370, @@rgrinberg)

    Fix detection of README, LICENSE, CHANGE, and HISTORY files. These
    would be undetected whenever the project was nested in another workspace.
    (#2194, @@rgrinberg)

    Fix generation of .merlin whenever there's more than one stanza with the
    same ppx preprocessing specification (#2209 ,fixes #2206, @@rgrinberg)

    Fix generation of .merlin in the presence of the copy_files stanza and
    preprocessing specifications of other stanazs. (#2211, fixes #2206,
    @@rgrinberg)

    Run refmt from the context's root directory. This improves error messages in
    case of syntax errors. (#2223, @@rgrinberg)

    In .merlin files, don't pass -dump-ast to the future_syntax preprocessor.
    Merlin doesn't seem to like it when binary AST is generated by a -pp
    preprocessor. (#2236, @@aalekseyev)

    dune install will verify that all files mentioned in all .install files
    exist before trying to install anything. This prevents partial installation of
    packages (#2230, @@rgrinberg)
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.3 2019/05/07 11:29:34 jaapb Exp $
d18 2
a19 2
USE_TOOLS+=	gmake
USE_LANGUAGES=	# none
d22 2
a23 2
BUILD_TARGET=	release
MAKE_ENV+=	MAKE_JOBS=${MAKE_JOBS:U1}
d28 1
a28 1
OCAML_USE_OPAM=	yes
@


1.3
log
@Updated devel/ocaml-dune to version 1.9.3.

Many mostly minor changes and bugfixes, nothing that breaks backward
compatibility. A full list is available in the CHANGES file.

The package now also builds the release version, which results in a lot
fewer warnings, and actually is necessary for building with OCaml 4.08.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.2 2019/03/05 16:11:03 jaapb Exp $
d5 1
a5 1
DISTNAME=	${GITHUB_PROJECT}-1.9.3
@


1.2
log
@Updated devel/ocaml-dune to version 1.7.3.

The biggest change (introduced in 1.7.0) is that dune-package files are
generated instead of .dune files. This means that every package that is
built with dune needs an update, of the PLIST if nothing else (I'll be
committing those ASAP).

There are several other changes, improvments and bugfixes that are
listed in the CHANGES.md file in the distfile.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.1 2018/11/27 14:27:39 jaapb Exp $
d5 1
a5 1
DISTNAME=	${GITHUB_PROJECT}-1.7.3
d22 1
a22 1
BUILD_TARGET=	default
@


1.1
log
@Added package devel/ocaml-dune at version 1.5.1.

This is a rename of existing package devel/ocaml-jbuilder, which I will
be removing in due course.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.10 2018/11/12 16:10:19 jaapb Exp $
d5 1
a5 1
DISTNAME=	${GITHUB_PROJECT}-1.5.1
@

