Werkzeug: Update to 2.3.4, rename source package
[feed/packages.git] / net / apfree-wifidog / patches / 010-support-openssl-3.0.patch
1 From 53a042836063e965f8df9fc85bb32e8e46da8a05 Mon Sep 17 00:00:00 2001
2 From: staylightblow8 <liudf0716@gmail.com>
3 Date: Thu, 20 Oct 2022 10:47:59 +0800
4 Subject: [PATCH] support openssl > 3.0
5
6 ---
7 cmake/Modules/FindOpenSSL.cmake | 27 +++++++++++++++++++++++----
8 1 file changed, 23 insertions(+), 4 deletions(-)
9
10 --- a/cmake/Modules/FindOpenSSL.cmake
11 +++ b/cmake/Modules/FindOpenSSL.cmake
12 @@ -282,11 +282,11 @@ function(from_hex HEX DEC)
13 set(${DEC} ${_res} PARENT_SCOPE)
14 endfunction()
15
16 -if (OPENSSL_INCLUDE_DIR)
17 - if(OPENSSL_INCLUDE_DIR AND EXISTS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h")
18 - file(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h" openssl_version_str
19 - REGEX "^# *define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x([0-9a-fA-F])+.*")
20 +if(OPENSSL_INCLUDE_DIR AND EXISTS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h")
21 + file(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h" openssl_version_str
22 + REGEX "^#[\t ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x([0-9a-fA-F])+.*")
23
24 + if(openssl_version_str)
25 # The version number is encoded as 0xMNNFFPPS: major minor fix patch status
26 # The status gives if this is a developer or prerelease and is ignored here.
27 # Major, minor, and fix directly translate into the version numbers shown in
28 @@ -315,6 +315,25 @@ if (OPENSSL_INCLUDE_DIR)
29 endif ()
30
31 set(OPENSSL_VERSION "${OPENSSL_VERSION_MAJOR}.${OPENSSL_VERSION_MINOR}.${OPENSSL_VERSION_FIX}${OPENSSL_VERSION_PATCH_STRING}")
32 + else ()
33 + # Since OpenSSL 3.0.0, the new version format is MAJOR.MINOR.PATCH and
34 + # a new OPENSSL_VERSION_STR macro contains exactly that
35 + file(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h" OPENSSL_VERSION_STR
36 + REGEX "^#[\t ]*define[\t ]+OPENSSL_VERSION_STR[\t ]+\"([0-9])+\\.([0-9])+\\.([0-9])+\".*")
37 + string(REGEX REPLACE "^.*OPENSSL_VERSION_STR[\t ]+\"([0-9]+\\.[0-9]+\\.[0-9]+)\".*$"
38 + "\\1" OPENSSL_VERSION_STR "${OPENSSL_VERSION_STR}")
39 +
40 + set(OPENSSL_VERSION "${OPENSSL_VERSION_STR}")
41 +
42 + # Setting OPENSSL_VERSION_MAJOR OPENSSL_VERSION_MINOR and OPENSSL_VERSION_FIX
43 + string(REGEX MATCHALL "([0-9])+" OPENSSL_VERSION_NUMBER "${OPENSSL_VERSION}")
44 + list(POP_FRONT OPENSSL_VERSION_NUMBER
45 + OPENSSL_VERSION_MAJOR
46 + OPENSSL_VERSION_MINOR
47 + OPENSSL_VERSION_FIX)
48 +
49 + unset(OPENSSL_VERSION_NUMBER)
50 + unset(OPENSSL_VERSION_STR)
51 endif ()
52 endif ()
53