-
-
Notifications
You must be signed in to change notification settings - Fork 710
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
Update Wireplumber API to 0.5 #2919
Conversation
wireplumber upstream has stated that there are "no planned API/ABI changes during RCs" (with 0.4.90 being RC1), so it should be safe to start upgrading the code to the 0.5 API now. |
Hi. I applied this patch with wireplumber 0.4.90 and see this compile error:
Anyway wireplumber 0.5.0 was just released, so is possible to target stable API/ABI https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/59d190a2bd400f3b093f99b16fc0fb06f6cb2cfe |
The code loads components via You probably need to make an actual callback, and move those calls and the rest of the |
25cd5ea
to
3cb55fa
Compare
Thanks for the feedback, have had another crack at this and seems to be working now. |
3cb55fa
to
0b37764
Compare
Could you also run a clang-format on it to fix up the check. |
0b37764
to
a7a91ae
Compare
Ok have run clang-format and clang-tidy, and removed the trace logging. Two remaining questions, I see clang-tidy in particular has touched much more than my changes (largely around implicit Secondly, the 0.4.81-0.4.90 RCs needed Will rebase and squash if people are otherwise happy. [EDIT]: Edited description of 0.5.0 RC logging requirement changes for sense. |
Compatibility with 0.4.9x is not a requirement for OpenSUSE at least. |
33cb343
to
19f792a
Compare
Probably something wrong in this sentence. Anyway releasing waybar against wireplumber 0.5.0 and not some arbitrary old RCs sounds fine to me. Distros that were quick to update to 0.4.8x and RC versions of wireplumber will be quick to update to 0.5.0 (e.g. openSUSE has almost merged 0.5.0). |
Fixed, thanks.
Makes sense, Fedora rawhide has already updated to 0.5.0, and Fedora 40 has it in testing (0.4.81 was released). 39 and earlier are still on 0.4.17. |
Since I'm (edit: very, very) eager to see this merge, I thought I'd mention to OP that the formatting tests are still failing (maybe didn't re-run, idk?) |
The WP component loader API has changed to be asynchronous, so implement a (GAsyncReadyCallback)-based loader to manage them. Logging integration change was required for 0.5.0 RCs but not for the 0.5.0 release. Fix clang-tidy and clang-format warnings. Note these are significantly wider than the changes for 0.5.0 so optional beyond the existing patchset.
19f792a
to
2326727
Compare
I was waiting for a couple more ACKs but have squashed, rebased and repushed to trigger a recheck. All linter warnings addressed AFAICT.
Clearly the missing include is a red herring, and the callbacks already are static? So no idea there.
Anyway, works for me and I don't see any reason not to merge based on feedback received so far. Ironically I actually need to build with GCC (on Fedora rawhide) rather than Clang due to a linker failure in the backlight module. |
https://build.opensuse.org/request/show/1160087 by user jubalh + anag+factory - Update waybar-build-for-wireplumber-0.5.patch to current version. Remove URL so we need to manually update in case it changes again. See Alexays/Waybar#2919 - Add waybar-build-for-wireplumber-0.5.patch - Enable wireplumber
The clang-tidy error is because it runs in a Debian container ( In fact, even the
|
Perhaps #2638 could help with that. :) |
Thanks, next Waybar version will so not be backward compatible with older version of wireplumber. |
Thanks all! @staticssleever668 yup able to build |
Wireplumber 0.5 has an incompatible API. This is a first WIP crack at updating. Would fix #2873 (but should not be merged currently).
Two current problems:
However it does build at least... I don't know the WP API well enough to add much more.
[EDIT]: As below now updated to use the new async API and working, ready for review.