Gentoo Archives: gentoo-commits

From: Brian Evans <grknight@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/mysql:master commit in: dev-db/myodbc/, dev-db/myodbc/files/
Date: Wed, 03 Sep 2014 22:12:10
Message-Id: 1409782311.394c6142969009f50a8bb5296416043608acf55c.grknight@gentoo
1 commit: 394c6142969009f50a8bb5296416043608acf55c
2 Author: Brian Evans <grknight <AT> gentoo <DOT> org>
3 AuthorDate: Sun Aug 31 22:37:06 2014 +0000
4 Commit: Brian Evans <grknight <AT> gentoo <DOT> org>
5 CommitDate: Wed Sep 3 22:11:51 2014 +0000
6 URL: http://sources.gentoo.org/gitweb/?p=proj/mysql.git;a=commit;h=394c6142
7
8 Sync myodbc 5.2.7 from tree
9
10 ---
11 dev-db/myodbc/files/5.2.7-cxxlinkage.patch | 23 +++++++
12 .../myodbc/files/5.2.7-mariadb-dynamic-array.patch | 79 ++++++++++++++++++++++
13 .../{myodbc-5.2.6.ebuild => myodbc-5.2.7.ebuild} | 20 ++++--
14 3 files changed, 115 insertions(+), 7 deletions(-)
15
16 diff --git a/dev-db/myodbc/files/5.2.7-cxxlinkage.patch b/dev-db/myodbc/files/5.2.7-cxxlinkage.patch
17 new file mode 100644
18 index 0000000..a78c89b
19 --- /dev/null
20 +++ b/dev-db/myodbc/files/5.2.7-cxxlinkage.patch
21 @@ -0,0 +1,23 @@
22 +diff -uarN mysql-connector-odbc-5.3.4-src.orig/cmake/FindMySQL.cmake mysql-connector-odbc-5.3.4-src/cmake/FindMySQL.cmake
23 +--- mysql-connector-odbc-5.3.4-src.orig/cmake/FindMySQL.cmake 2014-06-18 18:50:16.000000000 -0400
24 ++++ mysql-connector-odbc-5.3.4-src/cmake/FindMySQL.cmake 2014-08-20 10:05:00.191485304 -0400
25 +@@ -105,16 +105,16 @@
26 + # Finally remove the dot
27 + STRING(REGEX REPLACE "[.]" "" MYSQL_NUM_VERSION "${MYSQL_NUM_VERSION}")
28 +
29 +- IF(MYSQL_CXX_LINKAGE OR MYSQL_NUM_VERSION GREATER 50603)
30 ++ IF(MYSQL_CXX_LINKAGE)
31 + EXECUTE_PROCESS(COMMAND ${MYSQL_CONFIG_EXECUTABLE} "--cxxflags"
32 + OUTPUT_VARIABLE _mysql_config_output
33 + )
34 + SET(MYSQL_CXX_LINKAGE 1)
35 +- ELSE (MYSQL_CXX_LINKAGE OR MYSQL_NUM_VERSION GREATER 50603)
36 ++ ELSE (MYSQL_CXX_LINKAGE)
37 + EXECUTE_PROCESS(COMMAND ${MYSQL_CONFIG_EXECUTABLE} "--cflags"
38 + OUTPUT_VARIABLE _mysql_config_output
39 + )
40 +- ENDIF(MYSQL_CXX_LINKAGE OR MYSQL_NUM_VERSION GREATER 50603)
41 ++ ENDIF(MYSQL_CXX_LINKAGE)
42 +
43 + # Remove the stl4port dependency
44 + STRING(REGEX REPLACE "-library=stlport4" "" _mysql_config_output "${_mysql_config_output}")
45
46 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
47 new file mode 100644
48 index 0000000..6cfe7cd
49 --- /dev/null
50 +++ b/dev-db/myodbc/files/5.2.7-mariadb-dynamic-array.patch
51 @@ -0,0 +1,79 @@
52 +diff -aurN a/driver/catalog_no_i_s.c b/driver/catalog_no_i_s.c
53 +--- a/driver/catalog_no_i_s.c 2014-06-18 18:50:16.000000000 -0400
54 ++++ b/driver/catalog_no_i_s.c 2014-08-20 14:08:33.997339096 -0400
55 +@@ -1093,7 +1093,11 @@
56 + unsigned long *lengths;
57 + SQLRETURN rc= SQL_SUCCESS;
58 +
59 ++#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID > 100001
60 ++ my_init_dynamic_array(&records, sizeof(MY_FOREIGN_KEY_FIELD), 0, 0, MYF(0));
61 ++#else
62 + my_init_dynamic_array(&records, sizeof(MY_FOREIGN_KEY_FIELD), 0, 0);
63 ++#endif
64 +
65 + /* Get the list of tables that match szCatalog and szTable */
66 + pthread_mutex_lock(&stmt->dbc->lock);
67 +diff -aurN a/driver/desc.c b/driver/desc.c
68 +--- a/driver/desc.c 2014-06-18 18:50:16.000000000 -0400
69 ++++ b/driver/desc.c 2014-08-20 14:07:37.409169269 -0400
70 +@@ -63,8 +63,12 @@
71 + but in desc_get_rec we manually get a pointer to it. This avoids
72 + having to call set_dynamic after modifying the DESCREC.
73 + */
74 ++#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID > 100001
75 ++ if (my_init_dynamic_array(&desc->records, sizeof(DESCREC), 0, 0, MYF(0)))
76 ++#else
77 + if (my_init_dynamic_array(&desc->records, sizeof(DESCREC), 0, 0))
78 ++#endif
79 + {
80 + x_free((char *)desc);
81 + return NULL;
82 + }
83 +@@ -995,9 +1003,15 @@
84 +
85 + /* copy the records */
86 + delete_dynamic(&dest->records);
87 ++#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID > 100001
88 ++ if (my_init_dynamic_array(&dest->records, sizeof(DESCREC),
89 ++ src->records.max_element,
90 ++ src->records.alloc_increment, MYF(0)))
91 ++#else
92 + if (my_init_dynamic_array(&dest->records, sizeof(DESCREC),
93 + src->records.max_element,
94 + src->records.alloc_increment))
95 ++#endif
96 + {
97 + return set_desc_error(dest, "HY001",
98 + "Memory allocation error",
99 +diff -aurN a/driver/handle.c b/driver/handle.c
100 +--- a/driver/handle.c 2014-06-18 18:50:16.000000000 -0400
101 ++++ b/driver/handle.c 2014-08-20 14:05:00.364248403 -0400
102 +@@ -403,7 +403,11 @@
103 + }
104 + }
105 +
106 ++#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID > 100001
107 ++ my_init_dynamic_array(*param_bind, sizeof(MYSQL_BIND), elements, 10, MYF(0));
108 ++#else
109 + my_init_dynamic_array(*param_bind, sizeof(MYSQL_BIND), elements, 10);
110 ++#endif
111 + memset((*param_bind)->buffer, 0, sizeof(MYSQL_BIND) *
112 + (*param_bind)->max_element);
113 +
114 +diff -aurN a/driver/parse.c b/driver/parse.c
115 +--- a/driver/parse.c 2014-06-18 18:50:16.000000000 -0400
116 ++++ b/driver/parse.c 2014-08-20 14:03:54.336383876 -0400
117 +@@ -129,8 +129,13 @@
118 +
119 + /* TODO: Store offsets rather than ptrs. In this case we will be fine
120 + if work with copy of the originally parsed string */
121 ++#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID > 100001
122 ++ my_init_dynamic_array(&pq->token, sizeof(uint), 20, 10, MYF(0));
123 ++ my_init_dynamic_array(&pq->param_pos, sizeof(uint), 10, 10, MYF(0));
124 ++#else
125 + my_init_dynamic_array(&pq->token, sizeof(uint), 20, 10);
126 + my_init_dynamic_array(&pq->param_pos, sizeof(uint), 10, 10);
127 ++#endif
128 + }
129 +
130 + return pq;
131
132 diff --git a/dev-db/myodbc/myodbc-5.2.6.ebuild b/dev-db/myodbc/myodbc-5.2.7.ebuild
133 similarity index 78%
134 rename from dev-db/myodbc/myodbc-5.2.6.ebuild
135 rename to dev-db/myodbc/myodbc-5.2.7.ebuild
136 index 7d1ee67..8f853ad 100644
137 --- a/dev-db/myodbc/myodbc-5.2.6.ebuild
138 +++ b/dev-db/myodbc/myodbc-5.2.7.ebuild
139 @@ -1,6 +1,6 @@
140 -# Copyright 1999-2013 Gentoo Foundation
141 +# Copyright 1999-2014 Gentoo Foundation
142 # Distributed under the terms of the GNU General Public License v2
143 -# $Header: $
144 +# $Header: /var/cvsroot/gentoo-x86/dev-db/myodbc/myodbc-5.2.7.ebuild,v 1.2 2014/08/20 18:52:50 grknight Exp $
145
146 EAPI=5
147 inherit cmake-utils eutils flag-o-matic versionator
148 @@ -21,7 +21,7 @@ IUSE=""
149
150 RDEPEND="
151 dev-db/unixODBC
152 - >=virtual/mysql-4.1
153 + >=virtual/mysql-5.5
154 "
155 DEPEND="${DEPEND} ${RDEPEND}"
156 S=${WORKDIR}/${MY_P}
157 @@ -38,7 +38,9 @@ src_prepare() {
158 echo "TARGET_LINK_LIBRARIES(myodbc-installer odbc)" >> "${S}/installer/CMakeLists.txt"
159
160 # Patch document path so it doesn't install files to /usr
161 - epatch "${FILESDIR}/cmake-doc-path.patch"
162 + epatch "${FILESDIR}/cmake-doc-path.patch" \
163 + "${FILESDIR}/${PV}-cxxlinkage.patch" \
164 + "${FILESDIR}/${PV}-mariadb-dynamic-array.patch"
165 }
166
167 src_configure() {
168 @@ -48,7 +50,8 @@ src_configure() {
169 -DMYSQL_CXX_LINKAGE=0
170 -DWITH_UNIXODBC=1
171 -DRPM_BUILD=1
172 - -DMYSQL_LIB="$(mysql_config --variable=pkglibdir)/libmysqlclient_r.so"
173 + -DMYSQLCLIENT_LIB_NAME="libmysqlclient_r.so"
174 + -DWITH_DOCUMENTATION_INSTALL_PATH=/usr/share/doc/${P}
175 )
176
177 cmake-utils_src_configure
178 @@ -62,12 +65,14 @@ src_install() {
179 einfo "Building $i"
180 sed \
181 -e "s,__PN__,${DRIVER_NAME},g" \
182 - -e "s,__PF__,${PF},g" \
183 - -e "s,libmyodbc3.so,libmyodbc${SLOT:0:1}.so,g" \
184 + -e "s,__PF__,${MAJOR},g" \
185 + -e "s,libmyodbc3.so,libmyodbc${SLOT:0:1}a.so,g" \
186 >"${D}"/usr/share/${PN}-${SLOT}/${i} \
187 <"${FILESDIR}"/${i}.m4 \
188 || die "Failed to build $i"
189 done;
190 + mv "${D}/usr/bin/myodbc-installer" \
191 + "${D}/usr/bin/myodbc-installer-${MAJOR}" || die "failed to move slotted binary"
192 }
193
194 pkg_config() {
195 @@ -107,4 +112,5 @@ pkg_postinst() {
196 elog "to configure the MySQL ODBC drivers and sources:"
197 elog "emerge --config =${CATEGORY}/${PF}"
198 elog "Please note that the driver name used to form the DSN now includes the SLOT."
199 + elog "The myodbc-install utility is installed as myodbc-install-${MAJOR}"
200 }