summaryrefslogtreecommitdiff
path: root/devel
diff options
context:
space:
mode:
authornia <nia@pkgsrc.org>2020-05-19 14:18:49 +0000
committernia <nia@pkgsrc.org>2020-05-19 14:18:49 +0000
commit69917fb1d533917d78c7d3eb6e140c04b99da862 (patch)
tree6499e0b5fc3720385c825bae533d353c041123da /devel
parentdb857f848f99052c6a2ddbb40899c9b53f1126b5 (diff)
downloadpkgsrc-69917fb1d533917d78c7d3eb6e140c04b99da862.tar.gz
pcre2: Update to 10.35
Version 10.35 09-May-2020 --------------------------- 1. Use PCRE2_MATCH_EMPTY flag to detect empty matches in JIT. 2. Fix ARMv5 JIT improper handling of labels right after a constant pool. 3. A JIT bug is fixed which allowed to read the fields of the compiled pattern before its existence is checked. 4. Back in the PCRE1 day, capturing groups that contained recursive back references to themselves were made atomic (version 8.01, change 18) because after the end a repeated group, the captured substrings had their values from the final repetition, not from an earlier repetition that might be the destination of a backtrack. This feature was documented, and was carried over into PCRE2. However, it has now been realized that the major refactoring that was done for 10.30 has made this atomicizing unnecessary, and it is confusing when users are unaware of it, making some patterns appear not to be working as expected. Capture values of recursive back references in repeated groups are now correctly backtracked, so this unnecessary restriction has been removed. 5. Added PCRE2_SUBSTITUTE_LITERAL. 6. Avoid some VS compiler warnings. 7. Added PCRE2_SUBSTITUTE_MATCHED. 8. Added (?* and (?<* as synonms for (*napla: and (*naplb: to match another regex engine. The Perl regex folks are aware of this usage and have made a note about it. 9. When an assertion is repeated, PCRE2 used to limit the maximum repetition to 1, believing that repeating an assertion is pointless. However, if a positive assertion contains capturing groups, repetition can be useful. In any case, an assertion could always be wrapped in a repeated group. The only restriction that is now imposed is that an unlimited maximum is changed to one more than the minimum. 10. Fix *THEN verbs in lookahead assertions in JIT. 11. Added PCRE2_SUBSTITUTE_REPLACEMENT_ONLY. 12. The JIT stack should be freed when the low-level stack allocation fails. 13. In pcre2grep, if the final line in a scanned file is output but does not end with a newline sequence, add a newline according to the --newline setting. 14. (?(DEFINE)...) groups were not being handled correctly when checking for the fixed length of a lookbehind assertion. Such a group within a lookbehind should be skipped, as it does not contribute to the length of the group. Instead, the (DEFINE) group was being processed, and if at the end of the lookbehind, that end was not correctly recognized. Errors such as "lookbehind assertion is not fixed length" and also "internal error: bad code value in parsed_skip()" could result. 15. Put a limit of 1000 on recursive calls in pcre2_study() when searching nested groups for starting code units, in order to avoid stack overflow issues. If the limit is reached, it just gives up trying for this optimization. 16. The control verb chain list must always be restored when exiting from a recurse function in JIT. 17. Fix a crash which occurs when the character type of an invalid UTF character is decoded in JIT. 18. Changes in many areas of the code so that when Unicode is supported and PCRE2_UCP is set without PCRE2_UTF, Unicode character properties are used for upper/lower case computations on characters whose code points are greater than 127. 19. The function for checking UTF-16 validity was returning an incorrect offset for the start of the error when a high surrogate was not followed by a valid low surrogate. This caused incorrect behaviour, for example when PCRE2_MATCH_INVALID_UTF was set and a match started immediately following the invalid high surrogate, such as /aa/ matching "\x{d800}aa". 20. If a DEFINE group immediately preceded a lookbehind assertion, the pattern could be mis-compiled and therefore not match correctly. This is the example that found this: /(?(DEFINE)(?<foo>bar))(?<![-a-z0-9])word/ which failed to match "word" because the "move back" value was set to zero. 21. Following a request from a user, some extensions and tidies to the character tables handling have been done: (a) The dftables auxiliary program is renamed pcre2_dftables, but it is still not installed for public use. (b) There is now a -b option for pcre2_dftables, which causes the tables to be written in binary. There is also a -help option. (c) PCRE2_CONFIG_TABLES_LENGTH is added to pcre2_config() so that an application that wants to save tables in binary knows how long they are. 22. Changed setting of CMAKE_MODULE_PATH in CMakeLists.txt from SET to LIST(APPEND...) to allow a setting from the command line to be included. 23. Updated to Unicode 13.0.0. 24. CMake build now checks for secure_getenv() and strerror(). Patch by Carlo. 25. Avoid using [-1] as a suffix in pcre2test because it can provoke a compiler warning. 26. Added tests for __attribute__((uninitialized)) to both the configure and CMake build files, and then applied this attribute to the variable called stack_frames_vector[] in pcre2_match(). When implemented, this disables automatic initialization (a facility in clang), which can take time on big variables. 27. Updated CMakeLists.txt (patches by Uwe Korn) to add support for pcre2-config, the libpcre*.pc files, SOVERSION, VERSION and the MACHO_*_VERSIONS settings for CMake builds. 28. Another patch to CMakeLists.txt to check for mkostemp (configure already does). Patch by Carlo Marcelo Arenas Belon. 29. Check for the existence of memfd_create in both CMake and configure configurations. Patch by Carlo Marcelo Arenas Belon. 30. Restrict the configuration setting for the SELinux compatible execmem allocator (change 10.30/44) to Linux and NetBSD.
Diffstat (limited to 'devel')
-rw-r--r--devel/pcre2/Makefile8
-rw-r--r--devel/pcre2/distinfo11
-rw-r--r--devel/pcre2/patches/patch-src_sljit_sljitProtExecAllocator.c29
3 files changed, 8 insertions, 40 deletions
diff --git a/devel/pcre2/Makefile b/devel/pcre2/Makefile
index 50252dde5af..d0a1b8f1f70 100644
--- a/devel/pcre2/Makefile
+++ b/devel/pcre2/Makefile
@@ -1,10 +1,8 @@
-# $NetBSD: Makefile,v 1.16 2020/01/26 17:31:02 rillig Exp $
+# $NetBSD: Makefile,v 1.17 2020/05/19 14:18:49 nia Exp $
-DISTNAME= pcre2-10.34
+DISTNAME= pcre2-10.35
CATEGORIES= devel
-MASTER_SITES= ftp://ftp.pcre.org/pub/pcre/
-MASTER_SITES+= https://ftp.pcre.org/pub/pcre/
-MASTER_SITES+= ${MASTER_SITE_SOURCEFORGE:=pcre/}
+MASTER_SITES= https://ftp.pcre.org/pub/pcre/
EXTRACT_SUFX= .tar.bz2
MAINTAINER= pkgsrc-users@NetBSD.org
diff --git a/devel/pcre2/distinfo b/devel/pcre2/distinfo
index 678953db3aa..1c328c6ba1f 100644
--- a/devel/pcre2/distinfo
+++ b/devel/pcre2/distinfo
@@ -1,7 +1,6 @@
-$NetBSD: distinfo,v 1.12 2019/11/26 10:22:37 wiz Exp $
+$NetBSD: distinfo,v 1.13 2020/05/19 14:18:49 nia Exp $
-SHA1 (pcre2-10.34.tar.bz2) = ffd8da87b958c44dd9b927e7b39934e2af5fef8b
-RMD160 (pcre2-10.34.tar.bz2) = bf224aeb1d9d1c8a4f28ff4c6b4148d2b3c6c1c6
-SHA512 (pcre2-10.34.tar.bz2) = 77ad75f8b0b8bbfc2f57932596151bca25b06bd621e0f047e476f38cd127f43e2052460b95c281a7e874aad2b7fd86c8f3413f4a323abb74b9440a42d0ee9524
-Size (pcre2-10.34.tar.bz2) = 1714731 bytes
-SHA1 (patch-src_sljit_sljitProtExecAllocator.c) = 447aed1538c7f7f0a1a555c21ee4945f73a2a353
+SHA1 (pcre2-10.35.tar.bz2) = 2e5ee2dd397fa8c3ce9aed1a986e51d66a88bdb0
+RMD160 (pcre2-10.35.tar.bz2) = fdfdf74eec41107c77eecc071eb153efabd59605
+SHA512 (pcre2-10.35.tar.bz2) = ecfb8d48e219daff02874783b7b436fe7d70d8471e44eb66e1e29abb7b0aa67547e6b5fba7058b074ac90eef265ece7d12728f80afdda45b6b8124435f4561fd
+Size (pcre2-10.35.tar.bz2) = 1725214 bytes
diff --git a/devel/pcre2/patches/patch-src_sljit_sljitProtExecAllocator.c b/devel/pcre2/patches/patch-src_sljit_sljitProtExecAllocator.c
deleted file mode 100644
index 9ae2f76ed7a..00000000000
--- a/devel/pcre2/patches/patch-src_sljit_sljitProtExecAllocator.c
+++ /dev/null
@@ -1,29 +0,0 @@
-$NetBSD: patch-src_sljit_sljitProtExecAllocator.c,v 1.2 2019/11/26 10:22:37 wiz Exp $
-
-NetBSD does not have secure_getenv.
-https://bugs.exim.org/show_bug.cgi?id=2469
-
---- src/sljit/sljitProtExecAllocator.c.orig 2017-02-15 17:24:58.000000000 +0000
-+++ src/sljit/sljitProtExecAllocator.c
-@@ -97,7 +97,9 @@ struct chunk_header {
- #endif
-
- int mkostemp(char *template, int flags);
-+#if HAVE_SECURE_GETENV
- char *secure_getenv(const char *name);
-+#endif
-
- static SLJIT_INLINE int create_tempfile(void)
- {
-@@ -124,7 +126,11 @@ static SLJIT_INLINE int create_tempfile(
- tmp_name_len = 4;
- #endif
-
-+#if HAVE_SECURE_GETENV
- dir = secure_getenv("TMPDIR");
-+#else
-+ dir = getenv("TMPDIR");
-+#endif
- if (dir) {
- len = strlen(dir);
- if (len > 0 && len < sizeof(tmp_name)) {