%global python3_pkgversion 3.11 Name: python-lark Version: 1.1.7 Release: 3%{?dist} Summary: Lark is a modern general-purpose parsing library for Python # License breakdown: # lark/tools/standalone.py - MPL-2.0 # lark/__pyinstaller/hook-lark.py - GPL-2.0-or-later # the rest is MIT License: MIT AND MPL-2.0 AND GPL-2.0-or-later Url: https://github.com/lark-parser/lark Source: %{pypi_source lark} BuildArch: noarch %description Lark is a modern general-purpose parsing library for Python. Lark focuses on simplicity and power. It lets you choose between two parsing algorithms: Earley : Parses all context-free grammars (even ambiguous ones)! It is the default. LALR(1): Only LR grammars. Outperforms PLY and most if not all other pure-python parsing libraries. Both algorithms are written in Python and can be used interchangeably with the same grammar (aside for algorithmic restrictions). See "Comparison to other parsers" for more details. Lark can auto magically build an AST from your grammar, without any more code on your part. Features: - EBNF grammar with a little extra - Earley & LALR(1) - Builds an AST auto magically based on the grammar - Automatic line & column tracking - Automatic token collision resolution (unless both tokens are regexps) - Python 2 & 3 compatible - Unicode fully supported %package -n python%{python3_pkgversion}-lark Summary: %{summary} BuildRequires: python%{python3_pkgversion}-devel %py_provides python3-lark-parser Obsoletes: python3-lark-parser < 1 %description -n python%{python3_pkgversion}-lark Lark is a modern general-purpose parsing library for Python. With Lark, you can parse any context-free grammar, efficiently, with very little code. Main Features: - Builds a parse-tree (AST) automagically, based on the structure of the grammar - Earley parser - Can parse all context-free grammars - Full support for ambiguous grammars - LALR(1) parser - Fast and light, competitive with PLY - Can generate a stand-alone parser - CYK parser, for highly ambiguous grammars - EBNF grammar - Unicode fully supported - Automatic line & column tracking - Standard library of terminals (strings, numbers, names, etc.) - Import grammars from Nearley.js - Extensive test suite - And much more! Since version 1.0, only Python versions 3.6 and up are supported. %prep %autosetup -p1 -n lark-%{version} # Fix wrong-file-end-of-line-encoding. sed -i 's/\r$//' README.md examples/*.py %generate_buildrequires %pyproject_buildrequires %build %pyproject_wheel # This package was renamed from python-lark-parser and we want to provide the old distinfo # for packages that still need it. %global legacy_distinfo lark_parser-%{version}.dist-info mkdir %{legacy_distinfo} cat > %{legacy_distinfo}/METADATA << EOF Metadata-Version: 2.1 %global python3_pkgversion 3.11 Name: lark-parser Version: %{version} EOF echo rpm > %{legacy_distinfo}/INSTALLER %install %pyproject_install %pyproject_save_files lark cp -a %{legacy_distinfo} %{buildroot}%{python3_sitelib} %check %{python3} -m tests %files -n python%{python3_pkgversion}-lark -f %{pyproject_files} %doc README.md examples %{python3_sitelib}/%{legacy_distinfo}/ %changelog * Fri Jan 26 2024 Fedora Release Engineering - 1.1.7-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Mon Jan 22 2024 Fedora Release Engineering - 1.1.7-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Thu Jul 27 2023 Tomáš Hrnčiar - 1.1.7-1 - Rename from lark-parser to lark - Update to 1.1.7 * Fri Jul 21 2023 Fedora Release Engineering - 0.9.0-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Tue Jun 13 2023 Python Maint - 0.9.0-10 - Rebuilt for Python 3.12 * Fri Jan 20 2023 Fedora Release Engineering - 0.9.0-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Fri Jul 22 2022 Fedora Release Engineering - 0.9.0-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Thu Jul 07 2022 Miro Hrončok - 0.9.0-7 - Don't import deprecated sre_parse and sre_constants modules * Mon Jun 13 2022 Python Maint - 0.9.0-6 - Rebuilt for Python 3.11 * Fri Jan 21 2022 Fedora Release Engineering - 0.9.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Fri Jul 23 2021 Fedora Release Engineering - 0.9.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Fri Jun 04 2021 Python Maint - 0.9.0-3 - Rebuilt for Python 3.10 * Wed Jan 27 2021 Fedora Release Engineering - 0.9.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Mon Oct 05 2020 Miro Hrončok - 0.9.0-1 - Update to 0.9.0 * Wed Jul 29 2020 Fedora Release Engineering - 0.8.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Tue May 26 2020 Miro Hrončok - 0.8.2-2 - Rebuilt for Python 3.9 * Sat Mar 07 2020 Thomas Andrejak - 0.8.2-1 - Update to 0.8.2 * Mon Feb 24 2020 Thomas Andrejak - 0.8.1-1 - Update to 0.8.1 * Thu Jan 30 2020 Fedora Release Engineering - 0.7.8-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Wed Nov 06 2019 Thomas Andrejak - 0.7.8-1 - Update to 0.7.8 * Fri Oct 25 2019 Thomas Andrejak - 0.7.7-1 - Update to 0.7.7 * Thu Oct 03 2019 Miro Hrončok - 0.7.1-4 - Rebuilt for Python 3.8.0rc1 (#1748018) * Mon Aug 19 2019 Miro Hrončok - 0.7.1-3 - Rebuilt for Python 3.8 * Fri Jul 26 2019 Fedora Release Engineering - 0.7.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Mon May 20 2019 Scott K Logan - 0.7.1-1 - Update to 0.7.1 * Sat Feb 02 2019 Fedora Release Engineering - 0.6.4-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Fri Jan 11 2019 Thomas Andrejak - 0.6.4-2 - Fix package naming * Mon Sep 24 2018 Thomas Andrejak - 0.6.4-1 - Initial package