-
Notifications
You must be signed in to change notification settings - Fork 6.4k
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
[vcpkg_acquire_msys] Add gzip to default packages #20393
Conversation
Gzip is not required by most ports, I think you should pass |
The thing is this is not a port requirement, but the |
Ahh, yes. However, you should add
Add the following code below: if (_csc_AUTOCONFIG)
list(APPEND MSYS_REQUIRE_PACKAGES gzip)
endif() |
Thanks, that makes sense. Will fix it and let you know. |
@JackBoosY fixed now. |
The |
@dg0yt @Neumann-A @cenit Are there any objections? |
I would suggest to add the package without condition. The condition causes two different msys roots on disk, for a minimal gain in downloads for some ports - or no gain at all with a look at a realistic set of dependencies. |
@dg0yt I think we should find other ways to avoid the existence of duplicate msys roots, instead of adding most of the components that are not required by the port to the default components, because most users will not use it. |
I think we should add alle the m4 stuff als separate ports in the future and don't depend on msys so much. |
There is too much "in the future" in the last comments. For this PR now, my recommendation is to remove the condition. Say yes and no, so that the author knows how to proceed. |
i agree with @dg0yt . For now, better to have the component without conditions. We can move to m4 ports later on, without any additional issue if we have the tool available right now thanks to msys |
Fine, very equal, I accept the majority opinion. |
Nothing to be sorry about. Glad there's a consensus. I restored the previous version. |
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.
LGTM!
Should we remove |
I think this is a bit more nuanced; just to confirm:
In an ideal world, Perhaps this would be a Looking at the source of vcpkg_acquire_msys2(GZIP_ROOT PACKAGES gzip NO_DEFAULT_PACKAGES)
file(INSTALL "${GZIP_ROOT}" DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin RENAME gzip)
vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin " gzip " " \"$bindir/gzip/bin/gzip\" ") This ensures that the package remains portable and fully encapsulated. |
Note that this may need more mingw/msys runtime environment setup than just copying of the contents of If you want an alternative to |
My logic in the above is that we are copying the entire layout provided by |
gzip download size is 104 KB.
Indeed this pulls in |
@dg0yt How to extend an msys root? What's the problem with this? |
@JackBoosY I'm actually asking for extending the default msys root. Because I'm opposed to an additional msys root. Every different set of packages creates another msys root. The msys root directory path is based on the hash of the set of packages. A default autotools build already needs two msys roots, due to |
@dg0yt I personally agree with this, we should use the directory with the updated date instead of the hash that contains all the extensions. |
Just switch everything to vcpkg-msys-* ports. Then there is one root for msys |
@Neumann-A As discussed before, that is a long-term perspective. (Who will do it, and when?) ATM we can do only a minimal change. Not to mention the unfinished script audit. |
the reason different msys roots have been introduced is to find hidden dependency issues with msys which constantly broke CI. |
Is there some consensus – or a compromise at least – on how to proceed here for the time being? |
Ping @ras0219-msft for reply. |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
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.
While I do still think my suggested approach above of encapsulating the gzip dependency would be the best option, gzip is small enough and likely enough to be commonly needed that it seems acceptable to add to the base installation. This is a unique case and is not intended to set a precedent.
Thanks! |
Describe the pull request
Adds
gzip
to the list of default msys environment.gzip
is used byautopoint
, provided bygettext
tools.What does your PR fix?
Fixes [gettext] autopoint fails on Windows with missing gzip #20392
Which triplets are supported/not supported? Have you updated the CI baseline?
No change.
Does your PR follow the maintainer guide?
Yes.
If you have added/updated a port: Have you run
./vcpkg x-add-version --all
and committed the result?N/A