%global libcurl_version 7.28.0 %define __cmake_in_source_build 1 %if 0%{?rhel} && 0%{?rhel} <= 7 # Do not build bindings for python3 for RHEL <= 7 %bcond_with python3 # python-flask is not in RHEL7 %bcond_with pythontests %else %bcond_without python3 %bcond_without pythontests %endif %if 0%{?rhel} > 7 || 0%{?fedora} > 29 # Do not build bindings for python2 for RHEL > 7 and Fedora > 29 %bcond_with python2 %else %bcond_without python2 %endif %if 0%{?rhel} %bcond_with zchunk %else %bcond_without zchunk %endif %global dnf_conflict 2.8.8 Name: librepo Version: 1.12.1 Release: 0%{?dist} Summary: Repodata downloading library License: LGPLv2+ URL: https://github.com/rpm-software-management/librepo Source0: librepo-HEAD.tgz BuildRequires: cmake BuildRequires: gcc BuildRequires: check-devel BuildRequires: doxygen BuildRequires: pkgconfig(glib-2.0) BuildRequires: gpgme-devel BuildRequires: libattr-devel BuildRequires: libcurl-devel >= %{libcurl_version} BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(libcrypto) BuildRequires: pkgconfig(openssl) %if %{with zchunk} BuildRequires: pkgconfig(zck) >= 0.9.11 %endif Requires: libcurl%{?_isa} >= %{libcurl_version} %description A library providing C and Python (libcURL like) API to downloading repository metadata. %package devel Summary: Repodata downloading library Requires: %{name}%{?_isa} = %{version}-%{release} %description devel Development files for librepo. %if %{with python2} %package -n python2-%{name} Summary: Python bindings for the librepo library %{?python_provide:%python_provide python2-%{name}} %if 0%{?rhel} && 0%{?rhel} <= 7 BuildRequires: python-sphinx %else BuildRequires: python2-sphinx %endif BuildRequires: python2-devel %if %{with pythontests} BuildRequires: python2-flask BuildRequires: python2-nose BuildRequires: python2-requests %if (0%{?rhel} && 0%{?rhel} <= 7) BuildRequires: pyxattr BuildRequires: pygpgme %else BuildRequires: python2-pyxattr BuildRequires: python2-gpg %endif %endif # endif with pythontests Requires: %{name}%{?_isa} = %{version}-%{release} Conflicts: python2-dnf < %{dnf_conflict} %description -n python2-%{name} Python 2 bindings for the librepo library. %endif %if %{with python3} %package -n python3-%{name} Summary: Python 3 bindings for the librepo library %{?python_provide:%python_provide python3-%{name}} BuildRequires: python3-devel %if %{with pythontests} BuildRequires: python3-gpg BuildRequires: python3-flask BuildRequires: python3-nose BuildRequires: python3-pyxattr BuildRequires: python3-requests %endif BuildRequires: python3-sphinx Requires: %{name}%{?_isa} = %{version}-%{release} # Obsoletes Fedora 27 package Obsoletes: platform-python-%{name} < %{version}-%{release} Conflicts: python3-dnf < %{dnf_conflict} %description -n python3-%{name} Python 3 bindings for the librepo library. %endif %prep %autosetup -p1 mkdir build-py2 mkdir build-py3 %build %if %{with python2} pushd build-py2 %cmake -DPYTHON_DESIRED:FILEPATH=%{__python2} %{!?with_zchunk:-DWITH_ZCHUNK=OFF} -DENABLE_PYTHON_TESTS=%{?with_pythontests:ON}%{!?with_pythontests:OFF} .. %make_build popd %endif %if %{with python3} pushd build-py3 %cmake -DPYTHON_DESIRED:FILEPATH=%{__python3} %{!?with_zchunk:-DWITH_ZCHUNK=OFF} -DENABLE_PYTHON_TESTS=%{?with_pythontests:ON}%{!?with_pythontests:OFF} .. %make_build popd %endif %check %if %{with python2} pushd build-py2 #ctest -VV make ARGS="-V" test popd %endif %if %{with python3} pushd build-py3 #ctest -VV make ARGS="-V" test popd %endif %install %if %{with python2} pushd build-py2 %make_install popd %endif %if %{with python3} pushd build-py3 %make_install popd %endif %if 0%{?rhel} && 0%{?rhel} <= 7 %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %else %ldconfig_scriptlets %endif %files %license COPYING %doc README.md %{_libdir}/%{name}.so.* %files devel %{_libdir}/%{name}.so %{_libdir}/pkgconfig/%{name}.pc %{_includedir}/%{name}/ %if %{with python2} %files -n python2-%{name} %{python2_sitearch}/%{name}/ %endif %if %{with python3} %files -n python3-%{name} %{python3_sitearch}/%{name}/ %endif %changelog