commit: 394c6142969009f50a8bb5296416043608acf55c Author: Brian Evans <grknight <AT> gentoo <DOT> org> AuthorDate: Sun Aug 31 22:37:06 2014 +0000 Commit: Brian Evans <grknight <AT> gentoo <DOT> org> CommitDate: Wed Sep 3 22:11:51 2014 +0000 URL: http://sources.gentoo.org/gitweb/?p=proj/mysql.git;a=commit;h=394c6142
Sync myodbc 5.2.7 from tree --- dev-db/myodbc/files/5.2.7-cxxlinkage.patch | 23 +++++++ .../myodbc/files/5.2.7-mariadb-dynamic-array.patch | 79 ++++++++++++++++++++++ .../{myodbc-5.2.6.ebuild => myodbc-5.2.7.ebuild} | 20 ++++-- 3 files changed, 115 insertions(+), 7 deletions(-) diff --git a/dev-db/myodbc/files/5.2.7-cxxlinkage.patch b/dev-db/myodbc/files/5.2.7-cxxlinkage.patch new file mode 100644 index 0000000..a78c89b --- /dev/null +++ b/dev-db/myodbc/files/5.2.7-cxxlinkage.patch @@ -0,0 +1,23 @@ +diff -uarN mysql-connector-odbc-5.3.4-src.orig/cmake/FindMySQL.cmake mysql-connector-odbc-5.3.4-src/cmake/FindMySQL.cmake +--- mysql-connector-odbc-5.3.4-src.orig/cmake/FindMySQL.cmake 2014-06-18 18:50:16.000000000 -0400 ++++ mysql-connector-odbc-5.3.4-src/cmake/FindMySQL.cmake 2014-08-20 10:05:00.191485304 -0400 +@@ -105,16 +105,16 @@ + # Finally remove the dot + STRING(REGEX REPLACE "[.]" "" MYSQL_NUM_VERSION "${MYSQL_NUM_VERSION}") + +- IF(MYSQL_CXX_LINKAGE OR MYSQL_NUM_VERSION GREATER 50603) ++ IF(MYSQL_CXX_LINKAGE) + EXECUTE_PROCESS(COMMAND ${MYSQL_CONFIG_EXECUTABLE} "--cxxflags" + OUTPUT_VARIABLE _mysql_config_output + ) + SET(MYSQL_CXX_LINKAGE 1) +- ELSE (MYSQL_CXX_LINKAGE OR MYSQL_NUM_VERSION GREATER 50603) ++ ELSE (MYSQL_CXX_LINKAGE) + EXECUTE_PROCESS(COMMAND ${MYSQL_CONFIG_EXECUTABLE} "--cflags" + OUTPUT_VARIABLE _mysql_config_output + ) +- ENDIF(MYSQL_CXX_LINKAGE OR MYSQL_NUM_VERSION GREATER 50603) ++ ENDIF(MYSQL_CXX_LINKAGE) + + # Remove the stl4port dependency + STRING(REGEX REPLACE "-library=stlport4" "" _mysql_config_output "${_mysql_config_output}") diff --git a/dev-db/myodbc/files/5.2.7-mariadb-dynamic-array.patch b/dev-db/myodbc/files/5.2.7-mariadb-dynamic-array.patch new file mode 100644 index 0000000..6cfe7cd --- /dev/null +++ b/dev-db/myodbc/files/5.2.7-mariadb-dynamic-array.patch @@ -0,0 +1,79 @@ +diff -aurN a/driver/catalog_no_i_s.c b/driver/catalog_no_i_s.c +--- a/driver/catalog_no_i_s.c 2014-06-18 18:50:16.000000000 -0400 ++++ b/driver/catalog_no_i_s.c 2014-08-20 14:08:33.997339096 -0400 +@@ -1093,7 +1093,11 @@ + unsigned long *lengths; + SQLRETURN rc= SQL_SUCCESS; + ++#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID > 100001 ++ my_init_dynamic_array(&records, sizeof(MY_FOREIGN_KEY_FIELD), 0, 0, MYF(0)); ++#else + my_init_dynamic_array(&records, sizeof(MY_FOREIGN_KEY_FIELD), 0, 0); ++#endif + + /* Get the list of tables that match szCatalog and szTable */ + pthread_mutex_lock(&stmt->dbc->lock); +diff -aurN a/driver/desc.c b/driver/desc.c +--- a/driver/desc.c 2014-06-18 18:50:16.000000000 -0400 ++++ b/driver/desc.c 2014-08-20 14:07:37.409169269 -0400 +@@ -63,8 +63,12 @@ + but in desc_get_rec we manually get a pointer to it. This avoids + having to call set_dynamic after modifying the DESCREC. + */ ++#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID > 100001 ++ if (my_init_dynamic_array(&desc->records, sizeof(DESCREC), 0, 0, MYF(0))) ++#else + if (my_init_dynamic_array(&desc->records, sizeof(DESCREC), 0, 0)) ++#endif + { + x_free((char *)desc); + return NULL; + } +@@ -995,9 +1003,15 @@ + + /* copy the records */ + delete_dynamic(&dest->records); ++#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID > 100001 ++ if (my_init_dynamic_array(&dest->records, sizeof(DESCREC), ++ src->records.max_element, ++ src->records.alloc_increment, MYF(0))) ++#else + if (my_init_dynamic_array(&dest->records, sizeof(DESCREC), + src->records.max_element, + src->records.alloc_increment)) ++#endif + { + return set_desc_error(dest, "HY001", + "Memory allocation error", +diff -aurN a/driver/handle.c b/driver/handle.c +--- a/driver/handle.c 2014-06-18 18:50:16.000000000 -0400 ++++ b/driver/handle.c 2014-08-20 14:05:00.364248403 -0400 +@@ -403,7 +403,11 @@ + } + } + ++#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID > 100001 ++ my_init_dynamic_array(*param_bind, sizeof(MYSQL_BIND), elements, 10, MYF(0)); ++#else + my_init_dynamic_array(*param_bind, sizeof(MYSQL_BIND), elements, 10); ++#endif + memset((*param_bind)->buffer, 0, sizeof(MYSQL_BIND) * + (*param_bind)->max_element); + +diff -aurN a/driver/parse.c b/driver/parse.c +--- a/driver/parse.c 2014-06-18 18:50:16.000000000 -0400 ++++ b/driver/parse.c 2014-08-20 14:03:54.336383876 -0400 +@@ -129,8 +129,13 @@ + + /* TODO: Store offsets rather than ptrs. In this case we will be fine + if work with copy of the originally parsed string */ ++#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID > 100001 ++ my_init_dynamic_array(&pq->token, sizeof(uint), 20, 10, MYF(0)); ++ my_init_dynamic_array(&pq->param_pos, sizeof(uint), 10, 10, MYF(0)); ++#else + my_init_dynamic_array(&pq->token, sizeof(uint), 20, 10); + my_init_dynamic_array(&pq->param_pos, sizeof(uint), 10, 10); ++#endif + } + + return pq; diff --git a/dev-db/myodbc/myodbc-5.2.6.ebuild b/dev-db/myodbc/myodbc-5.2.7.ebuild similarity index 78% rename from dev-db/myodbc/myodbc-5.2.6.ebuild rename to dev-db/myodbc/myodbc-5.2.7.ebuild index 7d1ee67..8f853ad 100644 --- a/dev-db/myodbc/myodbc-5.2.6.ebuild +++ b/dev-db/myodbc/myodbc-5.2.7.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2013 Gentoo Foundation +# Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: $ +# $Header: /var/cvsroot/gentoo-x86/dev-db/myodbc/myodbc-5.2.7.ebuild,v 1.2 2014/08/20 18:52:50 grknight Exp $ EAPI=5 inherit cmake-utils eutils flag-o-matic versionator @@ -21,7 +21,7 @@ IUSE="" RDEPEND=" dev-db/unixODBC - >=virtual/mysql-4.1 + >=virtual/mysql-5.5 " DEPEND="${DEPEND} ${RDEPEND}" S=${WORKDIR}/${MY_P} @@ -38,7 +38,9 @@ src_prepare() { echo "TARGET_LINK_LIBRARIES(myodbc-installer odbc)" >> "${S}/installer/CMakeLists.txt" # Patch document path so it doesn't install files to /usr - epatch "${FILESDIR}/cmake-doc-path.patch" + epatch "${FILESDIR}/cmake-doc-path.patch" \ + "${FILESDIR}/${PV}-cxxlinkage.patch" \ + "${FILESDIR}/${PV}-mariadb-dynamic-array.patch" } src_configure() { @@ -48,7 +50,8 @@ src_configure() { -DMYSQL_CXX_LINKAGE=0 -DWITH_UNIXODBC=1 -DRPM_BUILD=1 - -DMYSQL_LIB="$(mysql_config --variable=pkglibdir)/libmysqlclient_r.so" + -DMYSQLCLIENT_LIB_NAME="libmysqlclient_r.so" + -DWITH_DOCUMENTATION_INSTALL_PATH=/usr/share/doc/${P} ) cmake-utils_src_configure @@ -62,12 +65,14 @@ src_install() { einfo "Building $i" sed \ -e "s,__PN__,${DRIVER_NAME},g" \ - -e "s,__PF__,${PF},g" \ - -e "s,libmyodbc3.so,libmyodbc${SLOT:0:1}.so,g" \ + -e "s,__PF__,${MAJOR},g" \ + -e "s,libmyodbc3.so,libmyodbc${SLOT:0:1}a.so,g" \ >"${D}"/usr/share/${PN}-${SLOT}/${i} \ <"${FILESDIR}"/${i}.m4 \ || die "Failed to build $i" done; + mv "${D}/usr/bin/myodbc-installer" \ + "${D}/usr/bin/myodbc-installer-${MAJOR}" || die "failed to move slotted binary" } pkg_config() { @@ -107,4 +112,5 @@ pkg_postinst() { elog "to configure the MySQL ODBC drivers and sources:" elog "emerge --config =${CATEGORY}/${PF}" elog "Please note that the driver name used to form the DSN now includes the SLOT." + elog "The myodbc-install utility is installed as myodbc-install-${MAJOR}" }