1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-20 04:02:27 +00:00

devel/re2c: Update to 2.2

Additional changes to submitted patch done by Corey Halpin (maintainer)
and Daniel Engberg (ports committer).

Changelog: https://github.com/skvadrik/re2c/blob/master/CHANGELOG

PR:		257966
Approved by:	port maintainer, arrowd (mentor)
Differential Revision:	https://reviews.freebsd.org/D32327
This commit is contained in:
Eero Hänninen 2021-10-08 08:26:29 +02:00 committed by Daniel Engberg
parent b14f3ee013
commit 2bf3900fc8
4 changed files with 192 additions and 23 deletions

View File

@ -1,32 +1,44 @@
# Created by: Eivind Eklund <eivind@FreeBSD.org>
PORTNAME= re2c
PORTVERSION= 0.14.3
DISTVERSION= 2.2
CATEGORIES= devel
MASTER_SITES= SF/${PORTNAME}/${PORTVERSION}
MASTER_SITES= https://github.com/skvadrik/${PORTNAME}/releases/download/${DISTVERSION}/
MAINTAINER= chalpin@cs.wisc.edu
COMMENT= Compile regular expression to C (much faster final code than flex)
COMMENT= Lexer generator for C, C++ and Go with a focus on generating fast code
LICENSE= PD
USES= cpe
TEST_DEPENDS= bash:shells/bash
OPTIONS_DEFINE= DOCS EXAMPLES
USES= cmake cpe python:3.6+,test tar:xz
GNU_CONFIGURE= yes
TEST_TARGET= check
TEST_USES= shebangfix
SHEBANG_FILES= test/posix_captures/.run/__run.sh \
test/posix_captures/.gen/__gen.sh \
test/__run_unicode_tests.sh
PLIST_FILES= bin/re2c \
man/man1/re2c.1.gz
PORTDOCS= *
PORTEXAMPLES= *
OPTIONS_DEFINE= DOCS EXAMPLES LIBRE2C RE2GO
OPTIONS_DEFAULT= RE2GO
OPTIONS_SUB= yes
LIBRE2C_DESC= Build libre2c (Experimental)
RE2GO_DESC= Build RE2GO (identical to re2c --lang go)
DOCS_BUILD_DEPENDS= bison:devel/bison \
rst2man:textproc/py-docutils
DOCS_CMAKE_BOOL= RE2C_REBUILD_DOCS
LIBRE2C_CMAKE_BOOL= RE2C_BUILD_LIBS BUILD_SHARED_LIBS
RE2GO_CMAKE_BOOL= RE2C_BUILD_RE2GO
post-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}/
(cd ${WRKSRC}/doc/ && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}/)
${MKDIR} ${STAGEDIR}${DOCSDIR}
(cd ${WRKSRC}/doc/ && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR})
post-install-EXAMPLES-on:
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/
(cd ${WRKSRC}/examples/ && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}/)
${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
(cd ${WRKSRC}/examples/ && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR})
.include <bsd.port.mk>

View File

@ -1,2 +1,3 @@
SHA256 (re2c-0.14.3.tar.gz) = 1c6806df599f3aef0804b576cfdf64bdba5ad590626dfca2d44e473460917e84
SIZE (re2c-0.14.3.tar.gz) = 2576859
TIMESTAMP = 1632787083
SHA256 (re2c-2.2.tar.xz) = 0fc45e4130a8a555d68e230d1795de0216dfe99096b61b28e67c86dfd7d86bda
SIZE (re2c-2.2.tar.xz) = 1460740

View File

@ -1,8 +1,12 @@
re2c is a tool for generating C-based recognizers from regular
expressions. re2c-based scanners are efficient: for programming
languages, given similar specifications, an re2c-based scanner is
typically almost twice as fast as a flex-based scanner with little or no
increase in size (possibly a decrease on cisc architectures). Indeed,
re2c-based scanners are quite competitive with hand-crafted ones.
Re2c is a free and open-source lexer generator for C, C++ and Go with a
focus on generating fast code. It compiles regular expression
specifications to deterministic finite automata and encodes them in the
form of conditional jumps in the target language. This approach is
generally faster than table-based lexers, and the generated code is easier
to debug and understand. A flexible user interface allows one to adapt the
generated lexer to a particular environment and input model, avoiding the
overhead on unnecessary checks and buffers. Re2c is based on the lookahead
TDFA algorithm that allows it to perform fast and lightweight submatch
extraction.
WWW: http://re2c.org/
WWW: https://re2c.org/

152
devel/re2c/pkg-plist Normal file
View File

@ -0,0 +1,152 @@
bin/re2c
%%RE2GO%%bin/re2go
%%LIBRE2C%%lib/libre2c.so
%%PORTDOCS%%%%DOCSDIR%%/help.rst
%%PORTDOCS%%%%DOCSDIR%%/help.rst.in
%%PORTDOCS%%%%DOCSDIR%%/manpage.rst.in
%%PORTDOCS%%%%DOCSDIR%%/manual/api/interface.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/conditions/conditions.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/configurations/configurations.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/directives/directives.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/dot/dot.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/encodings/encodings.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/eof/01_sentinel.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/eof/02_bounds_checking.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/eof/03_eof_rule.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/eof/04_generic_api.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/eof/eof.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/fill/01_fill.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/fill/02_fill.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/fill/fill.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/headers/headers.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/includes/includes.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/options/debug.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/options/internal.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/options/options.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/regexps/regular_expressions.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/reuse/reuse.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/skeleton/skeleton.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/state/state.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/submatch/submatch.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/submatch/submatch_example_mtags.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/submatch/submatch_example_posix.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/submatch/submatch_example_stags.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/submatch/submatch_example_stags_fill.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/syntax/api1.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/syntax/api2_c.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/syntax/api2_go.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/syntax/api3.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/syntax/syntax.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/warnings/warnings_general.rst_
%%PORTDOCS%%%%DOCSDIR%%/manual/warnings/warnings_list.rst_
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/01_basic.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/01_basic.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/__run_all.sh
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/conditions/parse_u32_blocks.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/conditions/parse_u32_blocks.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/conditions/parse_u32_conditions.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/conditions/parse_u32_conditions.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/encodings/unicode_identifier.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/encodings/unicode_identifier.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/eof/01_sentinel.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/eof/01_sentinel.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/eof/02_bounds_checking.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/eof/02_bounds_checking.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/eof/03_eof_rule.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/eof/03_eof_rule.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/eof/04_generic_api_sentinel.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/eof/04_generic_api_sentinel.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/eof/05_generic_api_eof_rule.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/eof/05_generic_api_eof_rule.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/fill/01_fill.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/fill/01_fill.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/fill/02_fill.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/fill/02_fill.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/generic_api/ifstream.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/generic_api/ifstream.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/headers/header.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/headers/header.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/headers/src/lexer/lexer.h
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/includes/definitions.h
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/includes/extra_rules.re.inc
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/includes/include.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/includes/include.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/real_world/cxx98.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/real_world/cxx98.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/reuse/braille.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/reuse/braille.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/reuse/braille.ucs2.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/reuse/braille.utf16.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/reuse/braille.utf32.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/reuse/braille.utf8.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/reuse/reuse.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/reuse/reuse.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/reuse/usedir.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/reuse/usedir.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/state/push.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/state/push.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/submatch/01_stags.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/submatch/01_stags.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/submatch/01_stags_fill.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/submatch/01_stags_fill.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/submatch/02_mtags.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/submatch/02_mtags.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/submatch/03_posix.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/submatch/03_posix.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/submatch/http_rfc7230.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/submatch/http_rfc7230.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/submatch/parse_etc_passwd.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/submatch/parse_etc_passwd.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/submatch/parse_options.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/submatch/parse_options.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/submatch/parse_records.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/submatch/parse_records.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/submatch/uri_rfc3986.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c/submatch/uri_rfc3986.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/01_basic.go
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/01_basic.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/__run_all.sh
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/conditions/parse_u32_blocks.go
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/conditions/parse_u32_blocks.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/conditions/parse_u32_conditions.go
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/conditions/parse_u32_conditions.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/encodings/unicode_identifier.go
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/encodings/unicode_identifier.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/eof/01_sentinel.go
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/eof/01_sentinel.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/eof/02_bounds_checking.go
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/eof/02_bounds_checking.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/eof/03_eof_rule.go
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/eof/03_eof_rule.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/eof/04_generic_api_sentinel.go
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/eof/04_generic_api_sentinel.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/eof/05_generic_api_eof_rule.go
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/eof/05_generic_api_eof_rule.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/fill/01_fill.go
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/fill/01_fill.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/fill/02_fill.go
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/fill/02_fill.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/headers/header.go
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/headers/header.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/headers/src/lexer/lexer.go
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/includes/definitions.go
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/includes/extra_rules.re.inc
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/includes/include.go
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/includes/include.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/reuse/reuse.go
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/reuse/reuse.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/reuse/usedir.go
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/reuse/usedir.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/state/push.go
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/state/push.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/submatch/01_stags.go
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/submatch/01_stags.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/submatch/01_stags_fill.go
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/submatch/01_stags_fill.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/submatch/02_mtags.go
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/submatch/02_mtags.re
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/submatch/03_posix.go
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/go/submatch/03_posix.re
share/man/man1/re2c.1.gz
%%RE2GO%%share/man/man1/re2go.1.gz
%%DATADIR%%/stdlib/unicode_categories.re