%bcond_with dotests %global __tar /opt/freeware/bin/tar %global py_major 3.9 %global py_minor 16 %global python_major python%{py_major} %global pkgname pycurl %global meta_package python3-%{pkgname} %global python3_sitearch %(%{python_major} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(0))") %global python3_sitearch64 %(%{python_major} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))") Name: %{python_major}-%{pkgname} Version: 7.44.1 Release: 2 Summary: A Python interface to libcurl License: LGPLv2+ or MIT URL: https://pypi.python.org/pypi/%{pkgname} Source0: https://files.pythonhosted.org/packages/source/p/%{pkgname}/%{pkgname}-%{version}.tar.gz BuildRequires: curl-devel >= 7.86.0 BuildRequires: %{python_major}-devel >= %{py_major}.%{py_minor} BuildRequires: %{python_major}-setuptools >= 65.2.0 Requires: curl >= 7.86.0 Requires: %{python_major} >= %{py_major}.%{py_minor} %ifos aix6.1 || %ifos aix7.1 || %ifos aix7.2 Requires: AIX-rpm >= 6.1.1.0 %endif %define _libdir64 %{_prefix}/lib64 %description PycURL is a Python interface to libcurl. PycURL can be used to fetch objects identified by a URL from a Python program, similar to the urllib Python module. PycURL is mature, very fast, and supports a lot of features. %package -n %{meta_package} Summary: Meta-package for %{name} Requires: python3 >= %{py_major}.%{py_minor} Requires: %{name} = %{version}-%{release} %description -n %{meta_package} This is a Meta-package for %{name} package. %prep %autosetup -n %{pkgname}-%{version} # remove binaries packaged by upstream rm -f tests/fake-curl/libcurl/*.so # remove a test-case that relies on sftp://web.sourceforge.net being available rm -f tests/ssh_key_cb_test.py mkdir ../32bit mv * ../32bit mv ../32bit . mkdir 64bit cd 32bit && tar cf - . | (cd ../64bit ; tar xpf -) %build export PATH=/opt/freeware/bin:$PATH cd 64bit export CC="/opt/freeware/bin/gcc -O2 -maix64" export OBJECT_MODE=64 export LDFLAGS="-L%{_libdir64} -L%{_libdir} -Wl,-blibpath:%{_libdir64}:%{_libdir}:/usr/lib:/lib" %{python_major} setup.py build cd ../32bit export CC="/opt/freeware/bin/gcc -O2 -maix32 -D_LARGE_FILES" export OBJECT_MODE=32 export LDFLAGS="-L%{_libdir} -Wl,-blibpath:%{_libdir}:/usr/lib:/lib -Wl,-bmaxdata:0x80000000" %{_libexecdir}/%{python_major}_32 setup.py build %install [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} cd 64bit %{python_major} setup.py install --root %{buildroot} cd ../32bit %{_libexecdir}/%{python_major}_32 setup.py install --root %{buildroot} rm -rf ${RPM_BUILD_ROOT}%{_datadir}/doc/pycurl %check %if %{with dotests} #python3 -m venv python_venv #. ./python_venv/bin/activate #pip3 install pytest #pip3 install hypothesis #ulimit -d unlimited #ulimit -n unlimited #ulimit -m unlimited # ulimit -f unlimited #( python runtests.py -m 'full' -v || true ) #deactivate %endif %clean [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} %files %defattr(-,root,system,-) %license 32bit/COPYING-LGPL 32bit/COPYING-MIT %doc 32bit/ChangeLog 32bit/README.rst 32bit/examples 32bit/doc 32bit/tests %{python3_sitearch}/* %{python3_sitearch64}/* %files -n %{meta_package} %defattr(-,root,system,-) #Empty %changelog * Sat Mar 11 2023 Reshma V Kumar - 7.44.1-2 - Pycurl for python3.9