diff --git a/.patch/httplib/0001-mingw.patch b/.patch/httplib/0001-mingw.patch index fa3e53a88c..da9a9e74bd 100644 --- a/.patch/httplib/0001-mingw.patch +++ b/.patch/httplib/0001-mingw.patch @@ -1,52 +1,62 @@ -From e1a946ffb79022d38351a0623f819a5419965c3e Mon Sep 17 00:00:00 2001 +From 436fc1978c78edd085d99b33275b24be0ac96aa0 Mon Sep 17 00:00:00 2001 From: crueter -Date: Fri, 24 Oct 2025 23:41:09 -0700 -Subject: [PATCH] [build] Fix MinGW missing GetAddrInfoExCancel definition +Date: Sun, 1 Feb 2026 16:21:10 -0500 +Subject: [PATCH] Fix build on MinGW -MinGW does not define GetAddrInfoExCancel in its wstcpi whatever header, -so to get around this we can just load it with GetProcAddress et al. +MinGW doesn't define GetAddrInfoExCancel. Signed-off-by: crueter --- - httplib.h | 14 ++++++++++++-- - 1 file changed, 12 insertions(+), 2 deletions(-) + httplib.h | 18 ++++++++++++++++-- + 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/httplib.h b/httplib.h -index e15ba44..90a76dc 100644 +index ec8d2a2..5f9a510 100644 --- a/httplib.h +++ b/httplib.h -@@ -203,11 +203,13 @@ +@@ -203,14 +203,17 @@ #error Sorry, Visual Studio versions prior to 2015 are not supported #endif -#pragma comment(lib, "ws2_32.lib") - + #ifndef _SSIZE_T_DEFINED using ssize_t = __int64; + #define _SSIZE_T_DEFINED + #endif #endif // _MSC_VER +#if defined(_MSC_VER) || defined(__MINGW32__) +#pragma comment(lib, "ws2_32.lib") +#endif ++ + #ifndef S_ISREG #define S_ISREG(m) (((m) & S_IFREG) == S_IFREG) #endif // S_ISREG -@@ -3557,7 +3559,15 @@ inline int getaddrinfo_with_timeout(const char *node, const char *service, +@@ -4528,7 +4531,17 @@ inline int getaddrinfo_with_timeout(const char *node, const char *service, auto wait_result = ::WaitForSingleObject(event, static_cast(timeout_sec * 1000)); if (wait_result == WAIT_TIMEOUT) { +#ifdef __MINGW32__ -+ typedef INT (WSAAPI *PFN_GETADDRINFOEXCANCEL)(HANDLE *CancelHandle); -+ auto wsdll = LoadLibraryW((wchar_t*) "ws2_32.lib"); -+ PFN_GETADDRINFOEXCANCEL GetAddrInfoExCancel = (PFN_GETADDRINFOEXCANCEL) GetProcAddress(wsdll, "GetAddrInfoExCancel"); ++ typedef INT(WSAAPI * PFN_GETADDRINFOEXCANCEL)(HANDLE * CancelHandle); ++ auto wsdll = LoadLibraryW((wchar_t *)"ws2_32.lib"); ++ PFN_GETADDRINFOEXCANCEL GetAddrInfoExCancel = ++ (PFN_GETADDRINFOEXCANCEL)GetProcAddress(wsdll, "GetAddrInfoExCancel"); + + if (cancel_handle) { GetAddrInfoExCancel(&cancel_handle); } +#else if (cancel_handle) { ::GetAddrInfoExCancel(&cancel_handle); } +#endif ++ ::CloseHandle(event); return EAI_AGAIN; } +@@ -13952,3 +13965,4 @@ inline SSL_CTX *Client::ssl_context() const { + } // namespace httplib + + #endif // CPPHTTPLIB_HTTPLIB_H ++ -- -2.51.0 +2.51.2 diff --git a/cpmfile.json b/cpmfile.json index 0bb6afe88c..5a12273435 100644 --- a/cpmfile.json +++ b/cpmfile.json @@ -46,9 +46,9 @@ "package": "ZLIB", "repo": "madler/zlib", "tag": "v%VERSION%", - "hash": "8c9642495bafd6fad4ab9fb67f09b268c69ff9af0f4f20cf15dfc18852ff1f312bd8ca41de761b3f8d8e90e77d79f2ccacd3d4c5b19e475ecf09d021fdfe9088", + "hash": "06eaa3a1eaaeb31f461a2283b03a91ed8eb2406e62cd97ea1c69836324909edeecd93edd03ff0bf593d9dde223e3376149134c5b1fe2e8688c258cadf8cd60ff", "version": "1.2", - "git_version": "1.3.1", + "git_version": "1.3.1.2", "options": [ "ZLIB_BUILD_SHARED OFF", "ZLIB_INSTALL OFF" diff --git a/externals/cpmfile.json b/externals/cpmfile.json index f5e4e02345..e9732d90de 100644 --- a/externals/cpmfile.json +++ b/externals/cpmfile.json @@ -28,8 +28,8 @@ "httplib": { "repo": "yhirose/cpp-httplib", "tag": "v%VERSION%", - "hash": "e7a8877d489c97669a8ee536e1498575be921e558ed947253013fe6b67a49d4569eedd01f543caa70183b92d8ac0e8687d662a70d880954412e387317008a239", - "git_version": "0.28.0", + "hash": "a229e24cca4afe78e5c0aa2e482f15108ac34101fd8dbd927365f15e8c37dec4de38c5277d635017d692a5b320e1b929f8bfcc076f52b8e4dcdab8fe53bfdf2e", + "git_version": "0.30.1", "find_args": "MODULE GLOBAL", "patches": [ "0001-mingw.patch" @@ -174,9 +174,9 @@ "package": "Catch2", "repo": "catchorg/Catch2", "tag": "v%VERSION%", - "hash": "a95495142f915d6e9c2a23e80fe360343e9097680066a2f9d3037a070ba5f81ee5559a0407cc9e972dc2afae325873f1fc7ea07a64012c0f01aac6e549f03e3f", + "hash": "acb3f463a7404d6a3bce52e474075cdadf9bb241d93feaf147c182d756e5a2f8bd412f4658ca186d15ab8fed36fc587d79ec311f55642d8e4ded16df9e213656", "version": "3.0.1", - "git_version": "3.11.0", + "git_version": "3.12.0", "patches": [ "0001-solaris-isnan-fix.patch" ]