Index | Thread | Search

From:
Stuart Henderson <stu@spacehopper.org>
Subject:
Re: [update] devel/pcre2 10.44
To:
Laurent Cheylus <foxy@free.fr>
Cc:
Ports <ports@openbsd.org>, namn@openbsd.org
Date:
Wed, 24 Jul 2024 15:43:16 +0100

Download raw body.

Thread
On 2024/07/24 14:59, Laurent Cheylus wrote:
> Hi Stuart,
> 
> ----- Mail original -----
> > On 2024/07/02 10:32, Laurent Cheylus wrote:
> > > update of devel/pcre2 library to the latest version 10.44.
> > > 
> > > Update Makefile:
> > > - use GH_* to download sources
> > 
> > GH_* is for cases where there are no proper release tarballs.
> 
> OK
> 
> But we must change HOMEPAGE to https://pcre2project.github.io/pcre2/
> The old HOMEPAGE (https://www.pcre.org/) is not an official site for the PCRE2 project.

Updated my diff for that. That wasn't in your diff either though,
just removing HOMEPAGE and falling back to the default github.com
page).

> > > - bump minor versions for pcre2-8, pcre2-16 and pcre2-32 libraries
> > > (new functions added)
> > 
> > Right.
> 
> I don't understand the updated versions in comments of your patch (13.0 instead of 10.44 for pcre2-{8,16,32}, 3.5 instead of unchanged 2.3 for pcre2-posix).

<lundy:/usr/obj/ports/pcre2-10.44/pcre2-10.44>$ cat shared_libs.log
# SHARED_LIBS+= <libname>      <obsd version> # <orig version>
SHARED_LIBS +=	pcre2-8              0.7      # 13.0
SHARED_LIBS +=	pcre2-posix          1.0      # 3.5
SHARED_LIBS +=	pcre2-16             0.6      # 13.0
SHARED_LIBS +=	pcre2-32             0.6      # 13.0

> > > - use "devel/cmake" as module for build
> > 
> > autoconf is still support, and sticking to it means that pcre2 will
> > be able to build on more archs. Also it results in fewer changes to the
> > installed files, so testing is easier (changing to cmake really wants
> > wider testing).
> 
> OK to use autoconf/configure script instead of cmake.
> 
> > > - patch tests to fix them on OpenBSD, see commit
> > > https://github.com/PCRE2Project/pcre2/commit/7e141969b538917c9f4a85839031d066eec67ad2
> > 
> > Please add patches rather than using sed, unless patches are super
> > unwieldy.
> 
> I used sed instead of patch files because testdata/grepoutput is not a regular text file.

Oh bleh. Since it was already broken in 10.37 let's just skip patching
for that then, and it will get fixed next update.

Also noticed a bunch of docs under share/doc/pcre2 are just HTML/txt
conversions of the manpages which are a bit pointless for us to install.
Might as well rm them and save 1.7MB of install size.

Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/pcre2/Makefile,v
diff -u -p -r1.20 Makefile
--- Makefile	8 Feb 2024 00:57:55 -0000	1.20
+++ Makefile	24 Jul 2024 14:43:04 -0000
@@ -1,23 +1,17 @@
 COMMENT =	perl-compatible regular expression library, version 2

-DISTNAME =	pcre2-10.37
+DISTNAME =	pcre2-10.44

-SHARED_LIBS +=  pcre2-16                  0.5 # 10.37
-SHARED_LIBS +=  pcre2-32                  0.5 # 10.37
-SHARED_LIBS +=  pcre2-8                   0.6 # 10.37
-SHARED_LIBS +=  pcre2-posix               1.0 # 2.3
+SHARED_LIBS +=  pcre2-16                  0.6 # 13.0
+SHARED_LIBS +=  pcre2-32                  0.6 # 13.0
+SHARED_LIBS +=  pcre2-8                   0.7 # 13.0
+SHARED_LIBS +=  pcre2-posix               1.0 # 3.5

 CATEGORIES =	devel

-REVISION =	2
+SITES =		https://github.com/PCRE2Project/pcre2/releases/download/${DISTNAME}/

-SITES = 	https://github.com/PCRE2Project/pcre2/releases/download/${DISTNAME}/ \
-		https://ftp.pcre.org/pub/pcre/ \
-		${SITE_SOURCEFORGE:=pcre/} \
-		http://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ \
-		ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
-
-HOMEPAGE =	https://www.pcre.org/
+HOMEPAGE =	https://pcre2project.github.io/pcre2/
 MAINTAINER =	Nam Nguyen <namn@openbsd.org>

 # BSD
@@ -37,5 +31,8 @@ CONFIGURE_ARGS =	--enable-pcre2-16 \
 CONFIGURE_ARGS +=	--disable-jit
 CONFIGURE_ENV =		CPPFLAGS="-I${LOCALBASE}/include" \
 			LDFLAGS="-L${LOCALBASE}/lib"
+
+post-install:
+	rm -r ${PREFIX}/share/doc/pcre2/{pcre2*.txt,html}

 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/devel/pcre2/distinfo,v
diff -u -p -r1.9 distinfo
--- distinfo	5 Nov 2021 22:18:23 -0000	1.9
+++ distinfo	24 Jul 2024 14:43:04 -0000
@@ -1,2 +1,2 @@
-SHA256 (pcre2-10.37.tar.gz) = BOIUwMQKl7ilwrSuiKOqipPm8uRcazU03aw1HyZUhXc=
-SIZE (pcre2-10.37.tar.gz) = 2299767
+SHA256 (pcre2-10.44.tar.gz) = hrnLCqO8t5lPqogBgpK8cEzbtwjnhffHQ1L/bqfTF1s=
+SIZE (pcre2-10.44.tar.gz) = 2552792
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/devel/pcre2/pkg/PLIST,v
diff -u -p -r1.6 PLIST
--- pkg/PLIST	11 Mar 2022 18:52:29 -0000	1.6
+++ pkg/PLIST	24 Jul 2024 14:43:04 -0000
@@ -42,6 +42,7 @@ lib/pkgconfig/libpcre2-posix.pc
 @man man/man3/pcre2_general_context_free.3
 @man man/man3/pcre2_get_error_message.3
 @man man/man3/pcre2_get_mark.3
+@man man/man3/pcre2_get_match_data_heapframes_size.3
 @man man/man3/pcre2_get_match_data_size.3
 @man man/man3/pcre2_get_ovector_count.3
 @man man/man3/pcre2_get_ovector_pointer.3
@@ -77,7 +78,9 @@ lib/pkgconfig/libpcre2-posix.pc
 @man man/man3/pcre2_set_glob_separator.3
 @man man/man3/pcre2_set_heap_limit.3
 @man man/man3/pcre2_set_match_limit.3
+@man man/man3/pcre2_set_max_pattern_compiled_length.3
 @man man/man3/pcre2_set_max_pattern_length.3
+@man man/man3/pcre2_set_max_varlookbehind.3
 @man man/man3/pcre2_set_newline.3
 @man man/man3/pcre2_set_offset_limit.3
 @man man/man3/pcre2_set_parens_nest_limit.3
@@ -120,105 +123,3 @@ share/doc/pcre2/ChangeLog
 share/doc/pcre2/LICENCE
 share/doc/pcre2/NEWS
 share/doc/pcre2/README
-share/doc/pcre2/html/
-share/doc/pcre2/html/NON-AUTOTOOLS-BUILD.txt
-share/doc/pcre2/html/README.txt
-share/doc/pcre2/html/index.html
-share/doc/pcre2/html/pcre2-config.html
-share/doc/pcre2/html/pcre2.html
-share/doc/pcre2/html/pcre2_callout_enumerate.html
-share/doc/pcre2/html/pcre2_code_copy.html
-share/doc/pcre2/html/pcre2_code_copy_with_tables.html
-share/doc/pcre2/html/pcre2_code_free.html
-share/doc/pcre2/html/pcre2_compile.html
-share/doc/pcre2/html/pcre2_compile_context_copy.html
-share/doc/pcre2/html/pcre2_compile_context_create.html
-share/doc/pcre2/html/pcre2_compile_context_free.html
-share/doc/pcre2/html/pcre2_config.html
-share/doc/pcre2/html/pcre2_convert_context_copy.html
-share/doc/pcre2/html/pcre2_convert_context_create.html
-share/doc/pcre2/html/pcre2_convert_context_free.html
-share/doc/pcre2/html/pcre2_converted_pattern_free.html
-share/doc/pcre2/html/pcre2_dfa_match.html
-share/doc/pcre2/html/pcre2_general_context_copy.html
-share/doc/pcre2/html/pcre2_general_context_create.html
-share/doc/pcre2/html/pcre2_general_context_free.html
-share/doc/pcre2/html/pcre2_get_error_message.html
-share/doc/pcre2/html/pcre2_get_mark.html
-share/doc/pcre2/html/pcre2_get_match_data_size.html
-share/doc/pcre2/html/pcre2_get_ovector_count.html
-share/doc/pcre2/html/pcre2_get_ovector_pointer.html
-share/doc/pcre2/html/pcre2_get_startchar.html
-share/doc/pcre2/html/pcre2_jit_compile.html
-share/doc/pcre2/html/pcre2_jit_free_unused_memory.html
-share/doc/pcre2/html/pcre2_jit_match.html
-share/doc/pcre2/html/pcre2_jit_stack_assign.html
-share/doc/pcre2/html/pcre2_jit_stack_create.html
-share/doc/pcre2/html/pcre2_jit_stack_free.html
-share/doc/pcre2/html/pcre2_maketables.html
-share/doc/pcre2/html/pcre2_maketables_free.html
-share/doc/pcre2/html/pcre2_match.html
-share/doc/pcre2/html/pcre2_match_context_copy.html
-share/doc/pcre2/html/pcre2_match_context_create.html
-share/doc/pcre2/html/pcre2_match_context_free.html
-share/doc/pcre2/html/pcre2_match_data_create.html
-share/doc/pcre2/html/pcre2_match_data_create_from_pattern.html
-share/doc/pcre2/html/pcre2_match_data_free.html
-share/doc/pcre2/html/pcre2_pattern_convert.html
-share/doc/pcre2/html/pcre2_pattern_info.html
-share/doc/pcre2/html/pcre2_serialize_decode.html
-share/doc/pcre2/html/pcre2_serialize_encode.html
-share/doc/pcre2/html/pcre2_serialize_free.html
-share/doc/pcre2/html/pcre2_serialize_get_number_of_codes.html
-share/doc/pcre2/html/pcre2_set_bsr.html
-share/doc/pcre2/html/pcre2_set_callout.html
-share/doc/pcre2/html/pcre2_set_character_tables.html
-share/doc/pcre2/html/pcre2_set_compile_extra_options.html
-share/doc/pcre2/html/pcre2_set_compile_recursion_guard.html
-share/doc/pcre2/html/pcre2_set_depth_limit.html
-share/doc/pcre2/html/pcre2_set_glob_escape.html
-share/doc/pcre2/html/pcre2_set_glob_separator.html
-share/doc/pcre2/html/pcre2_set_heap_limit.html
-share/doc/pcre2/html/pcre2_set_match_limit.html
-share/doc/pcre2/html/pcre2_set_max_pattern_length.html
-share/doc/pcre2/html/pcre2_set_newline.html
-share/doc/pcre2/html/pcre2_set_offset_limit.html
-share/doc/pcre2/html/pcre2_set_parens_nest_limit.html
-share/doc/pcre2/html/pcre2_set_recursion_limit.html
-share/doc/pcre2/html/pcre2_set_recursion_memory_management.html
-share/doc/pcre2/html/pcre2_set_substitute_callout.html
-share/doc/pcre2/html/pcre2_substitute.html
-share/doc/pcre2/html/pcre2_substring_copy_byname.html
-share/doc/pcre2/html/pcre2_substring_copy_bynumber.html
-share/doc/pcre2/html/pcre2_substring_free.html
-share/doc/pcre2/html/pcre2_substring_get_byname.html
-share/doc/pcre2/html/pcre2_substring_get_bynumber.html
-share/doc/pcre2/html/pcre2_substring_length_byname.html
-share/doc/pcre2/html/pcre2_substring_length_bynumber.html
-share/doc/pcre2/html/pcre2_substring_list_free.html
-share/doc/pcre2/html/pcre2_substring_list_get.html
-share/doc/pcre2/html/pcre2_substring_nametable_scan.html
-share/doc/pcre2/html/pcre2_substring_number_from_name.html
-share/doc/pcre2/html/pcre2api.html
-share/doc/pcre2/html/pcre2build.html
-share/doc/pcre2/html/pcre2callout.html
-share/doc/pcre2/html/pcre2compat.html
-share/doc/pcre2/html/pcre2convert.html
-share/doc/pcre2/html/pcre2demo.html
-share/doc/pcre2/html/pcre2grep.html
-share/doc/pcre2/html/pcre2jit.html
-share/doc/pcre2/html/pcre2limits.html
-share/doc/pcre2/html/pcre2matching.html
-share/doc/pcre2/html/pcre2partial.html
-share/doc/pcre2/html/pcre2pattern.html
-share/doc/pcre2/html/pcre2perform.html
-share/doc/pcre2/html/pcre2posix.html
-share/doc/pcre2/html/pcre2sample.html
-share/doc/pcre2/html/pcre2serialize.html
-share/doc/pcre2/html/pcre2syntax.html
-share/doc/pcre2/html/pcre2test.html
-share/doc/pcre2/html/pcre2unicode.html
-share/doc/pcre2/pcre2-config.txt
-share/doc/pcre2/pcre2.txt
-share/doc/pcre2/pcre2grep.txt
-share/doc/pcre2/pcre2test.txt