rl-2205: Add entry for overlay-style mkDerivation overriding

Changed files
+42
nixos
doc
manual
from_md
release-notes
release-notes
+27
nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
···
</listitem>
<listitem>
<para>
+
<literal>stdenv.mkDerivation</literal> now supports a
+
self-referencing <literal>finalAttrs:</literal> parameter
+
containing the final <literal>mkDerivation</literal> arguments
+
including overrides. <literal>drv.overrideAttrs</literal> now
+
supports two parameters
+
<literal>finalAttrs: previousAttrs:</literal>. This allows
+
packaging configuration to be overridden in a consistent
+
manner by providing an alternative to
+
<literal>rec {}</literal> syntax.
+
</para>
+
<para>
+
Additionally, <literal>passthru</literal> can now reference
+
<literal>finalAttrs.public</literal> containing the final
+
package, including attributes such as the output paths and
+
<literal>overrideAttrs</literal>.
+
</para>
+
<para>
+
New language integrations can be simplified by overriding a
+
<quote>prototype</quote> package containing the
+
language-specific logic. This removes the need for a extra
+
layer of overriding for the <quote>generic builder</quote>
+
arguments, thus removing a usability problem and source of
+
error.
+
</para>
+
</listitem>
+
<listitem>
+
<para>
PHP 8.1 is now available
</para>
</listitem>
+15
nixos/doc/manual/release-notes/rl-2205.section.md
···
- GNOME has been upgraded to 42. Please take a look at their [Release Notes](https://release.gnome.org/42/) for details. Notably, it replaces gedit with GNOME Text Editor, GNOME Terminal with GNOME Console (formerly King’s Cross), and GNOME Screenshot with a tool built into the Shell.
+
- `stdenv.mkDerivation` now supports a self-referencing `finalAttrs:` parameter
+
containing the final `mkDerivation` arguments including overrides.
+
`drv.overrideAttrs` now supports two parameters `finalAttrs: previousAttrs:`.
+
This allows packaging configuration to be overridden in a consistent manner by
+
providing an alternative to `rec {}` syntax.
+
+
Additionally, `passthru` can now reference `finalAttrs.public` containing
+
the final package, including attributes such as the output paths and
+
`overrideAttrs`.
+
+
New language integrations can be simplified by overriding a "prototype"
+
package containing the language-specific logic. This removes the need for a
+
extra layer of overriding for the "generic builder" arguments, thus removing a
+
usability problem and source of error.
+
- PHP 8.1 is now available
- Mattermost has been updated to extended support release 6.3, as the previously packaged extended support release 5.37 is [reaching its end of life](https://docs.mattermost.com/upgrade/extended-support-release.html).