diff options
author | feld <feld@FreeBSD.org> | 2015-08-26 01:31:32 +0800 |
---|---|---|
committer | feld <feld@FreeBSD.org> | 2015-08-26 01:31:32 +0800 |
commit | 31b626285db2d5a0e1367c522b84201f95446233 (patch) | |
tree | bf17ebef9a789d1ea500e0cd60dc75a6aa761e42 /devel | |
parent | 774bcea8d4dc2602964e3959f00f0e8fc863c02f (diff) | |
download | freebsd-ports-gnome-31b626285db2d5a0e1367c522b84201f95446233.tar.gz freebsd-ports-gnome-31b626285db2d5a0e1367c522b84201f95446233.tar.zst freebsd-ports-gnome-31b626285db2d5a0e1367c522b84201f95446233.zip |
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.
Diffstat (limited to 'devel')
-rw-r--r-- | devel/Makefile | 1 | ||||
-rw-r--r-- | devel/pcre2/Makefile | 96 | ||||
-rw-r--r-- | devel/pcre2/distinfo | 2 | ||||
-rw-r--r-- | devel/pcre2/files/patch-Makefile.am | 11 | ||||
-rw-r--r-- | devel/pcre2/pkg-descr | 10 | ||||
-rw-r--r-- | devel/pcre2/pkg-plist | 102 |
6 files changed, 222 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile index dbaacc003237..6ffee9770882 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -3433,6 +3433,7 @@ SUBDIR += pccts SUBDIR += pcl SUBDIR += pcre + SUBDIR += pcre2 SUBDIR += pcre++ SUBDIR += pcsc-ada SUBDIR += pcsc-lite diff --git a/devel/pcre2/Makefile b/devel/pcre2/Makefile new file mode 100644 index 000000000000..662d33b539a9 --- /dev/null +++ b/devel/pcre2/Makefile @@ -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> diff --git a/devel/pcre2/distinfo b/devel/pcre2/distinfo new file mode 100644 index 000000000000..0afbb286c871 --- /dev/null +++ b/devel/pcre2/distinfo @@ -0,0 +1,2 @@ +SHA256 (pcre2-10.20.tar.gz) = 4af30b4a559d9facc4dbeafecde2b6f4414df64dcc588688f9bceea61669fca7 +SIZE (pcre2-10.20.tar.gz) = 1807522 diff --git a/devel/pcre2/files/patch-Makefile.am b/devel/pcre2/files/patch-Makefile.am new file mode 100644 index 000000000000..0aa4d5525f67 --- /dev/null +++ b/devel/pcre2/files/patch-Makefile.am @@ -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 diff --git a/devel/pcre2/pkg-descr b/devel/pcre2/pkg-descr new file mode 100644 index 000000000000..8ab15b245585 --- /dev/null +++ b/devel/pcre2/pkg-descr @@ -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/ diff --git a/devel/pcre2/pkg-plist b/devel/pcre2/pkg-plist new file mode 100644 index 000000000000..3f04967ab52e --- /dev/null +++ b/devel/pcre2/pkg-plist @@ -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 |