From 2e0bd527623626dac4fa9937f94682ecf761af3e Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Mon, 7 Feb 2022 10:01:09 +0100 Subject: [PATCH] rl-2205: Add entry for overlay-style mkDerivation overriding --- .../from_md/release-notes/rl-2205.section.xml | 27 +++++++++++++++++++ .../manual/release-notes/rl-2205.section.md | 15 +++++++++++ 2 files changed, 42 insertions(+) diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml index 2046e2449cc5..c91fb4d90f09 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml @@ -43,6 +43,33 @@ 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 diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md index 9674eb66a4cf..6dec64695d2f 100644 --- a/nixos/doc/manual/release-notes/rl-2205.section.md +++ b/nixos/doc/manual/release-notes/rl-2205.section.md @@ -17,6 +17,21 @@ In addition to numerous new and upgraded packages, this release has the followin - 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).