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: Sun, 06 Jan 2019 19:50:39
Message-Id: 1546804224.98a62031a548747cb66a8f6a5b24dc065aa8d8ac.whissi@gentoo
1 commit: 98a62031a548747cb66a8f6a5b24dc065aa8d8ac
2 Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
3 AuthorDate: Sun Jan 6 19:49:20 2019 +0000
4 Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
5 CommitDate: Sun Jan 6 19:50:24 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=98a62031
7
8 dev-db/mysql-connector-c++: bump to v1.1.11 & v8.0.13
9
10 Bug: https://bugs.gentoo.org/674450
11 Package-Manager: Portage-2.3.53, Repoman-2.3.12
12 Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
13
14 dev-db/mysql-connector-c++/Manifest | 2 +
15 ...ysql-connector-c++-1.1.11-fix-cpp-linking.patch | 15 +
16 .../mysql-connector-c++-1.1.11-fix-mariadb.patch | 43 +++
17 .../mysql-connector-c++-8.0.13-fix-build.patch | 329 +++++++++++++++++++++
18 .../mysql-connector-c++-1.1.11.ebuild | 63 ++++
19 .../mysql-connector-c++-8.0.13.ebuild | 40 +++
20 6 files changed, 492 insertions(+)
21
22 diff --git a/dev-db/mysql-connector-c++/Manifest b/dev-db/mysql-connector-c++/Manifest
23 index bcd51d9d1cf..9735622de44 100644
24 --- a/dev-db/mysql-connector-c++/Manifest
25 +++ b/dev-db/mysql-connector-c++/Manifest
26 @@ -1,2 +1,4 @@
27 +DIST mysql-connector-c++-1.1.11.tar.gz 504872 BLAKE2B 16a265ce291d18d3e76f6654b42271d8c6cc9329f047d9eb0c6cdfaea37e1c13f04932e595e4333882b26154f0940949bc9bdab9d8af8e25d2bfff43be0030fa SHA512 d6839ecda12d1f088f24b20c08f3e9a757e9907d3375dba39e0f247b6a11de59817739644201e74d782d4c900aa18bf60910fe60a9ee98a2c0138104fb55dc22
28 DIST mysql-connector-c++-1.1.9.tar.gz 508255 BLAKE2B e2cd300946a873a94beab13d9d1cb64ecb5bd9a9a56ef2217b1f7aff1643adc9afc0aa22c2ff1e0f6b8318cd34d12a7fe95f0584c96c212307fa9bd0cb54a2a1 SHA512 ec4d6cb7f21d52e786de3bff951e65ea5ad7391ba097b599d0094d3e8356cf17f700dee618e38e79d7a9e562684a6c51cca95fb8e2e225942766d33f8d0a5646
29 DIST mysql-connector-c++-8.0.11-src.tar.gz 2322951 BLAKE2B a1ea47c0440beae1892144186ad6b99a4519369845e1f37f5ce42088df6c29a458bd41840a1f9401dbd29827bc3a7c96ba34563a3a4cf3176e29e377cc254b9f SHA512 5113efb473b7cc63f680c04dacf5bee78d0a58ee20b41c8203edb92f8720c31c52c24de838996f25476eaa3d734c845531440317e82cb5e5f635bc03b057a148
30 +DIST mysql-connector-c++-8.0.13-src.tar.gz 2174609 BLAKE2B 5293ccfb7ad3bd6d50e0518db402d93f707535498ff1f608acc5c642cdc2c671601cbb7c14c7e6ec66fea8bdcb22effbb90e0ee2c207e8e82be7a2b446512f24 SHA512 0c260eff0002f5abc177049b9d050daf3b7860634355c10c02cb0ece18a3d1505454d67d8742d7e879c0cc6b44f8045f75e64d79bdd0bbfc211de9903abec902
31
32 diff --git a/dev-db/mysql-connector-c++/files/mysql-connector-c++-1.1.11-fix-cpp-linking.patch b/dev-db/mysql-connector-c++/files/mysql-connector-c++-1.1.11-fix-cpp-linking.patch
33 new file mode 100644
34 index 00000000000..4b8a4a98309
35 --- /dev/null
36 +++ b/dev-db/mysql-connector-c++/files/mysql-connector-c++-1.1.11-fix-cpp-linking.patch
37 @@ -0,0 +1,15 @@
38 +https://bugs.mysql.com/bug.php?id=90727
39 +
40 +--- a/FindMySQL.cmake
41 ++++ b/FindMySQL.cmake
42 +@@ -700,8 +700,10 @@ endif()
43 +
44 + # For dynamic linking use the built-in sys and strings
45 + if(NOT MYSQLCLIENT_STATIC_LINKING)
46 ++IF(CMAKE_SYSTEM_NAME MATCHES "SunOS")
47 + list(APPEND SYS_LIBRARIES "mysql_sys")
48 + list(APPEND SYS_LIBRARIES "mysql_strings")
49 ++endif()
50 + list(APPEND SYS_LIBRARIES ${MYSQL_LIBRARIES})
51 + SET(MYSQL_LIBRARIES ${SYS_LIBRARIES})
52 +
53
54 diff --git a/dev-db/mysql-connector-c++/files/mysql-connector-c++-1.1.11-fix-mariadb.patch b/dev-db/mysql-connector-c++/files/mysql-connector-c++-1.1.11-fix-mariadb.patch
55 new file mode 100644
56 index 00000000000..2868a3c024a
57 --- /dev/null
58 +++ b/dev-db/mysql-connector-c++/files/mysql-connector-c++-1.1.11-fix-mariadb.patch
59 @@ -0,0 +1,43 @@
60 +--- a/driver/mysql_connection.cpp
61 ++++ b/driver/mysql_connection.cpp
62 +@@ -1067,6 +1067,7 @@ MySQL_Connection::getClientOption(const sql::SQLString & optionName, void * opti
63 + proxy->get_character_set_info(&cs);
64 + *(static_cast<int *>(optionValue)) = cs.mbmaxlen;
65 + /* mysql_get_option() was added in mysql 5.7.3 version */
66 ++#if !defined( MARIADB_BASE_VERSION ) && !defined ( MARIADB_VERSION_ID )
67 + } else if ( proxy->get_server_version() >= 50703 ) {
68 + try {
69 + if (GET_CONN_OPTION(optionName, optionValue, intOptions)) {
70 +@@ -1080,6 +1081,7 @@ MySQL_Connection::getClientOption(const sql::SQLString & optionName, void * opti
71 + CPP_ERR_FMT("Unsupported option : %d:(%s) %s", proxy->errNo(), proxy->sqlstate().c_str(), proxy->error().c_str());
72 + throw e;
73 + }
74 ++#endif
75 + }
76 + }
77 + /* }}} */
78 +@@ -1097,11 +1099,13 @@ MySQL_Connection::getClientOption(const sql::SQLString & optionName)
79 + MY_CHARSET_INFO cs;
80 + proxy->get_character_set_info(&cs);
81 + return cs.dir ? sql::SQLString(cs.dir) : "";
82 ++#if !defined( MARIADB_BASE_VERSION ) && !defined ( MARIADB_VERSION_ID )
83 + } else if ( proxy->get_server_version() >= 50703 ) {
84 + const char* optionValue= NULL;
85 + if (GET_CONN_OPTION(optionName, &optionValue, stringOptions)) {
86 + return optionValue ? sql::SQLString(optionValue) : "";
87 + }
88 ++#endif
89 + }
90 + return "";
91 + }
92 +--- a/driver/nativeapi/libmysql_static_proxy.cpp
93 ++++ b/driver/nativeapi/libmysql_static_proxy.cpp
94 +@@ -325,7 +325,7 @@ LibmysqlStaticProxy::options(MYSQL * mysql, enum mysql_option option, const void
95 + int
96 + LibmysqlStaticProxy::get_option(MYSQL * mysql, enum mysql_option option, const void *arg)
97 + {
98 +-#if MYSQL_VERSION_ID >= 50703
99 ++#if MYSQL_VERSION_ID >= 50703 && !defined( MARIADB_BASE_VERSION ) && !defined ( MARIADB_VERSION_ID )
100 + if (::mysql_get_option(mysql, option, arg)) {
101 + throw sql::InvalidArgumentException("Unsupported option provided to mysql_get_option()");
102 + } else {
103
104 diff --git a/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.13-fix-build.patch b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.13-fix-build.patch
105 new file mode 100644
106 index 00000000000..9bc45d274d7
107 --- /dev/null
108 +++ b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.13-fix-build.patch
109 @@ -0,0 +1,329 @@
110 +diff --git a/CMakeLists.txt b/CMakeLists.txt
111 +index 8ba914a..e1127f1 100644
112 +--- a/CMakeLists.txt
113 ++++ b/CMakeLists.txt
114 +@@ -669,7 +669,7 @@ set_target_properties(connector PROPERTIES
115 +
116 +
117 + install(TARGETS connector
118 +- CONFIGURATIONS Release RelWithDebInfo
119 ++ CONFIGURATIONS Release RelWithDebInfo Gentoo
120 + ARCHIVE DESTINATION "${INSTALL_LIB_DIR_STATIC}" COMPONENT XDevAPIDev
121 + RUNTIME DESTINATION "${INSTALL_LIB_DIR}" COMPONENT XDevAPIDll
122 + LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT XDevAPIDll
123 +@@ -740,6 +740,12 @@ TARGET_LINK_LIBRARIES(try connector)
124 + SET_INTERFACE_OPTIONS(try devapi)
125 + # ADD_GCOV(try)
126 +
127 ++IF(WITH_SSL STREQUAL "system")
128 ++ find_package(OpenSSL REQUIRED)
129 ++ TARGET_LINK_LIBRARIES(try ${OPENSSL_LIBRARIES})
130 ++ENDIF()
131 ++
132 ++
133 + if(WITH_JDBC)
134 +
135 + add_executable(try_jdbc EXCLUDE_FROM_ALL try_jdbc.cc)
136 +diff --git a/buildinfo.cmake b/buildinfo.cmake
137 +index cc57a2c..129afeb 100644
138 +--- a/buildinfo.cmake
139 ++++ b/buildinfo.cmake
140 +@@ -112,4 +112,4 @@ if(WITH_JDBC)
141 + endif()
142 +
143 +
144 +-install(FILES "${PROJECT_BINARY_DIR}/BUILDINFO.txt" DESTINATION . COMPONENT Readme)
145 ++#install(FILES "${PROJECT_BINARY_DIR}/BUILDINFO.txt" DESTINATION . COMPONENT Readme)
146 +diff --git a/cdk/cmake/install_macros.cmake b/cdk/cmake/install_macros.cmake
147 +index 37c1061..39336cf 100644
148 +--- a/cdk/cmake/install_macros.cmake
149 ++++ b/cdk/cmake/install_macros.cmake
150 +@@ -327,7 +327,7 @@ FUNCTION(INSTALL_DEBUG_TARGET target)
151 + DESTINATION ${ARG_DESTINATION}
152 + ${RENAME_PARAM}
153 + ${PERMISSIONS_${target_type}}
154 +- CONFIGURATIONS Release RelWithDebInfo
155 ++ CONFIGURATIONS Release RelWithDebInfo Gentoo
156 + COMPONENT ${ARG_COMPONENT}
157 + OPTIONAL)
158 +
159 +@@ -346,7 +346,7 @@ FUNCTION(INSTALL_DEBUG_TARGET target)
160 + INSTALL(FILES ${debug_pdb_target_location}
161 + DESTINATION ${ARG_PDB_DESTINATION}
162 + ${PDB_RENAME_PARAM}
163 +- CONFIGURATIONS Release RelWithDebInfo
164 ++ CONFIGURATIONS Release RelWithDebInfo Gentoo
165 + COMPONENT ${ARG_COMPONENT}
166 + OPTIONAL)
167 + ENDIF()
168 +diff --git a/cdk/cmake/libutils.cmake b/cdk/cmake/libutils.cmake
169 +index 959fc5d..aec2d91 100644
170 +--- a/cdk/cmake/libutils.cmake
171 ++++ b/cdk/cmake/libutils.cmake
172 +@@ -282,14 +282,7 @@ function(add_library_ex TARGET)
173 + endforeach()
174 +
175 + if(libs)
176 +-
177 +- if(${type} STREQUAL "STATIC")
178 +- merge_static_libraries(${TARGET} ${libs})
179 +- add_dependencies(${TARGET} ${libs})
180 +- else()
181 + target_link_libraries(${TARGET} PRIVATE ${libs})
182 +- endif()
183 +-
184 + endif()
185 +
186 + #
187 +diff --git a/cdk/cmake/protobuf.cmake b/cdk/cmake/protobuf.cmake
188 +index 95ecc71..484687c 100644
189 +--- a/cdk/cmake/protobuf.cmake
190 ++++ b/cdk/cmake/protobuf.cmake
191 +@@ -26,201 +26,8 @@
192 + # along with this program; if not, write to the Free Software Foundation, Inc.,
193 + # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
194 +
195 +-#
196 +-# Usage:
197 +-#
198 +-# INCLUDE(protobuf)
199 +-# [USE_FULL_PROTOBUF()]
200 +-#
201 +-# MYSQLX_PROTOBUF_GENERATE_CPP(SRCS HDRS <protobuf definitions>)
202 +-# ADD_LIBRARY(target ... ${SRCS})
203 +-#
204 +-
205 +-if(DEFINED WITH_PROTOBUF)
206 +-
207 +- #
208 +- # If WITH_PROTOBUF is defined, it should point at external location where
209 +- # protobuf libraries were built using our CMakeLists.txt (so that
210 +- # exports.cmake was produced).
211 +- #
212 +-
213 +- if (NOT EXISTS "${WITH_PROTOBUF}/exports.cmake")
214 +- message(FATAL_ERROR
215 +- "Valid protobuf build not found at the given location"
216 +- " (could not find exports.cmake): ${WITH_PROTOBUF}"
217 +- )
218 +- endif()
219 +-
220 +- message("Using protobuf build at: ${WITH_PROTOBUF}")
221 +-
222 +-else(DEFINED WITH_PROTOBUF)
223 +-
224 +- #
225 +- # If external WITH_PROTOBUF location is not given, then we arrange for
226 +- # building of protbuf from bundled sources in ${PROJECT_BINARY_DIR}/protobuf.
227 +- #
228 +-
229 +- message("Configuring Protobuf build using cmake generator: ${CMAKE_GENERATOR}")
230 +- file(REMOVE "${PROJECT_BINARY_DIR}/protobuf/CMakeCache.txt")
231 +- file(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/protobuf")
232 +-
233 +- #
234 +- # Pick build configuration for the protobuf build. Normally we build using the
235 +- # same build configuration that is used for building CDK (Release/Debug/etc.).
236 +- # But we also support building CDK under non-standard build configuration
237 +- # named 'Static' (this is a dirty trick we use to simplify building our MSIs).
238 +- # Since protobuf does not know 'Static' build configuration, we build protobuf
239 +- # under 'Release' configuration in that case.
240 +- #
241 +- # We need to handle two cases. For some build systems, like Makefiles,
242 +- # the build configuration is specified at cmake time using CMAKE_BUILD_TYPE
243 +- # variable. In that case we also set it during protobuf build configuration.
244 +- # Another case is a multi-configuration build system like MSVC. In this case
245 +- # we use generator expression to pick correct configuration when the build
246 +- # command is invoked below.
247 +- #
248 +-
249 +- if(CMAKE_BUILD_TYPE)
250 +- if(CMAKE_BUILD_TYPE MATCHES "[Ss][Tt][Aa][Tt][Ii][Cc]")
251 +- set(set_build_type -DCMAKE_BUILD_TYPE=Release)
252 +- else()
253 +- set(set_build_type -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE})
254 +- endif()
255 +- endif()
256 +-
257 +- set(CONFIG_EXPR
258 +- $<$<CONFIG:Static>:Release>$<$<NOT:$<CONFIG:Static>>:$<CONFIG>>
259 +- )
260 +-
261 +- execute_process(
262 +- COMMAND ${CMAKE_COMMAND}
263 +- -G "${CMAKE_GENERATOR}"
264 +- ${set_build_type}
265 +- -DSTATIC_MSVCRT=${STATIC_MSVCRT}
266 +- -DCMAKE_POSITION_INDEPENDENT_CODE=${CMAKE_POSITION_INDEPENDENT_CODE}
267 +- -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
268 +- -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
269 +- -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG}
270 +- -DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE}
271 +- -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO}
272 +- -DCMAKE_CXX_FLAGS_MINSIZEREL=${CMAKE_CXX_FLAGS_MINSIZEREL}
273 +- -DCMAKE_STATIC_LINKER_FLAGS=${CMAKE_STATIC_LINKER_FLAGS}
274 +- ${PROJECT_SOURCE_DIR}/protobuf
275 +- WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/protobuf
276 +- RESULT_VARIABLE protobuf_config
277 +- )
278 +-
279 +- if(protobuf_config)
280 +- message(FATAL_ERROR "Could not configure Protobuf build: ${protobuf_config}")
281 +- endif()
282 +-
283 +- set(WITH_PROTOBUF "${PROJECT_BINARY_DIR}/protobuf")
284 +-
285 +-endif(DEFINED WITH_PROTOBUF)
286 +-
287 +-# Import targets exported by protobuf
288 +-
289 +-include(${WITH_PROTOBUF}/exports.cmake)
290 +-
291 +-#
292 +-# Protobuf library targets imported above (pb_protobuf
293 +-# and pb_protobuf-lite) are local to the directory from which
294 +-# they were imported. This is not good if cdk is used as
295 +-# a sub-project of a parent project, because the parent project
296 +-# must have access to these targets.
297 +-#
298 +-# For that reason below we create global protobuf/protobuf-lite targets
299 +-# and copy their locations from the imported targets.
300 +-#
301 +-# Note: we can't use ALIAS library because it does not work with imported
302 +-# targets
303 +-#
304 +-
305 +-add_library(protobuf STATIC IMPORTED GLOBAL)
306 +-add_library(protobuf-lite STATIC IMPORTED GLOBAL)
307 +-
308 +-foreach(lib protobuf protobuf-lite)
309 +- #message("processing: ${lib}")
310 +-
311 +- foreach(CONF NOCONFIG DEBUG RELEASE MINSIZEREL RELWITHDEBINFO)
312 +- #message("- CONF: ${CONF}")
313 +-
314 +- get_target_property(LOC pb_${lib} IMPORTED_LOCATION_${CONF})
315 +- if(LOC)
316 +- #message("- setting imported location to: ${LOC}")
317 +- set_target_properties(${lib} PROPERTIES
318 +- IMPORTED_LOCATION_${CONF} "${LOC}"
319 +- )
320 +- set_property(TARGET ${lib} APPEND PROPERTY
321 +- IMPORTED_CONFIGURATIONS ${CONF}
322 +- )
323 +- endif()
324 +-
325 +- endforeach(CONF)
326 +-
327 +-endforeach(lib)
328 +-
329 +-#
330 +-# To support 'Static' build configuration the targets imported from the
331 +-# Protobuf project need to have IMPORTED_LOCATION_STATIC defined. We use
332 +-# 'Release' locations as Protobuf is built using 'Release' configuration in
333 +-# that case.
334 +-#
335 +-
336 +-foreach(tgt protobuf protobuf-lite pb_protoc)
337 +-
338 +- get_target_property(LOC ${tgt} IMPORTED_LOCATION_RELEASE)
339 +- set_property(TARGET ${tgt} PROPERTY IMPORTED_LOCATION_STATIC ${LOC})
340 +-
341 +-endforeach(tgt)
342 +-
343 +-
344 +-# protobuf depends on protobuf-lite
345 +-
346 +-set_target_properties(protobuf PROPERTIES
347 +- INTERFACE_LINK_LIBRARIES "protobuf-lite"
348 +-)
349 +-
350 +-
351 +-message("Protobuf include path: ${PROTOBUF_INCLUDE_DIR}")
352 +-
353 +-set(PROTOBUF_INCLUDE_DIRS ${PROTOBUF_INCLUDE_DIR}
354 +- CACHE INTERNAL "Protobuf include path" FORCE)
355 +-set(PROTOBUF_PROTOC_EXECUTABLE pb_protoc
356 +- CACHE INTERNAL "Protobuf compiler" FORCE)
357 +-
358 +-#
359 +-# Custom target build_protobuf ensures that Protobuf project is built.
360 +-#
361 +-# Note: this depends on Protobuf project generating the stamp file
362 +-#
363 +-
364 +-if(NOT DEFINED PROTOBUF_BUILD_STAMP)
365 +- message(FATAL_ERROR "Protobuf build stamp file not defined")
366 +-endif()
367 +-
368 +-
369 +-if(CMAKE_VERSION VERSION_LESS 3.0)
370 +- add_custom_command(OUTPUT ${PROTOBUF_BUILD_STAMP}
371 +- COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIGURATION>
372 +- WORKING_DIRECTORY ${WITH_PROTOBUF}
373 +- COMMENT "Building protobuf using configuration: $(Configuration)"
374 +- )
375 +-else()
376 +- add_custom_command(OUTPUT ${PROTOBUF_BUILD_STAMP}
377 +- COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG_EXPR}
378 +- WORKING_DIRECTORY ${WITH_PROTOBUF}
379 +- COMMENT "Building protobuf using configuration: $(Configuration)"
380 +- )
381 +-endif()
382 +-
383 +-add_custom_target(build_protobuf
384 +- DEPENDS ${PROTOBUF_BUILD_STAMP}
385 +-)
386 +-
387 +-add_dependencies(protobuf build_protobuf)
388 +-add_dependencies(protobuf-lite build_protobuf)
389 +-add_dependencies(pb_protoc build_protobuf)
390 ++#SET(Protobuf_USE_STATIC_LIBS ON)
391 ++find_package(Protobuf REQUIRED)
392 +
393 + #
394 + # Choice between full and lite version of the library.
395 +diff --git a/cdk/protocol/mysqlx/crud.cc b/cdk/protocol/mysqlx/crud.cc
396 +index 5cb12dc..6d32e21 100644
397 +--- a/cdk/protocol/mysqlx/crud.cc
398 ++++ b/cdk/protocol/mysqlx/crud.cc
399 +@@ -295,7 +295,7 @@ public:
400 + class Placeholder_conv_imp
401 + : public Args_conv
402 + {
403 +- map<string, unsigned> m_map;
404 ++ std::map<string, unsigned> m_map;
405 +
406 + public:
407 +
408 +@@ -303,7 +303,7 @@ public:
409 +
410 + unsigned conv_placeholder(const string &name)
411 + {
412 +- map<string, unsigned>::const_iterator it = m_map.find(name);
413 ++ std::map<string, unsigned>::const_iterator it = m_map.find(name);
414 + if (it == m_map.end())
415 + throw_error("Placeholder converter: Placeholder was not defined on args");
416 + //throw Generic_error((boost::format("Placeholder %s was not defined on args.")
417 +@@ -314,7 +314,7 @@ public:
418 +
419 + void add_placeholder(const string &name)
420 + {
421 +- map<string, unsigned>::const_iterator it = m_map.find(name);
422 ++ std::map<string, unsigned>::const_iterator it = m_map.find(name);
423 + if (it != m_map.end())
424 + throw_error("Placeholder converter: Redefined placeholder");
425 + //throw Generic_error((boost::format("Redifined placeholder %s.")
426 +diff --git a/jdbc.cmake b/jdbc.cmake
427 +index 60898da..b5d8bf0 100644
428 +--- a/jdbc.cmake
429 ++++ b/jdbc.cmake
430 +@@ -38,7 +38,7 @@ if(MYSQL_CONFIG_EXECUTABLE)
431 + list(APPEND jdbc_cmake_opts -DMYSQL_CONFIG_EXECUTABLE=${MYSQL_CONFIG_EXECUTABLE})
432 + endif()
433 +
434 +-list(APPEND jdbc_cmake_opts -DMYSQLCLIENT_STATIC_LINKING=ON)
435 ++list(APPEND jdbc_cmake_opts -DMYSQLCLIENT_STATIC_LINKING=OFF)
436 +
437 + if(CMAKE_BUILD_TYPE)
438 + if(CMAKE_BUILD_TYPE MATCHES "[Ss][Tt][Aa][Tt][Ii][Cc]")
439
440 diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-1.1.11.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-1.1.11.ebuild
441 new file mode 100644
442 index 00000000000..d7c1ec3619a
443 --- /dev/null
444 +++ b/dev-db/mysql-connector-c++/mysql-connector-c++-1.1.11.ebuild
445 @@ -0,0 +1,63 @@
446 +# Copyright 1999-2019 Gentoo Authors
447 +# Distributed under the terms of the GNU General Public License v2
448 +
449 +EAPI="7"
450 +
451 +inherit cmake-utils flag-o-matic
452 +
453 +DESCRIPTION="MySQL database connector for C++ (mimics JDBC 4.0 API)"
454 +HOMEPAGE="https://dev.mysql.com/downloads/connector/cpp/"
455 +URI_DIR="Connector-C++"
456 +SRC_URI="https://dev.mysql.com/get/Downloads/${URI_DIR}/${P}.tar.gz"
457 +
458 +LICENSE="GPL-2"
459 +SLOT="0"
460 +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86"
461 +IUSE="debug examples gcov static-libs"
462 +
463 +DEPEND="virtual/libmysqlclient:=
464 + dev-libs/boost:=
465 + dev-libs/openssl:0=
466 + !<dev-db/mysql-connector-c-6.1.8"
467 +RDEPEND="${DEPEND}"
468 +
469 +PATCHES=(
470 + "${FILESDIR}/${PN}-1.1.6-fix-cmake.patch"
471 + "${FILESDIR}/${PN}-1.1.11-fix-mariadb.patch"
472 + "${FILESDIR}/${PN}-1.1.11-fix-cpp-linking.patch"
473 +)
474 +
475 +src_configure() {
476 + # native lib/wrapper needs this!
477 + append-flags "-fno-strict-aliasing"
478 +
479 + local mycmakeargs=(
480 + -DMYSQLCPPCONN_BUILD_EXAMPLES=OFF
481 + -DMYSQLCPPCONN_ICU_ENABLE=OFF
482 + -DMYSQLCPPCONN_TRACE_ENABLE=$(usex debug ON OFF)
483 + -DMYSQLCPPCONN_GCOV_ENABLE=$(usex gcov ON OFF)
484 + -DINSTALL_DOCS="/usr/share/doc/${PF}"
485 + -DMYSQL_CXX_LINKAGE=0
486 + -DMYSQL_INCLUDE_DIR=$(mysql_config --variable=pkgincludedir)
487 + )
488 +
489 + cmake-utils_src_configure
490 +}
491 +
492 +src_install() {
493 + cmake-utils_src_install
494 +
495 + # static lib has wrong name so we need to rename it
496 + if use static-libs; then
497 + mv "${ED%/}"/usr/$(get_libdir)/libmysqlcppconn-static.a \
498 + "${ED%/}"/usr/$(get_libdir)/libmysqlcppconn.a || die
499 + else
500 + rm -f "${ED%/}"/usr/$(get_libdir)/libmysqlcppconn-static.a
501 + fi
502 +
503 + # examples
504 + if use examples; then
505 + insinto /usr/share/doc/${PF}/examples
506 + doins "${S}"/examples/*
507 + fi
508 +}
509
510 diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.13.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.13.ebuild
511 new file mode 100644
512 index 00000000000..f823bf40e1c
513 --- /dev/null
514 +++ b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.13.ebuild
515 @@ -0,0 +1,40 @@
516 +# Copyright 1999-2019 Gentoo Authors
517 +# Distributed under the terms of the GNU General Public License v2
518 +
519 +EAPI="7"
520 +
521 +CMAKE_MAKEFILE_GENERATOR=emake
522 +inherit cmake-utils
523 +
524 +DESCRIPTION="MySQL database connector for C++ (mimics JDBC 4.0 API)"
525 +HOMEPAGE="https://dev.mysql.com/downloads/connector/cpp/"
526 +URI_DIR="Connector-C++"
527 +SRC_URI="https://dev.mysql.com/get/Downloads/${URI_DIR}/${P}-src.tar.gz"
528 +
529 +LICENSE="GPL-2"
530 +SLOT="0"
531 +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86"
532 +IUSE="+legacy"
533 +
534 +RDEPEND="
535 + dev-libs/openssl:0=
536 + dev-libs/protobuf:=
537 + legacy? (
538 + dev-libs/boost:=
539 + >=dev-db/mysql-connector-c-6.1.8:=
540 + )"
541 +DEPEND="${RDEPEND}"
542 +S="${WORKDIR}/${P}-src"
543 +
544 +PATCHES=(
545 + "${FILESDIR}/${PN}-8.0.13-fix-build.patch"
546 +)
547 +
548 +src_configure() {
549 + local mycmakeargs=(
550 + -DWITH_SSL=system
551 + -DWITH_JDBC=$(usex legacy ON OFF)
552 + )
553 +
554 + cmake-utils_src_configure
555 +}