• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

kivy / python-for-android / 6215290912

17 Sep 2023 06:49PM UTC coverage: 59.095% (+1.4%) from 57.68%
6215290912

push

github

web-flow
Merge pull request #2891 from misl6/release-2023.09.16

* Update `cffi` recipe for Python 3.10 (#2800)

* Update __init__.py

version bump to 1.15.1

* Update disable-pkg-config.patch

adjust patch for 1.15.1

* Use build rather than pep517 for building (#2784)

pep517 has been renamed to pyproject-hooks, and as a consequence all of
the deprecated functionality has been removed. build now provides the
functionality required, and since we are only interested in the
metadata, we can leverage a helper function for that. I've also removed
all of the subprocess machinery for calling the wrapping function, since
it appears to not be as noisy as pep517.

* Bump actions/setup-python and actions/checkout versions, as old ones are deprecated (#2827)

* Removes `mysqldb` recipe as does not support Python 3 (#2828)

* Removes `Babel` recipe as it's not needed anymore. (#2826)

* Remove dateutil recipe, as it's not needed anymore (#2829)

* Optimize CI runs, by avoiding unnecessary rebuilds (#2833)

* Remove `pytz` recipe, as it's not needed anymore (#2830)

* `freetype` recipe: Changed the url to use https as http doesn't work (#2846)

* Fix `vlc` recipe build (#2841)

* Correct sys_platform (#2852)

On Window, sys.platform = "win32".

I think "nt" is a reference to os.name.

* Fix code string - quickstart.rst

* Bump `kivy` version to `2.2.1` (#2855)

* Use a pinned version of `Cython` for now, as most of the recipes are incompatible with `Cython==3.x.x` (#2862)

* Automatically generate required pre-requisites (#2858)

`get_required_prerequisites()` maintains a list of Prerequisites required by each platform.

But that same information is already stored in each Prerequisite class.

Rather than rather than maintaining two lists which might become inconsistent, auto-generate one.

* Use `platform.uname` instead of `os.uname` (#2857)

Advantages:

- Works cross platform, not just Unix.
- Is a namedtuple, ... (continued)

944 of 2241 branches covered (0.0%)

Branch coverage included in aggregate %.

174 of 272 new or added lines in 32 files covered. (63.97%)

9 existing lines in 5 files now uncovered.

4725 of 7352 relevant lines covered (64.27%)

2.56 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

40.0
/pythonforandroid/recipes/ifaddrs/__init__.py
1
""" ifaddrs for Android
2
"""
3
from os.path import join
4✔
4

5
import sh
4✔
6

7
from pythonforandroid.logger import shprint
4✔
8
from pythonforandroid.recipe import CompiledComponentsPythonRecipe
4✔
9
from pythonforandroid.toolchain import current_directory
4✔
10
from pythonforandroid.util import ensure_dir
4✔
11

12

13
class IFAddrRecipe(CompiledComponentsPythonRecipe):
4✔
14
    version = '8f9a87c'
4✔
15
    url = 'https://github.com/morristech/android-ifaddrs/archive/{version}.zip'
4✔
16
    depends = ['hostpython3']
4✔
17

18
    call_hostpython_via_targetpython = False
4✔
19
    site_packages_name = 'ifaddrs'
4✔
20
    generated_libraries = ['libifaddrs.so']
4✔
21

22
    def prebuild_arch(self, arch):
4✔
23
        """Make the build and target directories"""
24
        path = self.get_build_dir(arch.arch)
×
NEW
25
        ensure_dir(path)
×
26

27
    def build_arch(self, arch):
4✔
28
        """simple shared compile"""
29
        env = self.get_recipe_env(arch, with_flags_in_cc=False)
×
30
        for path in (
×
31
                self.get_build_dir(arch.arch),
32
                join(self.ctx.python_recipe.get_build_dir(arch.arch), 'Lib'),
33
                join(self.ctx.python_recipe.get_build_dir(arch.arch), 'Include')):
NEW
34
            ensure_dir(path)
×
35
        cli = env['CC'].split()[0]
×
36
        # makes sure first CC command is the compiler rather than ccache, refs:
37
        # https://github.com/kivy/python-for-android/issues/1398
38
        if 'ccache' in cli:
×
39
            cli = env['CC'].split()[1]
×
40
        cc = sh.Command(cli)
×
41

42
        with current_directory(self.get_build_dir(arch.arch)):
×
43
            cflags = env['CFLAGS'].split()
×
44
            cflags.extend(['-I.', '-c', '-l.', 'ifaddrs.c', '-I.'])
×
45
            shprint(cc, *cflags, _env=env)
×
46
            cflags = env['CFLAGS'].split()
×
47
            cflags.extend(['-shared', '-I.', 'ifaddrs.o', '-o', 'libifaddrs.so'])
×
48
            cflags.extend(env['LDFLAGS'].split())
×
49
            shprint(cc, *cflags, _env=env)
×
50
            shprint(sh.cp, 'libifaddrs.so', self.ctx.get_libs_dir(arch.arch))
×
51

52

53
recipe = IFAddrRecipe()
4✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc