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}"
 }

Reply via email to