49 lines
1.3 KiB
Python
49 lines
1.3 KiB
Python
|
import sh
|
||
|
|
||
|
from os.path import join
|
||
|
|
||
|
from kivy_ios.toolchain import CythonRecipe, cd, shprint
|
||
|
|
||
|
|
||
|
class NetifacesRecipe(CythonRecipe):
|
||
|
"""
|
||
|
Also requires `setuptools to be installed on target (for pkg_resources):
|
||
|
```sh
|
||
|
python toolchain.py pip install setuptools
|
||
|
```
|
||
|
"""
|
||
|
|
||
|
version = "0.10.9"
|
||
|
url = "https://pypi.io/packages/source/n/netifaces/netifaces-{version}.tar.gz"
|
||
|
depends = ["python3", "host_setuptools3"]
|
||
|
library = "libnetifaces.a"
|
||
|
cythonize = False
|
||
|
|
||
|
def dest_dir(self):
|
||
|
return join(self.ctx.dist_dir, "root", "python3")
|
||
|
|
||
|
def get_netifaces_env(self, arch):
|
||
|
build_env = arch.get_env()
|
||
|
build_env["PYTHONPATH"] = join(
|
||
|
self.dest_dir(), "lib", "python3.8", "site-packages"
|
||
|
)
|
||
|
return build_env
|
||
|
|
||
|
def install(self):
|
||
|
arch = list(self.filtered_archs)[0]
|
||
|
build_dir = self.get_build_dir(arch.arch)
|
||
|
build_env = self.get_netifaces_env(arch)
|
||
|
hostpython = sh.Command(self.ctx.hostpython)
|
||
|
with cd(build_dir):
|
||
|
shprint(
|
||
|
hostpython,
|
||
|
"setup.py",
|
||
|
"install",
|
||
|
"--prefix",
|
||
|
self.dest_dir(),
|
||
|
_env=build_env,
|
||
|
)
|
||
|
|
||
|
|
||
|
recipe = NetifacesRecipe()
|