Blob Blame History Raw
# Python 3 and tests only for Fedora for now: some deps missing on
# EL 7
%if 0%{?fedora} > 12
%global with_python3 1
%global with_tests 1
%endif

# packages required at both test time and run time
# these are all missing python2- provides on EL, I think
%global test_requires2 python-requests python-requests-oauthlib python-six
%global test_requires3 python3-requests python3-requests-oauthlib python3-six python3-simplejson

%global github_owner    mwclient
%global github_name     mwclient

Name:           python-mwclient
Version:        0.8.6
Release:        1%{?dist}
Summary:        Mwclient is a client to the MediaWiki API

Group:          System Environment/Libraries
License:        MIT
URL:            https://github.com/%{github_owner}/%{github_name}
Source0:        https://github.com/%{github_owner}/%{github_name}/archive/v%{version}.tar.gz
# Restore compatibility with older python-responses
# https://github.com/mwclient/mwclient/pull/177
Patch0:         0001-Revert-Fix-test-compat-with-responses-0.6.0.patch
BuildArch:      noarch

BuildRequires:  python2-devel
# This is in setup_requires, so we need it even if not running tests
BuildRequires:  python2-pytest-runner
# For EPEL
BuildRequires:  python-setuptools
%if 0%{?with_tests}
BuildRequires:  python2-pytest
# Provides: python2-pytest-pep8 missing on < F26
BuildRequires:  python-pytest-pep8
BuildRequires:  python2-pytest-cache
BuildRequires:  python2-pytest-cov
BuildRequires:  python2-mock
BuildRequires:  python2-funcsigs
BuildRequires:  python2-responses >= 0.3.0
BuildRequires:  %{test_requires2}
%endif # if with_tests
%if 0%{?with_python3}
# This is in setup_requires, so we need it even if not running tests
BuildRequires:  python3-pytest-runner
BuildRequires:  python3-devel
%if 0%{?with_tests}
BuildRequires:  python3-pytest
BuildRequires:  python3-pytest-pep8
BuildRequires:  python3-pytest-cache
BuildRequires:  python3-pytest-cov
BuildRequires:  python3-pytest-runner
BuildRequires:  python3-mock
BuildRequires:  python3-funcsigs
BuildRequires:  python3-responses >= 0.3.0
BuildRequires:  %{test_requires3}
%endif # if with_tests
%endif # if with_python3

%description
mwclient is a lightweight Python client library to the MediaWiki API which
provides access to most API functionality.

%package -n python2-%{github_name}
Summary:        %{summary}
%{?python_provide:%python_provide python2-%{github_name}}

Requires:       python-simplejson
Requires:       %{test_requires2}

%description -n python2-%{github_name}
%{github_name} is a lightweight Python client library to the MediaWiki API which
provides access to most API functionality. This is the Python 2 build of
%{github_name}.

%if 0%{?with_python3}
%package -n python3-%{github_name}
Summary:        %{summary}
%{?python_provide:%python_provide python3-%{github_name}}
Requires:       %{test_requires3}

%description -n python3-%{github_name}
%{github_name} is a lightweight Python client library to the MediaWiki API which
provides access to most API functionality. This is the Python 3 build of
%{github_name}.
%endif # if with_python3

%prep
%autosetup -p1 -n %{github_name}-%{version}


%build
%py2_build
%if 0%{?with_python3}
%py3_build
%endif # if with_python3


%install
%py2_install
%if 0%{?with_python3}
%py3_install
%endif # if with_python3


%check
%if 0%{?with_tests}
%{__python2} setup.py test
%if 0%{?with_python3}
%{__python3} setup.py test
%endif # if with_python3
%endif # if with_tests


%files -n python2-%{github_name}
%doc README.rst REFERENCE.md CHANGELOG.md
%license LICENSE.md
%{python2_sitelib}/%{github_name}*

%if 0%{?with_python3}
%files -n python3-%{github_name}
%doc README.rst REFERENCE.md CHANGELOG.md
%license LICENSE.md
%{python3_sitelib}/%{github_name}*
%endif # if with_python3


%changelog
* Thu Nov 16 2017 Adam Williamson <awilliam@redhat.com> - 0.8.6-1
- New release 0.8.6
- Backport PR #177 to restore compatibility with older responses

* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Fri Mar 17 2017 Adam Williamson <awilliam@redhat.com> - 0.8.4-1
- New release 0.8.4

* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Mon Dec 19 2016 Miro HronĨok <mhroncok@redhat.com> - 0.8.3-2
- Rebuild for Python 3.6

* Mon Dec 05 2016 Adam Williamson <awilliam@redhat.com> - 0.8.3-1
- new release 0.8.3 (note: no EL 6 from now on, upstream dropped Python 2.6)
- drop patch merged upstream
- update requirements
- enable tests on F23 (python-funcsigs update went stable)

* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org>
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages

* Mon Feb 29 2016 Adam Williamson <awilliam@redhat.com> - 0.8.1-2
- re-add a patch which it turns out wasn't merged upstream yet

* Mon Feb 29 2016 Adam Williamson <awilliam@redhat.com> - 0.8.1-1
- new release 0.8.1
- drop patches merged upstream

* Tue Feb 16 2016 Adam Williamson <awilliam@redhat.com> - 0.8.0-3
- enable tests on Fedora > 23 (deps now available)

* Wed Feb 03 2016 Adam Williamson <awilliam@redhat.com> - 0.8.0-2
- fix an iterator problem with Python 3 (upstream PR #108)

* Thu Jan 21 2016 Adam Williamson <awilliam@redhat.com> - 0.8.0-1
- new release 0.8.0
- split into python2 and python3 builds (0.8.0 adds py3 support)

* Fri Aug 07 2015 Adam Williamson <awilliam@redhat.com> - 0.7.2-1
- new release 0.7.2

* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Fri Dec 12 2014 Adam Williamson <awilliam@redhat.com> - 0.7.1-1
- new release 0.7.1, bit of spec cleaning

* Fri Oct 31 2014 Adam Williamson <awilliam@redhat.com> - 0.7.0-2
- requires python-requests

* Wed Oct 01 2014 Adam Williamson <awilliam@redhat.com> - 0.7.0-1
- new release: 0.7.0
- update for github source, use of setuptools and modern Python packaging rules

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.5-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.5-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.5-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.5-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Thu Oct 27 2011 Robert Scheck <robert@fedoraproject.org> - 0.6.5-1
- Upgrade to 0.6.5 (#714302)

* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.3-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Thu Jul 22 2010 David Malcolm <dmalcolm@redhat.com> - 0.6.3-4
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild

* Tue Sep 22 2009 Steven M. Parrish <smparrish@gmail.com> - 0.6.3-3
- Fix patch

* Sun Sep 20 2009 Rex Dieter <rdieter@fedoraproject.org> - 0.6.3-2
- upstream wmf patch
- %%doc README.txt
- use %%global (instead of %%define)

* Tue Sep 15 2009  Steven M. Parrish <smparrish@gmail.com> - 0.6.3-1
- Initial build