aboutsummaryrefslogtreecommitdiffstats
path: root/devel
diff options
context:
space:
mode:
authorfeld <feld@FreeBSD.org>2015-08-26 01:31:32 +0800
committerfeld <feld@FreeBSD.org>2015-08-26 01:31:32 +0800
commit31b626285db2d5a0e1367c522b84201f95446233 (patch)
treebf17ebef9a789d1ea500e0cd60dc75a6aa761e42 /devel
parent774bcea8d4dc2602964e3959f00f0e8fc863c02f (diff)
downloadfreebsd-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/Makefile1
-rw-r--r--devel/pcre2/Makefile96
-rw-r--r--devel/pcre2/distinfo2
-rw-r--r--devel/pcre2/files/patch-Makefile.am11
-rw-r--r--devel/pcre2/pkg-descr10
-rw-r--r--devel/pcre2/pkg-plist102
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