lbry-android-sdk/p4a/testapps/testlauncherreboot_setup/sdl2.py
2022-11-29 15:35:24 -05:00

105 lines
3.1 KiB
Python

'''
Clone Python implementation of Kivy Launcher from kivy/kivy-launcher repo,
install deps specified in the OPTIONS['apk']['requirements'] and put it
to a dist named OPTIONS['apk']['dist-name'].
Tested with P4A Dockerfile at 5fc5241e01fbbc2b23b3749f53ab48f22239f4fc,
kivy-launcher at ad5c5c6e886a310bf6dd187e992df972864d1148 on Windows 8.1
with Docker for Windows and running on Samsung Galaxy Note 9, Android 8.1.
docker run \
--interactive \
--tty \
-v "/c/Users/.../python-for-android/testapps":/home/user/testapps \
-v ".../python-for-android/pythonforandroid":/home/user/pythonforandroid \
p4a sh -c '\
. venv/bin/activate \
&& cd testapps/testlauncherreboot_setup \
&& python sdl2.py apk \
--sdk-dir $ANDROID_SDK_HOME \
--ndk-dir $ANDROID_NDK_HOME'
'''
# pylint: disable=import-error,no-name-in-module
from subprocess import Popen
from distutils.core import setup
from os import listdir
from os.path import join, dirname, abspath, exists
from pprint import pprint
from setuptools import find_packages
ROOT = dirname(abspath(__file__))
LAUNCHER = join(ROOT, 'launcherapp')
if not exists(LAUNCHER):
PROC = Popen([
'git', 'clone',
'https://github.com/kivy/kivy-launcher',
LAUNCHER
])
PROC.communicate()
assert PROC.returncode == 0, PROC.returncode
pprint(listdir(LAUNCHER))
pprint(listdir(ROOT))
OPTIONS = {
'apk': {
'debug': None,
'bootstrap': 'sdl2',
'requirements': (
'python3,sdl2,kivy,android,pyjnius,plyer'
),
# 'sqlite3,docutils,pygments,'
# 'cymunk,lxml,pil,openssl,pyopenssl,'
# 'twisted,audiostream,ffmpeg,numpy'
'android-api': 27,
'ndk-api': 21,
'dist-name': 'bdisttest_python3launcher_sdl2_googlendk',
'name': 'TestLauncherPy3-sdl2',
'package': 'org.kivy.testlauncherpy3_sdl2_googlendk',
'ndk-version': '10.3.2',
'arch': 'armeabi-v7a',
'permissions': [
'ACCESS_COARSE_LOCATION', 'ACCESS_FINE_LOCATION',
'BLUETOOTH', 'BODY_SENSORS', 'CAMERA', 'INTERNET',
'NFC', 'READ_EXTERNAL_STORAGE', 'RECORD_AUDIO',
'USE_FINGERPRINT', 'VIBRATE', 'WAKE_LOCK',
'WRITE_EXTERNAL_STORAGE'
]
}
}
PACKAGE_DATA = {
'launcherapp': [
'*.py', '*.png', '*.ttf', '*.eot', '*.svg', '*.woff',
],
'launcherapp/art': [
'*.py', '*.png', '*.ttf', '*.eot', '*.svg', '*.woff',
],
'launcherapp/art/fontello': [
'*.py', '*.png', '*.ttf', '*.eot', '*.svg', '*.woff',
],
'launcherapp/data': [
'*.py', '*.png', '*.ttf', '*.eot', '*.svg', '*.woff',
],
'launcherapp/launcher': [
'*.py', '*.png', '*.ttf', '*.eot', '*.svg', '*.woff',
]
}
PACKAGES = find_packages()
print('packages are', PACKAGES)
setup(
name='testlauncherpy3_sdl2_googlendk',
version='1.0',
description='p4a sdl2.py apk',
author='Peter Badida',
author_email='keyweeusr@gmail.com',
packages=find_packages(),
options=OPTIONS,
package_data=PACKAGE_DATA
)