-
-
Notifications
You must be signed in to change notification settings - Fork 3.9k
python 3.13 rebuild: part 8 #28184
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
Draft
thunder-coding
wants to merge
27
commits into
master
Choose a base branch
from
python313-dep8
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
python 3.13 rebuild: part 8 #28184
+356
−141
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
d787753 to
402ae3f
Compare
5 tasks
23477e1 to
cf9f843
Compare
patch for configure is no longer needed patch for multiprocessing.c no longer required due to python/cpython@fa1d675 Remove 0006-do-not-use-xattr.patch since we can just add a configure argument and it works just as well We no longer need to manually add libraries for libpython as it is now added by default when building for android. See upstream commit: python/cpython@7f5e3f0 No longer required patch for Lib/aifc.py after python/cpython@036da3b mailcap module has been removed in Python 3.13. https://docs.python.org/3/whatsnew/3.13.html#whatsnew313-pep594 add post install message when site-packages/ is detected for python3.12 Also mark as unsafe for on-device building. The plan is to move to building python with host-python, this isn't possible on device. I will be looking to get some fixes made in future to get on-device builds as well, but it is not the priority at the moment
Causes the built libpython3.so to not include symbols which we need in the final binary
maybe the issue with the build system is fixed now?
We need build python for cross compilation as Ubuntu's version of python is different. Also crossenv recommends building own python revisions instead of distribution compiled ones added lld to setup-ubuntu as it's needed by clang driver when using -fuse-ld=lld. Not sure how we went this far without having to deal with this during host builds Also we need libpython3.so for cross-compilation of some of the pip packages. So build with --enable-shared
documentation BREAKING CHANGE: This potentially breaks a lot of builds that might need python with ubuntu's packaged pip packages/additional features
Do not try to use build python for running meson
This is a slightly modified version of robotpy/crossenv@3ef761b We only need the simple shebang, so only use that always.
Also update setuptools to 80.9.0 while we are at full rebuilds with python 3.13
fixes crossenv broken
Relevant upstream commit python/cpython@1f8b24e Also apply this same fix in host build of python as cross-python uses it's own cutils instead of what we have built for target in our cross builds.
…roid api version `python -m build` builds android wheels as android_$TERMUX_ARCH.whl but pip during installation expects it to be android_$TERMUX_API_LEVEL_$TERMUX_ARCH.whl so we need make sure that it is installable without renaming the wheel
[[TODO: add more descriptive commit message]]
cf9f843 to
7861ef8
Compare
ANDROID_API_LEVEL seems to be required for newer maturin versions. Also set other environment variables used by maturin while we are at it
Also make sure we always use npm instead of using pnpm. The hatch build process tries to build the bundle using pnpm, npm asks for confirmation, which doesn't work with interactive terminal. CI doesn't have stdin so it isn't a problem over there.
Properly build with cross-pip instead of building using build-python and installing it. Seems like pip now treats android as a separate platform than other linux, hence the incompatibility
7861ef8 to
270fb82
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.