summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorTilmann Meyer2020-04-17 20:27:08 +0200
committerMartchus2020-04-17 20:27:08 +0200
commita8ca47afc05e9e21a4475ef7c2d9fe0e0d804b56 (patch)
tree4733cb768798333c13f03d53fbbce793ed35d15b
parent92d2542a286542900970585ccf3158d212ba601e (diff)
downloadaur-a8ca47afc05e9e21a4475ef7c2d9fe0e0d804b56.tar.gz
Update to v3.1.7
-rw-r--r--.SRCINFO17
-rw-r--r--0001-Fix-libnames-for-mingw-w64.patch89
-rw-r--r--0001-Fix-mingw-w64-build.patch356
-rw-r--r--0002-Fix-_SIZE_T_DEFINED-under-mingw-w64.patch25
-rw-r--r--0003-Use-fopen-rather-than-fopen_s-for-XP-compatibility.patch45
-rw-r--r--PKGBUILD34
6 files changed, 375 insertions, 191 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 91ef40a0ea4f..acfed9c7463b 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = mingw-w64-mariadb-connector-c
pkgdesc = MariaDB Connector/C is used to connect applications developed in C/C++ to MariaDB and MySQL databases (mingw-w64)
- pkgver = 2.3.3
+ pkgver = 3.1.7
pkgrel = 1
url = https://mariadb.com/kb/en/mariadb/about-mariadb-connector-c
arch = any
@@ -9,20 +9,17 @@ pkgbase = mingw-w64-mariadb-connector-c
depends = mingw-w64-crt
depends = mingw-w64-openssl
depends = mingw-w64-zlib
- provides = mingw-w64-libmariadbclient=2.3.3
+ depends = mingw-w64-curl
+ provides = mingw-w64-libmariadbclient=3.1.7
conflicts = mingw-w64-libmariadbclient
replaces = mingw-w64-libmariadbclient
options = !strip
options = !buildflags
options = staticlibs
- source = http://archive.mariadb.org/connector-c-2.3.3/mariadb-connector-c-2.3.3-src.tar.gz
- source = 0001-Fix-libnames-for-mingw-w64.patch
- source = 0002-Fix-_SIZE_T_DEFINED-under-mingw-w64.patch
- source = 0003-Use-fopen-rather-than-fopen_s-for-XP-compatibility.patch
- sha1sums = 6fbf541a4465cd729c7f790a3d9cd337e8dd2666
- sha1sums = 12a2d0b8d521dc097cecc3ea32efcaee0e7f9781
- sha1sums = f07a59cdd02ad89e60edcb18a1cdc3ccda93fc2b
- sha1sums = 3aa503bb7ad9b84c21cdef94f3a55d96a7fa8811
+ source = http://archive.mariadb.org/connector-c-3.1.7/mariadb-connector-c-3.1.7-src.tar.gz
+ source = 0001-Fix-mingw-w64-build.patch
+ sha1sums = 5d88983a1ace1885fc22f5bfb1ee28a23187e412
+ sha1sums = a426c9d60a88035400311291a59dea63625c82e9
pkgname = mingw-w64-mariadb-connector-c
diff --git a/0001-Fix-libnames-for-mingw-w64.patch b/0001-Fix-libnames-for-mingw-w64.patch
deleted file mode 100644
index d275289d0693..000000000000
--- a/0001-Fix-libnames-for-mingw-w64.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From c37b9b98838a0914ec1a7d9d629c888cd22761bd Mon Sep 17 00:00:00 2001
-From: Martchus <martchus@gmx.net>
-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} $<TARGET_OBJECTS:mariadb_obj> ${EMPTY_FILE} ${EXPORT_LINK})
- TARGET_LINK_LIBRARIES(mariadbclient ${SYSTEM_LIBS})
-
--ADD_LIBRARY(libmariadb SHARED ${libmariadb_RC} $<TARGET_OBJECTS:mariadb_obj> ${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/0001-Fix-mingw-w64-build.patch b/0001-Fix-mingw-w64-build.patch
new file mode 100644
index 000000000000..22e1df7a4fbe
--- /dev/null
+++ b/0001-Fix-mingw-w64-build.patch
@@ -0,0 +1,356 @@
+From 98b5163c5e3e24feef7753a4082cc17e4a973eec Mon Sep 17 00:00:00 2001
+From: Tilmann Meyer <allescrafterx@gmail.com>
+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 <ma_config.h>
+@@ -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 $<TARGET_PDB_FILE:libmariadb> DESTINATION "${INSTALL_LIBDIR}"
++ INSTALL(FILES $<TARGET_PDB_FILE:mariadb> 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 <mysql/client_plugin.h>
+ #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 <dlfcn.h>
+ #endif
+
+-#if defined(WIN32)
++#if defined(WIN32) && !(defined(__MINGW32__) || defined(__MINGW64__))
+ #include <wincrypt.h>
+ #elif defined(HAVE_OPENSSL)
+ #include <openssl/rsa.h>
+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/0002-Fix-_SIZE_T_DEFINED-under-mingw-w64.patch b/0002-Fix-_SIZE_T_DEFINED-under-mingw-w64.patch
deleted file mode 100644
index 71c7708130db..000000000000
--- a/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 <martchus@gmx.net>
-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/0003-Use-fopen-rather-than-fopen_s-for-XP-compatibility.patch b/0003-Use-fopen-rather-than-fopen_s-for-XP-compatibility.patch
deleted file mode 100644
index f9ea38125e6c..000000000000
--- a/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 <martchus@gmx.net>
-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/PKGBUILD b/PKGBUILD
index f4a6cf1b770b..ec07feab193f 100644
--- a/PKGBUILD
+++ b/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
}