Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 63 additions & 0 deletions ci/constants.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
from enum import Enum


class TargetPython(Enum):
python2 = 0
python3crystax = 1


# recipes that currently break the build
# a recipe could be broken for a target Python and not for the other,
# hence we're maintaining one list per Python target
BROKEN_RECIPES_PYTHON2 = set([])
BROKEN_RECIPES_PYTHON3_CRYSTAX = set([
# not yet python3crystax compatible
'apsw', 'atom', 'boost', 'brokenrecipe', 'cdecimal', 'cherrypy',
'coverage', 'dateutil', 'enaml', 'ethash', 'kiwisolver', 'libgeos',
'libnacl', 'libsodium', 'libtorrent', 'libtribler', 'libzbar', 'libzmq',
'm2crypto', 'mysqldb', 'ndghttpsclient', 'pil', 'pycrypto', 'pyethereum',
'pygame', 'pyleveldb', 'pyproj', 'pyzmq', 'regex', 'shapely',
'simple-crypt', 'twsisted', 'vispy', 'websocket-client', 'zbar',
'zeroconf', 'zope',
# https://github.com/kivy/python-for-android/issues/550
'audiostream',
# enum34 is not compatible with Python 3.6 standard library
# https://stackoverflow.com/a/45716067/185510
'enum34',
# https://github.com/kivy/python-for-android/issues/1398
'ifaddrs',
# https://github.com/kivy/python-for-android/issues/1399
'libglob',
# cannot find -lcrystax
'cffi', 'pycryptodome', 'pymuk', 'secp256k1',
# https://github.com/kivy/python-for-android/issues/1404
'cryptography',
# https://github.com/kivy/python-for-android/issues/1294
'ffmpeg', 'ffpyplayer',
# https://github.com/kivy/python-for-android/pull/1307 ?
'gevent',
'icu',
# https://github.com/kivy/python-for-android/issues/1354
'kivent_core', 'kivent_cymunk', 'kivent_particles', 'kivent_polygen',
'kivy',
# https://github.com/kivy/python-for-android/issues/1405
'libpq', 'psycopg2',
'netifaces',
# https://github.com/kivy/python-for-android/issues/1315 ?
'opencv',
'protobuf_cpp',
# most likely some setup in the Docker container, because it works in host
'pyjnius', 'pyopenal',
# SyntaxError: invalid syntax (Python2)
'storm',
'vlc',
])
BROKEN_RECIPES = {
TargetPython.python2: BROKEN_RECIPES_PYTHON2,
TargetPython.python3crystax: BROKEN_RECIPES_PYTHON3_CRYSTAX,
}
# recipes that were already built will be skipped
CORE_RECIPES = set([
'pyjnius', 'kivy', 'openssl', 'requests', 'sqlite3', 'setuptools',
'numpy', 'android', 'python2',
])
38 changes: 1 addition & 37 deletions ci/rebuild_updated_recipes.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,44 +25,8 @@
"""
import sh
import os
from enum import Enum
from pythonforandroid.toolchain import current_directory


class TargetPython(Enum):
python2 = 0
python3crystax = 1


# recipes that currently break the build
# a recipe could be broken for a target Python and not for the other,
# hence we're maintaining one list per Python target
BROKEN_RECIPES_PYTHON2 = set([])
BROKEN_RECIPES_PYTHON3_CRYSTAX = set([
# not yet python3crystax compatible
'apsw', 'atom', 'boost', 'brokenrecipe', 'cdecimal', 'cherrypy',
'coverage',
# https://github.com/kivy/python-for-android/issues/550
'audiostream',
# enum34 is not compatible with Python 3.6 standard library
# https://stackoverflow.com/a/45716067/185510
'enum34',
# https://github.com/kivy/python-for-android/issues/1398
'ifaddrs',
# https://github.com/kivy/python-for-android/issues/1399
'libglob',
# cannot find -lcrystax
'cffi',
])
BROKEN_RECIPES = {
TargetPython.python2: BROKEN_RECIPES_PYTHON2,
TargetPython.python3crystax: BROKEN_RECIPES_PYTHON3_CRYSTAX,
}
# recipes that are were already built
CORE_RECIPES = set([
'pyjnius', 'kivy', 'openssl', 'requests', 'sqlite3', 'setuptools',
'numpy', 'android',
])
from ci.constants import TargetPython, CORE_RECIPES, BROKEN_RECIPES


def modified_recipes(branch='origin/master'):
Expand Down