[packages/pylint] Build Python 3 version too (as py3lint)
jajcus
jajcus at pld-linux.org
Mon May 27 20:38:51 CEST 2013
commit f7cd7b164c71d3fc333374b088bc946791bc63e3
Author: Jacek Konieczny <jajcus at jajcus.net>
Date: Mon May 27 20:38:31 2013 +0200
Build Python 3 version too (as py3lint)
pylint.spec | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 98 insertions(+), 6 deletions(-)
---
diff --git a/pylint.spec b/pylint.spec
index c1b412c..7a44568 100644
--- a/pylint.spec
+++ b/pylint.spec
@@ -1,19 +1,31 @@
# TODO:
# - include examples in package
-#
+
+# Conditional build:
+%bcond_without python2 # Python 2.x version
+%bcond_without python3 # Python 3.x version (available as 'py3lint')
+
Summary: Python tool that checks if a module satisfy a coding standard
Summary(pl.UTF-8): Pythonowe narzędzie sprawdzające zgodność modułu ze standardem kodowania
Name: pylint
Version: 0.28.0
-Release: 1
+Release: 2
License: GPL
Group: Development/Languages/Python
Source0: https://bitbucket.org/logilab/pylint/get/%{name}-version-%{version}.tar.bz2
# Source0-md5: 6680efb92319ca65158b9ab5e6d26a81
Patch0: %{name}-type_error.patch
URL: http://www.pylint.org/
+%if %{with python2}
BuildRequires: python-devel
BuildRequires: python-modules >= 2.2.1
+%endif
+%if %{with python3}
+BuildRequires: python3-2to3
+BuildRequires: python3-devel
+BuildRequires: python3-distribute
+BuildRequires: python3-modules >= 1:3.2
+%endif
BuildRequires: rpm-pythonprov
BuildRequires: rpmbuild(macros) >= 1.219
BuildRequires: sphinx-pdg
@@ -44,6 +56,37 @@ Tk based GUI for pylint.
%description gui -l pl.UTF-8
Oparty na bibliotece Tk graficzny interfejs użytkownika dla pylinta.
+%package python3
+Summary: Python tool that checks if a module satisfy a coding standard
+Summary(pl.UTF-8): Pythonowe narzędzie sprawdzające zgodność modułu ze standardem kodowania
+Group: Development/Languages/Python
+Requires: python3-logilab-astng >= 0.24.3
+Requires: python3-logilab-common >= 0.53.0
+
+%description python3
+Python tool that checks if a module satisfy a coding standard.
+
+Python 3.x version, available via the 'py3lint' command.
+
+%description python3 -l pl.UTF-8
+Narzędzie sprawdzające zgodność modułów napisanych w języku Python
+z regułami tworzenia kodu źródłowego.
+
+Wersja dla Pythona 3.x, dostępna przez polecenie 'py3lint'.
+
+%package python3-gui
+Summary: GUI for pylint
+Summary(pl.UTF-8): Graficzny interfejs użytkownika dla pylinta
+Group: Development/Languages/Python
+Requires: %{name}-python3 = %{version}-%{release}
+Requires: python3-tkinter
+
+%description python3-gui
+Tk based GUI for pylint.
+
+%description python3-gui -l pl.UTF-8
+Oparty na bibliotece Tk graficzny interfejs użytkownika dla pylinta.
+
%prep
%setup -q -c
cd logilab-pylint-*
@@ -51,7 +94,15 @@ cd logilab-pylint-*
%build
cd logilab-pylint-*
-python setup.py build
+%if %{with python2}
+%{__python} setup.py build
+%endif
+
+%if %{with python3}
+export NO_SETUPTOOLS=1
+%{__python3} setup.py build --build-base=build3
+unset NO_SETUPTOOLS
+%endif
%{__make} -C doc text
@@ -60,18 +111,37 @@ cd logilab-pylint-*
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_mandir}/man1}
-python setup.py install \
+%if %{with python3}
+export NO_SETUPTOOLS=1
+%{__python3} setup.py build --build-base=build3 install \
--optimize=2 \
--root=$RPM_BUILD_ROOT
-install man/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
-install examples/pylintrc $RPM_BUILD_ROOT%{_sysconfdir}/pylintrc
+unset NO_SETUPTOOLS
+mv $RPM_BUILD_ROOT%{_bindir}/epylint $RPM_BUILD_ROOT%{_bindir}/epy3lint
+mv $RPM_BUILD_ROOT%{_bindir}/pylint $RPM_BUILD_ROOT%{_bindir}/py3lint
+mv $RPM_BUILD_ROOT%{_bindir}/pylint-gui $RPM_BUILD_ROOT%{_bindir}/py3lint-gui
+mv $RPM_BUILD_ROOT%{_bindir}/pyreverse $RPM_BUILD_ROOT%{_bindir}/py3reverse
+install man/epylint.1 $RPM_BUILD_ROOT%{_mandir}/man1/epy3lint.1
+install man/pylint.1 $RPM_BUILD_ROOT%{_mandir}/man1/py3lint.1
+install man/pylint-gui.1 $RPM_BUILD_ROOT%{_mandir}/man1/py3lint-gui.1
+install man/pyreverse.1 $RPM_BUILD_ROOT%{_mandir}/man1/py3reverse.1
+%endif
+%if %{with python2}
+%{__python} setup.py install \
+ --optimize=2 \
+ --root=$RPM_BUILD_ROOT
%py_postclean
+install man/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
+%endif
+
+install examples/pylintrc $RPM_BUILD_ROOT%{_sysconfdir}/pylintrc
%clean
rm -rf $RPM_BUILD_ROOT
+%if %{with python2}
%files
%defattr(644,root,root,755)
%doc logilab-pylint-*/{ChangeLog,README,examples/*,doc/_build/text/*.txt}
@@ -91,3 +161,25 @@ rm -rf $RPM_BUILD_ROOT
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/pylint-gui
%{_mandir}/man1/pylint-gui.1*
+%endif
+
+%if %{with python3}
+%files python3
+%defattr(644,root,root,755)
+%doc logilab-pylint-*/{ChangeLog,README,examples/*,doc/_build/text/*.txt}
+%attr(755,root,root) %{_bindir}/epy3lint
+%attr(755,root,root) %{_bindir}/py3lint
+%attr(755,root,root) %{_bindir}/py3reverse
+#%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pylintrc
+%{py3_sitescriptdir}/pylint
+%{py3_sitescriptdir}/pylint-%{version}-py*.egg-info
+%{_mandir}/man1/epy3lint.1*
+%{_mandir}/man1/py3lint.1*
+%{_mandir}/man1/py3reverse.1*
+
+%files python3-gui
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/py3lint-gui
+%{_mandir}/man1/py3lint-gui.1*
+%endif
+
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/pylint.git/commitdiff/f7cd7b164c71d3fc333374b088bc946791bc63e3
More information about the pld-cvs-commit
mailing list