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

Add and use meson-multilib.eclass #20986

Closed
wants to merge 52 commits into from
Closed

Conversation

mattst88
Copy link
Contributor

There are a lot of private (i.e. to individual ebuilds and/or packages) functions implementing the necessary meson_use/meson_feature-style functions for multilib.

This PR factors those out and shows how we can use them in existing packages.

Consider this an RFC. I'm open to all feedback and I don't feel strongly about anything I've written here.

A couple of unorganized thoughts:

  • I feel like the function names are too long. Should we remove multilib_ from the names?

  • Trying to make the function names match meson_use/meson_feature exposes the fact that the meson_use name is weird. We want functions for the different meson options:

    • feature (enabled/disabled)
    • bool (true/false)
    • maybe something for yes/no (a common combo configuration).

Within those, we want multilib functions that operate with and without a USE flag. One natural way to name those functions differently is to put _use in the name of the ones that take a USE flag, e.g., could be something like meson_multilib_native_use_enable vs meson_multilib_native_enable. But if we already are using _use in a name like meson_multilib_native_use then adding another _use is kind of nonsensical. It's for that reason that I instead have meson_multilib_native_use and meson_multilib_native_true. Perhaps we should consider deprecating meson_use and replacing it with a meson_bool? 🤷

@gentoo-bot
Copy link

Pull Request assignment

Submitter: @mattst88
Areas affected: ebuilds, eclasses
Packages affected: app-accessibility/at-spi2-core, app-crypt/libsecret, dev-cpp/atkmm, dev-libs/wayland, media-libs/harfbuzz...

@gentoo/github: Too many disjoint maintainers, disabling auto-assignment.

Linked bugs

No bugs to link found. If your pull request references any of the Gentoo bug reports, please add appropriate GLEP 66 tags to the commit message and request reassignment.

If you do not receive any reply to this pull request, please open or link a bug to attract the attention of maintainers.


In order to force reassignment and/or bug reference scan, please append [please reassign] to the pull request title.

Docs: Code of ConductCopyright policy (expl.) ● DevmanualGitHub PRsProxy-maint guide

@gentoo-bot gentoo-bot added need assignment It was impossible to assign the PR correctly. Please assign it manually. no bug found No Bug/Closes found in the commits. labels May 25, 2021
@gentoo-repo-qa-bot
Copy link
Collaborator

Pull request CI report

Report generated at: 2021-05-25 19:14 UTC
Newest commit scanned: 28109a0
Status: ✅ good

There are existing issues already. Please look into the report to make sure none of them affect the packages in question:
https://qa-reports.gentoo.org/output/gentoo-ci/d9f56b12bd/output.html

@mattst88 mattst88 force-pushed the meson-multilib branch 2 times, most recently from a9f76c1 to 7051d38 Compare May 28, 2021 04:09
@gentoo-repo-qa-bot
Copy link
Collaborator

Pull request CI report

Report generated at: 2021-05-28 04:14 UTC
Newest commit scanned: a9f76c1
Status: ✅ good

There are existing issues already. Please look into the report to make sure none of them affect the packages in question:
https://qa-reports.gentoo.org/output/gentoo-ci/d8fb9cdf94/output.html

@gentoo-repo-qa-bot
Copy link
Collaborator

Pull request CI report

Report generated at: 2021-05-28 04:24 UTC
Newest commit scanned: 7051d38
Status: ✅ good

There are existing issues already. Please look into the report to make sure none of them affect the packages in question:
https://qa-reports.gentoo.org/output/gentoo-ci/ff22a43f91/output.html

@floppym
Copy link
Contributor

floppym commented May 30, 2021

I feel like the function names are too long. Should we remove multilib_ from the names?

Yeah, I think "native" already conveys the multilib-nature of the functions.

Trying to make the function names match meson_use/meson_feature exposes the fact that the meson_use name is weird.

I like the idea of including the output type in the function name.

@mattst88
Copy link
Contributor Author

Removed _multilib from the names and changed meson_native_use -> meson_native_bool to better indicate the return type.

Also added a patch to meson.eclass to cd into ${S} around einstalldocs like cmake.eclass does.

Still need eclass documentation for meson-multilib.eclass.

@gentoo-repo-qa-bot
Copy link
Collaborator

Pull request CI report

Report generated at: 2021-05-31 23:49 UTC
Newest commit scanned: c8c8e1a
Status: ✅ good

There are existing issues already. Please look into the report to make sure none of them affect the packages in question:
https://qa-reports.gentoo.org/output/gentoo-ci/3554eaac79/output.html

@mattst88
Copy link
Contributor Author

mattst88 commented Jun 2, 2021

meson-multilib.eclass documentation completed. I've sent the two eclass patches at the beginning of the series to gentoo-dev@ for review.

@gentoo-repo-qa-bot
Copy link
Collaborator

Pull request CI report

Report generated at: 2021-06-02 01:44 UTC
Newest commit scanned: 447d04a
Status: ✅ good

There are existing issues already. Please look into the report to make sure none of them affect the packages in question:
https://qa-reports.gentoo.org/output/gentoo-ci/68600161fa/output.html

@gentoo-repo-qa-bot
Copy link
Collaborator

Pull request CI report

Report generated at: 2021-06-02 02:14 UTC
Newest commit scanned: 8d1b7b9
Status: ✅ good

There are existing issues already. Please look into the report to make sure none of them affect the packages in question:
https://qa-reports.gentoo.org/output/gentoo-ci/38e2ef0173/output.html

eclass/meson-multilib.eclass Show resolved Hide resolved
media-libs/harfbuzz/harfbuzz-9999.ebuild Outdated Show resolved Hide resolved
media-libs/mesa/mesa-20.3.5.ebuild Outdated Show resolved Hide resolved
media-libs/mesa/mesa-21.0.3.ebuild Outdated Show resolved Hide resolved
media-libs/mesa/mesa-21.1.1.ebuild Outdated Show resolved Hide resolved
media-libs/mesa/mesa-9999.ebuild Outdated Show resolved Hide resolved
@gentoo-repo-qa-bot
Copy link
Collaborator

Pull request CI report

Report generated at: 2021-06-03 04:44 UTC
Newest commit scanned: 7e2cc4f
Status: ✅ good

There are existing issues already. Please look into the report to make sure none of them affect the packages in question:
https://qa-reports.gentoo.org/output/gentoo-ci/926aff2699/output.html

@mattst88
Copy link
Contributor Author

mattst88 commented Jun 3, 2021

Found and replaced a few more -Doption=$(usex ... true false) and removed some more unnecessary einstalldocs.

Planning to push this tomorrow if there are no further comments.

@gentoo-repo-qa-bot
Copy link
Collaborator

Pull request CI report

Report generated at: 2021-06-03 04:59 UTC
Newest commit scanned: 2633b3e
Status: ✅ good

There are existing issues already. Please look into the report to make sure none of them affect the packages in question:
https://qa-reports.gentoo.org/output/gentoo-ci/c038b04f53/output.html

eclass/meson-multilib.eclass Outdated Show resolved Hide resolved
eclass/meson-multilib.eclass Outdated Show resolved Hide resolved
app-crypt/libsecret/libsecret-0.20.4.ebuild Outdated Show resolved Hide resolved
@mattst88 mattst88 force-pushed the meson-multilib branch 2 times, most recently from 414d25c to 4c6fc4c Compare June 3, 2021 07:08
Signed-off-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: Matt Turner <mattst88@gentoo.org>
Signed-off-by: Matt Turner <mattst88@gentoo.org>
@gentoo-bot gentoo-bot closed this in 8045637 Jun 4, 2021
@mattst88 mattst88 deleted the meson-multilib branch July 22, 2021 06:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
need assignment It was impossible to assign the PR correctly. Please assign it manually. no bug found No Bug/Closes found in the commits.
Projects
None yet
7 participants