-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Drop CrystaX support and code base #1913
Conversation
doc/source/buildoptions.rst
Outdated
.. note:: Since we don't support `python3crystax` anymore, the old instructions | ||
has been removed from here. If you, still have the need to make use | ||
of this old recipe, you should do it with an old `python-for-android` | ||
release. Probably, a got starting point would be `version 0.7.0 |
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.
Do you meen "a good starting point? `s/a got/a good/
doc/source/docker.rst
Outdated
Within the custom diff made by building the distribution there is another | ||
big chunk of space eaten. The very basic stuff such as a distribution with: | ||
CPython 3, setuptools, Python for Android ``android`` module, SDL2 (+ deps), | ||
PyJNIus and Kivy takes almost 13 GB. Check your free space first! |
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.
Since CrystaX is gone from the Dockerfile I think the image size is way less.
DockerHub shows 2 GB.
https://cloud.docker.com/u/kivy/repository/docker/kivy/python-for-android/tags
Awesome start 👏 can't wait to see it goes 😄 |
- Fix misspelled word - update docker image size to the current situation Thanks @AndreMiras!!
230fc1c
to
dc589c4
Compare
Because we already build them whenever we build our python recipes, so this way we will avoid to make it fail the `CI` test `rebuild_updated_recipes` in the case that we have to touch both hostpython recipes at the same time
Since now we have an smartest way to determine the right bootstrap based on recipes, it's time to rely on it for our `rebuild_updated_recipes` Closes: kivy#1594
pythonforandroid/recipe.py
Outdated
|
||
depends = [('python2', 'python3')] | ||
''' | ||
.. note:: it's important to keep this depends as a class attribute, outside |
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.
The note is helpful, but it seems a bit overly long. I am not trying to be nitpicky, but it is actually a problem that when all explanatory comments get too long one tends to not read them. So I recommend shortening it down to:
.. note:: it's important to keep this depends as a class attribute outside
`__init__` because sometimes we only initialize the class, so
the `__init__` call won't be called and the deps would be missing
(which breaks the dependency graph computation)
pythonforandroid/recipe.py
Outdated
build order for dependencies will not be computed as expected (if | ||
computed...). So be very careful with this line!! | ||
|
||
.. warning:: this `depends` may be overwrote in inherited classes of |
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.
I would shorten this to:
.. warning:: don't forget to call `super().__init__()` in any recipe's `__init__`, or
otherwise it may not be ensured that it depends on python2 or python3
which can break the dependency graph
pythonforandroid/recipe.py
Outdated
if d in self.depends | ||
] | ||
): | ||
# we overwrote `depends` in inherited recipe, so we must add it |
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.
I would rephrase this comment to:
# We ensure here that the recipe depends on python even it overrode `depends`.
# We only do this if it doesn't already depend on any python,
# since some recipes intentionally don't depend on/work with all python variants
Looks good to me in overall, I suggested a few minor things but don't consider them blocking on the merge. I suggest we should merge this soon, because it looks like this may conflict with things and crystax really is annoying to keep around |
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.
Looks great to me, thanks!
doc/source/buildoptions.rst
Outdated
~~~~~~~~~~~~~~~ | ||
|
||
python-for-android originally supported Python 3 using the CrystaX NDK. Since | ||
we have a working python3 recipe, we don't support CrystaX NDK anymore. If you |
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.
I would be more direct with this kind of doc, you can just write
python-for-android no longer supports building for Python 3 using the CrystaX NDK. Instead, use the
python3
recipe, which can be built using the normal Google NDK.
The last python-for-android version supporting CrystaX was 0.7.0.
No need for this to hold up merging the PR, we can improve the doc later (there are plenty of parts that I wrote that also need improvement), just noting as something I've been thinking about.
Not merging because I didn't check the status of the other comments, but it's fine to merge for me. |
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.
By shortening a little some long texts, thanks @Jonast and @inclement!!
Thanks @Jonast, @inclement and @AndreMiras, for your reviews and text corrections 👍 All your suggestions as been applied as you wanted, so I think that we have this 😄 |
Thanks @opacam! |
There is an open issue, a proposal to drop CrystaX support (#1905), so this PR takes care of this...in case that the team wants to take this road, we will see in here I guess..:wink:
Note: labeledWIP
because the tests must be updated