From 3d2416d066d232ae78eda93ecb048f8a6538d1a1 Mon Sep 17 00:00:00 2001 From: Alexey Pavlov Date: Mon, 9 Nov 2015 10:11:40 +0300 Subject: [PATCH] libmariadbclient: Fix library. Don't use DEF file during linking because for 32-bit we need also export argument counts for functions. --- mingw-w64-libmariadbclient/PKGBUILD | 24 +++++++++++-------- .../fix-libnames-mingw.patch | 13 ++++++---- .../fix-redefinitions.patch | 12 ++++++++++ .../fix-size-t-defined.patch | 4 ++-- 4 files changed, 36 insertions(+), 17 deletions(-) create mode 100644 mingw-w64-libmariadbclient/fix-redefinitions.patch diff --git a/mingw-w64-libmariadbclient/PKGBUILD b/mingw-w64-libmariadbclient/PKGBUILD index fca66c878a..707d9d0b30 100644 --- a/mingw-w64-libmariadbclient/PKGBUILD +++ b/mingw-w64-libmariadbclient/PKGBUILD @@ -4,32 +4,36 @@ _realname=libmariadbclient pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=2.2.0 -pkgrel=1 +pkgrel=2 pkgdesc="MariaDB client libraries (mingw-w64)" arch=('any') url="http://mariadb.org" license=('LGPL') -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc") +makedepends=("${MINGW_PACKAGE_PREFIX}-gcc") #"${MINGW_PACKAGE_PREFIX}-curl" depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-openssl" - "${MINGW_PACKAGE_PREFIX}-zlib") #"${MINGW_PACKAGE_PREFIX}-sqlite3" + "${MINGW_PACKAGE_PREFIX}-zlib") +#optdepends=("${MINGW_PACKAGE_PREFIX}-curl") options=('!strip' 'staticlibs') source=(#"https://downloads.mariadb.org/interstitial/connector-c-${pkgver}/source-tgz/mariadb-connector-c-${pkgver}-src.tar.gz" http://mirror.mephi.ru/mariadb/connector-c-${pkgver}/mariadb-connector-c-${pkgver}-src.tar.gz{,.asc} 'fix-libnames-mingw.patch' 'use_fopen_for_xp_compatibility.patch' - 'fix-size-t-defined.patch') + 'fix-size-t-defined.patch' + 'fix-redefinitions.patch') sha256sums=('3825b068d38bc19d6ad1eaecdd74bcd49d6ddd9d00559fb150e4e851a55bbbd4' 'SKIP' - '7d361086b805972cbe06e3d96aec9511d6f85031127ed49c86c4d5e80f5f4147' - '81ea9f16845c14a35e9c587ae84dc23c383c8be6d4afcf0587b84972a8f81b4e' - 'f0cba818d125687dc8d04f501484be8d159a1989ff12b5130c2fd213add3e519') + '2872bbfef721ebcdfa970ea57ad81888a4f29a6f55fed140c38b53f52b2b5d78' + '8069bc0c7f4204fe2b1ea54c610c27aebd0c54d7a21ecf6352c9bdd9cf1c4062' + 'e84d3ac9b2e716dc1581d82c34001d8561bb0d09750d1d57d4b448a8cc259ff0' + 'ddb20e474ba1a63f65f28ee76bb74074316b15cc90ecdae6d2aa1febf0803d72') prepare() { cd ${srcdir}/mariadb-connector-c-${pkgver}-src patch -p1 -i ${srcdir}/fix-libnames-mingw.patch - patch -p0 -i ${srcdir}/use_fopen_for_xp_compatibility.patch - patch -p0 -i ${srcdir}/fix-size-t-defined.patch + patch -p1 -i ${srcdir}/use_fopen_for_xp_compatibility.patch + patch -p1 -i ${srcdir}/fix-size-t-defined.patch + patch -p1 -i ${srcdir}/fix-redefinitions.patch } build() { @@ -43,7 +47,7 @@ build() { -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ -DCMAKE_BUILD_TYPE=RELEASE \ -DWITH_EXTERNAL_ZLIB=ON \ - -DWITH_SQLITE=OFF \ + -DWITH_REMOTEIO=OFF \ -DWITH_OPENSSL=ON \ -DWITH_MYSQLCOMPAT=OFF \ ../mariadb-connector-c-${pkgver}-src diff --git a/mingw-w64-libmariadbclient/fix-libnames-mingw.patch b/mingw-w64-libmariadbclient/fix-libnames-mingw.patch index 0a2da6dc66..f427422c58 100644 --- a/mingw-w64-libmariadbclient/fix-libnames-mingw.patch +++ b/mingw-w64-libmariadbclient/fix-libnames-mingw.patch @@ -1,12 +1,16 @@ --- mariadb-connector-c-2.2.0-src/libmariadb/CMakeLists.txt.orig 2015-09-29 22:21:13.000000000 +0300 +++ mariadb-connector-c-2.2.0-src/libmariadb/CMakeLists.txt 2015-10-30 12:42:38.140347000 +0300 -@@ -378,24 +378,25 @@ - ADD_LIBRARY(mariadbclient STATIC $ ${EMPTY_FILE} ${EXPORT_LINK}) +@@ -375,27 +375,26 @@ + SET(EMPTY_FILE ${CMAKE_SOURCE_DIR}/libmariadb/empty.c) + ENDIF() + +-ADD_LIBRARY(mariadbclient STATIC $ ${EMPTY_FILE} ${EXPORT_LINK}) ++ADD_LIBRARY(mariadbclient STATIC $ ${EMPTY_FILE}) TARGET_LINK_LIBRARIES(mariadbclient ${SYSTEM_LIBS}) -ADD_LIBRARY(libmariadb SHARED $ ${EMPTY_FILE} ${EXPORT_LINK}) -TARGET_LINK_LIBRARIES(libmariadb ${SYSTEM_LIBS}) -+ADD_LIBRARY(mariadb SHARED $ ${EMPTY_FILE} ${EXPORT_LINK}) ++ADD_LIBRARY(mariadb SHARED $ ${EMPTY_FILE}) +TARGET_LINK_LIBRARIES(mariadb ${SYSTEM_LIBS}) IF(UNIX) SET_TARGET_PROPERTIES(libmariadb PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}") @@ -16,9 +20,8 @@ - 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}") +- TARGET_LINK_LIBRARIES (mariadbclient "-Wl,--version-script=${EXPORT_FILE}") ENDIF() -SET_TARGET_PROPERTIES(libmariadb PROPERTIES PREFIX "") diff --git a/mingw-w64-libmariadbclient/fix-redefinitions.patch b/mingw-w64-libmariadbclient/fix-redefinitions.patch new file mode 100644 index 0000000000..5c714a8576 --- /dev/null +++ b/mingw-w64-libmariadbclient/fix-redefinitions.patch @@ -0,0 +1,12 @@ +--- mariadb-connector-c-2.2.0-src/include/config-win.h.orig 2015-11-09 09:36:10.157148000 +0300 ++++ mariadb-connector-c-2.2.0-src/include/config-win.h 2015-11-09 09:36:14.742989400 +0300 +@@ -56,7 +56,9 @@ + #define F_TO_EOF (INT_MAX32/2) /* size for lock of all file */ + #define F_OK 0 /* parameter to access() */ + ++#ifndef __MINGW64_VERSION_MAJOR + #define S_IROTH S_IREAD /* for my_lib */ ++#endif + + #ifdef __BORLANDC__ + #define FILE_BINARY O_BINARY /* my_fopen in binary mode */ diff --git a/mingw-w64-libmariadbclient/fix-size-t-defined.patch b/mingw-w64-libmariadbclient/fix-size-t-defined.patch index 8dbcd0900c..9b9bc4c0b8 100644 --- a/mingw-w64-libmariadbclient/fix-size-t-defined.patch +++ b/mingw-w64-libmariadbclient/fix-size-t-defined.patch @@ -1,5 +1,5 @@ ---- include/my_global.h.orig 2015-02-02 22:18:57.873440040 -0700 -+++ include/my_global.h 2015-02-02 22:17:45.125574689 -0700 +--- mariadb-connector-c-2.2.0-src/include/my_global.h.orig 2015-02-02 22:18:57.873440040 -0700 ++++ mariadb-connector-c-2.2.0-src/include/my_global.h 2015-02-02 22:17:45.125574689 -0700 @@ -451,7 +451,7 @@ #define NO_PISAM /* Not needed anymore */ #define NO_MISAM /* Not needed anymore */