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

kivy / python-for-android / 18737048763

23 Oct 2025 03:56AM UTC coverage: 58.905% (+0.1%) from 58.795%
18737048763

Pull #3242

github

web-flow
Merge 29433fce0 into 96112666e
Pull Request #3242: Update to Python 3.14, remove distutils

1076 of 2438 branches covered (44.13%)

Branch coverage included in aggregate %.

13 of 16 new or added lines in 8 files covered. (81.25%)

103 existing lines in 6 files now uncovered.

5046 of 7955 relevant lines covered (63.43%)

5.06 hits per line

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

90.32
/pythonforandroid/recipes/libffi/__init__.py
1
from os.path import exists, join
8✔
2
from multiprocessing import cpu_count
8✔
3
from pythonforandroid.recipe import Recipe
8✔
4
from pythonforandroid.logger import shprint
8✔
5
from pythonforandroid.util import current_directory
8✔
6
import sh
8✔
7

8

9
class LibffiRecipe(Recipe):
8✔
10
    """
11
    Requires additional system dependencies on Ubuntu:
12
        - `automake` for the `aclocal` binary
13
        - `autoconf` for the `autoreconf` binary
14
        - `libltdl-dev` which defines the `LT_SYS_SYMBOL_USCORE` macro
15
    """
16
    name = 'libffi'
8✔
17
    version = 'v3.5.2'
8✔
18
    url = 'https://github.com/libffi/libffi/archive/{version}.tar.gz'
8✔
19

20
    patches = ['remove-version-info.patch']
8✔
21

22
    built_libraries = {'libffi.so': '.libs'}
8✔
23

24
    def build_arch(self, arch):
8✔
25
        env = self.get_recipe_env(arch)
8✔
26
        with current_directory(self.get_build_dir(arch.arch)):
8✔
27
            if not exists('configure'):
8!
28
                shprint(sh.Command('./autogen.sh'), _env=env)
8✔
29
            shprint(sh.Command('autoreconf'), '-vif', _env=env)
8✔
30
            shprint(sh.Command('./configure'),
8✔
31
                    '--host=' + arch.command_prefix,
32
                    '--prefix=' + self.get_build_dir(arch.arch),
33
                    '--disable-builddir',
34
                    '--enable-shared', _env=env)
35
            shprint(sh.make, '-j', str(cpu_count()), 'libffi.la', _env=env)
8✔
36

37
    def get_include_dirs(self, arch):
8✔
38
        if arch is None:
8!
NEW
UNCOV
39
            arch = self.filtered_archs[0]
×
40
        return [join(self.get_build_dir(arch.arch), 'include')]
8✔
41

42

43
recipe = LibffiRecipe()
8✔
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