From 56d1d61f2a50e596fd4903973925ef8651d4112c Mon Sep 17 00:00:00 2001 From: joec88 Date: Sat, 12 Dec 2020 17:40:39 +0800 Subject: [PATCH] Add source and spec files --- funcparserlib-0.3.6.tar.gz | Bin 0 -> 30401 bytes python-funcparserlib.spec | 113 +++++++++++++++++++++++++++++++++++++ 2 files changed, 113 insertions(+) create mode 100644 funcparserlib-0.3.6.tar.gz create mode 100644 python-funcparserlib.spec diff --git a/funcparserlib-0.3.6.tar.gz b/funcparserlib-0.3.6.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..9dcd094331f50f4d336180f2203c6bc5d9fbdeb2 GIT binary patch literal 30401 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 literal 0 HcmV?d00001 diff --git a/python-funcparserlib.spec b/python-funcparserlib.spec new file mode 100644 index 0000000..6074a79 --- /dev/null +++ b/python-funcparserlib.spec @@ -0,0 +1,113 @@ +%global _empty_manifest_terminate_build 0 +Name: python-funcparserlib +Version: 0.3.6 +Release: 1 +Summary: Recursive descent parsing library based on functional combinators +License: MIT +URL: https://github.com/vlasovskikh/funcparserlib +Source0: https://files.pythonhosted.org/packages/cb/f7/b4a59c3ccf67c0082546eaeb454da1a6610e924d2e7a2a21f337ecae7b40/funcparserlib-0.3.6.tar.gz +BuildArch: noarch + + +%description +*Parser combinators* are just higher-order functions that take parsers as 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). +The library itself is very small. Its source code is only 0.5 KLOC, with lots +of comments included. It features the longest parsed prefix error reporting, as well +as a tiny lexer generator for token position tracking. + +%package -n python3-funcparserlib +Summary: Recursive descent parsing library based on functional combinators +Provides: python-funcparserlib +BuildRequires: python3-devel +BuildRequires: python3-setuptools +%description -n python3-funcparserlib +*Parser combinators* are just higher-order functions that take parsers as 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). +The library itself is very small. Its source code is only 0.5 KLOC, with lots +of comments included. It features the longest parsed prefix error reporting, as well +as a tiny lexer generator for token position tracking. + +%package help +Summary: Development documents and examples for funcparserlib +Provides: python3-funcparserlib-doc +%description help +*Parser combinators* are just higher-order functions that take parsers as 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). +The library itself is very small. Its source code is only 0.5 KLOC, with lots +of comments included. It features the longest parsed prefix error reporting, as well +as a tiny lexer generator for token position tracking. + +%prep +%autosetup -n funcparserlib-0.3.6 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-funcparserlib -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon Nov 23 2020 Python_Bot +- Package Spec generated