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.''; }; }