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 2ec83dab09f7..04bb7ec12d3e 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
@@ -240,6 +240,19 @@
haskellPackages.callPackage).
+
+
+ pkgs.ghc.withPackages as well as
+ haskellPackages.ghcWithPackages etc. now
+ needs be overridden directly, as opposed to overriding the
+ result of calling it. Additionally, the
+ withLLVM parameter has been renamed to
+ useLLVM. So instead of
+ (ghc.withPackages (p: [])).override { withLLVM = true; },
+ one needs to use
+ (ghc.withPackages.override { useLLVM = true; }) (p: []).
+
+
pkgs.emacsPackages.orgPackages is removed
diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md
index ffb207503f84..a2e8038ae1f8 100644
--- a/nixos/doc/manual/release-notes/rl-2205.section.md
+++ b/nixos/doc/manual/release-notes/rl-2205.section.md
@@ -81,6 +81,12 @@ In addition to numerous new and upgraded packages, this release has the followin
instead to ensure cross compilation keeps working (or switch to
`haskellPackages.callPackage`).
+- `pkgs.ghc.withPackages` as well as `haskellPackages.ghcWithPackages` etc.
+ now needs be overridden directly, as opposed to overriding the result of
+ calling it. Additionally, the `withLLVM` parameter has been renamed to
+ `useLLVM`. So instead of `(ghc.withPackages (p: [])).override { withLLVM = true; }`,
+ one needs to use `(ghc.withPackages.override { useLLVM = true; }) (p: [])`.
+
- `pkgs.emacsPackages.orgPackages` is removed because org elpa is deprecated.
The packages in the top level of `pkgs.emacsPackages`, such as org and
org-contrib, refer to the ones in `pkgs.emacsPackages.elpaPackages` and
diff --git a/pkgs/development/haskell-modules/with-packages-wrapper.nix b/pkgs/development/haskell-modules/with-packages-wrapper.nix
index 3c645999a1a3..7c7add61679d 100644
--- a/pkgs/development/haskell-modules/with-packages-wrapper.nix
+++ b/pkgs/development/haskell-modules/with-packages-wrapper.nix
@@ -164,5 +164,20 @@ symlinkJoin {
passthru = {
preferLocalBuild = true;
inherit (ghc) version meta;
+
+ # Inform users about backwards incompatibilities with <= 21.05
+ override = _: throw ''
+ The ghc.withPackages wrapper itself can now be overridden, but no longer
+ the result of calling it (as before). Consequently overrides need to be
+ adjusted: Instead of
+
+ (ghc.withPackages (p: [ p.my-package ])).override { withLLLVM = true; }
+
+ use
+
+ (ghc.withPackages.override { useLLVM = true; }) (p: [ p.my-package ])
+
+ Also note that withLLVM has been renamed to useLLVM for consistency with
+ the GHC Nix expressions.'';
};
}