-
Notifications
You must be signed in to change notification settings - Fork 7.4k
[libxkbfile] Update to 1.2.0 #49766
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
base: master
Are you sure you want to change the base?
[libxkbfile] Update to 1.2.0 #49766
Conversation
| "description": "XKB file handling routines", | ||
| "homepage": "https://gitlab.freedesktop.org/xorg/lib/libxkbfile", | ||
| "license": null, | ||
| "supports": "!windows | mingw", |
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.
So the port which is normally empty on non-windows (subject to X_VCPKG_FORCE_VCPKG_X_LIBRARIES) will no longer be tested in windows CI.
At least there are no reverse dependencies.
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.
That's sadly true. But do you think it makes sense to create extra Windows compatibility just so that it can be built? Wouldn't it make more sense if at least one CI job set X_VCPKG_FORCE_VCPKG_X_LIBRARIES? Alternatively, a MinGW job would be quite nice. I don't know how widespread it still is, but currently, the information about whether it builds with MinGW or not is probably not correct for some ports.
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.
"make it work on Windows" is half the reason I believe this got added in the first place.
Our normal requirement for something to be in the curated registry is that we have to be able to test it on at least one platform and this kinda breaks that.
|
vcpkg-team: Given that we were unwilling to take all of the X bits because they required patches that were too big to work on Windows, and we are unable to test this in our default configuration, should we deindex this? |
|
If not talking about Windows, what is the general issue with the X libraries? I have enabled |
|
I have checked the original issue with the |
The point here was rather that the maintainers have now made a conscious decision to only support POSIX systems. Currently, the patch would still be manageable, as you would only have to revert the commit as a patch and integrate the existing patch. At present, this would still be okay, even if it would probably result in a merge conflict with every update, meaning that you would always have to check out their repo first to resolve the conflict. However, the bigger problem will arise if they decide to remove the macro that currently encapsulates the alias between their own implementation and the POSIX function and use the function directly everywhere. At that point, at the latest, patching will no longer be a reasonable solution. So the question now is whether to continue with the current solution or make the cut now. It's actually interesting that the ports are built on Windows, even though the X libraries are more likely to target Unix, but don't check whether they are actually still built on the actual target systems. The question is: Which users benefit from these ports? Those who really always need the latest X libraries would probably be well served with an Arch container. Everyone else won't set |
I don't agree on that. If you use Arch container, that means that you always build your solution with the latest glibc meaning your application will no longer be backward compatible with the older distros. |
Our understanding is that almost every customer wants to build something that works on their distro and respects their distro's windowing settings and similar, and thus need to use these libraries from their distro, not custom ones (via vcpkg or otherwise). There's also the problem that many of the X dependencies are HUGE and people don't want to pay the build time for them.
That gets very close to "vcpkg has a custom version of with extra support for things upstream won't support" which makes us the source of support for those things, which we are not in the business of and do not have the expertise or capacity to do. ( This hits at least 2 bullets in https://learn.microsoft.com/vcpkg/contributing/maintainer-guide#patching ) The PRs we ultimately rejected because the patches were too big and/or we could not practically test them (which is why we don't have all the X libraries) were: |
|
I don't think we can compromise on "at least one non-community triplet needs to be able to build the library", meaning that the port becomes empty for non-Windows but the supports cluse excludes windows means we can't take this as currently proposed. That leaves one of the following:
@SunBlack please let us know which direction you think we should take. We should probably try to include @Neumann-A in any discussions here as he added these ports initially. |
Agree, as otherwise there is no check, that the portfile still matches the code.
IMHO not really an option anymore, as they are switching to meson (tried to update
Therefore it should be one of the other options
Another option: Flag the port with The advantage: The CI could evaluate this automatically (compared to the previous variable) and build accordingly. Options:
My opinion on this:
|
I don't see this as a good solution unless there would be an option to override it and build on Personally I would prefer a community triplet with the |
That's the idea behind it - similar to |
But that means implementing one more flag. And at the moment it's possible to control build on a quite granular way (for example, I want to build X libraries, but don't wan't to build some other libraries (e.g. Wayland libraries IIRC have a similar mechanism but with the different define)), but with the flag similar to But everything written above is just my POV, and I don't insist on this solution. |
Why can't we just get sed present via |
Being a community triplet is not sufficient because that still means our PR builds would have no tests for it. If we truly need a new triplet to take this unfortunately I don't know in what timeline we could add such a thing. Maybe we could make the argument now that UWP is getting demoted that we could promote something else but I think arm64-linux is a bigger win for more customers with the available compute budget we have. |
Side question: How much is mingw used (compared to arm)? |
|
That is our fear indeed :) |
This sounds like a challenge, you know? xD |
./vcpkg x-add-version --alland committing the result.Note: