[packages/python-ply] - up to 3.8; add python3 module
arekm
arekm at pld-linux.org
Fri Jul 29 11:20:09 CEST 2016
commit d10e53f5993426659da4b38eb9f4f5f49f53e5ec
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date: Fri Jul 29 11:19:59 2016 +0200
- up to 3.8; add python3 module
python-ply.spec | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++------
1 file changed, 75 insertions(+), 8 deletions(-)
---
diff --git a/python-ply.spec b/python-ply.spec
index a596369..9bd9e34 100644
--- a/python-ply.spec
+++ b/python-ply.spec
@@ -1,17 +1,27 @@
+# Conditional build:
+%bcond_without tests # do not perform "make test"
+%bcond_without python2 # CPython 2.x module
+%bcond_without python3 # CPython 3.x module
+#
%define module ply
Summary: Python Lex-Yacc
Summary(pl.UTF-8): lex i yacc dla Pythona
Name: python-%{module}
-Version: 3.4
-Release: 4
+Version: 3.8
+Release: 1
License: BSD
Group: Libraries/Python
Source0: http://www.dabeaz.com/ply/ply-%{version}.tar.gz
-# Source0-md5: ffdc95858819347bf92d7c2acc074894
+# Source0-md5: 94726411496c52c87c2b9429b12d5c50
URL: http://www.dabeaz.com/ply/
BuildRequires: rpmbuild(macros) >= 1.710
+%if %{with python3}
BuildRequires: python >= 2.2.1
-%pyrequires_eq python
+Requires: python
+%endif
+%if %{with python3}
+BuildRequires: python3
+%endif
Obsoletes: %{module}
BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -40,6 +50,36 @@ powodów, dla których można zainteresować się PLY:
- Jest niezwykle łatwy w użyciu oraz zapewnia rozległą kontrolę
błędów.
+%package -n python3-%{module}
+Summary: Python Lex-Yacc
+Summary(pl.UTF-8): lex i yacc dla Pythona
+Group: Libraries/Python
+Requires: python3-modules
+
+%description -n python3-%{module}
+PLY is yet another implementation of lex and yacc for Python. Although
+several other parsing tools are available for Python, there are
+several reasons why you might want to take a look at PLY:
+- It uses LR-parsing which is reasonably efficient and well suited for
+ larger grammars.
+- PLY provides most of the standard lex/yacc features including
+ support for empty productions, precedence rules, error recovery, and
+ support for ambiguous grammars.
+- PLY is extremely easy to use and provides very extensive error
+ checking.
+
+%description -n python3-%{module} -l pl.UTF-8
+PLY to kolejna implementacja narzędzi lex i yacc dla Pythona. Mimo iż
+istnieje kilka innych analizatorów dla Pythona, to istnieje kilka
+powodów, dla których można zainteresować się PLY:
+- Używa on analizy LR, która jest w miarę wydajna i dość dobra dla
+ większych gramatyk.
+- Udostępnia większość możliwości standardowych lex/yacc, w tym
+ obsługę pustych produkcji, reguł poprzedzania, rekompensowania błędów
+ oraz obsługę niejednoznacznych gramatyk.
+- Jest niezwykle łatwy w użyciu oraz zapewnia rozległą kontrolę
+ błędów.
+
%package examples
Summary: Python Lex-Yacc - examples
Summary(pl.UTF-8): lex i yacc dla Pythona - przykłady
@@ -54,29 +94,56 @@ lex i yacc dla Pythona - przykłady.
%prep
%setup -q -n %{module}-%{version}
+%if %{with python2}
+%py_build %{?with_tests:test}
+%endif
+
+%if %{with python3}
+%py3_build %{?with_tests:test}
+%endif
+
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
-%py_install \
- --root $RPM_BUILD_ROOT \
- --optimize=2
+%if %{with python2}
+%py_install
+%py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
+%py_comp $RPM_BUILD_ROOT%{py_sitedir}
+
%py_postclean
+%endif
+
+%if %{with python3}
+%py3_install
+%endif
cp -Rf example/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
%clean
rm -rf $RPM_BUILD_ROOT
+%if %{with python2}
%files
%defattr(644,root,root,755)
-%doc ANNOUNCE CHANGES README TODO doc/*.html
+%doc ANNOUNCE CHANGES README.md TODO doc/*.html
%dir %{py_sitescriptdir}/ply
%{py_sitescriptdir}/ply/*.py[co]
%if "%{py_ver}" >= "2.5"
%{py_sitescriptdir}/ply-%{version}-py*.egg-info
%endif
+%endif
+
+%if %{with python3}
+%files -n python3-%{module}
+%defattr(644,root,root,755)
+%doc ANNOUNCE CHANGES README.md TODO doc/*.html
+%{py3_sitescriptdir}/%{module}
+%{py3_sitescriptdir}/%{module}-%{version}-py*.egg-info
+%endif
%files examples
%defattr(644,root,root,755)
%{_examplesdir}/%{name}-%{version}
+
+
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/python-ply.git/commitdiff/d10e53f5993426659da4b38eb9f4f5f49f53e5ec
More information about the pld-cvs-commit
mailing list