distributable: url: git+https://github.com/python-cffi/cffi.git ref: ${{version.tag}} versions: github: python-cffi/cffi dependencies: python.org: '>=3.11' github.com/eliben/pycparser: ^2.21 sourceware.org/libffi: ^3.4 runtime: env: PYTHONPATH: ${{prefix}}/lib/python3/site-packages:$PYTHONPATH build: - python -m pip install . --prefix={{prefix}} - run: ln -s python{{deps.python.org.version.marketing}} python{{deps.python.org.version.major}} working-directory: ${{prefix}}/lib test: dependencies: llvm.org: '*' script: - clang -shared sum.c -o $SHARED_LIBRARY - run: | cat << EOF > sum_build.py from cffi import FFI ffibuilder = FFI() declaration = """ int sum(int a, int b); """ ffibuilder.cdef(declaration) ffibuilder.set_source( "_sum_cffi", declaration, libraries=['sum'], extra_link_args=['-L$PWD', '-Wl,-rpath,$PWD'] ) ffibuilder.compile(verbose=True) EOF - python sum_build.py - python -c "import _sum_cffi; assert _sum_cffi.lib.sum(1, 2) == 3" env: CC: clang linux: SHARED_LIBRARY: libsum.so darwin: SHARED_LIBRARY: libsum.dylib