#
# Conditional build:
-%bcond_without doc # HTML documentation build
-%bcond_without tests # do not perform "make test"
-%bcond_without python2 # Python 2.x module
-%bcond_without python3 # Python 3.x module
+%bcond_without doc # HTML documentation build
+%bcond_with tests # py.test tests [requires functional udev with device db]
+%bcond_without python2 # Python 2.x module
+%bcond_without python3 # Python 3.x module
#
%define module pyudev
Summary: Pure Python binding for libudev
Summary(pl.UTF-8): Czysto pythonowe wiązanie do libudev
Name: python-%{module}
-Version: 0.16.1
-Release: 4
+Version: 0.21.0
+Release: 1
License: LGPL v2.1+
Group: Development/Languages/Python
-Source0: http://pypi.python.org/packages/source/p/pyudev/%{module}-%{version}.tar.gz
-# Source0-md5: 4034de584b6d9efcbfc590a047c63285
+#Source0Download: https://pypi.python.org/simple/pyudev/
+Source0: https://files.pythonhosted.org/packages/source/p/pyudev/%{module}-%{version}.tar.gz
+# Source0-md5: cf4d9db7d772622144ca1be6b5d9353b
#Source1: http://docs.python.org/2/objects.inv#/python-objects.inv
Source1: python-objects.inv
# Source1-md5: ad9c579afde0743e007b472cff7f1364
Source3: pyside-objects.inv
# Source3-md5: 8cc5c1ff0bb5ef9f4e9968c9b4a01984
Patch0: %{name}-offline.patch
+Patch1: %{name}-mock.patch
URL: http://pyudev.readthedocs.org/
+%if %{with python2}
BuildRequires: python-devel >= 1:2.6
-BuildRequires: python-distribute
+BuildRequires: python-setuptools
+%if %{with tests}
+BuildRequires: python-docutils >= 0.9
+BuildRequires: python-hypothesis
+BuildRequires: python-mock >= 1.0
+BuildRequires: python-pytest >= 2.8
+BuildRequires: python-six
+%endif
+%endif
+%if %{with python3}
+BuildRequires: python3-devel >= 1:3.2
+BuildRequires: python3-setuptools
+%if %{with tests}
+BuildRequires: python3-docutils >= 0.9
+BuildRequires: python3-hypothesis
+BuildRequires: python3-pytest >= 2.8
+BuildRequires: python3-six
+%endif
+%endif
BuildRequires: rpm-pythonprov
+BuildRequires: rpmbuild(macros) >= 1.714
%if %{with doc}
# for tests 1.0b1 is required, but for docs generation 0.8 is sufficient
-#BuildRequires: python-mock >= 1.0-0.b1
BuildRequires: python-mock >= 0.8
BuildRequires: python-sphinxcontrib-issuetracker >= 0.9
BuildRequires: python-pytest >= 2.2
-BuildRequires: sphinx-pdg >= 1.0.7
+BuildRequires: sphinx-pdg-2 >= 1.0.7
%endif
-Requires: python-modules
+Requires: python-modules >= 1:2.6
Requires: udev-libs >= 1:151
BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Summary: Pure Python binding for libudev
Summary(pl.UTF-8): Czysto pythonowe wiązanie do libudev
Group: Development/Languages/Python
+Requires: python3-modules >= 1:3.2
%description -n python3-%{module}
pyudev is a LGPL licensed, pure Python binding for libudev, the device
monitorować urządzenia, włącznie z asynchronicznym monitorowaniem z
użyciem wątków albo wewnątrz pętli zdarzeń Qt, GLiba czy wxPythona.
-
%prep
%setup -q -n %{module}-%{version}
%patch0 -p1
+%patch1 -p1
cp -p %{SOURCE1} %{SOURCE2} %{SOURCE3} doc
%build
%if %{with python2}
-%{__python} setup.py build --build-base build-2 %{?with_tests:test}
+%py_build
+
+%{?with_tests:PYTHONPATH=$(pwd):$(pwd)/build-2/lib %{__python} -m pytest tests}
%endif
%if %{with python3}
-%{__python3} setup.py build --build-base build-3 %{?with_tests:test}
+%py3_build
+
+%{?with_tests:PYTHONPATH=$(pwd):$(pwd)/build-3/lib %{__python3} -m pytest tests}
%endif
%if %{with doc}
-sphinx-build -W -b html -d doc/_doctrees doc doc/html
+PYTHONPATH=build-2/lib \
+sphinx-build-2 -b html -d doc/_doctrees doc doc/html
%endif
%install
rm -rf $RPM_BUILD_ROOT
+
%if %{with python2}
-%{__python} setup.py \
- build --build-base build-2 \
- install --skip-build \
- --optimize=2 \
- --root=$RPM_BUILD_ROOT
+%py_install
+
+%py_postclean
%endif
+
%if %{with python3}
-%{__python3} setup.py \
- build --build-base build-3 \
- install --skip-build \
- --optimize=2 \
- --root=$RPM_BUILD_ROOT
+%py3_install
%endif
%clean
%files
%defattr(644,root,root,755)
%doc CHANGES.rst README.rst %{?with_doc:doc/html}
-%{py_sitescriptdir}/%{module}
+%{py_sitescriptdir}/pyudev
%{py_sitescriptdir}/pyudev-%{version}-py*.egg-info
%endif
%files -n python3-%{module}
%defattr(644,root,root,755)
%doc CHANGES.rst README.rst %{?with_doc:doc/html}
-%{py3_sitescriptdir}/%{module}
+%{py3_sitescriptdir}/pyudev
%{py3_sitescriptdir}/pyudev-%{version}-py*.egg-info
%endif