diff --git a/ports/pcre/CONTROL b/ports/pcre/CONTROL deleted file mode 100644 index 5f42aa89dc6..00000000000 --- 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 ef89070ddf1..bdbd807d36f 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 $) +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 12792689ff3..00000000000 --- 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 00000000000..bd9c9b4390a --- /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 00000000000..59dbc8b21f6 --- /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 2cb9fce3488..f96e2a5bfd4 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 00000000000..2e6ddd7ca27 --- /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 b274cadd845..1ebceef5837 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 952fc1b7a77..b8be22d8a3c 100644 --- a/versions/p-/pcre.json +++ b/versions/p-/pcre.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "665bab8c2bf878815782cff93dfff5720316ab88", + "version": "8.45", + "port-version": 0 + }, { "git-tree": "69e232f12c4e3eab4115f0672466a6661978bea2", "version-string": "8.44",