diff --git a/.gitignore b/.gitignore index e69de29..144292e 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/cffi-0.6.tar.gz diff --git a/python-cffi.spec b/python-cffi.spec new file mode 100644 index 0000000..a9ce47f --- /dev/null +++ b/python-cffi.spec @@ -0,0 +1,107 @@ +%if 0%{?fedora} > 12 || 0%{?rhel} > 6 +%global with_python3 1 +%else +%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())")} +%endif + +Name: python-cffi +Version: 0.6 +Release: 3%{?dist} +Group: Development/Libraries +Summary: Foreign Function Interface for Python to call C code +License: BSD +URL: http://cffi.readthedocs.org/ +Source0: http://pypi.python.org/packages/source/c/cffi/cffi-%{version}.tar.gz + +BuildRequires: libffi-devel python-sphinx +BuildRequires: python2-devel python-setuptools Cython python-pycparser +%if 0%{?with_python3} +BuildRequires: python3-devel python3-setuptools python3-Cython python3-pycparser +%endif # if with_python3 + +# Do not check .so files in the python_sitelib directory +# or any files in the application's directory for provides +%global __provides_exclude_from ^(%{python_sitearch}|%{python3_sitearch})/.*\\.so$ + +%description +Foreign Function Interface for Python, providing a convenient and +reliable way of calling existing C code from Python. The interface is +based on LuaJIT’s FFI. + +%if 0%{?with_python3} +%package -n python3-cffi +Summary: Foreign Function Interface for Python 3 to call C code +Group: Development/Libraries + +%description -n python3-cffi +Foreign Function Interface for Python, providing a convenient and +reliable way of calling existing C code from Python. The interface is +based on LuaJIT’s FFI. +%endif # with_python3 + +%package doc +Summary: Documentation for CFFI +Group: Documentation +BuildArch: noarch +Requires: %{name} = %{version}-%{release} + +%description doc +Documentation for CFFI, the Foreign Function Interface for Python. + +%prep +%setup -q -n cffi-%{version} + +%if 0%{with_python3} +rm -rf %{py3dir} +cp -a . %{py3dir} +%endif # with_python3 + +%build +%if 0%{?with_python3} +pushd %{py3dir} +%{__python3} setup.py build +popd +%endif # with_python3 + +%{__python} setup.py build +cd doc +make html +rm build/html/.buildinfo + +#%check +## The following test procedure works when I run it manually, but fails +## from rpmbuild, complaining that it can't import _cffi_backend, and I'm +## not sure how to make it work +#python setup_base.py build +#PYTHONPATH=build/lib.linux-* py.test c/ testing/ + +%install +%if 0%{?with_python3} +pushd %{py3dir} +%{__python3} setup.py install --skip-build --prefix=%{_prefix} --root %{buildroot} +popd +%endif # with_python3 +%{__python} setup.py install --skip-build --prefix=%{_prefix} --root %{buildroot} + +%files +%doc LICENSE PKG-INFO +%{python_sitearch}/* + +%if 0%{with_python3} +%files -n python3-cffi +%doc LICENSE PKG-INFO +%{python3_sitearch}/* +%endif # with_python3 + +%files doc +%doc doc/build/html + +%changelog +* Tue Jul 23 2013 Eric Smith 0.6-3 +- Add Python3 support. + +* Mon Jul 22 2013 Eric Smith 0.6-2 +- Better URL, and use version macro in Source0. + +* Sun Jul 21 2013 Eric Smith 0.6-1 +- initial version diff --git a/sources b/sources index e69de29..60ab9ee 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +5be33b1ab0247a984d42b27344519337 cffi-0.6.tar.gz