Skip to content

Commit 1b3b0e3

Browse files
authored
Merge pull request kivy#2225 from kivy/release-2020.06.02
Release 2020.06.02
2 parents 17dfa6a + 5a32f68 commit 1b3b0e3

File tree

114 files changed

+944
-9208
lines changed

Some content is hidden

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

114 files changed

+944
-9208
lines changed

.github/ISSUE_TEMPLATE.md

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,24 @@
11
<!--
2-
The issue tracker is a tool to address bugs.
3-
Please use the Disord community or Stack Overflow for support questions,
2+
The issue tracker is a tool to address bugs NOT a support platform.
3+
Please use the Discord community or Stack Overflow for support questions,
44
more information at https://github.com/kivy/python-for-android#support
5-
6-
Before opening a new issue, make sure you do the following:
7-
* check that your issue isn't already filed: https://github.com/kivy/python-for-android/issues
8-
* prepare a short, runnable example that reproduces the issue
9-
* make sure to have `log_level = 2` in your `buildozer.spec`
10-
* reproduce the problem with the latest development version (`p4a.branch = master`)
11-
* double-check that the issue is indeed a bug and not a support request
12-
* please use backticks to format code or logs
135
-->
146

7+
### Checklist
8+
9+
- [ ] the issue is indeed a bug and not a support request
10+
- [ ] issue doesn't already exist: https://github.com/kivy/python-for-android/issues
11+
- [ ] I have a short, runnable example that reproduces the issue
12+
- [ ] I reproduced the problem with the latest development version (`p4a.branch = develop`)
13+
- [ ] I used the grave accent (aka backticks) to format code or logs when appropriated
14+
1515
### Versions
1616

17-
* Python:
18-
* OS:
19-
* Kivy:
20-
* Cython:
17+
- Python:
18+
- OS:
19+
- Kivy:
20+
- Cython:
21+
- OpenJDK:
2122

2223
### Description
2324

@@ -28,6 +29,7 @@ Before opening a new issue, make sure you do the following:
2829
Command:
2930
```sh
3031
// REPLACE ME: buildozer command ran? e.g. buildozer android debug
32+
// Keep the triple grave accent (aka backquote/backtick) to have the code formatted
3133
```
3234

3335
Spec file:
@@ -38,5 +40,6 @@ Spec file:
3840
### Logs
3941

4042
```
41-
// REPLACE ME: Paste the build ouput containing the error
43+
// REPLACE ME: Paste the build output containing the error
44+
// Keep the triple grave accent (a.k.a. backquote/backtick) to have the code formatted
4245
```

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ jobs:
5252
# installs java 1.8, android's SDK/NDK and p4a
5353
- make -f ci/makefiles/osx.mk
5454
- export JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
55-
script: make testapps-no-venv/armeabi-v7a
55+
script: make testapps/armeabi-v7a
5656
- <<: *testapps
5757
name: Rebuild updated recipes
5858
script: travis_wait 30 make docker/run/make/rebuild_updated_recipes

Dockerfile

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,19 @@
1515
# Use 'docker run' without '--rm' flag for keeping the container and use
1616
# 'docker commit <container hash> <new image>' to extend the original image
1717

18-
FROM ubuntu:18.04
18+
FROM ubuntu:20.04
1919

2020
# configure locale
21-
RUN apt update -qq > /dev/null && apt install -qq --yes --no-install-recommends \
21+
RUN apt -y update -qq > /dev/null \
22+
&& DEBIAN_FRONTEND=noninteractive apt install -qq --yes --no-install-recommends \
2223
locales && \
2324
locale-gen en_US.UTF-8
2425
ENV LANG="en_US.UTF-8" \
2526
LANGUAGE="en_US.UTF-8" \
2627
LC_ALL="en_US.UTF-8"
2728

28-
RUN apt -y update -qq > /dev/null && apt -y install -qq --no-install-recommends \
29+
RUN apt -y update -qq > /dev/null \
30+
&& DEBIAN_FRONTEND=noninteractive apt install -qq --yes --no-install-recommends \
2931
ca-certificates \
3032
curl \
3133
&& apt -y autoremove \
@@ -49,7 +51,7 @@ ENV WORK_DIR="${HOME_DIR}/app" \
4951
# install system dependencies
5052
RUN dpkg --add-architecture i386 \
5153
&& ${RETRY} apt -y update -qq > /dev/null \
52-
&& ${RETRY} apt -y install -qq --no-install-recommends \
54+
&& ${RETRY} DEBIAN_FRONTEND=noninteractive apt install -qq --yes --no-install-recommends \
5355
autoconf \
5456
automake \
5557
autopoint \
@@ -64,8 +66,6 @@ RUN dpkg --add-architecture i386 \
6466
libidn11:i386 \
6567
libltdl-dev \
6668
libncurses5:i386 \
67-
libpangox-1.0-0:i386 \
68-
libpangoxft-1.0-0:i386 \
6969
libssl-dev \
7070
libstdc++6:i386 \
7171
libtool \

Makefile

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ all: virtualenv
2020

2121
$(VIRTUAL_ENV):
2222
python3 -m venv $(VIRTUAL_ENV)
23-
$(PIP) install Cython==0.28.6
23+
$(PIP) install Cython==0.29.19
2424
$(PIP) install -e .
2525

2626
virtualenv: $(VIRTUAL_ENV)
@@ -38,7 +38,7 @@ testapps-with-numpy/%: virtualenv
3838
$(eval $@_APP_ARCH := $(shell basename $*))
3939
. $(ACTIVATE) && cd testapps/on_device_unit_tests/ && \
4040
python setup.py apk --sdk-dir $(ANDROID_SDK_HOME) --ndk-dir $(ANDROID_NDK_HOME) \
41-
--requirements libffi,sdl2,pyjnius,kivy,python3,openssl,requests,sqlite3,setuptools,numpy \
41+
--requirements libffi,sdl2,pyjnius,kivy,python3,openssl,requests,urllib3,chardet,idna,sqlite3,setuptools,numpy \
4242
--arch=$($@_APP_ARCH)
4343

4444
testapps/%: virtualenv
@@ -47,14 +47,6 @@ testapps/%: virtualenv
4747
python setup.py apk --sdk-dir $(ANDROID_SDK_HOME) --ndk-dir $(ANDROID_NDK_HOME) \
4848
--arch=$($@_APP_ARCH)
4949

50-
testapps-no-venv/%:
51-
pip3 install Cython==0.28.6
52-
pip3 install -e .
53-
$(eval $@_APP_ARCH := $(shell basename $*))
54-
cd testapps/on_device_unit_tests/ && \
55-
python3 setup.py apk --sdk-dir $(ANDROID_SDK_HOME) --ndk-dir $(ANDROID_NDK_HOME) \
56-
--arch=$($@_APP_ARCH)
57-
5850
clean:
5951
find . -type d -name "__pycache__" -exec rm -r {} +
6052
find . -type d -name "*.egg-info" -exec rm -r {} +

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ dependencies you want, and bundle it in an APK along with your own code.
1313

1414
Features include:
1515

16-
- Support for building with both Python 2 and Python 3.
1716
- Different app backends including Kivy, PySDL2, and a WebView with
1817
Python webserver.
1918
- Automatic support for most pure Python modules, and built in support

ci/makefiles/osx.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ install_java:
1111
/usr/libexec/java_home -V
1212

1313
upgrade_cython:
14-
pip3 install --upgrade Cython==0.28.6
14+
pip3 install --upgrade Cython==0.29.19
1515

1616
install_android_ndk_sdk:
1717
mkdir -p $(ANDROID_HOME)

doc/source/contribute.rst

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ At this point, wait for reviewer approval and conclude any discussion that arise
5555
- Merge the release branch to the ``master`` branch.
5656
- Also merge the release branch to the ``develop`` branch.
5757
- Tag the release commit in ``master``, with tag ``vYYYY.MM.DD``. Include a short summary of the changes.
58-
- Create the release distributions: ``python3 setup.py sdist bdist_wheel``
59-
- Upload the release to pypi: ``python3 -m twine upload``.
58+
- Release distributions and PyPI upload should be `handled by the CI
59+
<https://github.com/kivy/python-for-android/blob/v2020.04.29/.travis.yml#L60-L70>`_.
6060
- Add to the Github release page (see e.g. `this example <https://github.com/kivy/python-for-android/releases/tag/v2019.06.06>`__):
6161
- The python-for-android README summary
6262
- A short list of major changes in this release, if any
@@ -67,15 +67,18 @@ At this point, wait for reviewer approval and conclude any discussion that arise
6767

6868
Release checklist
6969
~~~~~~~~~~~~~~~~~
70-
71-
- [ ] Check that the [build is passing](https://travis-ci.org/kivy/python-for-android)
72-
- [ ] Run the tests locally via `tox`: this performs some long-running tests that are skipped on Travis.
73-
- [ ] Build and run the [on_device_unit_tests](https://github.com/kivy/python-for-android/tree/master/testapps/on_device_unit_tests) app using buildozer. Check that they all pass.
74-
- [ ] Build and run the following [testapps](https://github.com/kivy/python-for-android/tree/master/testapps) for arch `armeabi-v7a` and `arm64-v8a`:
75-
- `python3 setup_testapp_python3_sqlite_openssl.py apk`
76-
- [ ] `armeabi-v7a`
77-
- [ ] `arm64-v8a`
78-
- [ ] Check that the version number is correct
70+
::
71+
72+
- [ ] Check that the builds are passing
73+
- [ ] [Travis build](https://travis-ci.org/kivy/python-for-android)
74+
- [ ] [GitHub Action](https://github.com/kivy/python-for-android/actions)
75+
- [ ] Run the tests locally via `tox`: this performs some long-running tests that are skipped on Travis.
76+
- [ ] Build and run the [on_device_unit_tests](https://github.com/kivy/python-for-android/tree/master/testapps/on_device_unit_tests) app using buildozer. Check that they all pass.
77+
- [ ] Build (or download from github actions) and run the following [testapps](https://github.com/kivy/python-for-android/tree/master/testapps/on_device_unit_tests) for arch `armeabi-v7a` and `arm64-v8a`:
78+
- [ ] on_device_unit_tests
79+
- [ ] `armeabi-v7a` (`cd testapps/on_device_unit_tests && PYTHONPATH=.:../../ python3 setup.py apk --ndk-dir=<your-ndk-dir> --sdk-dir=<your-sdk-dir> --arch=armeabi-v7a --debug`)
80+
- [ ] `arm64-v8a` (`cd testapps/on_device_unit_tests && PYTHONPATH=.:../../ python3 setup.py apk --ndk-dir=<your-ndk-dir> --sdk-dir=<your-sdk-dir> --arch=arm64-v8a --debug`)
81+
- [ ] Check that the version number is correct
7982

8083

8184

doc/source/quickstart.rst

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,14 +62,16 @@ Installing Dependencies
6262
p4a has several dependencies that must be installed:
6363

6464
- ant
65-
- autoconf (for ffpyplayer_codecs recipe)
65+
- autoconf (for libffi and other recipes)
66+
- automake
6667
- ccache (optional)
6768
- cmake (required for some native code recipes like jpeg's recipe)
6869
- cython (can be installed via pip)
6970
- gcc
7071
- git
7172
- libncurses (including 32 bit)
72-
- libtool (for ffpyplayer_codecs recipe)
73+
- libtool (for libffi and recipes)
74+
- libssl-dev (for TLS/SSL support on hostpython3 and recipe)
7375
- openjdk-8
7476
- patch
7577
- python3
@@ -83,14 +85,20 @@ install most of these with::
8385

8486
sudo dpkg --add-architecture i386
8587
sudo apt-get update
86-
sudo apt-get install -y build-essential ccache git zlib1g-dev python3 python3-dev libncurses5:i386 libstdc++6:i386 zlib1g:i386 openjdk-8-jdk unzip ant ccache autoconf libtool
88+
sudo apt-get install -y build-essential ccache git zlib1g-dev python3 python3-dev libncurses5:i386 libstdc++6:i386 zlib1g:i386 openjdk-8-jdk unzip ant ccache autoconf libtool libssl-dev
8789

8890
On Arch Linux you should be able to run the following to
8991
install most of the dependencies (note: this list may not be
9092
complete)::
9193

9294
sudo pacman -S core/autoconf core/automake core/gcc core/make core/patch core/pkgconf extra/cmake extra/jdk8-openjdk extra/python-pip extra/unzip extra/zip
9395

96+
On macOS::
97+
98+
brew install autoconf automake libtool openssl pkg-config
99+
brew tap homebrew/cask-versions
100+
brew cask install homebrew/cask-versions/adoptopenjdk8
101+
94102
Installing Android SDK
95103
~~~~~~~~~~~~~~~~~~~~~~
96104

doc/source/troubleshooting.rst

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,17 @@ On Ubuntu fix it my making sure only the :code:`openjdk-8-jdk` package is instal
163163
In the similar fashion for macOS you need to install the :code:`java8` package::
164164

165165
brew cask install java8
166+
export JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
167+
168+
169+
Error: Cask 'java8' is unavailable: No Cask with this name exists
170+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
171+
172+
In order to install Java 8 on macOS you may need extra steps::
173+
174+
brew tap homebrew/cask-versions
175+
brew cask install homebrew/cask-versions/adoptopenjdk8
176+
export JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
166177

167178

168179
JNI DETECTED ERROR IN APPLICATION: static jfieldID 0x0000000 not valid for class java.lang.Class<org.renpy.android.PythonActivity>
@@ -173,12 +184,6 @@ This error appears in the logcat log if you try to access
173184
fix it, change your code to reference
174185
``org.kivy.android.PythonActivity`` instead.
175186

176-
websocket-client: if you see errors relating to 'SSL not available'
177-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
178-
Ensure you have the package backports.ssl-match-hostname in the buildozer requirements, since Kivy targets python 2.7.x
179-
180-
You may also need sslopt={"cert_reqs": ssl.CERT_NONE} as a parameter to ws.run_forever() if you get an error relating to host verification
181-
182187
Requested API target 19 is not available, install it with the SDK android tool
183188
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
184189

@@ -197,3 +202,20 @@ ModuleNotFoundError: No module named '_ctypes'
197202
You do not have the libffi headers available to python-for-android, so you need to install them. On Ubuntu and derivatives these come from the `libffi-dev` package.
198203

199204
After installing the headers, clean the build (`p4a clean builds`, or with buildozer delete the `.buildozer` directory within your app directory) and run python-for-android again.
205+
206+
SSLError("Can't connect to HTTPS URL because the SSL module is not available.")
207+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
208+
209+
Your `hostpython3` was compiled without SSL support. You need to install the SSL development files before rebuilding the `hostpython3` recipe.
210+
Remember to always clean the build before rebuilding (`p4a clean builds`, or with buildozer `buildozer android clean`).
211+
212+
On Ubuntu and derivatives::
213+
214+
apt install libssl-dev
215+
p4a clean builds # or with: buildozer `buildozer android clean
216+
217+
On macOS::
218+
219+
brew install openssl
220+
sudo ln -sfn /usr/local/opt/openssl /usr/local/ssl
221+
p4a clean builds # or with: buildozer `buildozer android clean

pythonforandroid/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = '2020.04.29'
1+
__version__ = '2020.06.02'

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy