-
-
Notifications
You must be signed in to change notification settings - Fork 14
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
Rethink ABI practices #24
Comments
in the meantime, I'll make a breaking update to HU to nicely tell packagers to rebuild. |
I don't think ABI actually matters that much for now. We have tools such as hyprpm and nix that handle it, and the expectation that abi will break on every update. Personally I think the lack of a stable API is far more of an actual issue, though I am aware that isn't going to become stable. |
this is not about hyprpm xd |
Mb, misread I'm not a fan of PIMPL, though it is a potential solution. I think its better suited to projects actually attempting to keep a stable API and ABI, and the subclass thing sounds confusing and probably annoying to work with. That leaves marking an ABI break, which seems fine to me, because the ABI is breaking. |
As a maintainer of a package, I would prefer a stable ABI. Breaking the ABI requires a rebuild for everything depending on that package. There's 12 other projects from hypr that depend on hyprutils, which I all had to rebuild today to make sure they use the correct library |
There isn't automated tooling for this? |
The CI (launchpad.net) performs the build and publishes the package, but I had to trigger the rebuild, there is no automated process for that to my knowledge, at least for Ubuntu/Debian |
"don't break the ABI" is easier said than done, especially since our software is not designed with a stable ABI in mind as the top priority, but more like ease of development. As a package maintainer, you will have to deal with this one way or another. Perhaps you should consider making a quick task to rebuild all dependents of a package? |
I'm not saying to completely avoid it, what you did is fine to me. I have set up some scripts.
I just wanted to mention that breaking for no reason is going to be annoying quickly |
Our ABI usage mostly relies on two things:
Reason being we bump ABI when the layout changes, not the size (e.g. appending to a class)
Solutions:
ref hyprwm/hyprpaper#225 #23 hyprwm/Hyprland#8813 hyprwm/Hyprland#8797
cc @fufexan @outfoxxed @gulafaran
(this also applies to all other hypr* libs)
The text was updated successfully, but these errors were encountered: