mirror of
https://github.com/ivabus/pantry
synced 2024-11-10 02:25:18 +03:00
+ (#4903)
This commit is contained in:
parent
f2dd95a23d
commit
23be9cb40e
53
projects/github.com/python-cffi/cffi/package.yml
Normal file
53
projects/github.com/python-cffi/cffi/package.yml
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
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
|
1
projects/github.com/python-cffi/cffi/sum.c
Normal file
1
projects/github.com/python-cffi/cffi/sum.c
Normal file
|
@ -0,0 +1 @@
|
||||||
|
int sum(int a, int b) { return a + b; }
|
Loading…
Reference in a new issue