about summary refs log tree commit diff
path: root/nixos/doc
diff options
context:
space:
mode:
authorUlrik Strid <ulrik.strid@outlook.com>2023-01-25 16:24:28 +0100
committerUlrik Strid <ulrik.strid@outlook.com>2023-02-03 08:59:34 +0100
commitf12b9ea461c3a5c75df219b08f17f9a7856894ae (patch)
tree2332f868ace8aa413abaec134d8adaa6f261b25d /nixos/doc
parent376e9ceeadc4c4e06f34b33bf347a504a4b3bd65 (diff)
buildDunePackage: default to strictDeps = true
Diffstat (limited to 'nixos/doc')
-rw-r--r--nixos/doc/manual/from_md/release-notes/rl-2305.section.xml17
-rw-r--r--nixos/doc/manual/release-notes/rl-2305.section.md4
2 files changed, 19 insertions, 2 deletions
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml
index b8affabb86475..e8fdcf82f664b 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml
@@ -189,7 +189,22 @@
           <literal>doInstallCheck</literal> is set. (Note that this
           change will not cause breakage to derivations with
           <literal>strictDeps</literal> unset, which are most packages
-          except python, rust and go packages).
+          except python, rust, ocaml and go packages).
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <literal>buildDunePackage</literal> now defaults to
+          <literal>strictDeps = true</literal> which means that any
+          library should go into <literal>buildInputs</literal> or
+          <literal>checkInputs</literal>. Any executable that is run on
+          the building machine should go into
+          <literal>nativeBuildInputs</literal> or
+          <literal>nativeCheckInputs</literal> respectively. Example of
+          executables are <literal>ocaml</literal>,
+          <literal>findlib</literal> and <literal>menhir</literal>. PPXs
+          are libraries which are built by dune and should therefore not
+          go into <literal>nativeBuildInputs</literal>.
         </para>
       </listitem>
       <listitem>
diff --git a/nixos/doc/manual/release-notes/rl-2305.section.md b/nixos/doc/manual/release-notes/rl-2305.section.md
index 96f67673211d1..38cad40fffb65 100644
--- a/nixos/doc/manual/release-notes/rl-2305.section.md
+++ b/nixos/doc/manual/release-notes/rl-2305.section.md
@@ -54,7 +54,9 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - `carnix` and `cratesIO` has been removed due to being unmaintained, use alternatives such as [naersk](https://github.com/nix-community/naersk) and [crate2nix](https://github.com/kolloch/crate2nix) instead.
 
-- `checkInputs` have been renamed to `nativeCheckInputs`, because they behave the same as `nativeBuildInputs` when `doCheck` is set. `checkInputs` now denote a new type of dependencies, added to `buildInputs` when `doCheck` is set. As a rule of thumb, `nativeCheckInputs` are tools on `$PATH` used during the tests, and `checkInputs` are libraries which are linked to executables built as part of the tests. Similarly, `installCheckInputs` are renamed to `nativeInstallCheckInputs`, corresponding to `nativeBuildInputs`, and `installCheckInputs` are a new type of dependencies added to `buildInputs` when `doInstallCheck` is set. (Note that this change will not cause breakage to derivations with `strictDeps` unset, which are most packages except python, rust and go packages).
+- `checkInputs` have been renamed to `nativeCheckInputs`, because they behave the same as `nativeBuildInputs` when `doCheck` is set. `checkInputs` now denote a new type of dependencies, added to `buildInputs` when `doCheck` is set. As a rule of thumb, `nativeCheckInputs` are tools on `$PATH` used during the tests, and `checkInputs` are libraries which are linked to executables built as part of the tests. Similarly, `installCheckInputs` are renamed to `nativeInstallCheckInputs`, corresponding to `nativeBuildInputs`, and `installCheckInputs` are a new type of dependencies added to `buildInputs` when `doInstallCheck` is set. (Note that this change will not cause breakage to derivations with `strictDeps` unset, which are most packages except python, rust, ocaml and go packages).
+
+- `buildDunePackage` now defaults to `strictDeps = true` which means that any library should go into `buildInputs` or `checkInputs`. Any executable that is run on the building machine should go into `nativeBuildInputs` or `nativeCheckInputs` respectively. Example of executables are `ocaml`, `findlib` and `menhir`. PPXs are libraries which are built by dune and should therefore not go into `nativeBuildInputs`.
 
 - `borgbackup` module now has an option for inhibiting system sleep while backups are running, defaulting to off (not inhibiting sleep), available as [`services.borgbackup.jobs.<name>.inhibitsSleep`](#opt-services.borgbackup.jobs._name_.inhibitsSleep).