poco: Update to 1.14.2 (#25763)

* poco: Update to 1.14.2

* Rework patch for templated classes export
This commit is contained in:
Алексей 2025-10-09 14:13:59 +03:00 committed by GitHub
parent 76c59b3b15
commit 913dff4b0e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 490 additions and 30 deletions

View File

@ -1,6 +1,7 @@
--- a/Foundation/include/Poco/Platform.h
+++ b/Foundation/include/Poco/Platform.h
@@ -240,6 +240,10 @@
diff -Naur poco-1.14.2-all-orig/Foundation/include/Poco/Platform.h poco-1.14.2-all/Foundation/include/Poco/Platform.h
--- poco-1.14.2-all-orig/Foundation/include/Poco/Platform.h 2025-05-12 12:00:11.000000000 +0300
+++ poco-1.14.2-all/Foundation/include/Poco/Platform.h 2025-10-09 12:52:37.445370900 +0300
@@ -245,6 +245,10 @@
#endif
@ -10,11 +11,11 @@
+
#if defined(__clang__)
#define POCO_COMPILER_CLANG
#define POCO_HAVE_CXXABI_H
@@ -248,11 +252,6 @@
#elif defined (__GNUC__)
#define POCO_COMPILER_GCC
#define POCO_HAVE_CXXABI_H
#if __has_include(<cxxabi.h>)
@@ -257,11 +261,6 @@
#if __has_include(<cxxabi.h>)
#define POCO_HAVE_CXXABI_H
#endif
- #if defined (__MINGW32__) || defined (__MINGW64__)
- #define POCO_COMPILER_MINGW
- #endif
@ -23,13 +24,3 @@
#elif defined (__INTEL_COMPILER) || defined(__ICC) || defined(__ECC) || defined(__ICL)
#define POCO_COMPILER_INTEL
#elif defined (__SUNPRO_CC)
--- a/Foundation/src/Environment_WIN32U.cpp
+++ b/Foundation/src/Environment_WIN32U.cpp
@@ -18,6 +18,7 @@
#include "Poco/Buffer.h"
#include <sstream>
#include <cstring>
+#include <memory>
#include "Poco/UnWindows.h"
#include <winsock2.h>
#include <wincrypt.h>

View File

@ -1,6 +1,7 @@
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -513,7 +513,7 @@
diff -Naur poco-1.14.2-all-orig/CMakeLists.txt poco-1.14.2-all/CMakeLists.txt
--- poco-1.14.2-all-orig/CMakeLists.txt 2025-05-12 12:00:11.000000000 +0300
+++ poco-1.14.2-all/CMakeLists.txt 2025-10-09 12:55:04.853903100 +0300
@@ -545,7 +545,7 @@
# Set config script install location in a location that find_package() will
# look for, which is different on MS Windows than for UNIX
# Note: also set in POCO_GENERATE_PACKAGE macro in cmake/PocoMacros.cmake
@ -9,8 +10,9 @@
set(PocoConfigPackageLocation "cmake")
else()
set(PocoConfigPackageLocation "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}")
--- a/cmake/PocoMacros.cmake
+++ b/cmake/PocoMacros.cmake
diff -Naur poco-1.14.2-all-orig/cmake/PocoMacros.cmake poco-1.14.2-all/cmake/PocoMacros.cmake
--- poco-1.14.2-all-orig/cmake/PocoMacros.cmake 2025-05-12 12:00:11.000000000 +0300
+++ poco-1.14.2-all/cmake/PocoMacros.cmake 2025-10-09 12:55:04.855904900 +0300
@@ -40,8 +40,13 @@
endforeach()
endif(X64)
@ -25,7 +27,7 @@
if(NOT CMAKE_MC_COMPILER)
message(FATAL_ERROR "message compiler not found: required to build")
endif(NOT CMAKE_MC_COMPILER)
@@ -237,7 +237,7 @@
@@ -244,7 +249,7 @@
# Set config script install location in a location that find_package() will
# look for, which is different on MS Windows than for UNIX
# Note: also set in root CMakeLists.txt

View File

@ -0,0 +1,180 @@
diff -Naur poco-1.14.2-all-orig/ActiveRecord/CMakeLists.txt poco-1.14.2-all/ActiveRecord/CMakeLists.txt
--- poco-1.14.2-all-orig/ActiveRecord/CMakeLists.txt 2025-05-12 12:00:13.000000000 +0300
+++ poco-1.14.2-all/ActiveRecord/CMakeLists.txt 2025-10-02 11:51:54.927730300 +0300
@@ -7,7 +7,7 @@
POCO_HEADERS_AUTO(SRCS ${HDRS_G})
# Version Resource
-if(MSVC AND BUILD_SHARED_LIBS)
+if(WIN32 AND BUILD_SHARED_LIBS)
source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
list(APPEND SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
endif()
diff -Naur poco-1.14.2-all-orig/Crypto/CMakeLists.txt poco-1.14.2-all/Crypto/CMakeLists.txt
--- poco-1.14.2-all-orig/Crypto/CMakeLists.txt 2025-05-12 12:00:12.000000000 +0300
+++ poco-1.14.2-all/Crypto/CMakeLists.txt 2025-10-02 11:51:14.279862600 +0300
@@ -7,7 +7,7 @@
POCO_HEADERS_AUTO(SRCS ${HDRS_G})
# Version Resource
-if(MSVC AND BUILD_SHARED_LIBS)
+if(WIN32 AND BUILD_SHARED_LIBS)
source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
list(APPEND SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
endif()
diff -Naur poco-1.14.2-all-orig/Encodings/CMakeLists.txt poco-1.14.2-all/Encodings/CMakeLists.txt
--- poco-1.14.2-all-orig/Encodings/CMakeLists.txt 2025-05-12 12:00:11.000000000 +0300
+++ poco-1.14.2-all/Encodings/CMakeLists.txt 2025-10-02 11:52:21.713363600 +0300
@@ -7,7 +7,7 @@
POCO_HEADERS(SRCS Encodings ${HDRS_G})
# Version Resource
-if(MSVC AND BUILD_SHARED_LIBS)
+if(WIN32 AND BUILD_SHARED_LIBS)
source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
list(APPEND SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
endif()
diff -Naur poco-1.14.2-all-orig/Foundation/CMakeLists.txt poco-1.14.2-all/Foundation/CMakeLists.txt
--- poco-1.14.2-all-orig/Foundation/CMakeLists.txt 2025-05-12 12:00:11.000000000 +0300
+++ poco-1.14.2-all/Foundation/CMakeLists.txt 2025-10-02 11:24:38.192259500 +0300
@@ -16,7 +16,7 @@
)
# Version Resource
-if(MSVC AND BUILD_SHARED_LIBS)
+if(WIN32 AND BUILD_SHARED_LIBS)
source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
list(APPEND SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
endif()
diff -Naur poco-1.14.2-all-orig/JSON/CMakeLists.txt poco-1.14.2-all/JSON/CMakeLists.txt
--- poco-1.14.2-all-orig/JSON/CMakeLists.txt 2025-05-12 12:00:12.000000000 +0300
+++ poco-1.14.2-all/JSON/CMakeLists.txt 2025-10-02 11:24:23.533259000 +0300
@@ -8,7 +8,7 @@
POCO_SOURCES(SRCS pdjson src/pdjson.c)
# Version Resource
-if(MSVC AND BUILD_SHARED_LIBS)
+if(WIN32 AND BUILD_SHARED_LIBS)
source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
list(APPEND SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
endif()
diff -Naur poco-1.14.2-all-orig/JWT/CMakeLists.txt poco-1.14.2-all/JWT/CMakeLists.txt
--- poco-1.14.2-all-orig/JWT/CMakeLists.txt 2025-05-12 12:00:12.000000000 +0300
+++ poco-1.14.2-all/JWT/CMakeLists.txt 2025-10-02 11:52:37.752773200 +0300
@@ -7,7 +7,7 @@
POCO_HEADERS_AUTO(SRCS ${HDRS_G})
# Version Resource
-if(MSVC AND BUILD_SHARED_LIBS)
+if(WIN32 AND BUILD_SHARED_LIBS)
source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
list(APPEND SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
endif()
diff -Naur poco-1.14.2-all-orig/MongoDB/CMakeLists.txt poco-1.14.2-all/MongoDB/CMakeLists.txt
--- poco-1.14.2-all-orig/MongoDB/CMakeLists.txt 2025-05-12 12:00:13.000000000 +0300
+++ poco-1.14.2-all/MongoDB/CMakeLists.txt 2025-10-02 11:52:48.504174900 +0300
@@ -7,7 +7,7 @@
POCO_HEADERS_AUTO(SRCS ${HDRS_G})
# Version Resource
-if(MSVC AND BUILD_SHARED_LIBS)
+if(WIN32 AND BUILD_SHARED_LIBS)
source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
list(APPEND SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
endif()
diff -Naur poco-1.14.2-all-orig/Net/CMakeLists.txt poco-1.14.2-all/Net/CMakeLists.txt
--- poco-1.14.2-all-orig/Net/CMakeLists.txt 2025-05-12 12:00:12.000000000 +0300
+++ poco-1.14.2-all/Net/CMakeLists.txt 2025-10-02 11:53:03.797302900 +0300
@@ -33,7 +33,7 @@
endif()
# Version Resource
-if(MSVC AND BUILD_SHARED_LIBS)
+if(WIN32 AND BUILD_SHARED_LIBS)
source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
list(APPEND SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
endif()
diff -Naur poco-1.14.2-all-orig/NetSSL_OpenSSL/CMakeLists.txt poco-1.14.2-all/NetSSL_OpenSSL/CMakeLists.txt
--- poco-1.14.2-all-orig/NetSSL_OpenSSL/CMakeLists.txt 2025-05-12 12:00:12.000000000 +0300
+++ poco-1.14.2-all/NetSSL_OpenSSL/CMakeLists.txt 2025-10-02 11:53:15.092100300 +0300
@@ -7,7 +7,7 @@
POCO_HEADERS_AUTO(SRCS ${HDRS_G})
# Version Resource
-if(MSVC AND BUILD_SHARED_LIBS)
+if(WIN32 AND BUILD_SHARED_LIBS)
source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
list(APPEND SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
endif()
diff -Naur poco-1.14.2-all-orig/PageCompiler/CMakeLists.txt poco-1.14.2-all/PageCompiler/CMakeLists.txt
--- poco-1.14.2-all-orig/PageCompiler/CMakeLists.txt 2025-05-12 12:00:13.000000000 +0300
+++ poco-1.14.2-all/PageCompiler/CMakeLists.txt 2025-10-02 11:53:26.090749300 +0300
@@ -5,7 +5,7 @@
POCO_SOURCES_AUTO(SRCS ${SRCS_G})
# Version Resource
-if(MSVC)
+if(WIN32)
source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
list(APPEND SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
endif()
diff -Naur poco-1.14.2-all-orig/Prometheus/CMakeLists.txt poco-1.14.2-all/Prometheus/CMakeLists.txt
--- poco-1.14.2-all-orig/Prometheus/CMakeLists.txt 2025-05-12 12:00:13.000000000 +0300
+++ poco-1.14.2-all/Prometheus/CMakeLists.txt 2025-10-02 11:53:38.940083100 +0300
@@ -7,7 +7,7 @@
POCO_HEADERS_AUTO(SRCS ${HDRS_G})
# Version Resource
-if(MSVC AND BUILD_SHARED_LIBS)
+if(WIN32 AND BUILD_SHARED_LIBS)
source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
list(APPEND SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
endif()
diff -Naur poco-1.14.2-all-orig/Redis/CMakeLists.txt poco-1.14.2-all/Redis/CMakeLists.txt
--- poco-1.14.2-all-orig/Redis/CMakeLists.txt 2025-05-12 12:00:13.000000000 +0300
+++ poco-1.14.2-all/Redis/CMakeLists.txt 2025-10-02 11:53:49.590925600 +0300
@@ -7,7 +7,7 @@
POCO_HEADERS_AUTO(SRCS ${HDRS_G})
# Version Resource
-if(MSVC AND BUILD_SHARED_LIBS)
+if(WIN32 AND BUILD_SHARED_LIBS)
source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
list(APPEND SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
endif()
diff -Naur poco-1.14.2-all-orig/Util/CMakeLists.txt poco-1.14.2-all/Util/CMakeLists.txt
--- poco-1.14.2-all-orig/Util/CMakeLists.txt 2025-05-12 12:00:12.000000000 +0300
+++ poco-1.14.2-all/Util/CMakeLists.txt 2025-10-02 11:54:00.662186000 +0300
@@ -7,7 +7,7 @@
POCO_HEADERS_AUTO(SRCS ${HDRS_G})
# Version Resource
-if(MSVC AND BUILD_SHARED_LIBS)
+if(WIN32 AND BUILD_SHARED_LIBS)
source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
list(APPEND SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
endif()
diff -Naur poco-1.14.2-all-orig/XML/CMakeLists.txt poco-1.14.2-all/XML/CMakeLists.txt
--- poco-1.14.2-all-orig/XML/CMakeLists.txt 2025-05-12 12:00:11.000000000 +0300
+++ poco-1.14.2-all/XML/CMakeLists.txt 2025-10-02 11:54:11.762542600 +0300
@@ -12,7 +12,7 @@
POCO_HEADERS_AUTO(SRCS ${HDRS_G})
# Version Resource
-if(MSVC AND BUILD_SHARED_LIBS)
+if(WIN32 AND BUILD_SHARED_LIBS)
source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
list(APPEND SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
endif()
diff -Naur poco-1.14.2-all-orig/Zip/CMakeLists.txt poco-1.14.2-all/Zip/CMakeLists.txt
--- poco-1.14.2-all-orig/Zip/CMakeLists.txt 2025-05-12 12:00:13.000000000 +0300
+++ poco-1.14.2-all/Zip/CMakeLists.txt 2025-10-02 11:54:23.058987700 +0300
@@ -7,7 +7,7 @@
POCO_HEADERS_AUTO(SRCS ${HDRS_G})
# Version Resource
-if(MSVC AND BUILD_SHARED_LIBS)
+if(WIN32 AND BUILD_SHARED_LIBS)
source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
list(APPEND SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
endif()

View File

@ -0,0 +1,280 @@
diff -Naur poco-1.14.2-all-orig/Data/ODBC/include/Poco/Data/ODBC/Diagnostics.h poco-1.14.2-all/Data/ODBC/include/Poco/Data/ODBC/Diagnostics.h
--- poco-1.14.2-all-orig/Data/ODBC/include/Poco/Data/ODBC/Diagnostics.h 2025-05-12 12:00:13.000000000 +0300
+++ poco-1.14.2-all/Data/ODBC/include/Poco/Data/ODBC/Diagnostics.h 2025-10-09 12:58:53.032306200 +0300
@@ -38,7 +38,7 @@
template <typename H, SQLSMALLINT handleType>
-class Diagnostics
+class ODBC_API Diagnostics
/// Utility class providing functionality for retrieving ODBC diagnostic
/// records. Diagnostics object must be created with corresponding handle
/// as constructor argument. During construction, diagnostic records fields
@@ -245,6 +245,7 @@
// explicit instantiation definition
#ifndef POCO_DOC
+#if !defined(POCO_COMPILER_MINGW)
#if defined(POCO_OS_FAMILY_WINDOWS)
extern template class Diagnostics<SQLHENV, SQL_HANDLE_ENV>;
extern template class Diagnostics<SQLHDBC, SQL_HANDLE_DBC>;
@@ -256,6 +257,7 @@
extern template class ODBC_API Diagnostics<SQLHSTMT, SQL_HANDLE_STMT>;
extern template class ODBC_API Diagnostics<SQLHDESC, SQL_HANDLE_DESC>;
#endif
+#endif
#endif
diff -Naur poco-1.14.2-all-orig/Data/ODBC/include/Poco/Data/ODBC/Error.h poco-1.14.2-all/Data/ODBC/include/Poco/Data/ODBC/Error.h
--- poco-1.14.2-all-orig/Data/ODBC/include/Poco/Data/ODBC/Error.h 2025-05-12 12:00:13.000000000 +0300
+++ poco-1.14.2-all/Data/ODBC/include/Poco/Data/ODBC/Error.h 2025-10-09 12:49:53.193458200 +0300
@@ -35,7 +35,7 @@
template <typename H, SQLSMALLINT handleType>
-class Error
+class ODBC_API Error
/// Class encapsulating ODBC diagnostic record collection. Collection is generated
/// during construction. Class provides access and string generation for the collection
/// as well as individual diagnostic records.
@@ -127,6 +127,7 @@
// explicit instantiation definition
#ifndef POCO_DOC
+#if !defined(POCO_COMPILER_MINGW)
#if defined(POCO_OS_FAMILY_WINDOWS)
extern template class Error<SQLHENV, SQL_HANDLE_ENV>;
extern template class Error<SQLHDBC, SQL_HANDLE_DBC>;
@@ -140,6 +141,7 @@
#endif
#endif
+#endif
using EnvironmentError = Error<SQLHENV, SQL_HANDLE_ENV>;
using ConnectionError = Error<SQLHDBC, SQL_HANDLE_DBC>;
diff -Naur poco-1.14.2-all-orig/Data/ODBC/include/Poco/Data/ODBC/ODBCException.h poco-1.14.2-all/Data/ODBC/include/Poco/Data/ODBC/ODBCException.h
--- poco-1.14.2-all-orig/Data/ODBC/include/Poco/Data/ODBC/ODBCException.h 2025-05-12 12:00:13.000000000 +0300
+++ poco-1.14.2-all/Data/ODBC/include/Poco/Data/ODBC/ODBCException.h 2025-10-09 12:58:27.817217400 +0300
@@ -38,7 +38,7 @@
template <class H, SQLSMALLINT handleType>
-class HandleException: public ODBCException
+class ODBC_API HandleException: public ODBCException
{
public:
HandleException(const H& handle): _error(handle)
@@ -141,6 +141,7 @@
// explicit instantiation definition
#ifndef POCO_DOC
+#if !defined(POCO_COMPILER_MINGW)
#if defined(POCO_OS_FAMILY_WINDOWS)
extern template class HandleException<SQLHENV, SQL_HANDLE_ENV>;
extern template class HandleException<SQLHDBC, SQL_HANDLE_DBC>;
@@ -154,6 +155,7 @@
#endif
#endif
+#endif
using EnvironmentException = HandleException<SQLHENV, SQL_HANDLE_ENV>;
diff -Naur poco-1.14.2-all-orig/Foundation/include/Poco/BufferedBidirectionalStreamBuf.h poco-1.14.2-all/Foundation/include/Poco/BufferedBidirectionalStreamBuf.h
--- poco-1.14.2-all-orig/Foundation/include/Poco/BufferedBidirectionalStreamBuf.h 2025-05-12 12:00:11.000000000 +0300
+++ poco-1.14.2-all/Foundation/include/Poco/BufferedBidirectionalStreamBuf.h 2025-10-09 13:00:20.183118200 +0300
@@ -30,7 +30,7 @@
template <typename ch, typename tr, typename ba = BufferAllocator<ch>>
-class BasicBufferedBidirectionalStreamBuf: public std::basic_streambuf<ch, tr>
+class Foundation_API BasicBufferedBidirectionalStreamBuf: public std::basic_streambuf<ch, tr>
/// This is an implementation of a buffered bidirectional
/// streambuf that greatly simplifies the implementation of
/// custom streambufs of various kinds.
@@ -182,11 +182,13 @@
// We provide an instantiation for char.
//
+#if !defined(POCO_COMPILER_MINGW)
#if defined(POCO_OS_FAMILY_WINDOWS)
extern template class BasicBufferedBidirectionalStreamBuf<char, std::char_traits<char>>;
#else
extern template class Foundation_API BasicBufferedBidirectionalStreamBuf<char, std::char_traits<char>>;
#endif
+#endif
using BufferedBidirectionalStreamBuf = BasicBufferedBidirectionalStreamBuf<char, std::char_traits<char>>;
diff -Naur poco-1.14.2-all-orig/Foundation/include/Poco/BufferedStreamBuf.h poco-1.14.2-all/Foundation/include/Poco/BufferedStreamBuf.h
--- poco-1.14.2-all-orig/Foundation/include/Poco/BufferedStreamBuf.h 2025-05-12 12:00:11.000000000 +0300
+++ poco-1.14.2-all/Foundation/include/Poco/BufferedStreamBuf.h 2025-10-09 13:00:33.583045100 +0300
@@ -30,7 +30,7 @@
template <typename ch, typename tr, typename ba = BufferAllocator<ch>>
-class BasicBufferedStreamBuf: public std::basic_streambuf<ch, tr>
+class Foundation_API BasicBufferedStreamBuf: public std::basic_streambuf<ch, tr>
/// This is an implementation of a buffered streambuf
/// that greatly simplifies the implementation of
/// custom streambufs of various kinds.
@@ -164,11 +164,13 @@
// We provide an instantiation for char.
//
+#if !defined(POCO_COMPILER_MINGW)
#if defined(POCO_OS_FAMILY_WINDOWS)
extern template class BasicBufferedStreamBuf<char, std::char_traits<char>>;
#else
extern template class Foundation_API BasicBufferedStreamBuf<char, std::char_traits<char>>;
#endif
+#endif
using BufferedStreamBuf = BasicBufferedStreamBuf<char, std::char_traits<char>>;
diff -Naur poco-1.14.2-all-orig/Foundation/include/Poco/Dynamic/Struct.h poco-1.14.2-all/Foundation/include/Poco/Dynamic/Struct.h
--- poco-1.14.2-all-orig/Foundation/include/Poco/Dynamic/Struct.h 2025-05-12 12:00:11.000000000 +0300
+++ poco-1.14.2-all/Foundation/include/Poco/Dynamic/Struct.h 2025-10-09 12:50:47.372765800 +0300
@@ -64,7 +64,7 @@
template <typename K, typename M = std::map<K, Var>, typename S = std::set<K>>
-class Struct
+class Foundation_API Struct
/// Struct allows to define a named collection of Var objects.
{
public:
@@ -288,6 +288,7 @@
};
+#if !defined(POCO_COMPILER_MINGW)
#if defined(POCO_OS_FAMILY_WINDOWS)
extern template class Struct<std::string>;
@@ -305,6 +306,7 @@
extern template class Foundation_API Struct<int, OrderedMap<int, Var>, OrderedSet<int>>;
#endif
+#endif
template <>
diff -Naur poco-1.14.2-all-orig/Foundation/include/Poco/UTFString.h poco-1.14.2-all/Foundation/include/Poco/UTFString.h
--- poco-1.14.2-all-orig/Foundation/include/Poco/UTFString.h 2025-05-12 12:00:11.000000000 +0300
+++ poco-1.14.2-all/Foundation/include/Poco/UTFString.h 2025-10-09 13:03:10.754291400 +0300
@@ -307,6 +307,7 @@
} // namespace Poco
+#if !defined(POCO_COMPILER_MINGW)
#if defined(POCO_USE_STRING16)
extern template class Foundation_API std::basic_string<Poco::UTF16Char, Poco::UTF16CharTraits>;
#endif
@@ -314,6 +315,7 @@
#if defined(POCO_USE_STRING32)
extern template class Foundation_API std::basic_string<Poco::UTF32Char, Poco::UTF32CharTraits>;
#endif
+#endif
#endif // Foundation_UTFString_INCLUDED
diff -Naur poco-1.14.2-all-orig/Foundation/include/Poco/UnbufferedStreamBuf.h poco-1.14.2-all/Foundation/include/Poco/UnbufferedStreamBuf.h
--- poco-1.14.2-all-orig/Foundation/include/Poco/UnbufferedStreamBuf.h 2025-05-12 12:00:11.000000000 +0300
+++ poco-1.14.2-all/Foundation/include/Poco/UnbufferedStreamBuf.h 2025-10-09 12:30:04.853968200 +0300
@@ -29,7 +29,7 @@
template <typename ch, typename tr>
-class BasicUnbufferedStreamBuf: public std::basic_streambuf<ch, tr>
+class Foundation_API BasicUnbufferedStreamBuf: public std::basic_streambuf<ch, tr>
/// This is an implementation of an unbuffered streambuf
/// that greatly simplifies the implementation of
/// custom streambufs of various kinds.
@@ -164,11 +164,13 @@
// We provide an instantiation for char.
//
+#if !defined(POCO_COMPILER_MINGW)
#if defined(POCO_OS_FAMILY_WINDOWS)
extern template class BasicUnbufferedStreamBuf<char, std::char_traits<char>>;
#else
extern template class Foundation_API BasicUnbufferedStreamBuf<char, std::char_traits<char>>;
#endif
+#endif
using UnbufferedStreamBuf = BasicUnbufferedStreamBuf<char, std::char_traits<char>>;
diff -Naur poco-1.14.2-all-orig/Foundation/src/UnbufferedStreamBuf.cpp poco-1.14.2-all/Foundation/src/UnbufferedStreamBuf.cpp
--- poco-1.14.2-all-orig/Foundation/src/UnbufferedStreamBuf.cpp 2025-05-12 12:00:11.000000000 +0300
+++ poco-1.14.2-all/Foundation/src/UnbufferedStreamBuf.cpp 2025-10-09 12:28:42.424996200 +0300
@@ -21,5 +21,4 @@
#else
template class BasicUnbufferedStreamBuf<char, std::char_traits<char>>;
#endif
-
}
diff -Naur poco-1.14.2-all-orig/Foundation/src/VarHolder.cpp poco-1.14.2-all/Foundation/src/VarHolder.cpp
--- poco-1.14.2-all-orig/Foundation/src/VarHolder.cpp 2025-05-12 12:00:11.000000000 +0300
+++ poco-1.14.2-all/Foundation/src/VarHolder.cpp 2025-10-09 12:46:07.757064700 +0300
@@ -21,7 +21,6 @@
namespace Poco {
namespace Dynamic {
-
#if defined(POCO_OS_FAMILY_WINDOWS)
template class Foundation_API Struct<std::string>;
diff -Naur poco-1.14.2-all-orig/JSON/include/Poco/JSON/Array.h poco-1.14.2-all/JSON/include/Poco/JSON/Array.h
--- poco-1.14.2-all-orig/JSON/include/Poco/JSON/Array.h 2025-05-12 12:00:12.000000000 +0300
+++ poco-1.14.2-all/JSON/include/Poco/JSON/Array.h 2025-10-09 12:50:12.424222700 +0300
@@ -34,6 +34,7 @@
}
+#if !defined(POCO_COMPILER_MINGW)
#if defined(POCO_OS_FAMILY_WINDOWS)
// Explicitly instantiated shared pointer in JSON library
extern template class Poco::SharedPtr<Poco::JSON::Array>;
@@ -41,6 +42,7 @@
// Explicitly instantiated shared pointer in JSON library
extern template class JSON_API Poco::SharedPtr<Poco::JSON::Array>;
#endif
+#endif
namespace JSON {
diff -Naur poco-1.14.2-all-orig/JSON/include/Poco/JSON/Object.h poco-1.14.2-all/JSON/include/Poco/JSON/Object.h
--- poco-1.14.2-all-orig/JSON/include/Poco/JSON/Object.h 2025-05-12 12:00:12.000000000 +0300
+++ poco-1.14.2-all/JSON/include/Poco/JSON/Object.h 2025-10-09 12:50:20.315701500 +0300
@@ -41,6 +41,7 @@
}
+#if !defined(POCO_COMPILER_MINGW)
#if defined(POCO_OS_FAMILY_WINDOWS)
// Explicitly instatiated shared pointer in JSON library
extern template class Poco::SharedPtr<Poco::JSON::Object>;
@@ -48,6 +49,7 @@
// Explicitly instatiated shared pointer in JSON library
extern template class JSON_API Poco::SharedPtr<Poco::JSON::Object>;
#endif
+#endif
namespace JSON {
diff -Naur poco-1.14.2-all-orig/Net/include/Poco/Net/HTTPBasicStreamBuf.h poco-1.14.2-all/Net/include/Poco/Net/HTTPBasicStreamBuf.h
--- poco-1.14.2-all-orig/Net/include/Poco/Net/HTTPBasicStreamBuf.h 2025-05-12 12:00:12.000000000 +0300
+++ poco-1.14.2-all/Net/include/Poco/Net/HTTPBasicStreamBuf.h 2025-10-09 12:50:03.048356900 +0300
@@ -24,6 +24,9 @@
namespace Poco {
+
+template class Net_API BasicBufferedStreamBuf<char, std::char_traits<char>, Net::HTTPBufferAllocator>;
+
namespace Net {

View File

@ -3,7 +3,7 @@
_realname=poco
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=1.13.0
pkgver=1.14.2
pkgrel=1
pkgdesc="POrtable COmponents C++ Libraries (mingw-w64)"
arch=('any')
@ -24,6 +24,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-cc-libs"
#"${MINGW_PACKAGE_PREFIX}-apr-util"
"${MINGW_PACKAGE_PREFIX}-expat"
"${MINGW_PACKAGE_PREFIX}-libmariadbclient"
"${MINGW_PACKAGE_PREFIX}-libutf8proc"
"${MINGW_PACKAGE_PREFIX}-openssl"
"${MINGW_PACKAGE_PREFIX}-pcre2"
"${MINGW_PACKAGE_PREFIX}-postgresql"
@ -31,10 +32,14 @@ depends=("${MINGW_PACKAGE_PREFIX}-cc-libs"
"${MINGW_PACKAGE_PREFIX}-zlib")
source=(https://pocoproject.org/releases/${_realname}-${pkgver}/${_realname}-${pkgver}-all.tar.bz2
001-fix-build-on-mingw.patch
011-cmake-mingw.patch)
sha256sums=('93d3a810064c25f1e8b24452602e42bc528474258458f388f9de2f787d5170ab'
'daf531ab8ed72a86a02ddfcb916e113155b7a872b65116907f4d3be6e4997afe'
'8b4c1abc1fc635229333632a36c3f7850f2de70b9ba91db06d7c9aebcecc5ef1')
011-cmake-mingw.patch
012-dll-resources.patch
013-templates-export.patch)
sha256sums=('7738a4c880f08e89318fc53915f86be5a0e70f14eb1e7f0e1767c8781c40d794'
'2b2a4ccc48061874a8c8d36d96ac6f2d40b01130a5c10816232cba1988a6c97a'
'c5084394e28bf9bcfaaa3491ff28ca963efd57a79fb20aea6368f0a2490fb1ea'
'8059fc9bb6b158f7705323358d38c9d952061b546d6ae8fbd3c4ac2493677a0a'
'6d67531c0c11f6fd3892a899230c746ad0dc7d7c6e11146e4b81b3b1031b1a9f')
_apply_patch_with_msg() {
for _patch in "$@"
@ -48,7 +53,9 @@ prepare() {
cd "${srcdir}"/${_realname}-${pkgver}-all
_apply_patch_with_msg \
001-fix-build-on-mingw.patch \
011-cmake-mingw.patch
011-cmake-mingw.patch \
012-dll-resources.patch \
013-templates-export.patch
}
build() {