1 |
commit: 3ef9d241a4de69e68761eeaa26f12d3414defc44 |
2 |
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org> |
3 |
AuthorDate: Thu May 13 22:28:02 2021 +0000 |
4 |
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu May 13 22:28:16 2021 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3ef9d241 |
7 |
|
8 |
dev-db/mysql-connector-c++: bump to v8.0.25 |
9 |
|
10 |
Package-Manager: Portage-3.0.18, Repoman-3.0.3 |
11 |
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org> |
12 |
|
13 |
dev-db/mysql-connector-c++/Manifest | 1 + |
14 |
...c++-8.0.25-fix-mysqlclient-static-binding.patch | 274 +++++++++++++++++++++ |
15 |
.../mysql-connector-c++-8.0.25.ebuild | 45 ++++ |
16 |
3 files changed, 320 insertions(+) |
17 |
|
18 |
diff --git a/dev-db/mysql-connector-c++/Manifest b/dev-db/mysql-connector-c++/Manifest |
19 |
index 5fac3703623..856ac8e3699 100644 |
20 |
--- a/dev-db/mysql-connector-c++/Manifest |
21 |
+++ b/dev-db/mysql-connector-c++/Manifest |
22 |
@@ -5,3 +5,4 @@ DIST mysql-connector-c++-8.0.21-src.tar.gz 3788740 BLAKE2B 1862b4f2c6e2a2bbe8e30 |
23 |
DIST mysql-connector-c++-8.0.22-src.tar.gz 3795112 BLAKE2B c5d6f0ebeb4649857f3217a35f3ae885d62be63af4da09815e7eb156538ece4f805578db24bfff3dd44a0e320c025a9936d7edacba69a2786d84dd932c5abb8a SHA512 1975b43fa3f3806cccc685a695f84783164c5b17da10ac14a6013d27c837cc9c63fff01b1ed4b31f22dae60afa68d34ec56ca9c45ca3dac23635e8f0fa845aa4 |
24 |
DIST mysql-connector-c++-8.0.23-src.tar.gz 3798295 BLAKE2B 923eebbd7f9cde0252c84de4c70863b40c0dd93ad98a93e2ec14c935b2f3f0b0f251828a8bbbd0f23a5ec03491db06020294e19455901d15181c84fec9fb3d7f SHA512 f8eb8842e199d7373f4b55644720ac63b93eb33be19294c433f57aaf556ce1b5752223154194469fa28af52adebe930f0a7b4e8f62df92cc810b545aa7bab928 |
25 |
DIST mysql-connector-c++-8.0.24-src.tar.gz 3797356 BLAKE2B e509e04f6c93893948c573401188567bcbda91db0e608d53b1795593abf043117e1a525d3abe5c8396068a2ef750582cde15b64412e556e89762d08032abb602 SHA512 5507bc562e8263ee17efb9d4e2f52e471da75e73a1fc4dd1bc0a2ac1c2a593be889c4b042037cf6d3cbff854ae5cc865a8800251da475aed0f31710229af26f1 |
26 |
+DIST mysql-connector-c++-8.0.25-src.tar.gz 3800065 BLAKE2B 67546b2d7d9de25ccb440c22bd58ee83e6fae78710e6dfa802cb0446bf5be433c56458424f0ee81c9a899bbfd5f464712d2d0b43dceb4205b492c7b1a79f7858 SHA512 44dd7f4296d666801be55642e53cb5181d9b5c3b080306975a48eb6280e555d9b924b42b14b44dffee4c54fab3f662a7b6bb6584d9a1ed710f0026788611c525 |
27 |
|
28 |
diff --git a/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.25-fix-mysqlclient-static-binding.patch b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.25-fix-mysqlclient-static-binding.patch |
29 |
new file mode 100644 |
30 |
index 00000000000..f211f113f04 |
31 |
--- /dev/null |
32 |
+++ b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.25-fix-mysqlclient-static-binding.patch |
33 |
@@ -0,0 +1,274 @@ |
34 |
+From 774d7bd983a2e12e78a0231c7936a9481bb3df1d Mon Sep 17 00:00:00 2001 |
35 |
+From: =?UTF-8?q?Lu=C3=ADs=20Silva?= <luis.m.silva@××××××.com> |
36 |
+Date: Thu, 13 May 2021 23:14:57 +0100 |
37 |
+Subject: [PATCH] Bug #32882344: FIX MYSQLCLIENT_STATIC_BINDING=0 BUILD |
38 |
+ |
39 |
+--- |
40 |
+ driver/nativeapi/libmysql_dynamic_proxy.cpp | 13 ++ |
41 |
+ driver/nativeapi/libmysql_dynamic_proxy.h | 132 ++++++++++---------- |
42 |
+ driver/nativeapi/mysql_client_api.h | 2 + |
43 |
+ 3 files changed, 83 insertions(+), 64 deletions(-) |
44 |
+ |
45 |
+diff --git a/driver/nativeapi/libmysql_dynamic_proxy.cpp b/driver/nativeapi/libmysql_dynamic_proxy.cpp |
46 |
+index 4c70074e..9bd4bd99 100644 |
47 |
+--- a/jdbc/driver/nativeapi/libmysql_dynamic_proxy.cpp |
48 |
++++ b/jdbc/driver/nativeapi/libmysql_dynamic_proxy.cpp |
49 |
+@@ -512,6 +512,19 @@ LibmysqlDynamicProxy::real_connect_dns_srv(MYSQL * mysql, |
50 |
+ /* }}} */ |
51 |
+ |
52 |
+ |
53 |
++/* {{{ LibmysqlDynamicProxy::bind_param() */ |
54 |
++bool |
55 |
++LibmysqlDynamicProxy::bind_param(MYSQL *mysql, unsigned n_params, |
56 |
++ MYSQL_BIND *binds, const char **names) |
57 |
++{ |
58 |
++ ptr2mysql_bind_param ptr2_bind_param= |
59 |
++ symbol_safe_cast<ptr2mysql_bind_param>(GetProcAddr("mysql_bind_param")); |
60 |
++ |
61 |
++ return (*ptr2_bind_param)(mysql, n_params, binds, names); |
62 |
++} |
63 |
++/* }}} */ |
64 |
++ |
65 |
++ |
66 |
+ /* {{{ LibmysqlDynamicProxy::real_escape_string() */ |
67 |
+ unsigned long |
68 |
+ LibmysqlDynamicProxy::real_escape_string(MYSQL * mysql, char * to, const char * from, unsigned long length) |
69 |
+diff --git a/driver/nativeapi/libmysql_dynamic_proxy.h b/driver/nativeapi/libmysql_dynamic_proxy.h |
70 |
+index 93dc9700..e0f00c95 100644 |
71 |
+--- a/jdbc/driver/nativeapi/libmysql_dynamic_proxy.h |
72 |
++++ b/jdbc/driver/nativeapi/libmysql_dynamic_proxy.h |
73 |
+@@ -65,67 +65,67 @@ public: |
74 |
+ |
75 |
+ // MySQL C-API calls wrappers |
76 |
+ |
77 |
+- my_ulonglong affected_rows(MYSQL *); |
78 |
++ my_ulonglong affected_rows(MYSQL *) override; |
79 |
+ |
80 |
+- my_bool autocommit(MYSQL * , my_bool); |
81 |
++ my_bool autocommit(MYSQL * , my_bool) override; |
82 |
+ |
83 |
+- void close (MYSQL *mysql); |
84 |
++ void close (MYSQL *mysql) override; |
85 |
+ |
86 |
+- my_bool commit(MYSQL *mysql); |
87 |
++ my_bool commit(MYSQL *mysql) override; |
88 |
+ |
89 |
+- void data_seek(MYSQL_RES *, my_ulonglong); |
90 |
++ void data_seek(MYSQL_RES *, my_ulonglong) override; |
91 |
+ |
92 |
+- void debug(const char *); |
93 |
++ void debug(const char *) override; |
94 |
+ |
95 |
+- unsigned int mysql_errno(MYSQL *); |
96 |
++ unsigned int mysql_errno(MYSQL *) override; |
97 |
+ |
98 |
+- const char * error(MYSQL *); |
99 |
++ const char * error(MYSQL *) override; |
100 |
+ |
101 |
+- MYSQL_FIELD * fetch_field(MYSQL_RES *); |
102 |
++ MYSQL_FIELD * fetch_field(MYSQL_RES *) override; |
103 |
+ |
104 |
+- MYSQL_FIELD * fetch_field_direct(MYSQL_RES *, unsigned int); |
105 |
++ MYSQL_FIELD * fetch_field_direct(MYSQL_RES *, unsigned int) override; |
106 |
+ |
107 |
+- unsigned long * fetch_lengths(MYSQL_RES *); |
108 |
++ unsigned long * fetch_lengths(MYSQL_RES *) override; |
109 |
+ |
110 |
+- MYSQL_ROW fetch_row(MYSQL_RES *); |
111 |
++ MYSQL_ROW fetch_row(MYSQL_RES *) override; |
112 |
+ |
113 |
+- unsigned int field_count(MYSQL *); |
114 |
++ unsigned int field_count(MYSQL *) override; |
115 |
+ |
116 |
+- void free_result(MYSQL_RES *); |
117 |
++ void free_result(MYSQL_RES *) override; |
118 |
+ |
119 |
+- unsigned long get_client_version(); |
120 |
++ unsigned long get_client_version() override; |
121 |
+ |
122 |
+- const char * get_server_info(MYSQL *); |
123 |
++ const char * get_server_info(MYSQL *) override; |
124 |
+ |
125 |
+- unsigned long get_server_version(MYSQL *); |
126 |
++ unsigned long get_server_version(MYSQL *) override; |
127 |
+ |
128 |
+- void get_character_set_info(MYSQL *, void *); |
129 |
++ void get_character_set_info(MYSQL *, void *) override; |
130 |
+ |
131 |
+- const char * info(MYSQL *); |
132 |
++ const char * info(MYSQL *) override; |
133 |
+ |
134 |
+- MYSQL * init(MYSQL *mysql); |
135 |
++ MYSQL * init(MYSQL *mysql) override; |
136 |
+ |
137 |
+- int library_init(int, char **, char **); |
138 |
++ int library_init(int, char **, char **) override; |
139 |
+ |
140 |
+- void library_end(); |
141 |
++ void library_end() override; |
142 |
+ |
143 |
+- my_bool more_results(MYSQL *); |
144 |
++ my_bool more_results(MYSQL *) override; |
145 |
+ |
146 |
+- int next_result(MYSQL *); |
147 |
++ int next_result(MYSQL *) override; |
148 |
+ |
149 |
+- unsigned int num_fields(MYSQL_RES *); |
150 |
++ unsigned int num_fields(MYSQL_RES *) override; |
151 |
+ |
152 |
+- my_ulonglong num_rows(MYSQL_RES *); |
153 |
++ my_ulonglong num_rows(MYSQL_RES *) override; |
154 |
+ |
155 |
+- int options (MYSQL *, enum mysql_option, const void *); |
156 |
++ int options (MYSQL *, enum mysql_option, const void *) override; |
157 |
+ |
158 |
+- int options (MYSQL *, enum mysql_option, const void *, const void *); |
159 |
++ int options (MYSQL *, enum mysql_option, const void *, const void *) override; |
160 |
+ |
161 |
+- int get_option (MYSQL *, enum mysql_option, const void *); |
162 |
++ int get_option (MYSQL *, enum mysql_option, const void *) override; |
163 |
+ |
164 |
+- int ping(MYSQL *); |
165 |
++ int ping(MYSQL *) override; |
166 |
+ |
167 |
+- int query(MYSQL *, const char *); |
168 |
++ int query(MYSQL *, const char *) override; |
169 |
+ |
170 |
+ MYSQL * real_connect(MYSQL * mysql, const char * host, |
171 |
+ const char * user, |
172 |
+@@ -133,82 +133,86 @@ public: |
173 |
+ const char * db, |
174 |
+ unsigned int port, |
175 |
+ const char * unix_socket, |
176 |
+- unsigned long client_flag); |
177 |
++ unsigned long client_flag) override; |
178 |
+ |
179 |
+ MYSQL * real_connect_dns_srv(MYSQL * mysql, |
180 |
+ const char * host, |
181 |
+ const char * user, |
182 |
+ const char * passwd, |
183 |
+ const char * db, |
184 |
+- unsigned long client_flag); |
185 |
++ unsigned long client_flag) override; |
186 |
+ |
187 |
+- unsigned long real_escape_string(MYSQL * mysql, char * to, const char * from, unsigned long length); |
188 |
++ bool bind_param(MYSQL *mysql, unsigned n_params, |
189 |
++ MYSQL_BIND *binds, const char **names) override; |
190 |
+ |
191 |
+- int real_query(MYSQL *, const char *, unsigned long); |
192 |
+ |
193 |
+- my_bool rollback(MYSQL *); |
194 |
++ unsigned long real_escape_string(MYSQL * mysql, char * to, const char * from, unsigned long length) override; |
195 |
+ |
196 |
+- const char * sqlstate(MYSQL *); |
197 |
++ int real_query(MYSQL *, const char *, unsigned long) override; |
198 |
++ |
199 |
++ my_bool rollback(MYSQL *) override; |
200 |
++ |
201 |
++ const char * sqlstate(MYSQL *) override; |
202 |
+ |
203 |
+ my_bool ssl_set(MYSQL * mysql, |
204 |
+ const char * key, |
205 |
+ const char * cert, |
206 |
+ const char * ca, |
207 |
+ const char * capath, |
208 |
+- const char * cipher); |
209 |
++ const char * cipher) override; |
210 |
+ |
211 |
+- MYSQL_RES * store_result(MYSQL *); |
212 |
++ MYSQL_RES * store_result(MYSQL *) override; |
213 |
+ |
214 |
+- MYSQL_RES * use_result(MYSQL *); |
215 |
++ MYSQL_RES * use_result(MYSQL *) override; |
216 |
+ |
217 |
+- unsigned int warning_count(MYSQL *); |
218 |
++ unsigned int warning_count(MYSQL *) override; |
219 |
+ |
220 |
+ /* Prepared Statement stmt_* functions */ |
221 |
+- my_ulonglong stmt_affected_rows (MYSQL_STMT *); |
222 |
++ my_ulonglong stmt_affected_rows (MYSQL_STMT *) override; |
223 |
+ |
224 |
+- my_bool stmt_attr_set(MYSQL_STMT *, enum enum_stmt_attr_type, const void *); |
225 |
++ my_bool stmt_attr_set(MYSQL_STMT *, enum enum_stmt_attr_type, const void *) override; |
226 |
+ |
227 |
+- my_bool stmt_bind_param(MYSQL_STMT *, MYSQL_BIND *); |
228 |
++ my_bool stmt_bind_param(MYSQL_STMT *, MYSQL_BIND *) override; |
229 |
+ |
230 |
+- my_bool stmt_bind_result(MYSQL_STMT *, MYSQL_BIND *); |
231 |
++ my_bool stmt_bind_result(MYSQL_STMT *, MYSQL_BIND *) override; |
232 |
+ |
233 |
+- my_bool stmt_close(MYSQL_STMT *); |
234 |
++ my_bool stmt_close(MYSQL_STMT *) override; |
235 |
+ |
236 |
+- void stmt_data_seek(MYSQL_STMT *, my_ulonglong); |
237 |
++ void stmt_data_seek(MYSQL_STMT *, my_ulonglong) override; |
238 |
+ |
239 |
+- unsigned int stmt_errno(MYSQL_STMT *); |
240 |
++ unsigned int stmt_errno(MYSQL_STMT *) override; |
241 |
+ |
242 |
+- const char * stmt_error(MYSQL_STMT *); |
243 |
++ const char * stmt_error(MYSQL_STMT *) override; |
244 |
+ |
245 |
+- int stmt_execute(MYSQL_STMT *); |
246 |
++ int stmt_execute(MYSQL_STMT *) override; |
247 |
+ |
248 |
+- int stmt_fetch(MYSQL_STMT *); |
249 |
++ int stmt_fetch(MYSQL_STMT *) override; |
250 |
+ |
251 |
+- unsigned int stmt_field_count(MYSQL_STMT *); |
252 |
++ unsigned int stmt_field_count(MYSQL_STMT *) override; |
253 |
+ |
254 |
+- MYSQL_STMT * stmt_init(MYSQL *); |
255 |
++ MYSQL_STMT * stmt_init(MYSQL *) override; |
256 |
+ |
257 |
+- my_ulonglong stmt_num_rows(MYSQL_STMT *); |
258 |
++ my_ulonglong stmt_num_rows(MYSQL_STMT *) override; |
259 |
+ |
260 |
+- unsigned long stmt_param_count(MYSQL_STMT *); |
261 |
++ unsigned long stmt_param_count(MYSQL_STMT *) override; |
262 |
+ |
263 |
+- int stmt_prepare(MYSQL_STMT *, const char *, unsigned long); |
264 |
++ int stmt_prepare(MYSQL_STMT *, const char *, unsigned long) override; |
265 |
+ |
266 |
+- MYSQL_RES * stmt_result_metadata(MYSQL_STMT *); |
267 |
++ MYSQL_RES * stmt_result_metadata(MYSQL_STMT *) override; |
268 |
+ |
269 |
+- my_bool stmt_send_long_data (MYSQL_STMT * , unsigned int, const char *, unsigned long); |
270 |
++ my_bool stmt_send_long_data (MYSQL_STMT * , unsigned int, const char *, unsigned long) override; |
271 |
+ |
272 |
+- const char * stmt_sqlstate(MYSQL_STMT *); |
273 |
++ const char * stmt_sqlstate(MYSQL_STMT *) override; |
274 |
+ |
275 |
+- int stmt_store_result(MYSQL_STMT *); |
276 |
++ int stmt_store_result(MYSQL_STMT *) override; |
277 |
+ |
278 |
+- int stmt_next_result(MYSQL_STMT *); |
279 |
++ int stmt_next_result(MYSQL_STMT *) override; |
280 |
+ |
281 |
+- bool stmt_free_result(MYSQL_STMT *); |
282 |
++ bool stmt_free_result(MYSQL_STMT *) override; |
283 |
+ |
284 |
+- void thread_init(); |
285 |
++ void thread_init() override; |
286 |
+ |
287 |
+- void thread_end(); |
288 |
++ void thread_end() override; |
289 |
+ }; |
290 |
+ |
291 |
+ } /* namespace NativeAPI */ |
292 |
+diff --git a/driver/nativeapi/mysql_client_api.h b/driver/nativeapi/mysql_client_api.h |
293 |
+index b738cf9a..fa044c93 100644 |
294 |
+--- a/jdbc/driver/nativeapi/mysql_client_api.h |
295 |
++++ b/jdbc/driver/nativeapi/mysql_client_api.h |
296 |
+@@ -111,6 +111,8 @@ typedef MYSQL * (STDCALL *ptr2mysql_real_connect)(MYSQL *, const char *, const c |
297 |
+ |
298 |
+ typedef MYSQL * (STDCALL *ptr2mysql_real_connect_dns_srv)(MYSQL *, const char *, const char *, const char * , const char *, unsigned long); |
299 |
+ |
300 |
++typedef bool (STDCALL *ptr2mysql_bind_param)(MYSQL *mysql, unsigned n_params, MYSQL_BIND *binds, const char **names); |
301 |
++ |
302 |
+ typedef unsigned long (STDCALL *ptr2mysql_real_escape_string)(MYSQL * mysql, char *, const char *, unsigned long); |
303 |
+ |
304 |
+ typedef int (STDCALL *ptr2mysql_real_query)(MYSQL *, const char *, unsigned long); |
305 |
+-- |
306 |
+2.30.2 |
307 |
+ |
308 |
|
309 |
diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.25.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.25.ebuild |
310 |
new file mode 100644 |
311 |
index 00000000000..1d5c5bd6f51 |
312 |
--- /dev/null |
313 |
+++ b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.25.ebuild |
314 |
@@ -0,0 +1,45 @@ |
315 |
+# Copyright 1999-2021 Gentoo Authors |
316 |
+# Distributed under the terms of the GNU General Public License v2 |
317 |
+ |
318 |
+EAPI="7" |
319 |
+ |
320 |
+CMAKE_MAKEFILE_GENERATOR=emake |
321 |
+inherit cmake |
322 |
+ |
323 |
+DESCRIPTION="MySQL database connector for C++ (mimics JDBC 4.0 API)" |
324 |
+HOMEPAGE="https://dev.mysql.com/downloads/connector/cpp/" |
325 |
+URI_DIR="Connector-C++" |
326 |
+SRC_URI="https://dev.mysql.com/get/Downloads/${URI_DIR}/${P}-src.tar.gz" |
327 |
+ |
328 |
+LICENSE="Artistic GPL-2" |
329 |
+SLOT="0" |
330 |
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86" |
331 |
+IUSE="+legacy" |
332 |
+ |
333 |
+RDEPEND=" |
334 |
+ dev-libs/protobuf:= |
335 |
+ legacy? ( |
336 |
+ dev-libs/boost:= |
337 |
+ >=dev-db/mysql-connector-c-6.1.8:= |
338 |
+ ) |
339 |
+ dev-libs/openssl:0= |
340 |
+ " |
341 |
+DEPEND="${RDEPEND}" |
342 |
+S="${WORKDIR}/${P}-src" |
343 |
+ |
344 |
+PATCHES=( |
345 |
+ "${FILESDIR}"/${PN}-8.0.22-fix-build.patch |
346 |
+ "${FILESDIR}"/${PN}-8.0.24-gcc11-numeric_limits.patch |
347 |
+ "${FILESDIR}"/${PN}-8.0.25-fix-mysqlclient-static-binding.patch |
348 |
+) |
349 |
+ |
350 |
+src_configure() { |
351 |
+ local mycmakeargs=( |
352 |
+ -DWITH_SSL=system |
353 |
+ -DWITH_JDBC=$(usex legacy ON OFF) |
354 |
+ $(usex legacy '-DMYSQLCLIENT_STATIC_BINDING=0' '') |
355 |
+ $(usex legacy '-DMYSQLCLIENT_STATIC_LINKING=0' '') |
356 |
+ ) |
357 |
+ |
358 |
+ cmake_src_configure |
359 |
+} |