Accepting request 993148 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/993148 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-funcparserlib?expand=0&rev=9
This commit is contained in:
commit
93dc1fdb41
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:b7992eac1a3eb97b3d91faa342bfda0729e990bd8a43774c1592c091e563c91d
|
|
||||||
size 30401
|
|
3
funcparserlib-1.0.0-gh.tar.gz
Normal file
3
funcparserlib-1.0.0-gh.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:2a734eb4afbfa9dc5c939576c5a9bee3b7b0a075bd014a49a1eea210a484224a
|
||||||
|
size 66709
|
13
no2to3.patch
13
no2to3.patch
@ -1,13 +0,0 @@
|
|||||||
--- funcparserlib-0.3.6/setup.py
|
|
||||||
+++ funcparserlib-0.3.6/setup.py
|
|
||||||
@@ -4,10 +4,6 @@
|
|
||||||
import sys
|
|
||||||
|
|
||||||
extra = {}
|
|
||||||
-if sys.version_info >= (3,):
|
|
||||||
- extra['use_2to3'] = True
|
|
||||||
-
|
|
||||||
-
|
|
||||||
setup(
|
|
||||||
name='funcparserlib',
|
|
||||||
version='0.3.6',
|
|
@ -1,3 +1,40 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Aug 4 19:54:24 UTC 2022 - Ben Greiner <code@bnavigator.de>
|
||||||
|
|
||||||
|
- Update to 1.0.0
|
||||||
|
* The stable 1.0.0 release freezes the API of funcparserlib 0.3.6
|
||||||
|
which was released on 2013-05-02, with a few bug fixes and
|
||||||
|
small features.
|
||||||
|
* Added support for Python 3.10
|
||||||
|
* Added support for Python 3.9 (#63) (Thanks to @pkulev)
|
||||||
|
* Added support for Python 3.8
|
||||||
|
* Added -p (the same as skip(p)) with more strict type hints for
|
||||||
|
-p and p1 + p2
|
||||||
|
* Added tok(type[, value]) for more compact grammars, better
|
||||||
|
error messages
|
||||||
|
* Added TokenSpec(type, pattern[, flags]) to simplify the use of
|
||||||
|
make_tokenizer()
|
||||||
|
* Added type hints for the public API
|
||||||
|
* Added the new library homepage with the new Getting Started
|
||||||
|
guide and the new API reference
|
||||||
|
* Parse exceptions now show expected tokens and grammar rules at
|
||||||
|
the stopped position (#52)
|
||||||
|
* Dropped support for Python 3.4, 3.5, 3.6 (end of life)
|
||||||
|
* Dropped support for Python 2.5, 2.6, 3.3 (end of life),
|
||||||
|
modernized code for Python 3 to run without obsolete 2to3 (#57)
|
||||||
|
(Thanks to @jdufresne)
|
||||||
|
* Removed documentation and unit tests from the distribution
|
||||||
|
* Switched from setuptools to Poetry
|
||||||
|
* Switched to poetry-core for lighter PEP 517 builds (#73)
|
||||||
|
(Thanks to @fabaff)
|
||||||
|
* Fixed TypeError in oneplus when applying it parser + parser
|
||||||
|
(#66) (Thanks to @martica)
|
||||||
|
* Fixed AttributeError when comparing Token objects to None (#58)
|
||||||
|
(Thanks to @Halolegend94)
|
||||||
|
* Fixed doctests in the tutorial (#49)
|
||||||
|
* Fixed several cases of wrong expected tokens in error messages
|
||||||
|
- Drop no2to3.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Mar 1 09:44:35 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
Tue Mar 1 09:44:35 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
@ -18,53 +18,40 @@
|
|||||||
|
|
||||||
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
||||||
Name: python-funcparserlib
|
Name: python-funcparserlib
|
||||||
Version: 0.3.6
|
Version: 1.0.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Recursive descent parsing library based on functional combinators
|
Summary: Recursive descent parsing library based on functional combinators
|
||||||
License: MIT
|
License: MIT
|
||||||
Group: Development/Languages/Python
|
Group: Development/Languages/Python
|
||||||
URL: https://github.com/vlasovskikh/funcparserlib
|
URL: https://github.com/vlasovskikh/funcparserlib
|
||||||
Source: https://files.pythonhosted.org/packages/source/f/funcparserlib/funcparserlib-%{version}.tar.gz
|
Source: https://github.com/vlasovskikh/funcparserlib/archive/refs/tags/%{version}.tar.gz#/funcparserlib-%{version}-gh.tar.gz
|
||||||
Patch1: no2to3.patch
|
BuildRequires: %{python_module pip}
|
||||||
|
BuildRequires: %{python_module poetry-core}
|
||||||
BuildRequires: %{python_module pytest}
|
BuildRequires: %{python_module pytest}
|
||||||
BuildRequires: %{python_module setuptools}
|
|
||||||
BuildRequires: %{python_module six}
|
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
BuildRequires: python-rpm-macros
|
BuildRequires: python-rpm-macros
|
||||||
BuildRequires: python3-modernize
|
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
%python_subpackages
|
%python_subpackages
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Parser combinators are just higher-order functions that take parsers as
|
The primary focus of funcparserlib is parsing little languages or external
|
||||||
their arguments and return them as result values. Parser combinators are:
|
|
||||||
|
|
||||||
First-class values. Extremely composable. Tend to make the code quite compact.
|
|
||||||
Resemble the readable notation of xBNF grammars.
|
|
||||||
|
|
||||||
Parsers made with funcparserlib are pure-Python LL(*) parsers. It means that
|
|
||||||
it's very easy to write them without thinking about look-aheads and all that
|
|
||||||
hardcore parsing stuff. But the recursive descent parsing is a rather slow
|
|
||||||
method compared to LL(k) or LR(k) algorithms.
|
|
||||||
|
|
||||||
So the primary domain for funcparserlib is parsing little languages or external
|
|
||||||
DSLs (domain specific languages).
|
DSLs (domain specific languages).
|
||||||
|
|
||||||
The library itself is very small. Its source code is only 0.5 KLOC, with lots
|
Parsers made with funcparserlib are pure-Python LL(*) parsers. It means that
|
||||||
of comments included. It features the longest parsed prefix error reporting,
|
it's very easy to write parsers without thinking about lookaheads and other
|
||||||
as well as a tiny lexer generator for token position tracking.
|
hardcore parsing stuff. However, recursive descent parsing is a rather
|
||||||
|
low method compared to LL(k) or LR(k) algorithms. Still, parsing with
|
||||||
|
funcparserlib is at least twice faster than PyParsing, a very popular library
|
||||||
|
for Python.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n funcparserlib-%{version}
|
%setup -q -n funcparserlib-%{version}
|
||||||
%patch1 -p1
|
|
||||||
python-modernize -nw funcparserlib/
|
|
||||||
sed -i "s/ur'/r'/" funcparserlib/tests/*.py
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%python_build
|
%pyproject_wheel
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%python_install
|
%pyproject_install
|
||||||
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||||
|
|
||||||
%check
|
%check
|
||||||
@ -72,8 +59,8 @@ sed -i "s/ur'/r'/" funcparserlib/tests/*.py
|
|||||||
|
|
||||||
%files %{python_files}
|
%files %{python_files}
|
||||||
%license LICENSE
|
%license LICENSE
|
||||||
%doc README CHANGES
|
%doc README.md
|
||||||
%{python_sitelib}/funcparserlib/
|
%{python_sitelib}/funcparserlib
|
||||||
%{python_sitelib}/funcparserlib*egg-info
|
%{python_sitelib}/funcparserlib-%{version}*-info
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
Loading…
x
Reference in New Issue
Block a user