diff options
author | Philip A Reimer | 2015-06-12 21:50:12 -0600 |
---|---|---|
committer | Philip A Reimer | 2015-06-12 21:50:12 -0600 |
commit | 5794b4ca8d8a544476a6526c2b44d482a60d9703 (patch) | |
tree | fc2132bd8564a9cead5fc531eb715db8f4bf75e8 | |
download | aur-5794b4ca8d8a544476a6526c2b44d482a60d9703.tar.gz |
Initial import
-rw-r--r-- | .SRCINFO | 32 | ||||
-rw-r--r-- | PKGBUILD | 65 | ||||
-rw-r--r-- | fix-libnames-mingw.patch | 74 | ||||
-rw-r--r-- | fix-qt5-uint-error.patch | 11 | ||||
-rw-r--r-- | fix-size-t-defined.patch | 11 | ||||
-rw-r--r-- | use_fopen_for_xp_compatibility.patch | 28 |
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 |