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

Fix deprecation warning for Meson #38

Merged
merged 1 commit into from
Dec 3, 2022
Merged

Conversation

nanonyme
Copy link
Contributor

@nanonyme
Copy link
Contributor Author

Turns out we're been doing it wrong since Meson 0.42.

@eli-schwartz
Copy link

"Doing it wrong since Meson 0.42" would imply that we actually informed users of that for the last 5 years. 🤣

As a matter of compatibility, it is however true that making this change works since relatively forever.

@nanonyme
Copy link
Contributor Author

nanonyme commented Nov 28, 2022

Yeah, that's kind of what I was going for. This is unlikely to break anything (except cache keys) and the deprecated way will eventually go away so it's better to do it now when majority of users still use BuildStream 1 and not BuildStream 2.

@nanonyme
Copy link
Contributor Author

@eli-schwartz your point is valid though. I probably would not have noticed this being deprecated now either if gstreamer doc created hadn't broken with update to Meson 0.64.1.

@abderrahim
Copy link
Contributor

I'm tempted to change ninja too (and use meson compile and meson install instead).

Not sure what @gtristan would think of this, but it at least implies we need to block the buildstream-plugins 2.0 release.

@nanonyme
Copy link
Contributor Author

I agree but if we do that, we should also change API which is forbidden kind of

@nanonyme
Copy link
Contributor Author

It's not great going towards something that should last next decade with legacy ways of doing things.

@eli-schwartz
Copy link

meson compile is a questionable python wrapper that imports tens of thousands of lines of code, then immediately executes ninja. It basically exists to be better in documentation for people that don't want to explain in README.md how to run msbuild on Windows. There is nothing you can do with meson compile that ninja doesn't do better. I would always just run ninja.

meson install is the other way around. ninja install runs meson install as a convenience wrapper (and will never go away) and while the two are effectively the same, it's useful to run meson directly if you need to pass options such as meson install --tags runtime. I would say either one is fine.

@nanonyme
Copy link
Contributor Author

nanonyme commented Nov 29, 2022

It would probably be most reasonable if the variables (API) were meson-build and meson-install and former would directly invoke ninja whereas latter would invoke meson install. The fact meson-build directly invokes ninja is an implementation detail and you could override it to something completely different.

@nanonyme
Copy link
Contributor Author

@abderrahim can we merge this though? I can make new PR that is explicitly about changing API.

@gtristan gtristan merged commit 7c23e15 into apache:master Dec 3, 2022
@nanonyme nanonyme deleted the meson branch December 3, 2022 10:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants