14
0
Files
python-spark_parser/python-spark_parser.spec

78 lines
2.5 KiB
RPMSpec

#
# spec file for package python-spark_parser
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%bcond_without test
Name: python-spark_parser
Version: 1.6.1
Release: 0
License: MIT
Summary: An Earley-Algorithm Context-free grammar Parser Toolkit
Url: https://github.com/rocky/python-spark/
Group: Development/Languages/Python
Source: https://files.pythonhosted.org/packages/source/s/spark_parser/spark_parser-%{version}.tar.gz
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildRequires: %{python_module devel}
BuildRequires: %{python_module setuptools}
%if %{with test}
BuildRequires: %{python_module click}
BuildRequires: %{python_module nose >= 1.0}
%endif
Requires: python-click
BuildArch: noarch
%python_subpackages
%description
SPARK stands for Scanning, Parsing, and Rewriting Kit. It uses Jay
Earley's algorithm for parsing context free grammars, and comes with
some generic Abstract Syntax Tree routines. There is also a prototype
scanner which does its job by combining Python regular expressions.
The original version of this was written by John Aycock for his Ph.d
thesis and was described in his 1998 paper: "Compiling Little
Languages in Python" at the 7th International Python Conference. The
current incarnation of this code is maintained (or not) by Rocky
Bernstein.
Please Note: Earley algorithm parsers are almost linear when given an LR
grammar. These are grammars which are left-recursive.
%prep
%setup -q -n spark_parser-%{version}
%build
%python_build
%install
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%if %{with test}
%check
%python_exec setup.py test
%endif
%files %{python_files}
%defattr(-,root,root,-)
%doc ChangeLog LICENSE README.rst
%python3_only %{_bindir}/spark-parser-coverage
%{python_sitelib}/*
%changelog