notbugAs an Amazon Associate I earn from qualifying purchases.
Want a good read? Try FreeBSD Mastery: Jails (IT Mastery Book 15)
Want a good monitor light? See my photosAll times are UTC
Ukraine
Port details
py-funcparserlib Recursive descent parsing library based on functional combinators
1.0.1 devel on this many watch lists=2 search for ports that depend on this port Find issues related to this port Report an issue related to this port View this port on Repology. pkg-fallout 1.0.1Version of this port present on the latest quarterly branch.
Maintainer: tota@FreeBSD.org search for ports maintained by this maintainer
Port Added: 2011-08-05 14:04:23
Last Update: 2023-06-27 19:34:34
Commit Hash: 3d9a815
People watching this port, also watch:: jdictionary, py311-Automat, py311-python-gdsii, py39-PyOpenGL, p5-Sane
Also Listed In: python
License: MIT
WWW:
https://funcparserlib.pirx.ru/
Description:
The primary focus of funcparserlib is parsing little languages or external DSLs (domain specific languages). Parsers made with funcparserlib are pure-Python LL(*) parsers. It means that it's very easy to write parsers without thinking about lookaheads and other hardcore parsing stuff. However, recursive descent parsing is a rather slow 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. The source code of funcparserlib is only 1.2K lines of code, with lots of comments. Its API is fully type hinted. It features the longest parsed prefix error reporting, as well as a tiny lexer generator for token position tracking. The idea of parser combinators used in funcparserlib comes from the Introduction to Functional Programming course. We have converted it from ML into Python.
Homepage    cgit ¦ Codeberg ¦ GitHub ¦ GitLab ¦ SVNWeb

Manual pages:
FreshPorts has no man page information for this port.
pkg-plist: as obtained via: make generate-plist
There is no configure plist information for this port.
Dependency lines:
  • ${PYTHON_PKGNAMEPREFIX}funcparserlib>0:devel/py-funcparserlib@${PY_FLAVOR}
To install the port:
cd /usr/ports/devel/py-funcparserlib/ && make install clean
To add the package, run one of these commands:
  • pkg install devel/py-funcparserlib
  • pkg install py39-funcparserlib
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above.
NOTE: This is a Python port. Instead of py39-funcparserlib listed in the above command, you can pick from the names under the Packages section.
PKGNAME: py39-funcparserlib
Package flavors (<flavor>: <package>)
  • py39: py39-funcparserlib
distinfo:
TIMESTAMP = 1683934239 SHA256 (funcparserlib-1.0.1.tar.gz) = a2c4a0d7942f7a0e7635c369d921066c8d4cae7f8b5bf7914466bec3c69837f4 SIZE (funcparserlib-1.0.1.tar.gz) = 17238

Packages (timestamps in pop-ups are UTC):
py37-funcparserlib
ABIaarch64amd64armv6armv7i386powerpcpowerpc64powerpc64le
FreeBSD:13:latest--0.3.6_1---0.3.6_1-
FreeBSD:13:quarterly--------
FreeBSD:14:latest--------
FreeBSD:14:quarterly--------
FreeBSD:15:latest--n/a-n/a---
 
py39-funcparserlib
ABIaarch64amd64armv6armv7i386powerpcpowerpc64powerpc64le
FreeBSD:13:latest--------
FreeBSD:13:quarterly--1.0.1--1.0.11.0.11.0.1
FreeBSD:14:latest--1.0.0--1.0.1-1.0.1
FreeBSD:14:quarterly-----1.0.11.0.11.0.1
FreeBSD:15:latest--n/a-n/a1.0.11.0.11.0.1
 
py311-funcparserlib
ABIaarch64amd64armv6armv7i386powerpcpowerpc64powerpc64le
FreeBSD:13:latest1.0.11.0.1-1.0.11.0.1---
FreeBSD:13:quarterly1.0.11.0.1-1.0.11.0.1---
FreeBSD:14:latest1.0.11.0.1-1.0.11.0.1---
FreeBSD:14:quarterly1.0.11.0.1-1.0.11.0.1---
FreeBSD:15:latest1.0.11.0.1n/a1.0.1n/a---
 
Dependencies
NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
Build dependencies:
  1. py39-setuptools>=63.1.0 : devel/py-setuptools@py39
  2. python3.9 : lang/python39
Test dependencies:
  1. python3.9 : lang/python39
Runtime dependencies:
  1. py39-setuptools>=63.1.0 : devel/py-setuptools@py39
  2. python3.9 : lang/python39
This port is required by:
for Build
  1. lang/py-hy
for Run
  1. graphics/py-blockdiag
  2. lang/py-hy

Configuration Options:
No options to configure
Options name:
devel_py-funcparserlib
USES:
python
FreshPorts was unable to extract/find any pkg message
Master Sites:
Expand this list (2 items)
Collapse this list.
  1. https://files.pythonhosted.org/packages/source/f/funcparserlib/
  2. https://pypi.org/packages/source/f/funcparserlib/
Collapse this list.

Number of commits found: 19

Commit History - (may be incomplete: for full details, see links to repositories near top of page)
CommitCreditsLog message
1.0.1
27 Jun 2023 19:34:34
commit hash: 3d9a815d9c5acbb71f4bb07738bdeab4879feacbcommit hash: 3d9a815d9c5acbb71f4bb07738bdeab4879feacbcommit hash: 3d9a815d9c5acbb71f4bb07738bdeab4879feacbcommit hash: 3d9a815d9c5acbb71f4bb07738bdeab4879feacb files touched by this commit
Rene Ladan (rene) search for other commits by this committer
all: remove explicit versions in USES=python for "3.x+"

The logic in USES=python will automatically convert this to 3.8+ by
itself.

Adjust two ports that only had Python 3.7 mentioned but build fine
on Python 3.8 too.

finance/quickfix: mark BROKEN with PYTHON

libtool: compile:  c++ -DHAVE_CONFIG_H -I. -I../.. -I -I. -I.. -I../.. -I../C++
-DLIBICONV_PLUG -DPYTHON_MAJOR_VERSION=3 -Wno-unused-variable
-Wno-maybe-uninitialized -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong
-fno-strict-aliasing -DLIBICONV_PLUG -Wall -ansi
-Wno-unused-command-line-argument -Wpointer-arith -Wwrite-strings
-Wno-overloaded-virtual -Wno-deprecated-declarations -Wno-deprecated -std=c++0x
-MT _quickfix_la-QuickfixPython.lo -MD -MP -MF
.deps/_quickfix_la-QuickfixPython.Tpo -c QuickfixPython.cpp  -fPIC -DPIC -o
.libs/_quickfix_la-QuickfixPython.o
warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean
'-Wno-uninitialized'? [-Wunknown-warning-option]
QuickfixPython.cpp:175:11: fatal error: 'Python.h' file not found
          ^~~~~~~~~~
1 warning and 1 error generated.

Reviewed by:	portmgr, vishwin, yuri
Differential Revision:	<https://reviews.freebsd.org/D40568>
1.0.1
13 May 2023 05:21:10
commit hash: c79ff94898bdfe3d3111ffa5e9ddc5cc7b79065acommit hash: c79ff94898bdfe3d3111ffa5e9ddc5cc7b79065acommit hash: c79ff94898bdfe3d3111ffa5e9ddc5cc7b79065acommit hash: c79ff94898bdfe3d3111ffa5e9ddc5cc7b79065a files touched by this commit
TAKATSU Tomonari (tota) search for other commits by this committer
devel/py-funcparserlib: Update to 1.0.1
1.0.0
11 Jan 2023 15:58:34
commit hash: 77d68471aded6907dbbcb5ef50d557e4c69db656commit hash: 77d68471aded6907dbbcb5ef50d557e4c69db656commit hash: 77d68471aded6907dbbcb5ef50d557e4c69db656commit hash: 77d68471aded6907dbbcb5ef50d557e4c69db656 files touched by this commit
Dmitry Marakasov (amdmi3) search for other commits by this committer
*/*: rename CHEESESHOP to PYPI in MASTER_SITES

PR:			267994
Differential revision:	D37518
Approved by:		bapt
07 Sep 2022 21:58:51
commit hash: fb16dfecae4a6efac9f3a78e0b759fb7a3c53de4commit hash: fb16dfecae4a6efac9f3a78e0b759fb7a3c53de4commit hash: fb16dfecae4a6efac9f3a78e0b759fb7a3c53de4commit hash: fb16dfecae4a6efac9f3a78e0b759fb7a3c53de4 files touched by this commit
Stefan Eßer (se) search for other commits by this committer
Remove WWW entries moved into port Makefiles

Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.

This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.

Approved by:		portmgr (tcberner)
1.0.0
07 Sep 2022 21:10:59
commit hash: b7f05445c00f2625aa19b4154ebcbce5ed2daa52commit hash: b7f05445c00f2625aa19b4154ebcbce5ed2daa52commit hash: b7f05445c00f2625aa19b4154ebcbce5ed2daa52commit hash: b7f05445c00f2625aa19b4154ebcbce5ed2daa52 files touched by this commit
Stefan Eßer (se) search for other commits by this committer
Add WWW entries to port Makefiles

It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.

Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.

There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above View all of this commit message)
1.0.0
20 Jul 2022 14:21:35
commit hash: aa6eefd5e663357e8223399bc38c7987f5e35746commit hash: aa6eefd5e663357e8223399bc38c7987f5e35746commit hash: aa6eefd5e663357e8223399bc38c7987f5e35746commit hash: aa6eefd5e663357e8223399bc38c7987f5e35746 files touched by this commit
Tobias C. Berner (tcberner) search for other commits by this committer
devel: remove 'Created by' lines

A big Thank You to the original contributors of these ports:

  *  "Waitman Gobble" <uzimac@da3m0n8t3r.com>
  *  <jkoshy@FreeBSD.org>
  *  Aaron Dalton <aaron@FreeBSD.org>
  *  Aaron Dalton <aaron@daltons.ca>
  *  Aaron H. K. Diep <ahkdiep@gmail.com>
  *  Aaron Hurt <ahurt@anbcs.com>
  *  Abel Chow <abel_chow@yahoo.com>
  *  Adam McLaurin
  *  Adam Saponara <as@php.net>
  *  Adam Weinberger <adamw@FreeBSD.org>
  *  Ade Lovett <ade@FreeBSD.org>
(Only the first 15 lines of the commit message are shown above View all of this commit message)
1.0.0
07 May 2022 04:31:49
commit hash: f676758ba3c4e9fc46eab80c2adadee2c3ea0fd2commit hash: f676758ba3c4e9fc46eab80c2adadee2c3ea0fd2commit hash: f676758ba3c4e9fc46eab80c2adadee2c3ea0fd2commit hash: f676758ba3c4e9fc46eab80c2adadee2c3ea0fd2 files touched by this commit
TAKATSU Tomonari (tota) search for other commits by this committer
devel/py-funcparserlib: Update to 1.0.0

- Remove DOCS option
- Update pkg-descr

Changes:	https://funcparserlib.pirx.ru/changes/#100-2022-05-02
0.3.6_1
07 Mar 2022 18:13:18
commit hash: 2d9d0fcfa6ab1b290732293006bcf00d1527c378commit hash: 2d9d0fcfa6ab1b290732293006bcf00d1527c378commit hash: 2d9d0fcfa6ab1b290732293006bcf00d1527c378commit hash: 2d9d0fcfa6ab1b290732293006bcf00d1527c378 files touched by this commit
Po-Chuan Hsieh (sunpoet) search for other commits by this committer
devel/py-funcparserlib: Fix build with setuptools 58.0.0+

With  hat:	python
0.3.6_1
06 Apr 2021 14:31:07
commit hash: 305f148f482daf30dcf728039d03d019f88344ebcommit hash: 305f148f482daf30dcf728039d03d019f88344ebcommit hash: 305f148f482daf30dcf728039d03d019f88344ebcommit hash: 305f148f482daf30dcf728039d03d019f88344eb files touched by this commit
Mathieu Arnold (mat) search for other commits by this committer
Remove # $FreeBSD$ from Makefiles.
0.3.6_1
28 Dec 2020 23:02:15
Revision:559531Original commit files touched by this commit
antoine search for other commits by this committer
Drop python 2.7 support from a few ports

With hat:	portmgr
0.3.6_1
21 Oct 2016 12:51:41
Revision:424411Original commit files touched by this commit Sanity Test Failure
mat search for other commits by this committer
${RM} already has -f.

PR:		213570
Submitted by:	mat
Exp-run by:	antoine
Sponsored by:	Absolight
0.3.6_1
19 May 2016 10:21:25
Revision:415498Original commit files touched by this commit
amdmi3 search for other commits by this committer
- Fix trailing whitespace in pkg-descrs, categories [a-f]*

Approved by:	portmgr blanket
0.3.6_1
17 Aug 2015 14:20:41
Revision:394508Original commit files touched by this commit
mat search for other commits by this committer
Remove UNIQUENAME and LATEST_LINK.

UNIQUENAME was never unique, it was only used by USE_LDCONFIG and now,
we won't have conflicts there.

Use PKGBASE instead of LATEST_LINK in PKGLATESTFILE, the *only* consumer
is pkg-devel, and it works just fine without LATEST_LINK as pkg-devel
has the correct PKGNAME anyway.

Now that UNIQUENAME is gone, OPTIONSFILE is too. (it's been called
OPTIONS_FILE now.)

Reviewed by:	antoine, bapt
Exp-run by:	antoine
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D3336
0.3.6_1
20 Oct 2014 16:04:14
Revision:371280Original commit files touched by this commit
mva search for other commits by this committer
- Convert ports of devel/ to USES=python

Approved by:	portmgr (implicit)
0.3.6_1
12 Apr 2014 10:48:26
Revision:351084Original commit files touched by this commit
tota search for other commits by this committer
- Support STAGEDIR [1]
- Use USE_PYDISTUTILS= yes instead of easy_install
- Use PYDISTUTILS_AUTOPLIST
- Make docs unconditional to stage
  * Remove bsd.port.options.mk, accordingly
  * Remove OPTIONSFILE which is not needed
- Unmute INSTALL_WRKSRC in post-install target
- Remove x-generate-plist target which should have been done
  at r317309 when pkg-plist was removed
- Bump PORTREVISION

PR:		ports/188493 [1]
Submitted by:	Bartek Rutkowski <ports@robakdesign.com>
0.3.6
20 Sep 2013 17:13:47
Revision:327724Original commit files touched by this commit
bapt search for other commits by this committer
Add NO_STAGE all over the place in preparation for the staging support (cat:
devel part 3)
0.3.6
04 May 2013 11:40:09
Revision:317309Original commit files touched by this commit
tota search for other commits by this committer
- Update to 0.3.6
- Switch to easy_install
- Convert to new Makefile header
- Adapt to new options framework
- Allow OPTIONSFILE to be overridden
- Replace tab with a single space after 'WWW:' in pkg-descr
0.3.5
25 Jul 2012 11:24:11
Original commit files touched by this commit
cs search for other commits by this committer
Fix typos in COMMENT
0.3.5
05 Aug 2011 14:03:53
Original commit files touched by this commit
tota search for other commits by this committer
- Add a new port: devel/py-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.

  WWW:  http://code.google.com/p/funcparserlib/

Number of commits found: 19