svn commit: r395306 - in head/devel: . pcre2 pcre2/files

Mark Felder feld at FreeBSD.org
Tue Aug 25 17:31:35 UTC 2015


Author: feld
Date: Tue Aug 25 17:31:32 2015
New Revision: 395306
URL: https://svnweb.freebsd.org/changeset/ports/395306

Log:
  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.

Added:
  head/devel/pcre2/
  head/devel/pcre2/Makefile   (contents, props changed)
  head/devel/pcre2/distinfo   (contents, props changed)
  head/devel/pcre2/files/
  head/devel/pcre2/files/patch-Makefile.am   (contents, props changed)
  head/devel/pcre2/pkg-descr   (contents, props changed)
  head/devel/pcre2/pkg-plist   (contents, props changed)
Modified:
  head/devel/Makefile

Modified: head/devel/Makefile
==============================================================================
--- head/devel/Makefile	Tue Aug 25 17:28:44 2015	(r395305)
+++ head/devel/Makefile	Tue Aug 25 17:31:32 2015	(r395306)
@@ -3433,6 +3433,7 @@
     SUBDIR += pccts
     SUBDIR += pcl
     SUBDIR += pcre
+    SUBDIR += pcre2
     SUBDIR += pcre++
     SUBDIR += pcsc-ada
     SUBDIR += pcsc-lite

Added: head/devel/pcre2/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/pcre2/Makefile	Tue Aug 25 17:31:32 2015	(r395306)
@@ -0,0 +1,96 @@
+# Created by: Mark Felder <feld at 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 at 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>

Added: head/devel/pcre2/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/pcre2/distinfo	Tue Aug 25 17:31:32 2015	(r395306)
@@ -0,0 +1,2 @@
+SHA256 (pcre2-10.20.tar.gz) = 4af30b4a559d9facc4dbeafecde2b6f4414df64dcc588688f9bceea61669fca7
+SIZE (pcre2-10.20.tar.gz) = 1807522

Added: head/devel/pcre2/files/patch-Makefile.am
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/pcre2/files/patch-Makefile.am	Tue Aug 25 17:31:32 2015	(r395306)
@@ -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

Added: head/devel/pcre2/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/pcre2/pkg-descr	Tue Aug 25 17:31:32 2015	(r395306)
@@ -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/

Added: head/devel/pcre2/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/pcre2/pkg-plist	Tue Aug 25 17:31:32 2015	(r395306)
@@ -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


More information about the svn-ports-all mailing list