-
Notifications
You must be signed in to change notification settings - Fork 23
Update dependencies (wlroots, bindgen, ...) #300
base: master
Are you sure you want to change the base?
Conversation
… of wlroots (under "unstable"-compilation) - Remove references to "wlr/types/*" header files that are no longer available - Add references to new "wlr/types/*" header files
- Update wayland-commons = "0.25.*" - Update wayland-server = "0.25.*" - Update wayland-scanner = "0.25.*" - Add wayland-client = "0.25.*" dependency as wayland_commons::AnonymousObject was removed and now only seems available in wayland_client - Fix for 142 erroneous imports as a result of the updates - Add "#![allow(unused)]" tag to avoid unnecessary warnings
- Enforce static library creation with meson built-in option 'default_library' in static mode. This fixes issues where libraries like 'wlr_util' are not found. The reason why this is needed is that the meson.build file has been changed in later versions of wlroots. - Link only with one static library: libwlroots.a Note that meson-rs does not currently seem to support changing the built-in meson options when building. A workaround has hence been used for the moment.
…roots, see commit #c0957736
- Rename functions/variables in alignment with change: "output: refactor frame submission API" - Workaround for removal of output variables 'lx', 'ly'. Output position is now get/set through wlr_output_layout_get_box(...). See change "output: remove lx, ly".
…s commit #76ef089
…rebuild the project unnecessarily Only changes to the following files will now make the project rebuild: - src/lib.rs - src/wlroots.h - wlroots/
This patch looks good. Since I'm not maintaining this though I'd rather do one of the following:
The choice is up to you if you'd like to pursue either. |
Yeah, I did read your blog posts about that. I am actually kinda curious about the state of this project today. What do you think would be the experience of writing a compositor with it now? We have already merged this patch into master on our own fork, but whether it qualifies as an official one is another question. Most of my interest has been in updating the wlroots-sys crate only, rather than the complete wlroots-rs project. I would gladly maintain wlroots-sys (only) in a fork, officially or not. |
Using wlroots-rs as it exists now it would probably get you 30-50% of the way there? Damage tracking was probably never completed, but the essentials (outputs, shells, etc.) were set up enough that you could recreate Way Cooler what it was in 0.8 or so (sans one or two features). The limiting factor is extending it beyond that and the amount of boilerplate one would have to write on the wlroots-rs side to accomplish that and the awkward use of proc macros to smooth over my design. This version of Way Cooler was the last version before the rewrite to C. You be your own judge of the code quality (in my opinion, wlroots-sys is much easier to maintain, since it's literally just bindings. It would provide value, however I don't think it's tenable as a base for anything. If a compositor was written using just wlroots-sys it's really no better (and in many ways worse) than just using C and wlroots directly. |
I also maintain (or, picked up again now after a half year hiatus) a version of wlroots-sys here: https://github.com/Pajn/wlral |
Hi @Pajn! This sounds all good to me.
If you need assistance you can reach me at perfah@kth.se. I am happy to help with merging/administration of any kind. I am currently pursuing other stuff, but think this idea is interesting. |
Hello! Me and gynther-k has worked on updating the dependencies of wlroots-rs. We have included the changes below. As we are mostly beginners when it comes to wlroots we have tried to avoid as much design changes as possible, but it is worth noting that some were unavoidable. It probably needs to be reviewed thoroughly, but we are happy to respond to feedback. :)
Changes included:
wlroots-rs:
wlroots-sys: