mirror of
https://github.com/markqvist/Sideband.git
synced 2025-07-24 07:20:37 -04:00
Updated recipes
This commit is contained in:
parent
c83798b123
commit
e90133a90f
6 changed files with 136 additions and 2 deletions
75
recipes/numpy/__init__.py
Normal file
75
recipes/numpy/__init__.py
Normal file
|
@ -0,0 +1,75 @@
|
|||
from pythonforandroid.recipe import CompiledComponentsPythonRecipe
|
||||
from pythonforandroid.logger import shprint, info
|
||||
from pythonforandroid.util import current_directory
|
||||
from multiprocessing import cpu_count
|
||||
from os.path import join
|
||||
import glob
|
||||
import sh
|
||||
import shutil
|
||||
|
||||
|
||||
class NumpyRecipe(CompiledComponentsPythonRecipe):
|
||||
|
||||
version = '1.22.3'
|
||||
url = 'https://pypi.python.org/packages/source/n/numpy/numpy-{version}.zip'
|
||||
site_packages_name = 'numpy'
|
||||
depends = ['setuptools', 'cython']
|
||||
install_in_hostpython = True
|
||||
call_hostpython_via_targetpython = False
|
||||
|
||||
patches = [
|
||||
join("patches", "remove-default-paths.patch"),
|
||||
join("patches", "add_libm_explicitly_to_build.patch"),
|
||||
join("patches", "ranlib.patch"),
|
||||
]
|
||||
|
||||
def get_recipe_env(self, arch=None, with_flags_in_cc=True):
|
||||
env = super().get_recipe_env(arch, with_flags_in_cc)
|
||||
|
||||
# _PYTHON_HOST_PLATFORM declares that we're cross-compiling
|
||||
# and avoids issues when building on macOS for Android targets.
|
||||
env["_PYTHON_HOST_PLATFORM"] = arch.command_prefix
|
||||
|
||||
# NPY_DISABLE_SVML=1 allows numpy to build for non-AVX512 CPUs
|
||||
# See: https://github.com/numpy/numpy/issues/21196
|
||||
env["NPY_DISABLE_SVML"] = "1"
|
||||
|
||||
return env
|
||||
|
||||
def _build_compiled_components(self, arch):
|
||||
info('Building compiled components in {}'.format(self.name))
|
||||
|
||||
env = self.get_recipe_env(arch)
|
||||
with current_directory(self.get_build_dir(arch.arch)):
|
||||
hostpython = sh.Command(self.hostpython_location)
|
||||
shprint(hostpython, 'setup.py', self.build_cmd, '-v',
|
||||
_env=env, *self.setup_extra_args)
|
||||
build_dir = glob.glob('build/lib.*')[0]
|
||||
shprint(sh.find, build_dir, '-name', '"*.o"', '-exec',
|
||||
env['STRIP'], '{}', ';', _env=env)
|
||||
|
||||
def _rebuild_compiled_components(self, arch, env):
|
||||
info('Rebuilding compiled components in {}'.format(self.name))
|
||||
|
||||
hostpython = sh.Command(self.real_hostpython_location)
|
||||
shprint(hostpython, 'setup.py', 'clean', '--all', '--force', _env=env)
|
||||
shprint(hostpython, 'setup.py', self.build_cmd, '-v', _env=env,
|
||||
*self.setup_extra_args)
|
||||
|
||||
def build_compiled_components(self, arch):
|
||||
self.setup_extra_args = ['-j', str(cpu_count())]
|
||||
self._build_compiled_components(arch)
|
||||
self.setup_extra_args = []
|
||||
|
||||
def rebuild_compiled_components(self, arch, env):
|
||||
self.setup_extra_args = ['-j', str(cpu_count())]
|
||||
self._rebuild_compiled_components(arch, env)
|
||||
self.setup_extra_args = []
|
||||
|
||||
def get_hostrecipe_env(self, arch):
|
||||
env = super().get_hostrecipe_env(arch)
|
||||
env['RANLIB'] = shutil.which('ranlib')
|
||||
return env
|
||||
|
||||
|
||||
recipe = NumpyRecipe()
|
Loading…
Add table
Add a link
Reference in a new issue