commit:     98a62031a548747cb66a8f6a5b24dc065aa8d8ac
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sun Jan  6 19:49:20 2019 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Sun Jan  6 19:50:24 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=98a62031

dev-db/mysql-connector-c++: bump to v1.1.11 & v8.0.13

Bug: https://bugs.gentoo.org/674450
Package-Manager: Portage-2.3.53, Repoman-2.3.12
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 dev-db/mysql-connector-c++/Manifest                |   2 +
 ...ysql-connector-c++-1.1.11-fix-cpp-linking.patch |  15 +
 .../mysql-connector-c++-1.1.11-fix-mariadb.patch   |  43 +++
 .../mysql-connector-c++-8.0.13-fix-build.patch     | 329 +++++++++++++++++++++
 .../mysql-connector-c++-1.1.11.ebuild              |  63 ++++
 .../mysql-connector-c++-8.0.13.ebuild              |  40 +++
 6 files changed, 492 insertions(+)

diff --git a/dev-db/mysql-connector-c++/Manifest 
b/dev-db/mysql-connector-c++/Manifest
index bcd51d9d1cf..9735622de44 100644
--- a/dev-db/mysql-connector-c++/Manifest
+++ b/dev-db/mysql-connector-c++/Manifest
@@ -1,2 +1,4 @@
+DIST mysql-connector-c++-1.1.11.tar.gz 504872 BLAKE2B 
16a265ce291d18d3e76f6654b42271d8c6cc9329f047d9eb0c6cdfaea37e1c13f04932e595e4333882b26154f0940949bc9bdab9d8af8e25d2bfff43be0030fa
 SHA512 
d6839ecda12d1f088f24b20c08f3e9a757e9907d3375dba39e0f247b6a11de59817739644201e74d782d4c900aa18bf60910fe60a9ee98a2c0138104fb55dc22
 DIST mysql-connector-c++-1.1.9.tar.gz 508255 BLAKE2B 
e2cd300946a873a94beab13d9d1cb64ecb5bd9a9a56ef2217b1f7aff1643adc9afc0aa22c2ff1e0f6b8318cd34d12a7fe95f0584c96c212307fa9bd0cb54a2a1
 SHA512 
ec4d6cb7f21d52e786de3bff951e65ea5ad7391ba097b599d0094d3e8356cf17f700dee618e38e79d7a9e562684a6c51cca95fb8e2e225942766d33f8d0a5646
 DIST mysql-connector-c++-8.0.11-src.tar.gz 2322951 BLAKE2B 
a1ea47c0440beae1892144186ad6b99a4519369845e1f37f5ce42088df6c29a458bd41840a1f9401dbd29827bc3a7c96ba34563a3a4cf3176e29e377cc254b9f
 SHA512 
5113efb473b7cc63f680c04dacf5bee78d0a58ee20b41c8203edb92f8720c31c52c24de838996f25476eaa3d734c845531440317e82cb5e5f635bc03b057a148
+DIST mysql-connector-c++-8.0.13-src.tar.gz 2174609 BLAKE2B 
5293ccfb7ad3bd6d50e0518db402d93f707535498ff1f608acc5c642cdc2c671601cbb7c14c7e6ec66fea8bdcb22effbb90e0ee2c207e8e82be7a2b446512f24
 SHA512 
0c260eff0002f5abc177049b9d050daf3b7860634355c10c02cb0ece18a3d1505454d67d8742d7e879c0cc6b44f8045f75e64d79bdd0bbfc211de9903abec902

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
new file mode 100644
index 00000000000..4b8a4a98309
--- /dev/null
+++ 
b/dev-db/mysql-connector-c++/files/mysql-connector-c++-1.1.11-fix-cpp-linking.patch
@@ -0,0 +1,15 @@
+https://bugs.mysql.com/bug.php?id=90727
+
+--- a/FindMySQL.cmake
++++ b/FindMySQL.cmake
+@@ -700,8 +700,10 @@ endif()
+ 
+ # For dynamic linking use the built-in sys and strings
+ if(NOT MYSQLCLIENT_STATIC_LINKING)
++IF(CMAKE_SYSTEM_NAME MATCHES "SunOS")
+    list(APPEND SYS_LIBRARIES "mysql_sys")
+    list(APPEND SYS_LIBRARIES "mysql_strings")
++endif()
+    list(APPEND SYS_LIBRARIES ${MYSQL_LIBRARIES})
+    SET(MYSQL_LIBRARIES ${SYS_LIBRARIES})
+ 

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
new file mode 100644
index 00000000000..2868a3c024a
--- /dev/null
+++ 
b/dev-db/mysql-connector-c++/files/mysql-connector-c++-1.1.11-fix-mariadb.patch
@@ -0,0 +1,43 @@
+--- a/driver/mysql_connection.cpp
++++ b/driver/mysql_connection.cpp
+@@ -1067,6 +1067,7 @@ MySQL_Connection::getClientOption(const sql::SQLString & 
optionName, void * opti
+     proxy->get_character_set_info(&cs);
+     *(static_cast<int *>(optionValue)) = cs.mbmaxlen;
+   /* mysql_get_option() was added in mysql 5.7.3 version */
++#if !defined( MARIADB_BASE_VERSION ) && !defined ( MARIADB_VERSION_ID )
+   } else if ( proxy->get_server_version() >= 50703 ) {
+     try {
+       if (GET_CONN_OPTION(optionName, optionValue, intOptions)) {
+@@ -1080,6 +1081,7 @@ MySQL_Connection::getClientOption(const sql::SQLString & 
optionName, void * opti
+       CPP_ERR_FMT("Unsupported option : %d:(%s) %s", proxy->errNo(), 
proxy->sqlstate().c_str(), proxy->error().c_str());
+       throw e;
+     }
++#endif
+   }
+ }
+ /* }}} */
+@@ -1097,11 +1099,13 @@ MySQL_Connection::getClientOption(const sql::SQLString 
& optionName)
+     MY_CHARSET_INFO cs;
+     proxy->get_character_set_info(&cs);
+     return cs.dir ? sql::SQLString(cs.dir) : "";
++#if !defined( MARIADB_BASE_VERSION ) && !defined ( MARIADB_VERSION_ID )
+   } else if ( proxy->get_server_version() >= 50703 ) {
+     const char* optionValue= NULL;
+     if (GET_CONN_OPTION(optionName, &optionValue, stringOptions)) {
+       return optionValue ? sql::SQLString(optionValue) : "";
+     }
++#endif
+   }
+   return "";
+ }
+--- a/driver/nativeapi/libmysql_static_proxy.cpp
++++ b/driver/nativeapi/libmysql_static_proxy.cpp
+@@ -325,7 +325,7 @@ LibmysqlStaticProxy::options(MYSQL * mysql, enum 
mysql_option option, const void
+ int
+ LibmysqlStaticProxy::get_option(MYSQL * mysql, enum mysql_option option, 
const void *arg)
+ {
+-#if MYSQL_VERSION_ID >= 50703
++#if MYSQL_VERSION_ID >= 50703 && !defined( MARIADB_BASE_VERSION ) && !defined 
( MARIADB_VERSION_ID )
+   if (::mysql_get_option(mysql, option, arg)) {
+     throw sql::InvalidArgumentException("Unsupported option provided to 
mysql_get_option()");
+   } else {

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
new file mode 100644
index 00000000000..9bc45d274d7
--- /dev/null
+++ 
b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.13-fix-build.patch
@@ -0,0 +1,329 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8ba914a..e1127f1 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -669,7 +669,7 @@ set_target_properties(connector PROPERTIES
+ 
+ 
+ install(TARGETS connector
+-  CONFIGURATIONS Release RelWithDebInfo
++  CONFIGURATIONS Release RelWithDebInfo Gentoo
+   ARCHIVE DESTINATION "${INSTALL_LIB_DIR_STATIC}" COMPONENT XDevAPIDev
+   RUNTIME DESTINATION "${INSTALL_LIB_DIR}" COMPONENT XDevAPIDll
+   LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT XDevAPIDll
+@@ -740,6 +740,12 @@ TARGET_LINK_LIBRARIES(try connector)
+ SET_INTERFACE_OPTIONS(try devapi)
+ #  ADD_GCOV(try)
+ 
++IF(WITH_SSL STREQUAL "system")
++  find_package(OpenSSL REQUIRED)
++  TARGET_LINK_LIBRARIES(try ${OPENSSL_LIBRARIES})
++ENDIF()
++
++
+ if(WITH_JDBC)
+ 
+   add_executable(try_jdbc EXCLUDE_FROM_ALL try_jdbc.cc)
+diff --git a/buildinfo.cmake b/buildinfo.cmake
+index cc57a2c..129afeb 100644
+--- a/buildinfo.cmake
++++ b/buildinfo.cmake
+@@ -112,4 +112,4 @@ if(WITH_JDBC)
+ endif()
+ 
+ 
+-install(FILES "${PROJECT_BINARY_DIR}/BUILDINFO.txt" DESTINATION . COMPONENT 
Readme)
++#install(FILES "${PROJECT_BINARY_DIR}/BUILDINFO.txt" DESTINATION . COMPONENT 
Readme)
+diff --git a/cdk/cmake/install_macros.cmake b/cdk/cmake/install_macros.cmake
+index 37c1061..39336cf 100644
+--- a/cdk/cmake/install_macros.cmake
++++ b/cdk/cmake/install_macros.cmake
+@@ -327,7 +327,7 @@ FUNCTION(INSTALL_DEBUG_TARGET target)
+     DESTINATION ${ARG_DESTINATION}
+     ${RENAME_PARAM}
+     ${PERMISSIONS_${target_type}}
+-    CONFIGURATIONS Release RelWithDebInfo
++    CONFIGURATIONS Release RelWithDebInfo Gentoo
+     COMPONENT ${ARG_COMPONENT}
+     OPTIONAL)
+ 
+@@ -346,7 +346,7 @@ FUNCTION(INSTALL_DEBUG_TARGET target)
+     INSTALL(FILES ${debug_pdb_target_location}
+       DESTINATION ${ARG_PDB_DESTINATION}
+       ${PDB_RENAME_PARAM}
+-      CONFIGURATIONS Release RelWithDebInfo
++      CONFIGURATIONS Release RelWithDebInfo Gentoo
+       COMPONENT ${ARG_COMPONENT}
+       OPTIONAL)
+   ENDIF()
+diff --git a/cdk/cmake/libutils.cmake b/cdk/cmake/libutils.cmake
+index 959fc5d..aec2d91 100644
+--- a/cdk/cmake/libutils.cmake
++++ b/cdk/cmake/libutils.cmake
+@@ -282,14 +282,7 @@ function(add_library_ex TARGET)
+   endforeach()
+ 
+   if(libs)
+-
+-    if(${type} STREQUAL "STATIC")
+-        merge_static_libraries(${TARGET} ${libs})
+-        add_dependencies(${TARGET} ${libs})
+-    else()
+       target_link_libraries(${TARGET} PRIVATE ${libs})
+-    endif()
+-
+   endif()
+ 
+   #
+diff --git a/cdk/cmake/protobuf.cmake b/cdk/cmake/protobuf.cmake
+index 95ecc71..484687c 100644
+--- a/cdk/cmake/protobuf.cmake
++++ b/cdk/cmake/protobuf.cmake
+@@ -26,201 +26,8 @@
+ # along with this program; if not, write to the Free Software Foundation, 
Inc.,
+ # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
+ 
+-#
+-# Usage:
+-#
+-#  INCLUDE(protobuf)
+-#  [USE_FULL_PROTOBUF()]
+-#
+-#  MYSQLX_PROTOBUF_GENERATE_CPP(SRCS HDRS <protobuf definitions>)
+-#  ADD_LIBRARY(target ... ${SRCS})
+-#
+-
+-if(DEFINED WITH_PROTOBUF)
+-
+-  #
+-  # If WITH_PROTOBUF is defined, it should point at external location where
+-  # protobuf libraries were built using our CMakeLists.txt (so that
+-  # exports.cmake was produced).
+-  #
+-
+-  if (NOT EXISTS "${WITH_PROTOBUF}/exports.cmake")
+-    message(FATAL_ERROR
+-      "Valid protobuf build not found at the given location"
+-      " (could not find exports.cmake): ${WITH_PROTOBUF}"
+-    )
+-  endif()
+-
+-  message("Using protobuf build at: ${WITH_PROTOBUF}")
+-
+-else(DEFINED WITH_PROTOBUF)
+-
+-  #
+-  # If external WITH_PROTOBUF location is not given, then we arrange for
+-  # building of protbuf from bundled sources in 
${PROJECT_BINARY_DIR}/protobuf.
+-  #
+-
+-  message("Configuring Protobuf build using cmake generator: 
${CMAKE_GENERATOR}")
+-  file(REMOVE "${PROJECT_BINARY_DIR}/protobuf/CMakeCache.txt")
+-  file(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/protobuf")
+-
+-  #
+-  # Pick build configuration for the protobuf build. Normally we build using 
the
+-  # same build configuration that is used for building CDK 
(Release/Debug/etc.).
+-  # But we also support building CDK under non-standard build configuration
+-  # named 'Static' (this is a dirty trick we use to simplify building our 
MSIs).
+-  # Since protobuf does not know 'Static' build configuration, we build 
protobuf
+-  # under 'Release' configuration in that case.
+-  #
+-  # We need to handle two cases. For some build systems, like Makefiles,
+-  # the build configuration is specified at cmake time using CMAKE_BUILD_TYPE
+-  # variable. In that case we also set it during protobuf build configuration.
+-  # Another case is a multi-configuration build system like MSVC. In this case
+-  # we use generator expression to pick correct  configuration when the build
+-  # command is invoked below.
+-  #
+-
+-  if(CMAKE_BUILD_TYPE)
+-    if(CMAKE_BUILD_TYPE MATCHES "[Ss][Tt][Aa][Tt][Ii][Cc]")
+-      set(set_build_type -DCMAKE_BUILD_TYPE=Release)
+-    else()
+-      set(set_build_type -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE})
+-    endif()
+-  endif()
+-
+-  set(CONFIG_EXPR
+-    $<$<CONFIG:Static>:Release>$<$<NOT:$<CONFIG:Static>>:$<CONFIG>>
+-  )
+-
+-  execute_process(
+-    COMMAND ${CMAKE_COMMAND}
+-            -G "${CMAKE_GENERATOR}"
+-            ${set_build_type}
+-            -DSTATIC_MSVCRT=${STATIC_MSVCRT}
+-            
-DCMAKE_POSITION_INDEPENDENT_CODE=${CMAKE_POSITION_INDEPENDENT_CODE}
+-            -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
+-            -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
+-            -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG}
+-            -DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE}
+-            -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO}
+-            -DCMAKE_CXX_FLAGS_MINSIZEREL=${CMAKE_CXX_FLAGS_MINSIZEREL}
+-            -DCMAKE_STATIC_LINKER_FLAGS=${CMAKE_STATIC_LINKER_FLAGS}
+-            ${PROJECT_SOURCE_DIR}/protobuf
+-    WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/protobuf
+-    RESULT_VARIABLE protobuf_config
+-  )
+-
+-  if(protobuf_config)
+-    message(FATAL_ERROR "Could not configure Protobuf build: 
${protobuf_config}")
+-  endif()
+-
+-  set(WITH_PROTOBUF "${PROJECT_BINARY_DIR}/protobuf")
+-
+-endif(DEFINED WITH_PROTOBUF)
+-
+-# Import targets exported by protobuf
+-
+-include(${WITH_PROTOBUF}/exports.cmake)
+-
+-#
+-# Protobuf library targets imported above (pb_protobuf
+-# and pb_protobuf-lite) are local to the directory from which
+-# they were imported. This is not good if cdk is used as
+-# a sub-project of a parent project, because the parent project
+-# must have access to these targets.
+-#
+-# For that reason below we create global protobuf/protobuf-lite targets
+-# and copy their locations from the imported targets.
+-#
+-# Note: we can't use ALIAS library because it does not work with imported
+-# targets
+-#
+-
+-add_library(protobuf STATIC IMPORTED GLOBAL)
+-add_library(protobuf-lite STATIC IMPORTED GLOBAL)
+-
+-foreach(lib protobuf protobuf-lite)
+-  #message("processing: ${lib}")
+-
+-   foreach(CONF NOCONFIG DEBUG RELEASE MINSIZEREL RELWITHDEBINFO)
+-    #message("- CONF: ${CONF}")
+-
+-    get_target_property(LOC pb_${lib} IMPORTED_LOCATION_${CONF})
+-    if(LOC)
+-      #message("- setting imported location to: ${LOC}")
+-      set_target_properties(${lib} PROPERTIES
+-        IMPORTED_LOCATION_${CONF} "${LOC}"
+-      )
+-      set_property(TARGET ${lib} APPEND PROPERTY
+-        IMPORTED_CONFIGURATIONS ${CONF}
+-      )
+-    endif()
+-
+-  endforeach(CONF)
+-
+-endforeach(lib)
+-
+-#
+-# To support 'Static' build configuration the targets imported from the
+-# Protobuf project need to have IMPORTED_LOCATION_STATIC defined. We use
+-# 'Release' locations as Protobuf is built using 'Release' configuration in
+-# that case.
+-#
+-
+-foreach(tgt protobuf protobuf-lite pb_protoc)
+-
+-  get_target_property(LOC ${tgt} IMPORTED_LOCATION_RELEASE)
+-  set_property(TARGET ${tgt} PROPERTY IMPORTED_LOCATION_STATIC ${LOC})
+-
+-endforeach(tgt)
+-
+-
+-# protobuf depends on protobuf-lite
+-
+-set_target_properties(protobuf PROPERTIES
+-  INTERFACE_LINK_LIBRARIES "protobuf-lite"
+-)
+-
+-
+-message("Protobuf include path: ${PROTOBUF_INCLUDE_DIR}")
+-
+-set(PROTOBUF_INCLUDE_DIRS ${PROTOBUF_INCLUDE_DIR}
+-    CACHE INTERNAL "Protobuf include path" FORCE)
+-set(PROTOBUF_PROTOC_EXECUTABLE pb_protoc
+-    CACHE INTERNAL "Protobuf compiler" FORCE)
+-
+-#
+-# Custom target build_protobuf ensures that Protobuf project is built.
+-#
+-# Note: this depends on Protobuf project generating the stamp file
+-#
+-
+-if(NOT DEFINED PROTOBUF_BUILD_STAMP)
+-  message(FATAL_ERROR "Protobuf build stamp file not defined")
+-endif()
+-
+-
+-if(CMAKE_VERSION VERSION_LESS 3.0)
+-  add_custom_command(OUTPUT ${PROTOBUF_BUILD_STAMP}
+-    COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIGURATION>
+-    WORKING_DIRECTORY ${WITH_PROTOBUF}
+-    COMMENT "Building protobuf using configuration: $(Configuration)"
+-  )
+-else()
+-  add_custom_command(OUTPUT ${PROTOBUF_BUILD_STAMP}
+-    COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG_EXPR}
+-    WORKING_DIRECTORY ${WITH_PROTOBUF}
+-    COMMENT "Building protobuf using configuration: $(Configuration)"
+-  )
+-endif()
+-
+-add_custom_target(build_protobuf
+-  DEPENDS ${PROTOBUF_BUILD_STAMP}
+-)
+-
+-add_dependencies(protobuf build_protobuf)
+-add_dependencies(protobuf-lite build_protobuf)
+-add_dependencies(pb_protoc build_protobuf)
++#SET(Protobuf_USE_STATIC_LIBS ON)
++find_package(Protobuf REQUIRED)
+ 
+ #
+ #  Choice between full and lite version of the library.
+diff --git a/cdk/protocol/mysqlx/crud.cc b/cdk/protocol/mysqlx/crud.cc
+index 5cb12dc..6d32e21 100644
+--- a/cdk/protocol/mysqlx/crud.cc
++++ b/cdk/protocol/mysqlx/crud.cc
+@@ -295,7 +295,7 @@ public:
+ class Placeholder_conv_imp
+     : public Args_conv
+ {
+-  map<string, unsigned> m_map;
++  std::map<string, unsigned> m_map;
+ 
+ public:
+ 
+@@ -303,7 +303,7 @@ public:
+ 
+   unsigned conv_placeholder(const string &name)
+   {
+-    map<string, unsigned>::const_iterator it = m_map.find(name);
++    std::map<string, unsigned>::const_iterator it = m_map.find(name);
+     if (it == m_map.end())
+       throw_error("Placeholder converter: Placeholder was not defined on 
args");
+       //throw Generic_error((boost::format("Placeholder %s was not defined on 
args.")
+@@ -314,7 +314,7 @@ public:
+ 
+   void add_placeholder(const string &name)
+   {
+-    map<string, unsigned>::const_iterator it = m_map.find(name);
++    std::map<string, unsigned>::const_iterator it = m_map.find(name);
+     if (it != m_map.end())
+       throw_error("Placeholder converter: Redefined placeholder");
+       //throw Generic_error((boost::format("Redifined placeholder %s.")
+diff --git a/jdbc.cmake b/jdbc.cmake
+index 60898da..b5d8bf0 100644
+--- a/jdbc.cmake
++++ b/jdbc.cmake
+@@ -38,7 +38,7 @@ if(MYSQL_CONFIG_EXECUTABLE)
+   list(APPEND jdbc_cmake_opts 
-DMYSQL_CONFIG_EXECUTABLE=${MYSQL_CONFIG_EXECUTABLE})
+ endif()
+ 
+-list(APPEND jdbc_cmake_opts -DMYSQLCLIENT_STATIC_LINKING=ON)
++list(APPEND jdbc_cmake_opts -DMYSQLCLIENT_STATIC_LINKING=OFF)
+ 
+ if(CMAKE_BUILD_TYPE)
+   if(CMAKE_BUILD_TYPE MATCHES "[Ss][Tt][Aa][Tt][Ii][Cc]")

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
new file mode 100644
index 00000000000..d7c1ec3619a
--- /dev/null
+++ b/dev-db/mysql-connector-c++/mysql-connector-c++-1.1.11.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit cmake-utils flag-o-matic
+
+DESCRIPTION="MySQL database connector for C++ (mimics JDBC 4.0 API)"
+HOMEPAGE="https://dev.mysql.com/downloads/connector/cpp/";
+URI_DIR="Connector-C++"
+SRC_URI="https://dev.mysql.com/get/Downloads/${URI_DIR}/${P}.tar.gz";
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="debug examples gcov static-libs"
+
+DEPEND="virtual/libmysqlclient:=
+       dev-libs/boost:=
+       dev-libs/openssl:0=
+       !<dev-db/mysql-connector-c-6.1.8"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-1.1.6-fix-cmake.patch"
+       "${FILESDIR}/${PN}-1.1.11-fix-mariadb.patch"
+       "${FILESDIR}/${PN}-1.1.11-fix-cpp-linking.patch"
+)
+
+src_configure() {
+       # native lib/wrapper needs this!
+       append-flags "-fno-strict-aliasing"
+
+       local mycmakeargs=(
+               -DMYSQLCPPCONN_BUILD_EXAMPLES=OFF
+               -DMYSQLCPPCONN_ICU_ENABLE=OFF
+               -DMYSQLCPPCONN_TRACE_ENABLE=$(usex debug ON OFF)
+               -DMYSQLCPPCONN_GCOV_ENABLE=$(usex gcov ON OFF)
+               -DINSTALL_DOCS="/usr/share/doc/${PF}"
+               -DMYSQL_CXX_LINKAGE=0
+               -DMYSQL_INCLUDE_DIR=$(mysql_config --variable=pkgincludedir)
+       )
+
+       cmake-utils_src_configure
+}
+
+src_install() {
+       cmake-utils_src_install
+
+       # static lib has wrong name so we need to rename it
+       if use static-libs; then
+               mv "${ED%/}"/usr/$(get_libdir)/libmysqlcppconn-static.a \
+                       "${ED%/}"/usr/$(get_libdir)/libmysqlcppconn.a || die
+       else
+               rm -f "${ED%/}"/usr/$(get_libdir)/libmysqlcppconn-static.a
+       fi
+
+       # examples
+       if use examples; then
+               insinto /usr/share/doc/${PF}/examples
+               doins "${S}"/examples/*
+       fi
+}

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
new file mode 100644
index 00000000000..f823bf40e1c
--- /dev/null
+++ b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.13.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CMAKE_MAKEFILE_GENERATOR=emake
+inherit cmake-utils
+
+DESCRIPTION="MySQL database connector for C++ (mimics JDBC 4.0 API)"
+HOMEPAGE="https://dev.mysql.com/downloads/connector/cpp/";
+URI_DIR="Connector-C++"
+SRC_URI="https://dev.mysql.com/get/Downloads/${URI_DIR}/${P}-src.tar.gz";
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="+legacy"
+
+RDEPEND="
+       dev-libs/openssl:0=
+       dev-libs/protobuf:=
+       legacy? (
+               dev-libs/boost:=
+               >=dev-db/mysql-connector-c-6.1.8:=
+       )"
+DEPEND="${RDEPEND}"
+S="${WORKDIR}/${P}-src"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-8.0.13-fix-build.patch"
+)
+
+src_configure() {
+       local mycmakeargs=(
+               -DWITH_SSL=system
+               -DWITH_JDBC=$(usex legacy ON OFF)
+       )
+
+       cmake-utils_src_configure
+}

Reply via email to