From d462ef3a69feaae3a98170b1df18415d27a499a9 Mon Sep 17 00:00:00 2001 From: Tilmann Meyer Date: Fri, 17 Apr 2020 02:56:27 +0200 Subject: [PATCH] Update mariadb-connector-c to v3.1.7 --- .../0001-Fix-libnames-for-mingw-w64.patch | 89 ----- .../mingw-w64/0001-Fix-mingw-w64-build.patch | 356 ++++++++++++++++++ ...-Fix-_SIZE_T_DEFINED-under-mingw-w64.patch | 25 -- ...er-than-fopen_s-for-XP-compatibility.patch | 45 --- mariadb-connector-c/mingw-w64/PKGBUILD | 34 +- 5 files changed, 368 insertions(+), 181 deletions(-) delete mode 100644 mariadb-connector-c/mingw-w64/0001-Fix-libnames-for-mingw-w64.patch create mode 100644 mariadb-connector-c/mingw-w64/0001-Fix-mingw-w64-build.patch delete mode 100644 mariadb-connector-c/mingw-w64/0002-Fix-_SIZE_T_DEFINED-under-mingw-w64.patch delete mode 100644 mariadb-connector-c/mingw-w64/0003-Use-fopen-rather-than-fopen_s-for-XP-compatibility.patch diff --git a/mariadb-connector-c/mingw-w64/0001-Fix-libnames-for-mingw-w64.patch b/mariadb-connector-c/mingw-w64/0001-Fix-libnames-for-mingw-w64.patch deleted file mode 100644 index d275289d..00000000 --- a/mariadb-connector-c/mingw-w64/0001-Fix-libnames-for-mingw-w64.patch +++ /dev/null @@ -1,89 +0,0 @@ -From c37b9b98838a0914ec1a7d9d629c888cd22761bd Mon Sep 17 00:00:00 2001 -From: Martchus -Date: Sat, 17 Sep 2016 16:41:12 +0200 -Subject: [PATCH 1/3] Fix libnames for mingw-w64 - ---- - libmariadb/CMakeLists.txt | 39 ++++++++++++++++++++------------------- - 1 file changed, 20 insertions(+), 19 deletions(-) - -diff --git a/libmariadb/CMakeLists.txt b/libmariadb/CMakeLists.txt -index f07dc02..ea58fd4 100644 ---- a/libmariadb/CMakeLists.txt -+++ b/libmariadb/CMakeLists.txt -@@ -362,7 +362,7 @@ SET(LIBMARIADB_SOURCES ${LIBMARIADB_SOURCES} ${ZLIB_SOURCES}) - ENDIF() - - IF(WIN32) -- SET_VERSION_INFO("TARGET:libmariadb" -+ SET_VERSION_INFO("TARGET:mariadb" - "FILE_TYPE:VFT_DLL" - "SOURCE_FILE:libmariadb/libmariadb.c" - "ORIGINAL_FILE_NAME:libmariadb.dll" -@@ -390,23 +390,24 @@ ENDIF() - ADD_LIBRARY(mariadbclient STATIC ${mariadbclient_RC} $ ${EMPTY_FILE} ${EXPORT_LINK}) - TARGET_LINK_LIBRARIES(mariadbclient ${SYSTEM_LIBS}) - --ADD_LIBRARY(libmariadb SHARED ${libmariadb_RC} $ ${EMPTY_FILE} ${EXPORT_LINK}) --TARGET_LINK_LIBRARIES(libmariadb ${SYSTEM_LIBS}) -+ADD_LIBRARY(mariadb SHARED ${libmariadb_RC} ${LIBMARIADB_SOURCES} ${EMPTY_FILE}) -+TARGET_LINK_LIBRARIES(mariadb ${SYSTEM_LIBS}) - IF(UNIX) -- SET_TARGET_PROPERTIES(libmariadb PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}") -+ SET_TARGET_PROPERTIES(mariadb PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}") - ENDIF() --SIGN_TARGET(libmariadb) -+SIGN_TARGET(mariadb) - - IF(CMAKE_SYSTEM_NAME MATCHES "Linux") -- TARGET_LINK_LIBRARIES (libmariadb "-Wl,--no-undefined") -- TARGET_LINK_LIBRARIES (libmariadb "-Wl,--version-script=${EXPORT_FILE}") -+ TARGET_LINK_LIBRARIES (mariadb "-Wl,--no-undefined") -+ TARGET_LINK_LIBRARIES (mariadb "-Wl,--version-script=${EXPORT_FILE}") - TARGET_LINK_LIBRARIES (mariadbclient "-Wl,--no-undefined") - TARGET_LINK_LIBRARIES (mariadbclient "-Wl,--version-script=${EXPORT_FILE}") - ENDIF() - --SET_TARGET_PROPERTIES(libmariadb PROPERTIES PREFIX "") -+# for consistency with previous version -+#SET_TARGET_PROPERTIES(mariadb PROPERTIES PREFIX "") - --SET_TARGET_PROPERTIES(libmariadb PROPERTIES VERSION -+SET_TARGET_PROPERTIES(mariadb PROPERTIES VERSION - ${CPACK_PACKAGE_VERSION_MAJOR} - SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR}) - -@@ -419,20 +420,20 @@ INCLUDE(${CMAKE_SOURCE_DIR}/cmake/symlink.cmake) - # There are still several projects which don't make use - # of the config program. To make sure these programs can - # use mariadb client library we provide libmysql symlinks --IF(NOT WIN32 AND WITH_MYSQLCOMPAT) -- SET(INSTALL_PATH ${LIB_INSTALL_DIR}/${SUFFIX_INSTALL_DIR}) -- create_symlink(libmysqlclient${CMAKE_SHARED_LIBRARY_SUFFIX} libmariadb ${INSTALL_PATH}) -- create_symlink(libmysqlclient_r${CMAKE_SHARED_LIBRARY_SUFFIX} libmariadb ${INSTALL_PATH}) -- create_symlink(libmysqlclient${CMAKE_STATIC_LIBRARY_SUFFIX} mariadbclient ${INSTALL_PATH}) -- create_symlink(libmysqlclient_r${CMAKE_STATIC_LIBRARY_SUFFIX} mariadbclient ${INSTALL_PATH}) -+IF(WITH_MYSQLCOMPAT) -+ SET(INSTALL_PATH ${LIB_INSTALL_DIR}) -+ create_symlink(libmysqlclient${CMAKE_SHARED_LIBRARY_SUFFIX} mariadb ${BIN_INSTALL_DIR}) -+ create_symlink(libmysqlclient_r${CMAKE_SHARED_LIBRARY_SUFFIX} mariadb ${BIN_INSTALL_DIR}) -+ create_symlink(libmysqlclient${CMAKE_STATIC_LIBRARY_SUFFIX} mariadbclient ${LIB_INSTALL_DIR}) -+ create_symlink(libmysqlclient_r${CMAKE_STATIC_LIBRARY_SUFFIX} mariadbclient ${LIB_INSTALL_DIR}) - ENDIF() - - - INSTALL(TARGETS -- libmariadb mariadbclient -- RUNTIME DESTINATION "${LIB_INSTALL_DIR}/${SUFFIX_INSTALL_DIR}" -- LIBRARY DESTINATION "${LIB_INSTALL_DIR}/${SUFFIX_INSTALL_DIR}" -- ARCHIVE DESTINATION "${LIB_INSTALL_DIR}/${SUFFIX_INSTALL_DIR}") -+ mariadb mariadbclient -+ RUNTIME DESTINATION "${BIN_INSTALL_DIR}" -+ LIBRARY DESTINATION "${LIB_INSTALL_DIR}" -+ ARCHIVE DESTINATION "${LIB_INSTALL_DIR}") - - INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/include/ - DESTINATION ${INCLUDE_INSTALL_DIR}/${SUFFIX_INSTALL_DIR}) --- -2.13.0 - diff --git a/mariadb-connector-c/mingw-w64/0001-Fix-mingw-w64-build.patch b/mariadb-connector-c/mingw-w64/0001-Fix-mingw-w64-build.patch new file mode 100644 index 00000000..22e1df7a --- /dev/null +++ b/mariadb-connector-c/mingw-w64/0001-Fix-mingw-w64-build.patch @@ -0,0 +1,356 @@ +From 98b5163c5e3e24feef7753a4082cc17e4a973eec Mon Sep 17 00:00:00 2001 +From: Tilmann Meyer +Date: Fri, 17 Apr 2020 02:12:23 +0200 +Subject: [PATCH] Fix mingw-w64 build + +--- + CMakeLists.txt | 30 +++++++++++++---------- + cmake/install.cmake | 4 ++-- + cmake/symlink.cmake | 2 +- + include/ma_global.h | 4 ++-- + include/mysql.h | 6 +---- + include/mysql/client_plugin.h | 2 +- + libmariadb/CMakeLists.txt | 44 ++++++++++++++++++---------------- + libmariadb/mariadb_lib.c | 2 +- + plugins/auth/CMakeLists.txt | 2 +- + plugins/auth/caching_sha2_pw.c | 2 +- + plugins/auth/ed25519.c | 2 +- + plugins/auth/sha256_pw.c | 4 ++-- + plugins/io/CMakeLists.txt | 2 +- + 13 files changed, 54 insertions(+), 52 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 528c1700..5330f04e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -2,6 +2,8 @@ + + # This is the LGPL libmariadb project. + ++add_definitions(-D_WIN32_WINNT=0x0601) ++ + CMAKE_MINIMUM_REQUIRED(VERSION 2.8 FATAL_ERROR) + INCLUDE(CheckFunctionExists) + IF(COMMAND CMAKE_POLICY) +@@ -51,14 +53,10 @@ MACRO(ADD_OPTION _name _text _default) + ENDMACRO() + + ### Options ### +-IF(NOT WIN32) +- ADD_OPTION(WITH_MYSQLCOMPAT "creates libmysql* symbolic links" OFF) +-ELSE() +- ADD_OPTION(WITH_MSI "Build MSI installation package" OFF) +- ADD_OPTION(WITH_SIGNCODE "digitally sign files" OFF) +- ADD_OPTION(WITH_RTC "enables run time checks for debug builds" OFF) +-ENDIF() +- ++ADD_OPTION(WITH_MYSQLCOMPAT "creates libmysql* symbolic links" OFF) ++ADD_OPTION(WITH_MSI "Build MSI installation package" OFF) ++ADD_OPTION(WITH_SIGNCODE "digitally sign files" OFF) ++ADD_OPTION(WITH_RTC "enables run time checks for debug builds" OFF) + ADD_OPTION(WITH_UNIT_TESTS "build test suite" ON) + ADD_OPTION(WITH_DYNCOL "Enables support of dynamic coluumns" ON) + ADD_OPTION(WITH_EXTERNAL_ZLIB "Enables use of external zlib" OFF) +@@ -238,13 +236,19 @@ IF(UNIX) + ${LIBSOCKET} ${LIBDL} ${LIBM} ${LIBPTHREAD}) + SET(SYSTEM_LIBS ${SYSTEM_LIBS} ${LIBNSL} ${LIBBIND} ${LIBICONV} ${LIBZ} + ${LIBSOCKET} ${LIBDL} ${LIBM} ${LIBPTHREAD}) +- #remove possible dups from required libraries +- LIST(LENGTH CMAKE_REQUIRED_LIBRARIES rllength) +- IF(${rllength} GREATER 0) +- LIST(REMOVE_DUPLICATES CMAKE_REQUIRED_LIBRARIES) +- ENDIF() + ENDIF() + ++IF(MINGW) ++ FIND_PACKAGE(Threads) ++ LIST(APPEND CMAKE_REQUIRED_LIBRARIES ${LIBPTHREAD}) ++ LIST(APPEND SYSTEM_LIBS ${LIBPTHREAD}) ++ENDIF() ++ ++#remove possible dups from required libraries ++LIST(LENGTH CMAKE_REQUIRED_LIBRARIES rllength) ++IF(${rllength} GREATER 0) ++ LIST(REMOVE_DUPLICATES CMAKE_REQUIRED_LIBRARIES) ++ENDIF() + + IF(CMAKE_HAVE_PTHREAD_H) + SET(CMAKE_REQUIRED_INCLUDES pthread.h) +diff --git a/cmake/install.cmake b/cmake/install.cmake +index 945259b8..40945d10 100644 +--- a/cmake/install.cmake ++++ b/cmake/install.cmake +@@ -61,12 +61,12 @@ ENDIF() + # + + SET(INSTALL_BINDIR_DEFAULT "bin") +-SET(INSTALL_LIBDIR_DEFAULT "lib/mariadb") ++SET(INSTALL_LIBDIR_DEFAULT "lib") + SET(INSTALL_PCDIR_DEFAULT "lib/pkgconfig") + SET(INSTALL_INCLUDEDIR_DEFAULT "include/mariadb") + SET(INSTALL_DOCDIR_DEFAULT "docs") + IF(NOT IS_SUBPROJECT) +- SET(INSTALL_PLUGINDIR_DEFAULT "lib/mariadb/plugin") ++ SET(INSTALL_PLUGINDIR_DEFAULT "lib/plugin") + ELSE() + ENDIF() + SET(LIBMARIADB_STATIC_DEFAULT "mariadbclient") +diff --git a/cmake/symlink.cmake b/cmake/symlink.cmake +index 117c1647..4e4ad036 100644 +--- a/cmake/symlink.cmake ++++ b/cmake/symlink.cmake +@@ -7,7 +7,7 @@ + # + MACRO(create_symlink symlink_name target install_path) + # According to cmake documentation symlinks work on unix systems only +-IF(UNIX) ++IF(UNIX OR MINGW) + # Get target components + ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${symlink_name} +diff --git a/include/ma_global.h b/include/ma_global.h +index d1fec397..065bed2c 100644 +--- a/include/ma_global.h ++++ b/include/ma_global.h +@@ -33,7 +33,7 @@ + #define snprintf _snprintf + #endif + #endif +-#define STDCALL __stdcall ++#define STDCALL + #endif + + #include +@@ -452,7 +452,7 @@ typedef SOCKET_SIZE_TYPE size_socket; + #define NO_PISAM /* Not needed anymore */ + #define NO_MISAM /* Not needed anymore */ + #define NO_HASH /* Not needed anymore */ +-#ifdef _WIN32 ++#if defined(_WIN32) && !defined(__MINGW32__) + #define NO_DIR_LIBRARY /* Not standard dir-library */ + #define USE_MY_STAT_STRUCT /* For my_lib */ + #ifdef _MSC_VER +diff --git a/include/mysql.h b/include/mysql.h +index dcaf316d..29b0dcb6 100644 +--- a/include/mysql.h ++++ b/include/mysql.h +@@ -39,11 +39,7 @@ extern "C" { + typedef char my_bool; + typedef unsigned long long my_ulonglong; + +-#if !defined(_WIN32) + #define STDCALL +-#else +-#define STDCALL __stdcall +-#endif + + #ifndef my_socket_defined + #define my_socket_defined +@@ -444,7 +440,7 @@ struct st_mysql_client_plugin + MYSQL_CLIENT_PLUGIN_HEADER + }; + +-struct st_mysql_client_plugin * ++struct st_mysql_client_plugin * STDCALL + mysql_load_plugin(struct st_mysql *mysql, const char *name, int type, + int argc, ...); + struct st_mysql_client_plugin * STDCALL +diff --git a/include/mysql/client_plugin.h b/include/mysql/client_plugin.h +index ac29afd6..21487871 100644 +--- a/include/mysql/client_plugin.h ++++ b/include/mysql/client_plugin.h +@@ -180,7 +180,7 @@ typedef struct st_mysql_client_plugin_REMOTEIO + @retval + a pointer to the loaded plugin, or NULL in case of a failure + */ +-struct st_mysql_client_plugin * ++struct st_mysql_client_plugin * STDCALL + mysql_load_plugin(struct st_mysql *mysql, const char *name, int type, + int argc, ...); + +diff --git a/libmariadb/CMakeLists.txt b/libmariadb/CMakeLists.txt +index 27e036cb..87ad35b6 100644 +--- a/libmariadb/CMakeLists.txt ++++ b/libmariadb/CMakeLists.txt +@@ -382,7 +382,7 @@ IF(CMAKE_GENERATOR MATCHES Xcode) + ENDIF() + + IF(WIN32) +- SET_VERSION_INFO("TARGET:libmariadb" ++ SET_VERSION_INFO("TARGET:mariadb" + "FILE_TYPE:VFT_DLL" + "SOURCE_FILE:libmariadb/libmariadb.c" + "ORIGINAL_FILE_NAME:libmariadb.dll" +@@ -393,17 +393,17 @@ ADD_LIBRARY(mariadbclient STATIC ${MARIADB_OBJECTS} ${EMPTY_FILE}) + TARGET_LINK_LIBRARIES(mariadbclient ${SYSTEM_LIBS}) + + IF(UNIX) +- ADD_LIBRARY(libmariadb SHARED ${libmariadb_RC} ${MARIADB_OBJECTS} ${EMPTY_FILE}) +- SET_TARGET_PROPERTIES(libmariadb PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}") ++ ADD_LIBRARY(mariadb SHARED ${mariadb_RC} ${MARIADB_OBJECTS} ${EMPTY_FILE}) ++ SET_TARGET_PROPERTIES(mariadb PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}") + ELSE() +- ADD_LIBRARY(libmariadb SHARED ${libmariadb_RC} mariadbclient.def) +- TARGET_LINK_LIBRARIES(libmariadb mariadbclient) +- SET_TARGET_PROPERTIES(libmariadb PROPERTIES LINKER_LANGUAGE C) ++ ADD_LIBRARY(mariadb SHARED ${mariadb_RC} mariadbclient.def) ++ TARGET_LINK_LIBRARIES(mariadb mariadbclient) ++ SET_TARGET_PROPERTIES(mariadb PROPERTIES LINKER_LANGUAGE C) + ENDIF() + +-TARGET_LINK_LIBRARIES(libmariadb ${SYSTEM_LIBS}) ++TARGET_LINK_LIBRARIES(mariadb ${SYSTEM_LIBS}) + +-SIGN_TARGET(libmariadb) ++SIGN_TARGET(mariadb) + + IF(CMAKE_SIZEOF_VOID_P EQUAL 8 AND MSVC) + SET_TARGET_PROPERTIES(mariadbclient PROPERTIES STATIC_LIBRARY_FLAGS "/machine:x64") +@@ -412,15 +412,13 @@ ENDIF() + IF(CMAKE_SYSTEM_NAME MATCHES "Linux" OR + CMAKE_SYSTEM_NAME MATCHES "GNU") + IF (NOT WITH_ASAN AND NOT WITH_TSAN AND NOT WITH_UBSAN AND NOT WITH_MSAN) +- TARGET_LINK_LIBRARIES (libmariadb "-Wl,--no-undefined") ++ TARGET_LINK_LIBRARIES (mariadb "-Wl,--no-undefined") + ENDIF() +- SET_TARGET_PROPERTIES(libmariadb PROPERTIES LINK_FLAGS "${CC_BINARY_DIR}/libmariadb/mariadbclient.def") ++ SET_TARGET_PROPERTIES(mariadb PROPERTIES LINK_FLAGS "${CC_BINARY_DIR}/libmariadb/mariadbclient.def") + ENDIF() + + SET_TARGET_PROPERTIES(mariadbclient PROPERTIES IMPORTED_INTERFACE_LINK_LIBRARIES "${SYSTEM_LIBS}") +-SET_TARGET_PROPERTIES(libmariadb PROPERTIES IMPORTED_INTERFACE_LINK_LIBRARIES "${SYSTEM_LIBS}") +- +-SET_TARGET_PROPERTIES(libmariadb PROPERTIES PREFIX "") ++SET_TARGET_PROPERTIES(mariadb PROPERTIES IMPORTED_INTERFACE_LINK_LIBRARIES "${SYSTEM_LIBS}") + + # + # Installation +@@ -432,14 +430,14 @@ INCLUDE(${CC_SOURCE_DIR}/cmake/symlink.cmake) + # use mariadb client library we provide libmysql symlinks + + IF(WITH_MYSQLCOMPAT) +- create_symlink(libmysqlclient${CMAKE_SHARED_LIBRARY_SUFFIX} libmariadb ${INSTALL_LIBDIR}) +- create_symlink(libmysqlclient_r${CMAKE_SHARED_LIBRARY_SUFFIX} libmariadb ${INSTALL_LIBDIR}) ++ create_symlink(libmysqlclient${CMAKE_SHARED_LIBRARY_SUFFIX} mariadb ${INSTALL_BINDIR}) ++ create_symlink(libmysqlclient_r${CMAKE_SHARED_LIBRARY_SUFFIX} mariadb ${INSTALL_BINDIR}) + create_symlink(libmysqlclient${CMAKE_STATIC_LIBRARY_SUFFIX} mariadbclient ${INSTALL_LIBDIR}) + create_symlink(libmysqlclient_r${CMAKE_STATIC_LIBRARY_SUFFIX} mariadbclient ${INSTALL_LIBDIR}) + ENDIF() + + +-SET_TARGET_PROPERTIES(libmariadb PROPERTIES VERSION ++SET_TARGET_PROPERTIES(mariadb PROPERTIES VERSION + ${CPACK_PACKAGE_VERSION_MAJOR} + SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR}) + +@@ -449,15 +447,19 @@ ENDIF() + + INSTALL(TARGETS mariadbclient + COMPONENT Development +- DESTINATION ${INSTALL_LIBDIR}) +-INSTALL(TARGETS libmariadb ++ RUNTIME DESTINATION "${INSTALL_BINDIR}" ++ LIBRARY DESTINATION "${INSTALL_LIBDIR}" ++ ARCHIVE DESTINATION "${INSTALL_LIBDIR}") ++INSTALL(TARGETS mariadb + COMPONENT SharedLibraries +- DESTINATION ${INSTALL_LIBDIR}) ++ RUNTIME DESTINATION "${INSTALL_BINDIR}" ++ LIBRARY DESTINATION "${INSTALL_LIBDIR}" ++ ARCHIVE DESTINATION "${INSTALL_LIBDIR}") + + +-IF(WIN32) ++IF(WIN32 AND NOT MINGW) + # On Windows, install PDB +- INSTALL(FILES $ DESTINATION "${INSTALL_LIBDIR}" ++ INSTALL(FILES $ DESTINATION "${INSTALL_LIBDIR}" + CONFIGURATIONS Debug RelWithDebInfo + COMPONENT Development) + ENDIF() +diff --git a/libmariadb/mariadb_lib.c b/libmariadb/mariadb_lib.c +index 1063f14e..60ddb902 100644 +--- a/libmariadb/mariadb_lib.c ++++ b/libmariadb/mariadb_lib.c +@@ -70,7 +70,7 @@ + #endif + #include + #ifdef _WIN32 +-#include "Shlwapi.h" ++#include "shlwapi.h" + #define strncasecmp _strnicmp + #endif + +diff --git a/plugins/auth/CMakeLists.txt b/plugins/auth/CMakeLists.txt +index ca419503..2fe53a0c 100644 +--- a/plugins/auth/CMakeLists.txt ++++ b/plugins/auth/CMakeLists.txt +@@ -4,7 +4,7 @@ INCLUDE_DIRECTORIES(${AUTH_DIR}) + INCLUDE_DIRECTORIES(${CC_SOURCE_DIR}/include) + + SET(CRYPTO_PLUGIN 1) +-IF(WIN32) ++IF(WIN32 AND NOT MINGW) + SET(CRYPT_SOURCE ${CC_SOURCE_DIR}/libmariadb/secure/win_crypt.c) + SET(CRYPT_LIBS crypt32) + ELSEIF(WITH_SSL STREQUAL "OPENSSL") +diff --git a/plugins/auth/caching_sha2_pw.c b/plugins/auth/caching_sha2_pw.c +index b42f0d70..f9b4c164 100644 +--- a/plugins/auth/caching_sha2_pw.c ++++ b/plugins/auth/caching_sha2_pw.c +@@ -20,7 +20,7 @@ + #define _GNU_SOURCE 1 + #endif + +-#ifdef _WIN32 ++#if defined(_WIN32) && !(defined(__MINGW32__) || defined(__MINGW64__)) + #define HAVE_WINCRYPT + #undef HAVE_OPENSSL + #undef HAVE_GNUTLS +diff --git a/plugins/auth/ed25519.c b/plugins/auth/ed25519.c +index afa27ac3..989245f7 100644 +--- a/plugins/auth/ed25519.c ++++ b/plugins/auth/ed25519.c +@@ -20,7 +20,7 @@ + #define _GNU_SOURCE 1 + #endif + +-#ifdef _WIN32 ++#if defined(_WIN32) && !(defined(__MINGW32__) || defined(__MINGW64__)) + #define HAVE_WINCRYPT + #undef HAVE_OPENSSL + #undef HAVE_GNUTLS +diff --git a/plugins/auth/sha256_pw.c b/plugins/auth/sha256_pw.c +index ccca5a8f..2f3660ea 100644 +--- a/plugins/auth/sha256_pw.c ++++ b/plugins/auth/sha256_pw.c +@@ -20,7 +20,7 @@ + #define _GNU_SOURCE 1 + #endif + +-#ifdef _WIN32 ++#if defined(_WIN32) && !(defined(__MINGW32__) || defined(__MINGW64__)) + #undef HAVE_GNUTLS + #undef HAVE_OPENSSL + #define HAVE_WINCRYPT +@@ -44,7 +44,7 @@ + #include + #endif + +-#if defined(WIN32) ++#if defined(WIN32) && !(defined(__MINGW32__) || defined(__MINGW64__)) + #include + #elif defined(HAVE_OPENSSL) + #include +diff --git a/plugins/io/CMakeLists.txt b/plugins/io/CMakeLists.txt +index 8c304c99..e2e9c5a1 100644 +--- a/plugins/io/CMakeLists.txt ++++ b/plugins/io/CMakeLists.txt +@@ -10,6 +10,6 @@ IF (WITH_CURL) + DEFAULT DYNAMIC + SOURCES ${CC_SOURCE_DIR}/plugins/io/remote_io.c + INCLUDES ${CURL_INCLUDE_DIR} +- LIBRARIES ${CURL_LIBRARIES}) ++ LIBRARIES ${CURL_LIBRARIES} ws2_32) + ENDIF() + ENDIF() diff --git a/mariadb-connector-c/mingw-w64/0002-Fix-_SIZE_T_DEFINED-under-mingw-w64.patch b/mariadb-connector-c/mingw-w64/0002-Fix-_SIZE_T_DEFINED-under-mingw-w64.patch deleted file mode 100644 index 71c77081..00000000 --- a/mariadb-connector-c/mingw-w64/0002-Fix-_SIZE_T_DEFINED-under-mingw-w64.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 61d9463469334dec02e49c37a5710d06278e4682 Mon Sep 17 00:00:00 2001 -From: Martchus -Date: Sat, 17 Sep 2016 16:44:14 +0200 -Subject: [PATCH 2/3] Fix _SIZE_T_DEFINED under mingw-w64 - ---- - include/my_global.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/my_global.h b/include/my_global.h -index e596d45..82a9284 100644 ---- a/include/my_global.h -+++ b/include/my_global.h -@@ -450,7 +450,7 @@ typedef SOCKET_SIZE_TYPE size_socket; - #define NO_PISAM /* Not needed anymore */ - #define NO_MISAM /* Not needed anymore */ - #define NO_HASH /* Not needed anymore */ --#ifdef _WIN32 -+#if defined(_WIN32) && !defined(__MINGW32__) - #define NO_DIR_LIBRARY /* Not standar dir-library */ - #define USE_MY_STAT_STRUCT /* For my_lib */ - #ifdef _MSC_VER --- -2.13.0 - diff --git a/mariadb-connector-c/mingw-w64/0003-Use-fopen-rather-than-fopen_s-for-XP-compatibility.patch b/mariadb-connector-c/mingw-w64/0003-Use-fopen-rather-than-fopen_s-for-XP-compatibility.patch deleted file mode 100644 index f9ea3812..00000000 --- a/mariadb-connector-c/mingw-w64/0003-Use-fopen-rather-than-fopen_s-for-XP-compatibility.patch +++ /dev/null @@ -1,45 +0,0 @@ -From cd68269a531ce4e600f3a99d1687219e0959af84 Mon Sep 17 00:00:00 2001 -From: Martchus -Date: Sat, 17 Sep 2016 16:51:15 +0200 -Subject: [PATCH 3/3] Use fopen rather than fopen_s for XP compatibility - ---- - libmariadb/dbug.c | 4 ---- - libmariadb/my_fopen.c | 4 ---- - 2 files changed, 8 deletions(-) - -diff --git a/libmariadb/dbug.c b/libmariadb/dbug.c -index cd4a0f1..abca4ae 100644 ---- a/libmariadb/dbug.c -+++ b/libmariadb/dbug.c -@@ -2051,11 +2051,7 @@ static void DBUGOpenFile(CODE_STATE *cs, - } - else - { --#ifdef _WIN32 -- if (fopen_s(&fp, name, append ? "a+" : "w")) --#else - if (!(fp= fopen(name, append ? "a+" : "w"))) --#endif - { - (void) fprintf(stderr, ERR_OPEN, cs->process, name); - perror(""); -diff --git a/libmariadb/my_fopen.c b/libmariadb/my_fopen.c -index c99b753..a3b485d 100644 ---- a/libmariadb/my_fopen.c -+++ b/libmariadb/my_fopen.c -@@ -36,11 +36,7 @@ FILE *my_fopen(const char *FileName, int Flags, myf MyFlags) - FileName, Flags, MyFlags)); - - make_ftype(type,Flags); --#ifdef _WIN32 -- if (fopen_s(&fd, FileName, type) == 0) --#else - if ((fd = fopen(FileName, type)) != 0) --#endif - { - /* - The test works if MY_NFILE < 128. The problem is that fileno() is char --- -2.13.0 - diff --git a/mariadb-connector-c/mingw-w64/PKGBUILD b/mariadb-connector-c/mingw-w64/PKGBUILD index f4a6cf1b..ec07feab 100644 --- a/mariadb-connector-c/mingw-w64/PKGBUILD +++ b/mariadb-connector-c/mingw-w64/PKGBUILD @@ -7,7 +7,7 @@ # All patches are managed at https://github.com/Martchus/mariadb-connector-c pkgname=mingw-w64-mariadb-connector-c -pkgver=2.3.3 +pkgver=3.1.7 pkgrel=1 pkgdesc='MariaDB Connector/C is used to connect applications developed in C/C++ to MariaDB and MySQL databases (mingw-w64)' arch=('any') @@ -16,17 +16,17 @@ license=('LGPL') replaces=('mingw-w64-libmariadbclient') conflicts=('mingw-w64-libmariadbclient') provides=("mingw-w64-libmariadbclient=$pkgver") -depends=('mingw-w64-crt' 'mingw-w64-openssl' 'mingw-w64-zlib') +depends=('mingw-w64-crt' 'mingw-w64-openssl' 'mingw-w64-zlib' 'mingw-w64-curl') makedepends=('mingw-w64-cmake') options=('!strip' '!buildflags' 'staticlibs') -source=("http://archive.mariadb.org/connector-c-$pkgver/mariadb-connector-c-$pkgver-src.tar.gz" - '0001-Fix-libnames-for-mingw-w64.patch' - '0002-Fix-_SIZE_T_DEFINED-under-mingw-w64.patch' - '0003-Use-fopen-rather-than-fopen_s-for-XP-compatibility.patch') -sha1sums=('6fbf541a4465cd729c7f790a3d9cd337e8dd2666' - '12a2d0b8d521dc097cecc3ea32efcaee0e7f9781' - 'f07a59cdd02ad89e60edcb18a1cdc3ccda93fc2b' - '3aa503bb7ad9b84c21cdef94f3a55d96a7fa8811') +source=( + "http://archive.mariadb.org/connector-c-$pkgver/mariadb-connector-c-$pkgver-src.tar.gz" + '0001-Fix-mingw-w64-build.patch' +) +sha1sums=( + '5d88983a1ace1885fc22f5bfb1ee28a23187e412' + 'a426c9d60a88035400311291a59dea63625c82e9' +) _architectures='i686-w64-mingw32 x86_64-w64-mingw32' @@ -45,11 +45,9 @@ build() { ${_arch}-cmake \ -DCMAKE_BUILD_TYPE=RELEASE \ -DWITH_EXTERNAL_ZLIB=ON \ - -DWITH_SQLITE=OFF \ - -DWITH_OPENSSL=ON \ - -DLIB_EAY=/usr/${_arch}/lib/libcrypto.dll.a \ - -DSSL_EAY=/usr/${_arch}/lib/libssl.dll.a \ + -DWITH_SSL=OPENSSL \ -DWITH_MYSQLCOMPAT=ON \ + -DWITH_UNIT_TESTS=OFF \ .. make popd @@ -61,16 +59,8 @@ package() { cd "${srcdir}/mariadb-connector-c-$pkgver-src/build-${_arch}" make DESTDIR="${pkgdir}" install ln -s mariadb "$pkgdir"/usr/${_arch}/include/mysql - # Creation of symlinks in CMake project file doesn't work for some reason. - # Probably a couple more symlinks that should be created. - ln -s libmariadb.dll.a "$pkgdir"/usr/${_arch}/lib/libmysql.dll.a - ln -s libmariadbclient.a "$pkgdir"/usr/${_arch}/lib/libmysqlclient.a - ln -s libmariadb.dll "$pkgdir"/usr/${_arch}/bin/libmysql.dll - ln -s libmariadb.dll "$pkgdir"/usr/${_arch}/bin/libmysqlclient.dll - ln -s libmariadb.dll "$pkgdir"/usr/${_arch}/bin/libmysqlclient_r.dll ${_arch}-strip --strip-unneeded "$pkgdir"/usr/${_arch}/bin/*.dll ${_arch}-strip --strip-unneeded "$pkgdir"/usr/${_arch}/lib/plugin/*.dll ${_arch}-strip -g "$pkgdir"/usr/${_arch}/lib/*.a - ${_arch}-strip -g "$pkgdir"/usr/${_arch}/lib/plugin/*.a done }