Skip to content
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

[bug] Deprecate MesonDeps #13048

Closed
memsharded opened this issue Feb 3, 2023 · 6 comments
Closed

[bug] Deprecate MesonDeps #13048

memsharded opened this issue Feb 3, 2023 · 6 comments
Assignees
Milestone

Comments

@memsharded
Copy link
Member

Environment details

Latest 1.58, all OSs and versions

Steps to reproduce

MesonDeps cannot transmit transitive dependencies information, so it seems quite useless:

  • It is not used in ConanCenter yet
  • It is not tested in the test suite to cover the case of transitive dependencies

So it is not clear the value proposition of MesonDeps then, better remove it, at least from 2.0, until it becomes clear.

Logs

No response

@SSE4
Copy link
Contributor

SSE4 commented Feb 4, 2023

MesonDeps as a new generator to create an extra file with all the GNU flags from all the dependencies.
I think it was initially added by @franramirez688 to fix #10683 #11397 #11398.
a PR adding it was #11557
I don't think it should be removed, as it will introduce a massive breakage to recipes using it.
e.g. it's a part of our template. therefore, everyone who copied from this template would be affected.
if it's strictly needed to remove, there should be some clear drop-in replacement (e.g. MesonDeps2 or whatever).
perhaps, a major use-case is to locate dependencies, which are not normally found via pkg-config. you just add some include and link directories (-I and -L), and they are found directly.

MesonDeps cannot transmit transitive dependencies information

according to doc:

MesonToolchain normally works together with PkgConfigDeps to manage all the dependencies, but sometimes we need to gather some flags coming from Autotools tool so that’s what MesonDeps is meant for. In other words, it is typically used when Meson cannot find a dependency using the already known detection mechanisms like: pkg-config, cmake, config-tool, etc. For instance, if we’d have these lines in your meson.build file, you might need MesonDeps to find that dependency and inject the correct flags to the compiler:

@memsharded
Copy link
Member Author

I don't think it should be removed, as it will introduce a massive breakage to recipes using it.

It is used solely by 1 recipe in the whole ConanCenter, so this is not massive breakage, but would completely negligible.

@SSE4
Copy link
Contributor

SSE4 commented Feb 14, 2023

It is used solely by 1 recipe in the whole ConanCenter, so this is not massive breakage, but would completely negligible.

there are also forked recipes and private recipes in enterprise environments

@memsharded
Copy link
Member Author

If there are forks, they will contain at most 1 package with it.
And I do tons of conversations and calls with enterprises, still to find one that is using this very new and experimental component.

This wouldn't be a massive breakage. And I am considering it for a reason: it doesn't work as it advertises. It cannot propagate link information by itself. When used together with PkgConfigDeps there will be most likely duplicated paths and flags. So the whole thing needs to be reconsidered.

@memsharded
Copy link
Member Author

conan-io/conan-center-index#16014 works without MesonDeps, so no recipe in ConanCenter actually depends on MesonDeps

@memsharded
Copy link
Member Author

Closed by #13134

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants