summaryrefslogtreecommitdiff
path: root/dev-db/mysql-connector-c++/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-01-12 16:58:08 +0000
committerV3n3RiX <venerix@redcorelinux.org>2019-01-12 16:58:08 +0000
commitc8a77dfe4d3d307c1d5dd2650b7297447d8b609d (patch)
tree9ea78393bc3ecd6ab4de449383d4e97e5f3648ae /dev-db/mysql-connector-c++/files
parent2891d29af8907ce881662f4a02844926d7a293c7 (diff)
gentoo resync : 12.01.2019
Diffstat (limited to 'dev-db/mysql-connector-c++/files')
-rw-r--r--dev-db/mysql-connector-c++/files/mysql-connector-c++-1.1.11-fix-cpp-linking.patch15
-rw-r--r--dev-db/mysql-connector-c++/files/mysql-connector-c++-1.1.11-fix-mariadb.patch43
-rw-r--r--dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.13-fix-build.patch329
3 files changed, 387 insertions, 0 deletions
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<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 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 <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]")