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
libxkbcommon: build with wayland support tools #117656
Conversation
a14953f
to
347fa2a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As wayland is the future anyway, it really doesn't make sense to not have the wayland support tools built with libxkbcommon.
Could you go a bit more into why this is required? See #110693 (comment). The withWaylandSupport
"flag" might have a bad name, this is only required for that debugging subcommmand. I'm already happily using libxkbcommon
on Wayland.
nativeBuildInputs = [ meson ninja pkg-config yacc doxygen ] | ||
++ lib.optional withWaylandSupport wayland; | ||
buildInputs = [ xkeyboard_config libxcb libxml2 ] | ||
++ lib.optionals withWaylandSupport [ wayland wayland-protocols ]; | ||
nativeBuildInputs = [ meson ninja pkg-config yacc doxygen ]; | ||
buildInputs = [ xkeyboard_config libxcb libxml2 wayland wayland-protocols ]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why did you change that part? This wasn't an accident, wayland
must be in both nativeBuildInputs
(wayland-scanner) and buildInputs
(libs).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Everything builds fine here without nativeBuildInputs
- (with and without the withWaylandSupport
flag). How would you reproduce the problem?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reason for asking - I"ll add in a comment here to explain the situation and avoid the next person removing it if it is truly needed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Everything builds fine here without nativeBuildInputs
That's an unfortunate issue for backward compatibility / legacy reasons (buildInputs
will be added to PATH
but that shouldn't be the case). See also https://nixos.org/manual/nixpkgs/unstable/#variables-specifying-dependencies, etc.
How would you reproduce the problem?
E.g. by building pkgsCross.aarch64-multiplatform.libxkbcommon
.
Reason for asking - I"ll add in a comment here to explain the situation and avoid the next person removing it if it is truly needed.
It shouldn't require a comment, this is the case for most(?) packages that depend on Wayland (plus a lot of other packages).
347fa2a
to
30c2526
Compare
As mentioned in the first post, it's just to get the wayland tools. |
30c2526
to
86db8ed
Compare
I've read your comments but tbh I'm still not convinced (it's only one tool, or rather a subcommand, and it's an interactive "debugger"). I don't mind but I think we should at least state that in the commit message (to avoid someone reverting this due to concerns that this wasn't really worth it). |
86db8ed
to
84a533d
Compare
7b71f42
to
7a5b4ca
Compare
7a5b4ca
to
3d3b4e6
Compare
@primeos, do you still have concerns with the updated comment? |
"This is the wayland equivalent of |
"This is the wayland equivalent of xev on X11." <- That comment? Is there a source for this? I haven't compared the two but IIRC interactive-wayland will at least only print keyboard related events.
Sure, right, but do we *really* want to make such a big deal out of what is a tiny issue?
The point is, with this flag, you get a sub command that is helpful to some. For everybody else, the price is 1MB.
Don't we have bigger things to worry about?
|
@peterhoeg not sure if my comments came of wrong but I never intended to prevent this from being merged (but I realize now that I forgot to dismiss my earlier review, which was a blocker for me but is resolved now). My intention was simply to raise some concerns to see if they where considered so that we don't regret the decision later (and personally I don't see this change as really necessary but that doesn't mean that I'm against it - feel free to merge it). The very slightly increased closure size is no problem at all IMO but the addition of Wayland into the dependency chain could theoretically cause some issues (but if that would happen we could still look for other solutions than reverting the change). Anyway, the tl;dr is to regard my position as neutral and that I have no issue if you or anyone else merges this PR. Sorry if that came of wrong. |
Oops, I wanted to dismiss my review / be neutral instead of approving
but the addition of Wayland into the dependency chain could theoretically cause some issues
Such as?
Anyway, the tl;dr is to regard my position as neutral and that I have no issue if you or anyone else merges this PR. Sorry if that came of wrong.
Nothing to apologize for - all good! I hope my earlier message didn't come across as confrontational. Just trying to
move this forward.
|
Should hopefully be very unlikely but e.g. dependency cycles ( Normally I wouldn't even bring it up but in this case I made an exception because
No problem, it didn't come across as confrontational. I just wanted to say that I'm not trying to prevent this from moving forward. Tbh I start regretting to even bring up those concerns as this has lead to unnecessary bikeshedding over a simple change that should even be very easy to revert at any point in the future in case we'll run into any (minor) issues that are difficult to avoid. |
Requested changes where resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
diff LGTM
Motivation for this change
As wayland is the future anyway, it really doesn't make sense to not have the wayland support tools built with libxkbcommon.
Size difference:
/nix/store/czvbssspmfmm40syq0ylbczf9c4lv6ss-libxkbcommon-1.0.3 45346264
/nix/store/g81gf06jmyxp0j4ymjnjlggz71pz9zcq-libxkbcommon-1.0.3 46533584
Very large rebuild, so staging first.
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)