Skip to content

Commit d326f54

Browse files
committed
Merge pull request kivy#463 from kivy/revamp_pre_master_rebase
Replace the p4a master with the revamp
2 parents ce231c4 + 5cac4f6 commit d326f54

File tree

2,562 files changed

+27721
-943667
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,562 files changed

+27721
-943667
lines changed

.gitignore

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,6 @@
1-
build
21
*.swp
32
*.swo
43
*~
5-
src/obj
6-
src/local.properties
7-
src/default.properties
8-
src/libs/armeabi
9-
dist
10-
*.pyc
11-
testsuite
12-
.packages
134

145
#ECLIPSE + PYDEV
156
.project
@@ -18,3 +9,6 @@ testsuite
189
.deps
1910

2011
.optional-deps
12+
13+
*.pyc
14+
*.pyo
File renamed without changes.

COPYING

Lines changed: 0 additions & 458 deletions
This file was deleted.

MANIFEST.in

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
2+
include LICENSE README.md
3+
4+
recursive-include doc *
5+
prune doc/build
6+
7+
recursive-include pythonforandroid *.py *.tmpl biglink liblink
8+
recursive-include pythonforandroid/recipes *.py *.patch *.c *.pyx Setup *.h
9+
10+
recursive-include pythonforandroid/bootstraps *.properties *.xml *.java *.tmpl *.txt *.png *.aidl *.py *.sh *.c *.h
11+
12+
prune .git
13+
prune pythonforandroid/bootstraps/pygame/build/libs

README.md

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
# Python for Android
2+
3+
Python for android is a project to create your own Python distribution
4+
including the modules you want, and create an apk including python,
5+
libs, and your application.
6+
7+
These tools were recently rewritten to provide a new, easier to use
8+
and extend interface. If you are looking for the old toolchain with
9+
distribute.sh and build.py, it is still available at
10+
https://github.com/kivy/python-for-android/tree/old_toolchain, and
11+
issues and PRs relating to this branch are still accepted. However,
12+
the new toolchain contains all the same functionality via the built in
13+
pygame bootstrap.
14+
15+
For documentation and support, see:
16+
17+
- Website: http://python-for-android.rtfd.org/
18+
- Mailing list: https://groups.google.com/forum/#!forum/kivy-users or
19+
https://groups.google.com/forum/#!forum/python-android.
20+
21+
Broad goals of the revamp project include:
22+
23+
- ✓ Replace the old toolchain with a more extensible pythonic one
24+
- ✓ Support SDL2
25+
- ✓ Support multiple bootstraps (user-chosen java + NDK code, e.g. for
26+
multiple graphics backends or non-Kivy projects)
27+
- (WIP) Support python3 (recipe exists but crashes on android)
28+
- (WIP) Support some kind of binary distribution, including on windows (semi-implemented, just needs finishing)
29+
- ✓ Be a standalone Pypi module (not on pypi yet but setup.py works)
30+
- Support multiple architectures
31+
32+
We are currently working to stabilise all parts of the toolchain and
33+
add more features. Support for pygame-based APKs is almost feature
34+
complete with the old toolchain. Testing and contributions are
35+
welcome.
36+
37+
# TODO to make this the master branch
38+
39+
- ✓ Add a distribute.sh that gives an appropriate error message when
40+
called, so that old versions of buildozer will be informative about
41+
the problem.
42+
- ✓ Make buildozer download python-for-android from a new 'old' branch
43+
44+
Steps to make this the master branch will be:
45+
46+
1. ✓ Copy p4a master to a new 'old_toolchain' branch
47+
2. ✓ Merge https://github.com/kivy/buildozer/pull/233 so that buildozer
48+
will pull from this branch
49+
3. ✓ (thanks tito!) Push a new buildozer version to pypi. It is important that people
50+
will be able to upgrade!
51+
4. Merge the revamp branch into the master branch (or just replace
52+
it...since it's a total rewrite I guess it doesn't need to be a
53+
merge).
54+
5. Note in any recent non-revamp PRs that they must be redirected to
55+
the old_toolchain branch.
56+
57+
# Documentation
58+
59+
This toolchain is documented (temporarily)
60+
[here](http://inclem.net/files/p4a_revamp_doc/). Follow the
61+
[quickstart instructions](http://inclem.net/files/p4a_revamp_doc/quickstart.html#quickstart)
62+
to install and begin creating APK.
63+
64+
Quick instructions to start would be:
65+
66+
pip install git+https://github.com/kivy/python-for-android.git@revamp
67+
68+
The executable is called `python-for-android` or `p4a` (both are
69+
equivalent). To test that the installation worked, try
70+
71+
python-for-android recipes
72+
73+
This should return a list of recipes available to be built.
74+
75+
To build any distributions, you need to set up the Android SDK and NDK
76+
as described in the documentation linked above.
77+
78+
If you did this, to build an APK with SDL2 you can try e.g.
79+
80+
p4a apk --requirements=kivysdl2 --private /home/asandy/devel/planewave_frozen/ --package=net.inclem.planewavessdl2 --name="planewavessdl2" --version=0.5 --bootstrap=sdl2
81+
82+
For full instructions and parameter options, see the documentation
83+
linked above.
84+
85+
# Known missing stuff from P4A
86+
87+
Relating to all bootstraps:
88+
- Some recipes/components aren't stripped properly of doc etc.
89+
- Some command line options of distribute.sh
90+
- Biglink is essential (the p4a disable option isn't implemented)
91+
92+
Relating to SDL2 only:
93+
- Downloaded file md5 and headers aren't checked
94+
- Android services are not implemented at all
95+
- App loading screen
96+
- Public dir installation
97+
- Keyboard height getter
98+
- Billing support
99+
- Kivy Launcher build (can now be implemented as a bootstrap...maybe?)
100+
- Several build options for build.py
101+
- Probably some other stuff
102+
103+
Here are some specific things relating to changes in p4a itself since
104+
the reference commit that the revamp is based on:
105+
106+
# Current status
107+
108+
The tool works, testing is welcomed. Doc is available
109+
[here](http://inclem.net/files/p4a_revamp_doc/).
110+
111+
# Development notes
112+
113+
Original reference commit of p4a master was
114+
7c8d4ce9db384528f7ea83e0841fe2464a558db8 - possibly some things after
115+
this need adding to the new toolchain. Some of the major later
116+
additons, including ctypes in the python build, have already been
117+
merged here.

README.rst

Lines changed: 0 additions & 67 deletions
This file was deleted.

cythonizer.py

Lines changed: 0 additions & 54 deletions
This file was deleted.

0 commit comments

Comments
 (0)