1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-02 06:03:50 +00:00

New port: devel/pcre2

PCRE2 is the name used for a revised API for the PCRE library, which is
a set of functions, written in C, that implement regular expression
pattern matching using the same syntax and semantics as Perl, with just
a few differences.
This commit is contained in:
Mark Felder 2015-08-25 17:31:32 +00:00
parent d5c77e3797
commit 70f838e723
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=395306
6 changed files with 222 additions and 0 deletions

View File

@ -3433,6 +3433,7 @@
SUBDIR += pccts
SUBDIR += pcl
SUBDIR += pcre
SUBDIR += pcre2
SUBDIR += pcre++
SUBDIR += pcsc-ada
SUBDIR += pcsc-lite

96
devel/pcre2/Makefile Normal file
View File

@ -0,0 +1,96 @@
# Created by: Mark Felder <feld@FreeBSD.org>
# $FreeBSD$
PORTNAME= pcre2
PORTVERSION= 10.20
PORTREVISION= 0
CATEGORIES= devel
MASTER_SITES= SF/pcre/${PORTNAME}/${PORTVERSION} \
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ \
ftp://ftp.fu-berlin.de/unix/misc/pcre/ \
ftp://ftp.tin.org/pub/libs/pcre/
MAINTAINER= feld@FreeBSD.org
COMMENT= Perl Compatible Regular Expressions library, version 2
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENCE
USES= autoreconf libtool pkgconfig
GNU_CONFIGURE= yes
USE_LDCONFIG= yes
INSTALL_TARGET= install-strip
CONFIGURE_ARGS= --enable-pcre2-16 --enable-pcre2-32
OPTIONS_DEFINE= DOCS LIBEDIT READLINE STACK_RECURSION
OPTIONS_DEFAULT= STACK_RECURSION
STACK_RECURSION_DESC= Use the stack for recursion during matching
LIBEDIT_CONFIGURE_ENABLE= pcre2test-libedit
LIBEDIT_USES= libedit
READLINE_USES= readline
READLINE_CONFIGURE_ENABLE= pcre2test-libreadline
.include <bsd.port.options.mk>
.if ${ARCH} != "sparc64" && ${ARCH} != "ia64" && ${ARCH:Mmips64*} == ""
CONFIGURE_ARGS+= --enable-jit
.else
CONFIGURE_ARGS+= --disable-jit
.endif
.if ${PORT_OPTIONS:MDOCS}
PORTDOCS= *
.endif
# Using the heap rather than the stack for recursion is slower but less
# prone to segfaults from stack exhaustion when matching certain patterns
.if !${PORT_OPTIONS:MSTACK_RECURSION}
CONFIGURE_ARGS+= --disable-stack-for-recursion
.endif
# Optional knobs that accept positive integer parameters (see pcrebuild(3)):
# Allow the use of very large patterns (> 64K) with the 8- and 16-bit
# libraries, at the expense of longer load times (possible values:
# 2 (default), 3, and 4):
.if defined(WITH_LINK_SIZE)
CONFIGURE_ARGS+= --with-link-size=${WITH_LINK_SIZE}
.endif
# Control PCRE resource use by limiting the default number of times pcre_exec()
# can call match() during a single operation (default: 10 million):
.if defined(WITH_MATCH_LIMIT)
CONFIGURE_ARGS+= --with-match-limit=${WITH_MATCH_LIMIT}
.endif
# Control PCRE resource use by limiting the default number of times pcre_exec()
# can call match() recursively during a single operation (default: 10 million):
.if defined(WITH_MATCH_LIMIT_RECURSION)
CONFIGURE_ARGS+= --with-match-limit-recursion=${WITH_MATCH_LIMIT_RECURSION}
.endif
# Control PCRE resource use by limiting the nesting depth of parentheses in
# patterns compiled with pcre_compile() (default: 250):
.if defined(WITH_PARENS_NEST_LIMIT)
CONFIGURE_ARGS+= --with-parens-nest-limit=${WITH_PARENS_NEST_LIMIT}
.endif
#prevent regression test coredumps from causing failures on the
#package-building cluster:
.ifndef(MAINTAINER_MODE)
CORELIMIT?= /usr/bin/limits -Sc 0
.endif
TESTLOGS?= RunGrepTest RunTest pcre_jit_test pcre_scanner_unittest \
pcre_stringpiece_unittest pcrecpp_unittest
check regression-test test: build
@cd ${WRKSRC} ; \
${SETENV} ${MAKE_ENV} ${CORELIMIT} ${MAKE_CMD} ${MAKE_ARGS} check ; \
for _l in ${TESTLOGS} ; do if ${TEST} -f $${_l}.log ; then \
${PRINTF} "\n\n$${_l}.log\n\n\n" ; ${CAT} $${_l}.log ; fi ; done
.include <bsd.port.mk>

2
devel/pcre2/distinfo Normal file
View File

@ -0,0 +1,2 @@
SHA256 (pcre2-10.20.tar.gz) = 4af30b4a559d9facc4dbeafecde2b6f4414df64dcc588688f9bceea61669fca7
SIZE (pcre2-10.20.tar.gz) = 1807522

View File

@ -0,0 +1,11 @@
--- Makefile.am.orig 2015-08-25 16:56:39 UTC
+++ Makefile.am
@@ -646,7 +646,7 @@ EXTRA_DIST += src/pcre2demo.c
# We have .pc files for pkg-config users.
-pkgconfigdir = $(libdir)/pkgconfig
+pkgconfigdir = $(libdir)data/pkgconfig
pkgconfig_DATA =
if WITH_PCRE2_8

10
devel/pcre2/pkg-descr Normal file
View File

@ -0,0 +1,10 @@
PCRE2 is the name used for a revised API for the PCRE library, which is
a set of functions, written in C, that implement regular expression
pattern matching using the same syntax and semantics as Perl, with just
a few differences. Some features that appeared in Python and the
original PCRE before they appeared in Perl are also available using the
Python syntax. There is also some support for one or two .NET and
Oniguruma syntax items, and there are options for requesting some minor
changes that give better ECMAScript (aka JavaScript) compatibility.
WWW: http://www.pcre.org/

102
devel/pcre2/pkg-plist Normal file
View File

@ -0,0 +1,102 @@
bin/pcre2-config
bin/pcre2grep
bin/pcre2test
include/pcre2.h
include/pcre2posix.h
lib/libpcre2-16.a
lib/libpcre2-16.so
lib/libpcre2-16.so.0
lib/libpcre2-16.so.0.2.0
lib/libpcre2-32.a
lib/libpcre2-32.so
lib/libpcre2-32.so.0
lib/libpcre2-32.so.0.2.0
lib/libpcre2-8.a
lib/libpcre2-8.so
lib/libpcre2-8.so.0
lib/libpcre2-8.so.0.2.0
lib/libpcre2-posix.a
lib/libpcre2-posix.so
lib/libpcre2-posix.so.0
lib/libpcre2-posix.so.0.0.0
libdata/pkgconfig/libpcre2-16.pc
libdata/pkgconfig/libpcre2-32.pc
libdata/pkgconfig/libpcre2-8.pc
libdata/pkgconfig/libpcre2-posix.pc
man/man1/pcre2-config.1.gz
man/man1/pcre2grep.1.gz
man/man1/pcre2test.1.gz
man/man3/pcre2.3.gz
man/man3/pcre2_callout_enumerate.3.gz
man/man3/pcre2_code_free.3.gz
man/man3/pcre2_compile.3.gz
man/man3/pcre2_compile_context_copy.3.gz
man/man3/pcre2_compile_context_create.3.gz
man/man3/pcre2_compile_context_free.3.gz
man/man3/pcre2_config.3.gz
man/man3/pcre2_dfa_match.3.gz
man/man3/pcre2_general_context_copy.3.gz
man/man3/pcre2_general_context_create.3.gz
man/man3/pcre2_general_context_free.3.gz
man/man3/pcre2_get_error_message.3.gz
man/man3/pcre2_get_mark.3.gz
man/man3/pcre2_get_ovector_count.3.gz
man/man3/pcre2_get_ovector_pointer.3.gz
man/man3/pcre2_get_startchar.3.gz
man/man3/pcre2_jit_compile.3.gz
man/man3/pcre2_jit_free_unused_memory.3.gz
man/man3/pcre2_jit_match.3.gz
man/man3/pcre2_jit_stack_assign.3.gz
man/man3/pcre2_jit_stack_create.3.gz
man/man3/pcre2_jit_stack_free.3.gz
man/man3/pcre2_maketables.3.gz
man/man3/pcre2_match.3.gz
man/man3/pcre2_match_context_copy.3.gz
man/man3/pcre2_match_context_create.3.gz
man/man3/pcre2_match_context_free.3.gz
man/man3/pcre2_match_data_create.3.gz
man/man3/pcre2_match_data_create_from_pattern.3.gz
man/man3/pcre2_match_data_free.3.gz
man/man3/pcre2_pattern_info.3.gz
man/man3/pcre2_serialize_decode.3.gz
man/man3/pcre2_serialize_encode.3.gz
man/man3/pcre2_serialize_free.3.gz
man/man3/pcre2_serialize_get_number_of_codes.3.gz
man/man3/pcre2_set_bsr.3.gz
man/man3/pcre2_set_callout.3.gz
man/man3/pcre2_set_character_tables.3.gz
man/man3/pcre2_set_compile_recursion_guard.3.gz
man/man3/pcre2_set_match_limit.3.gz
man/man3/pcre2_set_newline.3.gz
man/man3/pcre2_set_parens_nest_limit.3.gz
man/man3/pcre2_set_recursion_limit.3.gz
man/man3/pcre2_set_recursion_memory_management.3.gz
man/man3/pcre2_substitute.3.gz
man/man3/pcre2_substring_copy_byname.3.gz
man/man3/pcre2_substring_copy_bynumber.3.gz
man/man3/pcre2_substring_free.3.gz
man/man3/pcre2_substring_get_byname.3.gz
man/man3/pcre2_substring_get_bynumber.3.gz
man/man3/pcre2_substring_length_byname.3.gz
man/man3/pcre2_substring_length_bynumber.3.gz
man/man3/pcre2_substring_list_free.3.gz
man/man3/pcre2_substring_list_get.3.gz
man/man3/pcre2_substring_nametable_scan.3.gz
man/man3/pcre2_substring_number_from_name.3.gz
man/man3/pcre2api.3.gz
man/man3/pcre2build.3.gz
man/man3/pcre2callout.3.gz
man/man3/pcre2compat.3.gz
man/man3/pcre2demo.3.gz
man/man3/pcre2jit.3.gz
man/man3/pcre2limits.3.gz
man/man3/pcre2matching.3.gz
man/man3/pcre2partial.3.gz
man/man3/pcre2pattern.3.gz
man/man3/pcre2perform.3.gz
man/man3/pcre2posix.3.gz
man/man3/pcre2sample.3.gz
man/man3/pcre2serialize.3.gz
man/man3/pcre2stack.3.gz
man/man3/pcre2syntax.3.gz
man/man3/pcre2unicode.3.gz