Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

haskellPackages.gi-xlib: use xorg.* packages directly instead of xlib… #204751

Closed

Conversation

trofi
Copy link
Contributor

@trofi trofi commented Dec 6, 2022

…sWrapper indirection

Validated as no material change in out output with diffoscope.

Description of changes
Things done
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 23.05 Release Notes (or backporting 22.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
    • (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes
  • Fits CONTRIBUTING.md.

…sWrapper indirection

Validated as no material change in `out` output with `diffoscope`.
@sternenseemann
Copy link
Member

This file is generated automatically using hackage2nix. There we have to pick an attribute based on:

    pkgconfig-depends: x11 >= 1.6

I suspect that xlibsWrapper is chosen, since a lot of packages declare x11 when they want more than just libX11.

If you care about this strongly, you can override this in configuration-nix.nix by way of passing xorg.libX11 as xlibsWrapper.

This PR can't be merged as is, since the changes would be rolled back. The other question is, of course, why does this change matter?

@trofi
Copy link
Contributor Author

trofi commented Dec 6, 2022

This file is generated automatically using hackage2nix.

Oh, that was not obvious from commits to this file. The top-level comment also does not say what was used to generate the file. cabal2nix is a useful hint. Thanks.

There we have to pick an attribute based on:

    pkgconfig-depends: x11 >= 1.6

I suspect that xlibsWrapper is chosen, since a lot of packages declare x11 when they want more than just libX11.

There are exactly 3 haskell packages that use xlibsWrapers in nixpkgs: gi-xlib, greenclip, gtk-traymanager. Does not sound like a lot. At least gi-xlib just uses libX11. I'll have a look at the rest, but I don't expect anything different.

If you care about this strongly, you can override this in configuration-nix.nix by way of passing xorg.libX11 as xlibsWrapper.

This PR can't be merged as is, since the changes would be rolled back.

I'll have a look at cabal2nix to generate libX11 depends.

The other question is, of course, why does this change matter?

I don't think there is a use case for xlibsWrapper today at all apart from confusing people by it's very existence. I think it was added as a convenience package right after the modular xorg split to postpone fixing dependencies. #194054 has a few more examples of packages that pulled it in for no specific reason and cleaned up since.

@trofi
Copy link
Contributor Author

trofi commented Dec 6, 2022

Proposed NixOS/cabal2nix#589 to use libX11 consistently.

@trofi
Copy link
Contributor Author

trofi commented Dec 6, 2022

Proposed NixOS/cabal2nix#590 to hint at the tool that generates the file.

@trofi
Copy link
Contributor Author

trofi commented Dec 8, 2022

Closing in favour of 5bc95ac

@trofi trofi closed this Dec 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants