In #194044 I noticed unusual behaviour of xlibsWrapper when xorg is overridden. That PR handles override part.
But I think xlibsWrapper should just disappear. Where should be no reason (for example) for pulseaudio to depend on freetype at build time. xlibsWrapper is just the wrapper around a few libraries. Quoting pkgs/top-level/all-packages.nix:
# Avoid using this. It isn't really a wrapper anymore, but we keep the name.
xlibsWrapper = callPackage ../development/libraries/xlibs-wrapper {
packages = [
freetype fontconfig xorg.xorgproto xorg.libX11 xorg.libXt
xorg.libXft xorg.libXext xorg.libSM xorg.libICE
];
};
Mechanically we can replace xlibsWrapper with the list of packages it provides. Even better would be to audit needed libraries for each user and use only a subset of them.
Example fix:
More packages to fix:
Fixed packages:
In #194044 I noticed unusual behaviour of
xlibsWrapperwhenxorgis overridden. That PR handles override part.But I think
xlibsWrappershould just disappear. Where should be no reason (for example) forpulseaudioto depend onfreetypeat build time.xlibsWrapperis just the wrapper around a few libraries. Quotingpkgs/top-level/all-packages.nix:Mechanically we can replace
xlibsWrapperwith the list of packages it provides. Even better would be to audit needed libraries for each user and use only a subset of them.Example fix:
More packages to fix:
Fixed packages: