-
Notifications
You must be signed in to change notification settings - Fork 37.8k
cmake: Do not require Python to build GUI #33156
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
Conversation
Python is used by the `translate` build target to update the translation source files from the codebase.
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. Code Coverage & BenchmarksFor details see: https://corecheck.dev/bitcoin/bitcoin/pulls/33156. ReviewsSee the guideline for information on the review process.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
This is a solid improvement and should be especially beneficial for developers without Python environments and enhances our build system’s efficiency by reducing dependencies. Great work! ACK |
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.
ACK 55c11e8
An alternative approach would be to convert the translate build target into a CMake script.
I think that would help resolve some diffs we occasionally see, which I suspect could be caused by subtle variations in how Python versions (locale settings, or encoding defaults) format or order strings during translation processing. This change should make the translation output consistent across environments.
Add to the 30.0 milestone? |
This one or #33200? |
#33200 doesn't solve the issue. But @purpleKarrot has a working branch on top of it that replaces Python code with pure CMake code. |
This removes the Python dependency: #33209 |
I see. No strong opinion on which direction to take, but this one need rebase, if still relevant. |
🐙 This pull request conflicts with the target branch and needs rebase. |
Closing in favour of #33209. |
This PR fixes #33146, which may be considered a regression introduced in #31233.
This approach was chosen for its minimal diff.
An alternative approach would be to convert the
translate
build target into a CMake script. This could be justified, as the goal is to update files in the source tree and then commit them to the repository, which is something regular build targets are not intended to do.On a related note, the
share/qt/extract_strings_qt.py
looks simple enough to be rewritten in pure CMake code.