summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilip A Reimer2015-06-12 21:50:12 -0600
committerPhilip A Reimer2015-06-12 21:50:12 -0600
commit5794b4ca8d8a544476a6526c2b44d482a60d9703 (patch)
treefc2132bd8564a9cead5fc531eb715db8f4bf75e8
downloadaur-5794b4ca8d8a544476a6526c2b44d482a60d9703.tar.gz
Initial import
-rw-r--r--.SRCINFO32
-rw-r--r--PKGBUILD65
-rw-r--r--fix-libnames-mingw.patch74
-rw-r--r--fix-qt5-uint-error.patch11
-rw-r--r--fix-size-t-defined.patch11
-rw-r--r--use_fopen_for_xp_compatibility.patch28
6 files changed, 221 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..9d0efe6013bf
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,32 @@
+# Generated by makepkg 4.2.0
+# Thu Feb 5 18:25:29 UTC 2015
+pkgbase = mingw-w64-mariadb-connector-c
+ pkgdesc = MariaDB Connector/C. A library for connecting to MariaDB and MySQL servers (mingw-w64)
+ pkgver = 2.1.0
+ pkgrel = 1
+ url = https://mariadb.com/kb/en/mariadb/about-mariadb-connector-c/
+ arch = any
+ license = LGPL
+ makedepends = mingw-w64-cmake
+ depends = mingw-w64-crt
+ depends = mingw-w64-openssl
+ depends = mingw-w64-zlib
+ provides = mingw-w64-libmariadbclient=2.1.0
+ conflicts = mingw-w64-libmariadbclient
+ replaces = mingw-w64-libmariadbclient
+ options = !strip
+ options = !buildflags
+ options = staticlibs
+ source = https://downloads.mariadb.org/interstitial/connector-c-2.1.0/source-tgz/mariadb-connector-c-2.1.0-src.tar.gz
+ source = fix-libnames-mingw.patch
+ source = use_fopen_for_xp_compatibility.patch
+ source = fix-size-t-defined.patch
+ source = fix-qt5-uint-error.patch
+ md5sums = c026525ad2cec882b00070ba92fa0bc1
+ md5sums = 0cb013e5ec2a79be46832f462504dd88
+ md5sums = f1624e949933b2a774c116d46192a4ec
+ md5sums = 0a202d91993cbedcc03f10fdfe2720a0
+ md5sums = e493a22d3e0f6de2bdedb7974c631101
+
+pkgname = mingw-w64-mariadb-connector-c
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..0dfa048039eb
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,65 @@
+# Maintainer: ant32 <antreimer@gmail.com>
+pkgname=mingw-w64-mariadb-connector-c
+pkgver=2.1.0
+pkgrel=1
+pkgdesc="MariaDB Connector/C. A library for connecting to MariaDB and MySQL servers (mingw-w64)"
+arch=(any)
+url="https://mariadb.com/kb/en/mariadb/about-mariadb-connector-c/"
+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')
+makedepends=('mingw-w64-cmake')
+options=('!strip' '!buildflags' 'staticlibs')
+source=("https://downloads.mariadb.org/interstitial/connector-c-${pkgver}/source-tgz/mariadb-connector-c-${pkgver}-src.tar.gz"
+ 'fix-libnames-mingw.patch'
+ 'use_fopen_for_xp_compatibility.patch'
+ 'fix-size-t-defined.patch'
+ 'fix-qt5-uint-error.patch')
+md5sums=('c026525ad2cec882b00070ba92fa0bc1'
+ '0cb013e5ec2a79be46832f462504dd88'
+ 'f1624e949933b2a774c116d46192a4ec'
+ '0a202d91993cbedcc03f10fdfe2720a0'
+ 'e493a22d3e0f6de2bdedb7974c631101')
+
+_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
+
+prepare() {
+ cd "$srcdir/mariadb-connector-c-$pkgver-src/"
+ patch -p0 -i ../fix-libnames-mingw.patch
+ patch -p0 -i ../use_fopen_for_xp_compatibility.patch
+ patch -p0 -i ../fix-size-t-defined.patch
+ patch -p0 -i ../fix-qt5-uint-error.patch
+}
+
+build() {
+ unset LDFLAGS
+
+ cd "$srcdir/mariadb-connector-c-$pkgver-src/"
+ for _arch in ${_architectures}; do
+ mkdir -p build-${_arch} && pushd build-${_arch}
+ ${_arch}-cmake \
+ -DCMAKE_BUILD_TYPE=RELEASE \
+ -DWITH_EXTERNAL_ZLIB=ON \
+ -DWITH_SQLITE=OFF \
+ -DWITH_OPENSSL=ON \
+ -DWITH_MYSQLCOMPAT=ON \
+ ..
+ make
+ popd
+ done
+}
+
+package() {
+ for _arch in ${_architectures}; do
+ cd "${srcdir}/mariadb-connector-c-$pkgver-src/build-${_arch}"
+ make DESTDIR="${pkgdir}" install
+ ln -s mariadb "$pkgdir"/usr/${_arch}/include/mysql
+ # for some reason they don't create a link for libmysql.
+ # Probably a couple more symlinks that should be created.
+ ln -s libmariadb.dll.a "$pkgdir"/usr/${_arch}/lib/libmysql.dll.a
+ ${_arch}-strip --strip-unneeded "$pkgdir"/usr/${_arch}/bin/*.dll
+ ${_arch}-strip -g "$pkgdir"/usr/${_arch}/lib/*.a
+ done
+} \ No newline at end of file
diff --git a/fix-libnames-mingw.patch b/fix-libnames-mingw.patch
new file mode 100644
index 000000000000..b904d28dc4f1
--- /dev/null
+++ b/fix-libnames-mingw.patch
@@ -0,0 +1,74 @@
+--- libmariadb/CMakeLists.txt.orig 2015-02-05 09:57:29.549448173 -0700
++++ libmariadb/CMakeLists.txt 2015-02-05 10:01:01.498040468 -0700
+@@ -372,8 +372,8 @@
+ ADD_LIBRARY(mariadbclient STATIC $<TARGET_OBJECTS:mariadb_obj> ${EXPORT_LINK})
+ TARGET_LINK_LIBRARIES(mariadbclient ${SYSTEM_LIBS})
+
+-ADD_LIBRARY(libmariadb SHARED $<TARGET_OBJECTS:mariadb_obj> ${EXPORT_LINK})
+-TARGET_LINK_LIBRARIES(libmariadb ${SYSTEM_LIBS})
++ADD_LIBRARY(mariadb SHARED ${LIBMARIADB_SOURCES})
++TARGET_LINK_LIBRARIES(mariadb ${SYSTEM_LIBS})
+ IF(UNIX)
+ SET_TARGET_PROPERTIES(libmariadb PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}")
+ ENDIF()
+@@ -385,11 +385,12 @@
+ TARGET_LINK_LIBRARIES (mariadbclient "-Wl,--version-script=${EXPORT_FILE}")
+ ENDIF()
+
+-SET_TARGET_PROPERTIES(libmariadb PROPERTIES PREFIX "")
++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})
++ SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR}
++ RUNTIME_OUTPUT_NAME libmariadb)
+
+ #
+ # Installation
+@@ -398,7 +399,7 @@
+ # 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)
++IF(WITH_MYSQLCOMPAT)
+ ADD_CUSTOM_COMMAND(OUTPUT "libmysql${CMAKE_SHARED_LIBRARY_SUFFIX}"
+ "libmysqlclient${CMAKE_SHARED_LIBRARY_SUFFIX}"
+ "libmysqlclient_r${CMAKE_SHARED_LIBRARY_SUFFIX}"
+@@ -412,7 +413,7 @@
+ COMMAND ${CMAKE_COMMAND} ARGS -E remove -f libmysqlclient${CMAKE_STATIC_LIBRARY_SUFFIX}
+ COMMAND ${CMAKE_COMMAND} ARGS -E create_symlink libmariadbclient${CMAKE_STATIC_LIBRARY_SUFFIX} libmysqlclient${CMAKE_STATIC_LIBRARY_SUFFIX}
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/libmariadb
+- DEPENDS libmariadb mariadbclient)
++ DEPENDS mariadb mariadbclient)
+
+ ADD_CUSTOM_TARGET(LIBMYSQL_SYMLINKS
+ ALL
+@@ -425,17 +426,18 @@
+
+
+ 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}")
+-
+-IF(NOT WIN32 AND WITH_MYSQLCOMPAT)
++ mariadb mariadbclient
++ RUNTIME DESTINATION "${BIN_INSTALL_DIR}"
++ LIBRARY DESTINATION "${LIB_INSTALL_DIR}"
++ ARCHIVE DESTINATION "${LIB_INSTALL_DIR}")
++
++IF(WITH_MYSQLCOMPAT)
++ INSTALL(FILES "${CMAKE_BINARY_DIR}/libmariadb/libmysqlclient${CMAKE_STATIC_LIBRARY_SUFFIX}"
++ DESTINATION ${LIB_INSTALL_DIR})
+ INSTALL(FILES "${CMAKE_BINARY_DIR}/libmariadb/libmysql${CMAKE_SHARED_LIBRARY_SUFFIX}"
+ "${CMAKE_BINARY_DIR}/libmariadb/libmysqlclient${CMAKE_SHARED_LIBRARY_SUFFIX}"
+ "${CMAKE_BINARY_DIR}/libmariadb/libmysqlclient_r${CMAKE_SHARED_LIBRARY_SUFFIX}"
+- "${CMAKE_BINARY_DIR}/libmariadb/libmysqlclient${CMAKE_STATIC_LIBRARY_SUFFIX}"
+- DESTINATION ${LIB_INSTALL_DIR}/mariadb)
++ DESTINATION ${BIN_INSTALL_DIR})
+ ENDIF()
+
+ INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/include/
diff --git a/fix-qt5-uint-error.patch b/fix-qt5-uint-error.patch
new file mode 100644
index 000000000000..fba9344d9d43
--- /dev/null
+++ b/fix-qt5-uint-error.patch
@@ -0,0 +1,11 @@
+--- include/mysql.h.orig 2015-02-03 12:34:33.527518619 -0700
++++ include/mysql.h 2015-02-03 12:34:41.327637274 -0700
+@@ -80,7 +80,7 @@
+
+ extern unsigned int mysql_port;
+ extern char *mysql_unix_port;
+-extern uint mariadb_deinitialize_ssl;
++extern unsigned int mariadb_deinitialize_ssl;
+
+ #define IS_PRI_KEY(n) ((n) & PRI_KEY_FLAG)
+ #define IS_NOT_NULL(n) ((n) & NOT_NULL_FLAG)
diff --git a/fix-size-t-defined.patch b/fix-size-t-defined.patch
new file mode 100644
index 000000000000..8dbcd0900c31
--- /dev/null
+++ b/fix-size-t-defined.patch
@@ -0,0 +1,11 @@
+--- 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
+@@ -451,7 +451,7 @@
+ #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 _SIZE_T_DEFINED
diff --git a/use_fopen_for_xp_compatibility.patch b/use_fopen_for_xp_compatibility.patch
new file mode 100644
index 000000000000..168888be9e7e
--- /dev/null
+++ b/use_fopen_for_xp_compatibility.patch
@@ -0,0 +1,28 @@
+--- libmariadb/dbug.c 2014-04-04 04:21:01.000000000 -0600
++++ libmariadb/dbug.c 2015-01-24 16:47:13.316693150 -0700
+@@ -2050,11 +2050,7 @@
+ }
+ 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("");
+--- libmariadb/my_fopen.c 2014-04-04 04:21:01.000000000 -0600
++++ libmariadb/my_fopen.c 2015-01-24 16:46:10.735766900 -0700
+@@ -36,11 +36,7 @@
+ 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