Call for help to migrate packages from `xlibsWrapper`

nixpkgs has an old xlibsWrapper package that does not do anything on it’s own except for re-exporting a few other X11 packages:

  # 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
    ];
  };

There are about at least 80 packages that still use this aggregated package. Here is an incomplete list of packages that se it: Deprecate and remove `xlibsWrapper` · Issue #194054 · NixOS/nixpkgs · GitHub

Typical fix should replace xlibsWrapper for actually used libraries. Here is a pulseaudio example: pulseaudio: use xorg.* packages directly instead of xlibsWrapper indi… by trofi · Pull Request #194110 · NixOS/nixpkgs · GitHub. Note how in this case pulseaudio does not depend on fonts packages anymore (yay!).

Another fun fix is perlPackages.X11Protocol where none of libraries are used at all: perlPackages.X11Protocol: drop unused pkgs.xlibsWrapper build input by trofi · Pull Request #194184 · NixOS/nixpkgs · GitHub.

It takes a while to audit each package. If you are into that kind of things please grab one or a few, port it over and link PR in Deprecate and remove `xlibsWrapper` · Issue #194054 · NixOS/nixpkgs · GitHub.

Thank you!

2 Likes

Today we lost last user of xlibsWrapper: poetry2nix. Now we can finally remove it: xlibsWrapper: remove deprecated and now unused wrapper package by trofi · Pull Request #207938 · NixOS/nixpkgs · GitHub

Thanks all!