Merge pull request #237028 from maralorn/separate-bin
haskellPackages: Use separate bin output for multiple packages
This commit is contained in:
commit
b37b2d4b09
4 changed files with 12 additions and 2 deletions
|
@ -23,7 +23,7 @@ installing and using them.
|
|||
|
||||
All of these packages are originally defined in the `haskellPackages` package
|
||||
set and are re-exposed with a reduced dependency closure for convenience.
|
||||
(see `justStaticExecutables` below)
|
||||
(see `justStaticExecutables` or `separateBinOutput` below)
|
||||
|
||||
The `haskellPackages` set includes at least one version of every package from
|
||||
Hackage as well as some manually injected packages. This amounts to a lot of
|
||||
|
|
|
@ -38,6 +38,9 @@
|
|||
|
||||
- `fileSystems.<name>.autoResize` now uses `systemd-growfs` to resize the file system online in stage 2. This means that `f2fs` and `ext2` can no longer be auto resized, while `xfs` and `btrfs` now can be.
|
||||
|
||||
- The following packages in `haskellPackages` have now a separate bin output: `cabal-fmt`, `calligraphy`, `eventlog2html`, `ghc-debug-brick`, `hindent`, `nixfmt`, `releaser`. This means you need to replace e.g. `"${pkgs.haskellPackages.nixfmt}/bin/nixfmt"` with `"${lib.getBin pkgs.haskellPackages.nixfmt}/bin/nixfmt"` or `"${lib.getExe pkgs.haskellPackages.nixfmt}"`. The binaries also won’t be in scope if you rely on them being installed e.g. via `ghcWithPackages`. `environment.packages` picks the `bin` output automatically, so for normal installation no intervention is required. Also, toplevel attributes like `pkgs.nixfmt` are not impacted negatively by this change.
|
||||
|
||||
|
||||
## Other Notable Changes {#sec-release-23.11-notable-changes}
|
||||
|
||||
- The Cinnamon module now enables XDG desktop integration by default. If you are experiencing collisions related to xdg-desktop-portal-gtk you can safely remove `xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];` from your NixOS configuration.
|
||||
|
|
|
@ -283,6 +283,13 @@ self: super: builtins.intersectAttrs super {
|
|||
sfml-audio = appendConfigureFlag "--extra-include-dirs=${pkgs.openal}/include/AL" super.sfml-audio;
|
||||
|
||||
# avoid compiling twice by providing executable as a separate output (with small closure size)
|
||||
cabal-fmt = enableSeparateBinOutput super.cabal-fmt;
|
||||
hindent = enableSeparateBinOutput super.hindent;
|
||||
releaser = enableSeparateBinOutput super.releaser;
|
||||
eventlog2html = enableSeparateBinOutput super.eventlog2html;
|
||||
ghc-debug-brick = enableSeparateBinOutput super.ghc-debug-brick;
|
||||
nixfmt = enableSeparateBinOutput super.nixfmt;
|
||||
calligraphy = enableSeparateBinOutput super.calligraphy;
|
||||
niv = enableSeparateBinOutput (self.generateOptparseApplicativeCompletions [ "niv" ] super.niv);
|
||||
ghcid = enableSeparateBinOutput super.ghcid;
|
||||
ormolu = self.generateOptparseApplicativeCompletions [ "ormolu" ] (enableSeparateBinOutput super.ormolu);
|
||||
|
|
|
@ -39575,7 +39575,7 @@ with pkgs;
|
|||
|
||||
alejandra = callPackage ../tools/nix/alejandra { };
|
||||
|
||||
nixfmt = haskell.lib.compose.justStaticExecutables haskellPackages.nixfmt;
|
||||
nixfmt = haskellPackages.nixfmt.bin;
|
||||
|
||||
nixpkgs-fmt = callPackage ../tools/nix/nixpkgs-fmt { };
|
||||
|
||||
|
|
Loading…
Reference in a new issue