summaryrefslogtreecommitdiff
path: root/devel/pcre2/files/patch-git-01-f8e7d124500e869ffc5643228c34d3745d64a3d7
diff options
context:
space:
mode:
Diffstat (limited to 'devel/pcre2/files/patch-git-01-f8e7d124500e869ffc5643228c34d3745d64a3d7')
-rw-r--r--devel/pcre2/files/patch-git-01-f8e7d124500e869ffc5643228c34d3745d64a3d7221
1 files changed, 221 insertions, 0 deletions
diff --git a/devel/pcre2/files/patch-git-01-f8e7d124500e869ffc5643228c34d3745d64a3d7 b/devel/pcre2/files/patch-git-01-f8e7d124500e869ffc5643228c34d3745d64a3d7
new file mode 100644
index 000000000000..a0f49df6ffc5
--- /dev/null
+++ b/devel/pcre2/files/patch-git-01-f8e7d124500e869ffc5643228c34d3745d64a3d7
@@ -0,0 +1,221 @@
+From f8e7d124500e869ffc5643228c34d3745d64a3d7 Mon Sep 17 00:00:00 2001
+From: Nicholas Wilson <nicholas@nicholaswilson.me.uk>
+Date: Sat, 25 Oct 2025 12:28:05 +0100
+Subject: [PATCH] Use correctly-cased CMake variables for better compatibility
+ (#825)
+
+* Use the correct casing for <PackageName>_FOUND
+* Add a CI test with CMake very latest (currently 4.1.2). This job also sets DCMAKE_POLICY_VERSION_MINIMUM to verify that we don't break any future policies, greater than our minimum version 3.15.
+* Tidy the ncurses support for libreadline to use READLINE_LIBRARIES
+---
+ .github/workflows/dev.yml | 140 +++++++++++++++++++++++++++++++++-----
+ CMakeLists.txt | 50 ++++++--------
+ cmake/FindEditline.cmake | 5 ++
+ cmake/FindReadline.cmake | 17 ++++-
+ 4 files changed, 164 insertions(+), 48 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c97099601..ac3f8d001 100644
+--- CMakeLists.txt
++++ CMakeLists.txt
+@@ -146,7 +146,7 @@ endif()
+ # setting CMAKE_MODULE_PATH on the command line.
+ list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
+
+-# external packages
++# External packages
+ find_package(BZip2)
+ find_package(ZLIB)
+ find_package(Readline)
+@@ -446,7 +446,7 @@ if(HAVE_VSCRIPT)
+ endif()
+
+ # bzip2 lib
+-if(BZIP2_FOUND)
++if(BZip2_FOUND)
+ option(PCRE2_SUPPORT_LIBBZ2 "Enable support for linking pcre2grep with libbz2." ON)
+ endif()
+
+@@ -456,12 +456,12 @@ if(ZLIB_FOUND)
+ endif()
+
+ # editline lib
+-if(EDITLINE_FOUND)
++if(Editline_FOUND)
+ option(PCRE2_SUPPORT_LIBEDIT "Enable support for linking pcre2test with libedit." OFF)
+ endif()
+
+ # readline lib
+-if(READLINE_FOUND)
++if(Readline_FOUND)
+ option(PCRE2_SUPPORT_LIBREADLINE "Enable support for linking pcre2test with libreadline." ON)
+ endif()
+
+@@ -498,12 +498,12 @@ if(PCRE2_BUILD_PCRE2GREP AND NOT PCRE2_BUILD_PCRE2_8)
+ endif()
+
+ if(PCRE2_SUPPORT_LIBBZ2)
+- if(BZIP2_FOUND)
+- include_directories(${BZIP2_INCLUDE_DIR})
++ if(BZip2_FOUND)
++ include_directories(${BZIP2_INCLUDE_DIRS})
+ else()
+ message(
+ FATAL_ERROR
+- " libbz2 not found. Set BZIP2_INCLUDE_DIR to a compatible header\n"
++ " libbz2 not found. Set BZIP2_INCLUDE_DIRS to a compatible header\n"
+ " or set BZip2_ROOT to a full bzip2 installed tree, as needed."
+ )
+ endif()
+@@ -511,42 +511,42 @@ endif()
+
+ if(PCRE2_SUPPORT_LIBZ)
+ if(ZLIB_FOUND)
+- include_directories(${ZLIB_INCLUDE_DIR})
++ include_directories(${ZLIB_INCLUDE_DIRS})
+ else()
+ message(
+ FATAL_ERROR
+- " zlib not found. Set ZLIB_INCLUDE_DIR to a compatible header\n"
++ " zlib not found. Set ZLIB_INCLUDE_DIRS to a compatible header\n"
+ " or set ZLIB_ROOT to a full zlib installed tree, as needed."
+ )
+ endif()
+ endif()
+
+ if(PCRE2_SUPPORT_LIBEDIT)
+- if(EDITLINE_FOUND)
+- include_directories(${EDITLINE_INCLUDE_DIR})
++ if(Editline_FOUND)
++ include_directories(${EDITLINE_INCLUDE_DIRS})
+ else()
+ message(
+ FATAL_ERROR
+- " libedit not found. Set EDITLINE_INCLUDE_DIR to a compatible header\n"
++ " libedit not found. Set EDITLINE_INCLUDE_DIRS to a compatible header\n"
+ " or set Editline_ROOT to a full libedit installed tree, as needed."
+ )
+ endif()
+ endif()
+
+ if(PCRE2_SUPPORT_LIBREADLINE)
+- if(READLINE_FOUND)
+- include_directories(${READLINE_INCLUDE_DIR})
++ if(Readline_FOUND)
++ include_directories(${READLINE_INCLUDE_DIRS})
+ else()
+ message(
+ FATAL_ERROR
+- " libreadline not found. Set READLINE_INCLUDE_DIR to a compatible header\n"
++ " libreadline not found. Set READLINE_INCLUDE_DIRS to a compatible header\n"
+ " or set Readline_ROOT to a full libreadline installed tree, as needed."
+ )
+ endif()
+ endif()
+
+ if(PCRE2_SUPPORT_LIBREADLINE AND PCRE2_SUPPORT_LIBEDIT)
+- if(READLINE_FOUND)
++ if(Readline_FOUND)
+ message(
+ FATAL_ERROR
+ " Only one of the readline compatible libraries can be enabled.\n"
+@@ -603,24 +603,16 @@ endif()
+ set(PCRE2TEST_LIBS)
+ set(PCRE2GREP_LIBS)
+
+-# This next one used to reference ${READLINE_LIBRARY})
+-# but I was advised to add the NCURSES test as well, along with
+-# some modifications to cmake/FindReadline.cmake which should
+-# make it possible to override the default if necessary. PH
+-
+ if(PCRE2_SUPPORT_LIBREADLINE)
+ set(SUPPORT_LIBREADLINE 1)
+- list(APPEND PCRE2TEST_LIBS ${READLINE_LIBRARY})
+- if(DEFINED NCURSES_LIBRARY)
+- list(APPEND PCRE2TEST_LIBS ${NCURSES_LIBRARY})
+- endif()
++ list(APPEND PCRE2TEST_LIBS ${READLINE_LIBRARIES})
+ endif()
+
+ # libedit is a plug-compatible alternative to libreadline
+
+ if(PCRE2_SUPPORT_LIBEDIT)
+ set(SUPPORT_LIBEDIT 1)
+- list(APPEND PCRE2TEST_LIBS ${EDITLINE_LIBRARY})
++ list(APPEND PCRE2TEST_LIBS ${EDITLINE_LIBRARIES})
+ endif()
+
+ if(PCRE2_SUPPORT_LIBZ)
+@@ -1589,17 +1581,17 @@ if(PCRE2_SHOW_REPORT)
+ else()
+ message(STATUS " Link pcre2grep with libz .......... : Library not found")
+ endif()
+- if(BZIP2_FOUND)
++ if(BZip2_FOUND)
+ message(STATUS " Link pcre2grep with libbz2 ........ : ${PCRE2_SUPPORT_LIBBZ2}")
+ else()
+ message(STATUS " Link pcre2grep with libbz2 ........ : Library not found")
+ endif()
+- if(EDITLINE_FOUND)
++ if(Editline_FOUND)
+ message(STATUS " Link pcre2test with libeditline ... : ${PCRE2_SUPPORT_LIBEDIT}")
+ else()
+ message(STATUS " Link pcre2test with libeditline ... : Library not found")
+ endif()
+- if(READLINE_FOUND)
++ if(Readline_FOUND)
+ message(STATUS " Link pcre2test with libreadline ... : ${PCRE2_SUPPORT_LIBREADLINE}")
+ else()
+ message(STATUS " Link pcre2test with libreadline ... : Library not found")
+diff --git a/cmake/FindEditline.cmake b/cmake/FindEditline.cmake
+index c973c7b64..4784e052c 100644
+--- cmake/FindEditline.cmake
++++ cmake/FindEditline.cmake
+@@ -8,3 +8,8 @@ mark_as_advanced(EDITLINE_LIBRARY)
+
+ include(FindPackageHandleStandardArgs)
+ find_package_handle_standard_args(Editline DEFAULT_MSG EDITLINE_LIBRARY EDITLINE_INCLUDE_DIR)
++
++if(Editline_FOUND)
++ set(EDITLINE_LIBRARIES "${EDITLINE_LIBRARY}")
++ set(EDITLINE_INCLUDE_DIRS "${EDITLINE_INCLUDE_DIR}")
++endif()
+diff --git a/cmake/FindReadline.cmake b/cmake/FindReadline.cmake
+index 399096c37..e55fbcf22 100644
+--- cmake/FindReadline.cmake
++++ cmake/FindReadline.cmake
+@@ -16,6 +16,11 @@ if(READLINE_INCLUDE_DIR AND READLINE_LIBRARY)
+ include(CheckSymbolExists)
+ include(CMakePushCheckState)
+
++ set(first_run FALSE)
++ if(NOT DEFINED HAVE_READLINE_FUNC)
++ set(first_run TRUE)
++ endif()
++
+ cmake_push_check_state(RESET)
+ set(CMAKE_REQUIRED_LIBRARIES "${READLINE_LIBRARY}")
+ set(CMAKE_REQUIRED_INCLUDES "${READLINE_INCLUDE_DIR}")
+@@ -36,7 +41,9 @@ if(READLINE_INCLUDE_DIR AND READLINE_LIBRARY)
+ check_symbol_exists("readline" "stdio.h;readline/readline.h" HAVE_READLINE_FUNC_${lib})
+
+ if(HAVE_READLINE_FUNC_${lib})
+- message(STATUS "Looking for readline - readline needs ${lib}")
++ if(first_run)
++ message(STATUS "Looking for readline - readline needs ${lib}")
++ endif()
+ set(NCURSES_LIBRARY "${NCURSES_LIBRARY_${lib}}" CACHE FILEPATH "Path to the ncurses library")
+ mark_as_advanced(NCURSES_LIBRARY)
+ break()
+@@ -50,3 +57,11 @@ endif()
+
+ include(FindPackageHandleStandardArgs)
+ find_package_handle_standard_args(Readline DEFAULT_MSG READLINE_LIBRARY READLINE_INCLUDE_DIR)
++
++if(Readline_FOUND)
++ set(READLINE_LIBRARIES "${READLINE_LIBRARY}")
++ if(DEFINED NCURSES_LIBRARY)
++ list(APPEND READLINE_LIBRARIES "${NCURSES_LIBRARY}")
++ endif()
++ set(READLINE_INCLUDE_DIRS "${READLINE_INCLUDE_DIR}")
++endif()