aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWolfgang Stöggl <c72578@yahoo.de>2021-06-24 22:20:52 +0200
committerGitHub <noreply@github.com>2021-06-24 13:20:52 -0700
commit9f20dbd9a070ec5ebd1ff5745db307159d34840c (patch)
treedcea4baac2fdf8bead3819651df6c464efdc7dc3
parent0b54c4604e37e43879b4d4ce7e9d8978e79712e3 (diff)
downloadvcpkg-9f20dbd9a070ec5ebd1ff5745db307159d34840c.tar.gz
vcpkg-9f20dbd9a070ec5ebd1ff5745db307159d34840c.zip
[pcre] Update to 8.45 (#18550)
- New upstream version 8.45 This is the final release of PCRE1 - Update patches: export-cmake-targets.patch pcre-8.45_suppress_cmake_and_compiler_warnings-errors.patch - Add patch: pcre-8.45_fix_postfix_for_debug_Windows_builds.patch - Remove deprecated SYSTEM_LIBRARIES from vcpkg_fixup_pkgconfig() - Switch from CONTROL to vcpkg.json .\vcpkg format-manifest .\ports\pcre\CONTROL
-rw-r--r--ports/pcre/CONTROL5
-rw-r--r--ports/pcre/export-cmake-targets.patch12
-rw-r--r--ports/pcre/pcre-8.44_suppress_cmake_and_compiler_warnings-errors.patch18
-rw-r--r--ports/pcre/pcre-8.45_fix_postfix_for_debug_Windows_builds.patch161
-rw-r--r--ports/pcre/pcre-8.45_suppress_cmake_and_compiler_warnings-errors.patch18
-rw-r--r--ports/pcre/portfile.cmake89
-rw-r--r--ports/pcre/vcpkg.json6
-rw-r--r--versions/baseline.json4
-rw-r--r--versions/p-/pcre.json5
9 files changed, 220 insertions, 98 deletions
diff --git a/ports/pcre/CONTROL b/ports/pcre/CONTROL
deleted file mode 100644
index 5f42aa89d..000000000
--- a/ports/pcre/CONTROL
+++ /dev/null
@@ -1,5 +0,0 @@
-Source: pcre
-Version: 8.44
-Port-Version: 8
-Homepage: https://www.pcre.org/
-Description: Perl Compatible Regular Expressions
diff --git a/ports/pcre/export-cmake-targets.patch b/ports/pcre/export-cmake-targets.patch
index ef89070dd..bdbd807d3 100644
--- a/ports/pcre/export-cmake-targets.patch
+++ b/ports/pcre/export-cmake-targets.patch
@@ -1,8 +1,6 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 252de6e..bcef3ae 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -885,10 +885,19 @@ ENDIF(PCRE_BUILD_TESTS)
+--- a/CMakeLists.txt 2021-06-14 10:33:38.000000000 +0200
++++ b/CMakeLists.txt 2021-06-18 18:08:24.162881000 +0200
+@@ -934,10 +934,19 @@
# Installation
SET(CMAKE_INSTALL_ALWAYS 1)
@@ -11,8 +9,8 @@ index 252de6e..bcef3ae 100644
+ INSTALL(TARGETS ${target}
+ EXPORT pcre-targets
RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib)
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ target_include_directories(${target} PUBLIC $<INSTALL_INTERFACE:include>)
+endforeach()
+
diff --git a/ports/pcre/pcre-8.44_suppress_cmake_and_compiler_warnings-errors.patch b/ports/pcre/pcre-8.44_suppress_cmake_and_compiler_warnings-errors.patch
deleted file mode 100644
index 12792689f..000000000
--- a/ports/pcre/pcre-8.44_suppress_cmake_and_compiler_warnings-errors.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/CMakeLists.txt 2017-01-23 16:33:46.000000000 +0100
-+++ b/CMakeLists.txt 2020-03-08 21:12:00.225068400 +0100
-@@ -74,7 +74,6 @@
- # CMP0026 to avoid warnings for the use of LOCATION in GET_TARGET_PROPERTY.
-
- CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0)
--CMAKE_POLICY(SET CMP0026 OLD)
-
- SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) # for FindReadline.cmake
-
-@@ -191,6 +190,7 @@
- ENDIF(MINGW)
-
- IF(MSVC)
-+ add_definitions(/wd4703 /wd4146 /wd4308)
- OPTION(PCRE_STATIC_RUNTIME
- "ON=Compile against the static runtime (/MT)."
- OFF)
diff --git a/ports/pcre/pcre-8.45_fix_postfix_for_debug_Windows_builds.patch b/ports/pcre/pcre-8.45_fix_postfix_for_debug_Windows_builds.patch
new file mode 100644
index 000000000..bd9c9b439
--- /dev/null
+++ b/ports/pcre/pcre-8.45_fix_postfix_for_debug_Windows_builds.patch
@@ -0,0 +1,161 @@
+Index: CMakeLists.txt
+===================================================================
+--- CMakeLists.txt (revision 1767)
++++ CMakeLists.txt (working copy)
+@@ -436,6 +436,12 @@
+ @ONLY)
+ ENDIF(PCRE_BUILD_PCRECPP)
+
++# Make sure to not link debug libs
++# against release libs and vice versa
++IF(WIN32)
++ SET(CMAKE_DEBUG_POSTFIX "d")
++ENDIF(WIN32)
++
+ # Generate pkg-config files
+ SET(PACKAGE_VERSION "${PCRE_MAJOR}.${PCRE_MINOR}")
+ SET(prefix "${CMAKE_INSTALL_PREFIX}")
+@@ -442,6 +448,9 @@
+ SET(exec_prefix "\${prefix}")
+ SET(libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}")
+ SET(includedir "\${prefix}/include")
++IF(WIN32 AND (CMAKE_BUILD_TYPE MATCHES Debug))
++ SET(LIB_POSTFIX ${CMAKE_DEBUG_POSTFIX})
++ENDIF()
+ IF(NOT BUILD_SHARED_LIBS)
+ SET(PCRE_STATIC_CFLAG "-DPCRE_STATIC")
+ ENDIF(NOT BUILD_SHARED_LIBS)
+@@ -659,11 +668,6 @@
+ ENDIF(MSVC)
+
+ SET(CMAKE_INCLUDE_CURRENT_DIR 1)
+-# needed to make sure to not link debug libs
+-# against release libs and vice versa
+-IF(WIN32)
+- SET(CMAKE_DEBUG_POSTFIX "d")
+-ENDIF(WIN32)
+
+ SET(targets)
+
+Index: configure.ac
+===================================================================
+--- configure.ac (revision 1767)
++++ configure.ac (working copy)
+@@ -1044,6 +1044,9 @@
+ AM_CONDITIONAL([WITH_GCOV],[test "x$enable_coverage" = "xyes"])
+
+ # Produce these files, in addition to config.h.
++# LIB_POSTFIX is used by CMakeLists.txt for Windows debug builds.
++# Pass empty LIB_POSTFIX to *.pc files and pcre-config here.
++AC_SUBST(LIB_POSTFIX)
+ AC_CONFIG_FILES(
+ Makefile
+ libpcre.pc
+Index: libpcre.pc.in
+===================================================================
+--- libpcre.pc.in (revision 1767)
++++ libpcre.pc.in (working copy)
+@@ -8,6 +8,6 @@
+ Name: libpcre
+ Description: PCRE - Perl compatible regular expressions C library with 8 bit character support
+ Version: @PACKAGE_VERSION@
+-Libs: -L${libdir} -lpcre
++Libs: -L${libdir} -lpcre@LIB_POSTFIX@
+ Libs.private: @PTHREAD_CFLAGS@ @PTHREAD_LIBS@
+ Cflags: -I${includedir} @PCRE_STATIC_CFLAG@
+Index: libpcre16.pc.in
+===================================================================
+--- libpcre16.pc.in (revision 1767)
++++ libpcre16.pc.in (working copy)
+@@ -8,6 +8,6 @@
+ Name: libpcre16
+ Description: PCRE - Perl compatible regular expressions C library with 16 bit character support
+ Version: @PACKAGE_VERSION@
+-Libs: -L${libdir} -lpcre16
++Libs: -L${libdir} -lpcre16@LIB_POSTFIX@
+ Libs.private: @PTHREAD_CFLAGS@ @PTHREAD_LIBS@
+ Cflags: -I${includedir} @PCRE_STATIC_CFLAG@
+Index: libpcre32.pc.in
+===================================================================
+--- libpcre32.pc.in (revision 1767)
++++ libpcre32.pc.in (working copy)
+@@ -8,6 +8,6 @@
+ Name: libpcre32
+ Description: PCRE - Perl compatible regular expressions C library with 32 bit character support
+ Version: @PACKAGE_VERSION@
+-Libs: -L${libdir} -lpcre32
++Libs: -L${libdir} -lpcre32@LIB_POSTFIX@
+ Libs.private: @PTHREAD_CFLAGS@ @PTHREAD_LIBS@
+ Cflags: -I${includedir} @PCRE_STATIC_CFLAG@
+Index: libpcrecpp.pc.in
+===================================================================
+--- libpcrecpp.pc.in (revision 1767)
++++ libpcrecpp.pc.in (working copy)
+@@ -8,5 +8,5 @@
+ Name: libpcrecpp
+ Description: PCRECPP - C++ wrapper for PCRE
+ Version: @PACKAGE_VERSION@
+-Libs: -L${libdir} -lpcre -lpcrecpp
++Libs: -L${libdir} -lpcre@LIB_POSTFIX@ -lpcrecpp@LIB_POSTFIX@
+ Cflags: -I${includedir} @PCRE_STATIC_CFLAG@
+Index: libpcreposix.pc.in
+===================================================================
+--- libpcreposix.pc.in (revision 1767)
++++ libpcreposix.pc.in (working copy)
+@@ -8,6 +8,6 @@
+ Name: libpcreposix
+ Description: PCREPosix - Posix compatible interface to libpcre
+ Version: @PACKAGE_VERSION@
+-Libs: -L${libdir} -lpcreposix
++Libs: -L${libdir} -lpcreposix@LIB_POSTFIX@
+ Cflags: -I${includedir} @PCRE_STATIC_CFLAG@
+ Requires.private: libpcre
+Index: pcre-config.in
+===================================================================
+--- pcre-config.in (revision 1767)
++++ pcre-config.in (working copy)
+@@ -91,7 +91,7 @@
+ ;;
+ --libs-posix)
+ if test @enable_pcre8@ = yes ; then
+- echo $libS$libR -lpcreposix -lpcre
++ echo $libS$libR -lpcreposix@LIB_POSTFIX@ -lpcre@LIB_POSTFIX@
+ else
+ echo "${usage}" 1>&2
+ fi
+@@ -98,7 +98,7 @@
+ ;;
+ --libs)
+ if test @enable_pcre8@ = yes ; then
+- echo $libS$libR -lpcre
++ echo $libS$libR -lpcre@LIB_POSTFIX@
+ else
+ echo "${usage}" 1>&2
+ fi
+@@ -105,7 +105,7 @@
+ ;;
+ --libs16)
+ if test @enable_pcre16@ = yes ; then
+- echo $libS$libR -lpcre16
++ echo $libS$libR -lpcre16@LIB_POSTFIX@
+ else
+ echo "${usage}" 1>&2
+ fi
+@@ -112,7 +112,7 @@
+ ;;
+ --libs32)
+ if test @enable_pcre32@ = yes ; then
+- echo $libS$libR -lpcre32
++ echo $libS$libR -lpcre32@LIB_POSTFIX@
+ else
+ echo "${usage}" 1>&2
+ fi
+@@ -119,7 +119,7 @@
+ ;;
+ --libs-cpp)
+ if test @enable_cpp@ = yes ; then
+- echo $libS$libR -lpcrecpp -lpcre
++ echo $libS$libR -lpcrecpp@LIB_POSTFIX@ -lpcre@LIB_POSTFIX@
+ else
+ echo "${usage}" 1>&2
+ fi
diff --git a/ports/pcre/pcre-8.45_suppress_cmake_and_compiler_warnings-errors.patch b/ports/pcre/pcre-8.45_suppress_cmake_and_compiler_warnings-errors.patch
new file mode 100644
index 000000000..59dbc8b21
--- /dev/null
+++ b/ports/pcre/pcre-8.45_suppress_cmake_and_compiler_warnings-errors.patch
@@ -0,0 +1,18 @@
+--- a/CMakeLists.txt 2021-06-14 10:33:38.000000000 +0200
++++ b/CMakeLists.txt 2021-06-18 17:59:59.155148900 +0200
+@@ -77,7 +77,6 @@
+ # CMP0026 to avoid warnings for the use of LOCATION in GET_TARGET_PROPERTY.
+
+ CMAKE_MINIMUM_REQUIRED(VERSION 2.8.5)
+-CMAKE_POLICY(SET CMP0026 OLD)
+
+ # For FindReadline.cmake. This was changed to allow setting CMAKE_MODULE_PATH
+ # on the command line.
+@@ -199,6 +198,7 @@
+ ENDIF(MINGW)
+
+ IF(MSVC)
++ add_definitions(/wd4703 /wd4146 /wd4308)
+ OPTION(PCRE_STATIC_RUNTIME
+ "ON=Compile against the static runtime (/MT)."
+ OFF)
diff --git a/ports/pcre/portfile.cmake b/ports/pcre/portfile.cmake
index 2cb9fce34..f96e2a5bf 100644
--- a/ports/pcre/portfile.cmake
+++ b/ports/pcre/portfile.cmake
@@ -1,10 +1,12 @@
-set(PCRE_VERSION 8.44)
-set(EXPECTED_SHA adddec1236b25ff1c90e73835c2ba25d60a5839cbde2d6be7838a8ec099f7443dede931dc39002943243e21afea572eda71ee8739058e72235a192e4324398f0)
+set(PCRE_VERSION 8.45)
+set(EXPECTED_SHA 71f246c0abbf356222933ad1604cab87a1a2a3cd8054a0b9d6deb25e0735ce9f40f923d14cbd21f32fdac7283794270afcb0f221ad24662ac35934fcb73675cd)
set(PATCHES
# Fix CMake Deprecation Warning concerning OLD behavior for policy CMP0026
# Suppress MSVC compiler warnings C4703, C4146, C4308, which fixes errors
# under x64-uwp and arm-uwp
- pcre-8.44_suppress_cmake_and_compiler_warnings-errors.patch
+ pcre-8.45_suppress_cmake_and_compiler_warnings-errors.patch
+ # Modified for 8.45 from https://bugs.exim.org/show_bug.cgi?id=2600
+ pcre-8.45_fix_postfix_for_debug_Windows_builds.patch
export-cmake-targets.patch)
vcpkg_download_distfile(ARCHIVE
@@ -34,19 +36,20 @@ endif()
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
- OPTIONS -DPCRE_BUILD_TESTS=NO
- -DPCRE_BUILD_PCREGREP=NO
- -DPCRE_BUILD_PCRE32=YES
- -DPCRE_BUILD_PCRE16=YES
- -DPCRE_BUILD_PCRE8=YES
- -DPCRE_SUPPORT_JIT=YES
- -DPCRE_SUPPORT_UTF=YES
- -DPCRE_SUPPORT_UNICODE_PROPERTIES=YES
- # optional dependencies for PCREGREP
- -DPCRE_SUPPORT_LIBBZ2=OFF
- -DPCRE_SUPPORT_LIBZ=OFF
- -DPCRE_SUPPORT_LIBEDIT=OFF
- -DPCRE_SUPPORT_LIBREADLINE=OFF
+ OPTIONS
+ -DPCRE_BUILD_TESTS=NO
+ -DPCRE_BUILD_PCREGREP=NO
+ -DPCRE_BUILD_PCRE32=YES
+ -DPCRE_BUILD_PCRE16=YES
+ -DPCRE_BUILD_PCRE8=YES
+ -DPCRE_SUPPORT_JIT=YES
+ -DPCRE_SUPPORT_UTF=YES
+ -DPCRE_SUPPORT_UNICODE_PROPERTIES=YES
+ # optional dependencies for PCREGREP
+ -DPCRE_SUPPORT_LIBBZ2=OFF
+ -DPCRE_SUPPORT_LIBZ=OFF
+ -DPCRE_SUPPORT_LIBEDIT=OFF
+ -DPCRE_SUPPORT_LIBREADLINE=OFF
# OPTIONS -DUSE_THIS_IN_ALL_BUILDS=1 -DUSE_THIS_TOO=2
# OPTIONS_RELEASE -DOPTIMIZE=1
# OPTIONS_DEBUG -DDEBUGGABLE=1
@@ -66,56 +69,7 @@ foreach(FILE ${CURRENT_PACKAGES_DIR}/include/pcre.h ${CURRENT_PACKAGES_DIR}/incl
file(WRITE ${FILE} "${PCRE_H}")
endforeach()
-# Create pkgconfig files
-set(PACKAGE_VERSION ${PCRE_VERSION})
-set(prefix "${CURRENT_INSTALLED_DIR}")
-set(exec_prefix "\${prefix}")
-set(libdir "\${prefix}/lib")
-set(includedir "\${prefix}/include")
-if(VCPKG_TARGET_IS_LINUX)
- # Used here in .pc.in files: Libs.private: @PTHREAD_CFLAGS@
- set(PTHREAD_CFLAGS "-pthread")
-endif()
-if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
-
- configure_file("${SOURCE_PATH}/libpcre.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libpcre.pc" @ONLY)
- configure_file("${SOURCE_PATH}/libpcre16.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libpcre16.pc" @ONLY)
- configure_file("${SOURCE_PATH}/libpcre32.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libpcre32.pc" @ONLY)
- configure_file("${SOURCE_PATH}/libpcrecpp.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libpcrecpp.pc" @ONLY)
- configure_file("${SOURCE_PATH}/libpcreposix.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libpcreposix.pc" @ONLY)
-endif()
-# debug
-set(prefix "${CURRENT_INSTALLED_DIR}/debug")
-set(exec_prefix "\${prefix}")
-set(libdir "\${prefix}/lib")
-set(includedir "\${prefix}/../include")
-if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- configure_file("${SOURCE_PATH}/libpcre.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libpcre.pc" @ONLY)
- configure_file("${SOURCE_PATH}/libpcre16.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libpcre16.pc" @ONLY)
- configure_file("${SOURCE_PATH}/libpcre32.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libpcre32.pc" @ONLY)
- configure_file("${SOURCE_PATH}/libpcrecpp.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libpcrecpp.pc" @ONLY)
- configure_file("${SOURCE_PATH}/libpcreposix.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libpcreposix.pc" @ONLY)
-
- if (VCPKG_TARGET_IS_WINDOWS)
- vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libpcre.pc
- "-lpcre" "-lpcred"
- )
- vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libpcre16.pc
- "-lpcre16" "-lpcre16d"
- )
- vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libpcre32.pc
- "-lpcre32" "-lpcre32d"
- )
- vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libpcrecpp.pc
- "-lpcre -lpcrecpp" "-lpcred -lpcrecppd"
- )
- vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libpcreposix.pc
- "-lpcreposix" "-lpcreposixd"
- )
- endif()
-endif()
-
-vcpkg_fixup_pkgconfig(SYSTEM_LIBRARIES pthread)
+vcpkg_fixup_pkgconfig()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
@@ -123,6 +77,9 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/man)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/man)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/doc)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
+endif()
vcpkg_copy_pdbs()
configure_file(${CMAKE_CURRENT_LIST_DIR}/unofficial-pcre-config.cmake ${CURRENT_PACKAGES_DIR}/share/unofficial-pcre/unofficial-pcre-config.cmake @ONLY)
diff --git a/ports/pcre/vcpkg.json b/ports/pcre/vcpkg.json
new file mode 100644
index 000000000..2e6ddd7ca
--- /dev/null
+++ b/ports/pcre/vcpkg.json
@@ -0,0 +1,6 @@
+{
+ "name": "pcre",
+ "version": "8.45",
+ "description": "Perl Compatible Regular Expressions",
+ "homepage": "https://www.pcre.org/"
+}
diff --git a/versions/baseline.json b/versions/baseline.json
index b274cadd8..1ebceef58 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -4761,8 +4761,8 @@
"port-version": 4
},
"pcre": {
- "baseline": "8.44",
- "port-version": 8
+ "baseline": "8.45",
+ "port-version": 0
},
"pcre2": {
"baseline": "10.37",
diff --git a/versions/p-/pcre.json b/versions/p-/pcre.json
index 952fc1b7a..b8be22d8a 100644
--- a/versions/p-/pcre.json
+++ b/versions/p-/pcre.json
@@ -1,6 +1,11 @@
{
"versions": [
{
+ "git-tree": "665bab8c2bf878815782cff93dfff5720316ab88",
+ "version": "8.45",
+ "port-version": 0
+ },
+ {
"git-tree": "69e232f12c4e3eab4115f0672466a6661978bea2",
"version-string": "8.44",
"port-version": 8