Skip to content

Commit

Permalink
[new release] dune-build-info, dune, dune-configurator, dune-site, du…
Browse files Browse the repository at this point in the history
…ne-action-plugin, dune-private-libs and dune-glob (2.8.0)

CHANGES:

- `dune rules` accepts aliases and other non-path rules (ocaml/dune#4063, @mrmr1993)

- Action `(diff reference test_result)` now accept `reference` to be absent and
  in that case consider that the reference is empty. Then running `dune promote`
  will create the reference file. (ocaml/dune#3795, @bobot)

- Ignore special files (BLK, CHR, FIFO, SOCKET), (ocaml/dune#3570, fixes ocaml/dune#3124, ocaml/dune#3546,
  @ejgallego)

- Experimental: Simplify loading of additional files (data or code) at runtime
  in programs by introducing specific installation sites. In particular it allow
  to define plugins to be installed in these sites. (ocaml/dune#3104, ocaml/dune#3794, fixes ocaml/dune#1185,
  @bobot)

- Move all temporary files created by dune to run actions to a single directory
  and make sure that actions executed by dune also use this directory by setting
  `TMPDIR` (or `TEMP` on Windows). (ocaml/dune#3691, fixes ocaml/dune#3422, @rgrinberg)

- Fix bootstrap script with custom configuration. (ocaml/dune#3757, fixes ocaml/dune#3774, @marsam)

- Add the `executable` field to `inline_tests` to customize the compilation
  flags of the test runner executable (ocaml/dune#3747, fixes ocaml/dune#3679, @lubegasimon)

- Add `(enabled_if ...)` to `(copy_files ...)` (ocaml/dune#3756, @nojb)

- Make sure Dune cleans up the status line before exiting (ocaml/dune#3767,
  fixes ocaml/dune#3737, @alan-j-hu)

- Add `{gitlab,bitbucket}` as options for defining project sources with `source`
  stanza `(source (<host> user/repo))` in the `dune-project` file.  (ocaml/dune#3813,
  @rgrinberg)

- Fix generation of `META` and `dune-package` files when some targets (byte,
  native, dynlink) are disabled. Previously, dune would generate all archives
  for regardless of settings. (ocaml/dune#3829, ocaml/dune#4041, @rgrinberg)

- Do not run ocamldep to for single module executables & libraries. The
  dependency graph for such artifacts is trivial (ocaml/dune#3847, @rgrinberg)

- Fix cram tests inside vendored directories not being interpreted correctly.
  (ocaml/dune#3860, fixes ocaml/dune#3843, @rgrinberg)

- Add `package` field to private libraries. This allows such libraries to be
  installed and to be usable by other public libraries in the same project
  (ocaml/dune#3655, fixes ocaml/dune#1017, @rgrinberg)

- Fix the `%{make}` variable on Windows by only checking for a `gmake` binary
  on UNIX-like systems as a unrelated `gmake` binary might exist on Windows.
  (ocaml/dune#3853, @kit-ty-kate)

- Fix `$ dune install` modifying the build directory. This made the build
  directory unusable when `$ sudo dune install` modified permissions. (fix
  ocaml/dune#3857, @rgrinberg)

- Fix handling of aliases given on the command line (using the `@` and `@@`
  syntax) so as to correctly handle relative paths. (ocaml/dune#3874, fixes ocaml/dune#3850, @nojb)

- Allow link time code generation to be used in preprocessing executable. This
  makes it possible to use the build info module inside the preprocessor.
  (ocaml/dune#3848, fix ocaml/dune#3848, @rgrinberg)

- Correctly call `git ls-tree` so unicode files are not quoted, this fixes
  problems with `dune subst` in the presence of unicode files. Fixes ocaml/dune#3219
  (ocaml/dune#3879, @ejgallego)

- `dune subst` now accepts common command-line arguments such as
  `--debug-backtraces` (ocaml/dune#3878, @ejgallego)

- `dune describe` now also includes information about executables in addition to
  that of libraries. (ocaml/dune#3892, ocaml/dune#3895, @nojb)

- instrumentation backends can now receive arguments via `(instrumentation
  (backend <name> <args>))`. (ocaml/dune#3906, ocaml/dune#3932, @nojb)

- Tweak auto-formatting of `dune` files to improve readability. (ocaml/dune#3928, @nojb)

- Add a switch argument to opam when context is not default. (ocaml/dune#3951, @tmattio)

- Avoid pager when running `$ git diff` (ocaml/dune#3912, @AltGr)

- Add `(root_module ..)` field to libraries & executables. This makes it
  possible to use library dependencies shadowed by local modules (ocaml/dune#3825,
  @rgrinberg)

- Allow `(formatting ...)` field in `(env ...)` stanza to set per-directory
  formatting specification. (ocaml/dune#3942, @nojb)

- [coq] In `coq.theory`, `:standard` for the `flags` field now uses the
  flags set in `env` profile flags (ocaml/dune#3931 , @ejgallego @rgrinberg)

- [coq] Add `-q` flag to `:standard` `coqc` flags , fixes ocaml/dune#3924, (ocaml/dune#3931 , @ejgallego)

- Add support for Coq's native compute compilation mode (@ejgallego, ocaml/dune#3210)

- Add a `SUFFIX` directive in `.merlin` files for each dialect with no
  preprocessing, to let merlin know of additional file extensions (ocaml/dune#3977,
  @vouillon)

- Stop promoting `.merlin` files. Write per-stanza Merlin configurations in
  binary form. Add a new subcommand `dune ocaml-merlin` that Merlin can use to
  query the configuration files. The `allow_approximate_merlin` option is now
  useless and deprecated. Dune now conflicts with `merlin < 3.4.0` and
  `ocaml-lsp-server < 1.3.0` (ocaml/dune#3554, @voodoos)

- Configurator: fix a bug introduced in 2.6.0 where the configurator V1 API
  doesn't work at all when used outside of dune. (ocaml/dune#4046, @aalekseyev)

- Fix `libexec` and `libexec-private` variables. In cross-compilation settings,
  they now point to the file in the host context. (ocaml/dune#4058, fixes ocaml/dune#4057,
  @TheLortex)

- When running `$ dune subst`, use project metadata as a fallback when package
  metadata is missing. We also generate a warning when `(name ..)` is missing in
  `dune-project` files to avoid failures in production builds.

- Remove support for passing `-nodynlink` for executables. It was bypassed in
  most cases and not correct in other cases in particular on arm32.
  (ocaml/dune#4085, fixes ocaml/dune#4069, fixes ocaml/dune#2527, @emillon)

- Generate archive rules compatible with 4.12. Dune longer attempt to generate
  an archive file if it's unnecessary (ocaml/dune#3973, fixes ocaml/dune#3766, @rgrinberg)

- Fix generated Merlin configurations when multiple preprocessors are defined
  for different modules in the same folder. (ocaml/dune#4092, fixes ocaml/dune#2596, ocaml/dune#1212 and
  ocaml/dune#3409, @voodoos)

- Add the option `use_standard_c_and_cxx_flags` to `dune-project` that 1.
  disables the unconditional use of the `ocamlc_cflags` and `ocamlc_cppflags`
  from `ocamlc -config` in C compiler calls, these flags will be present in the
  `:standard` set instead; and 2. enables the detection of the C compiler family
  and populates the `:standard` set of flags with common default values when
  building CXX stubs. (ocaml/dune#3875, ocaml/dune#3802, fix ocaml/dune#3718 and ocaml/dune#3528, @voodoos)
  • Loading branch information
rgrinberg committed Jan 13, 2021
1 parent e0239c6 commit dbe0014
Show file tree
Hide file tree
Showing 7 changed files with 310 additions and 0 deletions.
46 changes: 46 additions & 0 deletions packages/dune-action-plugin/dune-action-plugin.2.8.0/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
opam-version: "2.0"
synopsis: "[experimental] API for writing dynamic Dune actions"
description: """

This library is experimental. No backwards compatibility is implied.

dune-action-plugin provides an API for writing dynamic Dune actions.
Dynamic dune actions do not need to declare their dependencies
upfront; they are instead discovered automatically during the
execution of the action.
"""
maintainer: ["Jane Street Group, LLC <[email protected]>"]
authors: ["Jane Street Group, LLC <[email protected]>"]
license: "MIT"
homepage: "https://github.com/ocaml/dune"
doc: "https://dune.readthedocs.io/"
bug-reports: "https://github.com/ocaml/dune/issues"
depends: [
"dune" {>= "2.8"}
"dune-glob"
"ppx_expect" {with-test}
"dune-private-libs" {= version}
"odoc" {with-doc}
]
dev-repo: "git+https://github.com/ocaml/dune.git"
build: [
["dune" "subst"] {dev}
[
"dune"
"build"
"-p"
name
"-j"
jobs
"@install"
"@doc" {with-doc}
]
]
x-commit-hash: "06f18009cb3c32d32712ecc992c4e45932882022"
url {
src: "https://github.com/ocaml/dune/releases/download/2.8.0/dune-2.8.0.tbz"
checksum: [
"sha256=07104d9a51c85f7100cc95e633e1f07e6436b0f0e68ab38e87328e74a9f0d48b"
"sha512=615958292b9437e16e363c36b02efdc85b78e6e29b301cea23d8ab3ac206dc6546fcd392017967ba54258326ceb997baec9a8053e4d343429a9e48ceeb89f5e8"
]
}
42 changes: 42 additions & 0 deletions packages/dune-build-info/dune-build-info.2.8.0/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
opam-version: "2.0"
synopsis: "Embed build informations inside executable"
description: """
The build-info library allows to access information about how the
executable was built, such as the version of the project at which it
was built or the list of statically linked libraries with their
versions. It supports reporting the version from the version control
system during development to get an precise reference of when the
executable was built.
"""
maintainer: ["Jane Street Group, LLC <[email protected]>"]
authors: ["Jane Street Group, LLC <[email protected]>"]
license: "MIT"
homepage: "https://github.com/ocaml/dune"
doc: "https://dune.readthedocs.io/"
bug-reports: "https://github.com/ocaml/dune/issues"
depends: [
"dune" {>= "2.8"}
"odoc" {with-doc}
]
dev-repo: "git+https://github.com/ocaml/dune.git"
build: [
["dune" "subst"] {dev}
[
"dune"
"build"
"-p"
name
"-j"
jobs
"@install"
"@doc" {with-doc}
]
]
x-commit-hash: "06f18009cb3c32d32712ecc992c4e45932882022"
url {
src: "https://github.com/ocaml/dune/releases/download/2.8.0/dune-2.8.0.tbz"
checksum: [
"sha256=07104d9a51c85f7100cc95e633e1f07e6436b0f0e68ab38e87328e74a9f0d48b"
"sha512=615958292b9437e16e363c36b02efdc85b78e6e29b301cea23d8ab3ac206dc6546fcd392017967ba54258326ceb997baec9a8053e4d343429a9e48ceeb89f5e8"
]
}
47 changes: 47 additions & 0 deletions packages/dune-configurator/dune-configurator.2.8.0/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
opam-version: "2.0"
synopsis: "Helper library for gathering system configuration"
description: """
dune-configurator is a small library that helps writing OCaml scripts that
test features available on the system, in order to generate config.h
files for instance.
Among other things, dune-configurator allows one to:
- test if a C program compiles
- query pkg-config
- import #define from OCaml header files
- generate config.h file
"""
maintainer: ["Jane Street Group, LLC <[email protected]>"]
authors: ["Jane Street Group, LLC <[email protected]>"]
license: "MIT"
homepage: "https://github.com/ocaml/dune"
doc: "https://dune.readthedocs.io/"
bug-reports: "https://github.com/ocaml/dune/issues"
depends: [
"dune" {>= "2.8"}
"ocaml" {>= "4.03.0"}
"result"
"csexp" {>= "1.3.0"}
"odoc" {with-doc}
]
dev-repo: "git+https://github.com/ocaml/dune.git"
build: [
["dune" "subst"] {dev}
[
"dune"
"build"
"-p"
name
"-j"
jobs
"@install"
"@doc" {with-doc}
]
]
x-commit-hash: "06f18009cb3c32d32712ecc992c4e45932882022"
url {
src: "https://github.com/ocaml/dune/releases/download/2.8.0/dune-2.8.0.tbz"
checksum: [
"sha256=07104d9a51c85f7100cc95e633e1f07e6436b0f0e68ab38e87328e74a9f0d48b"
"sha512=615958292b9437e16e363c36b02efdc85b78e6e29b301cea23d8ab3ac206dc6546fcd392017967ba54258326ceb997baec9a8053e4d343429a9e48ceeb89f5e8"
]
}
37 changes: 37 additions & 0 deletions packages/dune-glob/dune-glob.2.8.0/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
opam-version: "2.0"
synopsis: "Glob string matching language supported by dune"
description:
"dune-glob provides a parser and interpreter for globs as understood by dune language."
maintainer: ["Jane Street Group, LLC <[email protected]>"]
authors: ["Jane Street Group, LLC <[email protected]>"]
license: "MIT"
homepage: "https://github.com/ocaml/dune"
doc: "https://dune.readthedocs.io/"
bug-reports: "https://github.com/ocaml/dune/issues"
depends: [
"dune" {>= "2.8"}
"dune-private-libs" {= version}
"odoc" {with-doc}
]
dev-repo: "git+https://github.com/ocaml/dune.git"
build: [
["dune" "subst"] {dev}
[
"dune"
"build"
"-p"
name
"-j"
jobs
"@install"
"@doc" {with-doc}
]
]
x-commit-hash: "06f18009cb3c32d32712ecc992c4e45932882022"
url {
src: "https://github.com/ocaml/dune/releases/download/2.8.0/dune-2.8.0.tbz"
checksum: [
"sha256=07104d9a51c85f7100cc95e633e1f07e6436b0f0e68ab38e87328e74a9f0d48b"
"sha512=615958292b9437e16e363c36b02efdc85b78e6e29b301cea23d8ab3ac206dc6546fcd392017967ba54258326ceb997baec9a8053e4d343429a9e48ceeb89f5e8"
]
}
44 changes: 44 additions & 0 deletions packages/dune-private-libs/dune-private-libs.2.8.0/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
opam-version: "2.0"
synopsis: "Private libraries of Dune"
description: """
!!!!!!!!!!!!!!!!!!!!!!
!!!!! DO NOT USE !!!!!
!!!!!!!!!!!!!!!!!!!!!!

This package contains code that is shared between various dune-xxx
packages. However, it is not meant for public consumption and provides
no stability guarantee.
"""
maintainer: ["Jane Street Group, LLC <[email protected]>"]
authors: ["Jane Street Group, LLC <[email protected]>"]
license: "MIT"
homepage: "https://github.com/ocaml/dune"
doc: "https://dune.readthedocs.io/"
bug-reports: "https://github.com/ocaml/dune/issues"
depends: [
"dune" {>= "2.8"}
"ocaml" {>= "4.08"}
"odoc" {with-doc}
]
dev-repo: "git+https://github.com/ocaml/dune.git"
build: [
["dune" "subst"] {dev}
[
"dune"
"build"
"-p"
name
"-j"
jobs
"@install"
"@doc" {with-doc}
]
]
x-commit-hash: "06f18009cb3c32d32712ecc992c4e45932882022"
url {
src: "https://github.com/ocaml/dune/releases/download/2.8.0/dune-2.8.0.tbz"
checksum: [
"sha256=07104d9a51c85f7100cc95e633e1f07e6436b0f0e68ab38e87328e74a9f0d48b"
"sha512=615958292b9437e16e363c36b02efdc85b78e6e29b301cea23d8ab3ac206dc6546fcd392017967ba54258326ceb997baec9a8053e4d343429a9e48ceeb89f5e8"
]
}
36 changes: 36 additions & 0 deletions packages/dune-site/dune-site.2.8.0/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
opam-version: "2.0"
synopsis: "Embed locations informations inside executable and libraries"
maintainer: ["Jane Street Group, LLC <[email protected]>"]
authors: ["Jane Street Group, LLC <[email protected]>"]
license: "MIT"
homepage: "https://github.com/ocaml/dune"
doc: "https://dune.readthedocs.io/"
bug-reports: "https://github.com/ocaml/dune/issues"
depends: [
"dune" {>= "2.8"}
"dune-private-libs" {= version}
"odoc" {with-doc}
]
build: [
["dune" "subst"] {dev}
[
"dune"
"build"
"-p"
name
"-j"
jobs
"@install"
"@runtest" {with-test}
"@doc" {with-doc}
]
]
dev-repo: "git+https://github.com/ocaml/dune.git"
x-commit-hash: "06f18009cb3c32d32712ecc992c4e45932882022"
url {
src: "https://github.com/ocaml/dune/releases/download/2.8.0/dune-2.8.0.tbz"
checksum: [
"sha256=07104d9a51c85f7100cc95e633e1f07e6436b0f0e68ab38e87328e74a9f0d48b"
"sha512=615958292b9437e16e363c36b02efdc85b78e6e29b301cea23d8ab3ac206dc6546fcd392017967ba54258326ceb997baec9a8053e4d343429a9e48ceeb89f5e8"
]
}
58 changes: 58 additions & 0 deletions packages/dune/dune.2.8.0/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
opam-version: "2.0"
synopsis: "Fast, portable, and opinionated build system"
description: """

dune is a build system that was designed to simplify the release of
Jane Street packages. It reads metadata from "dune" files following a
very simple s-expression syntax.

dune is fast, has very low-overhead, and supports parallel builds on
all platforms. It has no system dependencies; all you need to build
dune or packages using dune is OCaml. You don't need make or bash
as long as the packages themselves don't use bash explicitly.

dune supports multi-package development by simply dropping multiple
repositories into the same directory.

It also supports multi-context builds, such as building against
several opam roots/switches simultaneously. This helps maintaining
packages across several versions of OCaml and gives cross-compilation
for free.
"""
maintainer: ["Jane Street Group, LLC <[email protected]>"]
authors: ["Jane Street Group, LLC <[email protected]>"]
license: "MIT"
homepage: "https://github.com/ocaml/dune"
doc: "https://dune.readthedocs.io/"
bug-reports: "https://github.com/ocaml/dune/issues"
conflicts: [
"merlin" {< "3.4.0"}
"ocaml-lsp-server" {< "1.3.0"}
"dune-configurator" {< "2.3.0"}
"odoc" {< "1.3.0"}
"dune-release" {< "1.3.0"}
"js_of_ocaml-compiler" {< "3.6.0"}
"jbuilder" {= "transition"}
]
dev-repo: "git+https://github.com/ocaml/dune.git"
build: [
# opam 2 sets OPAM_SWITCH_PREFIX, so we don't need a hardcoded path
["ocaml" "configure.ml" "--libdir" lib] {opam-version < "2"}
["ocaml" "bootstrap.ml" "-j" jobs]
["./dune.exe" "build" "-p" name "--profile" "dune-bootstrap" "-j" jobs]
]
depends: [
# Please keep the lower bound in sync with .github/workflows/workflow.yml,
# dune-project and min_ocaml_version in bootstrap.ml
("ocaml" {>= "4.08"} | ("ocaml" {< "4.08~~"} & "ocamlfind-secondary"))
"base-unix"
"base-threads"
]
x-commit-hash: "06f18009cb3c32d32712ecc992c4e45932882022"
url {
src: "https://github.com/ocaml/dune/releases/download/2.8.0/dune-2.8.0.tbz"
checksum: [
"sha256=07104d9a51c85f7100cc95e633e1f07e6436b0f0e68ab38e87328e74a9f0d48b"
"sha512=615958292b9437e16e363c36b02efdc85b78e6e29b301cea23d8ab3ac206dc6546fcd392017967ba54258326ceb997baec9a8053e4d343429a9e48ceeb89f5e8"
]
}

0 comments on commit dbe0014

Please sign in to comment.