-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Allow matching multiple packages by a pattern. #19387
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: develop2
Are you sure you want to change the base?
Conversation
Helps with circular dependencies in tool_requires
|
Hi @sobczyk Thanks for the contribution.
This would need a bit more of clarification. |
|
@memsharded I am lazy, I use When it comes to explicit tool requiremtns, it'd require from me to modify every conan index package to list a compiler and a linker, and it's much quicker to have it on profile level. This patch would also help with disabling options for select list of packages ie. |
Using
This is not what I meant. The profile definition is good for "host" packages, regular libraries, etc, which is the vast majority of packages. Tool-requires are just a very small fraction of all packages. No need to modify every ConanCenter recipe to inject compilers or linkers, that is perfect as Then it is also possible to define
You could define
That is possible with the In general we prefer to use "standard" language constructs, like Python or jinja2 ones than inventing our own wen possible. I am not directly opposing to this change, but every new feature has an added complexity that compounds over time on future development, testing, documentation, maintenance, and user support, so we are very careful to understand the underlying use cases and needs. So far, this proposal seems motivated by a pattern that wouldn't be recommended in several different scenarios, or for other cases that have an alternative possible syntax ( |
If host and build are the same (ie; we build for x86_64 linux), then it's easier to run I use qt and some glib, so the array of build tools have a pretty wide scope. |
Changelog: Feature: Fix circular dependencies in complex tool_requires
Docs: https://github.com/conan-io/docs/pull/XXXX
Closes #17474
Profile contains:
[tool_requires] gcc/15.0 mold/1.40gcc conanfile is just an export-pkg, thus has no dependencies.
mold requires cmake to build (and gcc)
So we need to remove mold from cmake and gcc to fix cicular dependency.
I propose
|as the character to split patterns:[tool_requires] gcc/15.0 !gcc/*|cmake/*:mold/1.40developbranch, documenting this one.