Gentoo Archives: gentoo-commits

From: Thomas Deutschmann <whissi@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-db/mysql-connector-c++/, dev-db/mysql-connector-c++/files/
Date: Thu, 13 May 2021 22:28:24
Message-Id: 1620944896.3ef9d241a4de69e68761eeaa26f12d3414defc44.whissi@gentoo
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 +}