1 # TODO: examine test_thread.py failures and remove --ignore from py.test invocations
4 %bcond_without python2 # CPython 2.x module
5 %bcond_without python3 # CPython 3.x module
6 %bcond_without doc # Sphinx based documentation
7 %bcond_without tests # unit tests
9 Summary: Foreign Function Interface for Python 2 calling C code
10 Summary(pl.UTF-8): Interfejs funkcji obcych (FFI) dla Pythona 2 wywołującego kod w C
15 Group: Libraries/Python
16 #Source0Download: https://pypi.org/simple/cffi/
17 Source0: https://files.pythonhosted.org/packages/source/c/cffi/cffi-%{version}.tar.gz
18 # Source0-md5: ac8492f4ad952360737413e82d661908
19 URL: http://cffi.readthedocs.org/
20 BuildRequires: libffi-devel >= 3
21 BuildRequires: pkgconfig
23 BuildRequires: python >= 1:2.6
24 BuildRequires: python-devel >= 1:2.6
26 BuildRequires: python-pycparser
27 BuildRequires: python-pytest
31 BuildRequires: python3 >= 1:3.2
32 BuildRequires: python3-devel >= 1:3.2
34 BuildRequires: python3-pycparser
35 BuildRequires: python3-pytest
38 BuildRequires: rpm-pythonprov
39 BuildRequires: rpmbuild(macros) >= 1.714
40 %{?with_doc:BuildRequires: sphinx-pdg}
41 Requires: python-modules >= 1:2.6
42 Requires: python-pycparser
43 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
46 Foreign Function Interface for Python calling C code. The aim of this
47 project is to provide a convenient and reliable way of calling C code
48 from Python without learning additional language or API.
50 This package contains Python 2 module.
52 %description -l pl.UTF-8
53 CFFI to interfejs funkcji obcych (FFI - foreign Function Interface) do
54 wywoływania kodu w C z Pythona. Celem projektu jest dostarczenie
55 wygodnego i wiarygodnego sposobu wywoływania kodu w C z Pythona bez
56 potrzeby nauki dodatkowego języka lub API.
58 Ten pakiet zawiera moduł Pythona 2.
60 %package -n python3-cffi
61 Summary: Foreign Function Interface for Python 3 calling C code
62 Summary(pl.UTF-8): Interfejs funkcji obcych (FFI) dla Pythona 3 wywołującego kod w C
63 Group: Libraries/Python
64 Requires: python3-modules >= 1:3.2
65 Requires: python3-pycparser
67 %description -n python3-cffi
68 Foreign Function Interface for Python calling C code. The aim of this
69 project is to provide a convenient and reliable way of calling C code
70 from Python without learning additional language or API.
72 This package contains Python 3 module.
74 %description -n python3-cffi -l pl.UTF-8
75 CFFI to interfejs funkcji obcych (FFI - foreign Function Interface) do
76 wywoływania kodu w C z Pythona. Celem projektu jest dostarczenie
77 wygodnego i wiarygodnego sposobu wywoływania kodu w C z Pythona bez
78 potrzeby nauki dodatkowego języka lub API.
80 Ten pakiet zawiera moduł Pythona 3.
83 Summary: API documentation for Python CFFI module
84 Summary(pl.UTF-8): Dokumentacja API modułu Pythona CFFI
86 %if "%{_rpmversion}" >= "5"
91 API documentation for Python CFFI module.
93 %description apidocs -l pl.UTF-8
94 Dokumentacja API modułu Pythona CFFI.
97 %setup -q -n cffi-%{version}
104 PYTHONPATH=$(pwd):$(echo $(pwd)/build-2/lib.linux-*) \
105 py.test-2 --ignore=testing/embedding/test_thread.py c testing
113 PYTHONPATH=$(pwd):$(echo $(pwd)/build-3/lib.linux-*) \
114 py.test-3 --ignore=testing/embedding/test_thread.py c testing
119 %{__make} -C doc html
123 rm -rf $RPM_BUILD_ROOT
136 rm -rf $RPM_BUILD_ROOT
140 %defattr(644,root,root,755)
141 %doc AUTHORS LICENSE README.md
142 %attr(755,root,root) %{py_sitedir}/_cffi_backend.so
143 %dir %{py_sitedir}/cffi
144 %{py_sitedir}/cffi/_cffi_errors.h
145 %{py_sitedir}/cffi/_cffi_include.h
146 %{py_sitedir}/cffi/_embedding.h
147 %{py_sitedir}/cffi/parse_c_type.h
148 %{py_sitedir}/cffi/*.py[co]
149 %{py_sitedir}/cffi-%{version}-py*.egg-info
153 %files -n python3-cffi
154 %defattr(644,root,root,755)
155 %doc AUTHORS LICENSE README.md
156 %attr(755,root,root) %{py3_sitedir}/_cffi_backend.cpython-*.so
157 %dir %{py3_sitedir}/cffi
158 %{py3_sitedir}/cffi/_cffi_errors.h
159 %{py3_sitedir}/cffi/_cffi_include.h
160 %{py3_sitedir}/cffi/_embedding.h
161 %{py3_sitedir}/cffi/parse_c_type.h
162 %{py3_sitedir}/cffi/*.py
163 %{py3_sitedir}/cffi/__pycache__
164 %{py3_sitedir}/cffi-%{version}-py*.egg-info
169 %defattr(644,root,root,755)
170 %doc doc/build/html/{_static,*.html,*.js}