From c8a77dfe4d3d307c1d5dd2650b7297447d8b609d Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 12 Jan 2019 16:58:08 +0000 Subject: gentoo resync : 12.01.2019 --- ...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 +++++++++++++++++++++ 3 files changed, 387 insertions(+) create mode 100644 dev-db/mysql-connector-c++/files/mysql-connector-c++-1.1.11-fix-cpp-linking.patch create mode 100644 dev-db/mysql-connector-c++/files/mysql-connector-c++-1.1.11-fix-mariadb.patch create mode 100644 dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.13-fix-build.patch (limited to 'dev-db/mysql-connector-c++/files') 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 000000000000..4b8a4a983096 --- /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 000000000000..2868a3c024af --- /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(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 000000000000..9bc45d274d7d --- /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 ) +-# 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 +- $<$:Release>$<$>:$> +- ) +- +- 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 $ +- 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 m_map; ++ std::map m_map; + + public: + +@@ -303,7 +303,7 @@ public: + + unsigned conv_placeholder(const string &name) + { +- map::const_iterator it = m_map.find(name); ++ std::map::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::const_iterator it = m_map.find(name); ++ std::map::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]") -- cgit v1.2.3