* [gentoo-commits] repo/gentoo:master commit in: dev-db/mysql-connector-c++/files/, dev-db/mysql-connector-c++/
@ 2017-01-27 13:49 Brian Evans
0 siblings, 0 replies; 7+ messages in thread
From: Brian Evans @ 2017-01-27 13:49 UTC (permalink / raw
To: gentoo-commits
commit: 9b3d0ae79e7ec81d1a9232ee9df06520aca333bf
Author: Brian Evans <grknight <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 27 13:49:22 2017 +0000
Commit: Brian Evans <grknight <AT> gentoo <DOT> org>
CommitDate: Fri Jan 27 13:49:22 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9b3d0ae7
dev-db/mysql-connector-c++: Version bump
Package-Manager: Portage-2.3.3, Repoman-2.3.1
dev-db/mysql-connector-c++/Manifest | 1 +
.../mysql-connector-c++-1.1.8-fix-mariadb.patch | 45 ++++++++++++++++
.../mysql-connector-c++-1.1.8.ebuild | 62 ++++++++++++++++++++++
3 files changed, 108 insertions(+)
diff --git a/dev-db/mysql-connector-c++/Manifest b/dev-db/mysql-connector-c++/Manifest
index c19c10b..45050af 100644
--- a/dev-db/mysql-connector-c++/Manifest
+++ b/dev-db/mysql-connector-c++/Manifest
@@ -1,2 +1,3 @@
DIST mysql-connector-c++-1.1.3.tar.gz 496226 SHA256 4b1516f183f29c011c1677d5a9b174d0f5c3b761d2e8056e79690c55c01ea690 SHA512 c03a4ae25e9d189a5114ab630bef6edaefd1aee809dbb1ec26b765f5e84b93fbe17e5f7357a4fe2a95c179cd2028b676151df4baf4e3da7515543ecc0834afd7 WHIRLPOOL 5f04231cec63de16c2a076143b2e0409544ebdf600d7423f63c8c2db45f1b63048e1da108a9f374dda6b6ff0d4c13b509190390e797f4674e14284acbaa9e2e5
DIST mysql-connector-c++-1.1.6.tar.gz 522236 SHA256 ad710b3900cae3be94656825aa70319cf7a96e1ad46bf93e07275f3606f69447 SHA512 e940b6ee090f792bad8acbbfa3dacd46310ac40c7993c4097eeebb6be4b792d3f1856574e603a71e2795773db97169f47c9ed76a127654472370c726bcb291c7 WHIRLPOOL b3027423cf2e250f1fd7340b58ff5ff55ce771c91cc435e37cddd156f681621206438b6329a49df760dce660ef983b3cf3e5060af527668de64ed06e69830d12
+DIST mysql-connector-c++-1.1.8.tar.gz 528954 SHA256 85ff10bd056128562f92b440eb27766cfcd558b474bfddc1153f7dd8feb5f963 SHA512 c3ab5c1e805598d557a449c44f77ce44cc110e5b529075e38b4f775d3726ebd16a2155f61e47a378a375a9d9362d1520334ea25376636151ddd087291aafd85d WHIRLPOOL 6cb88c3b28a8b0bf072b97c55c8b24de016e8bc5f4d66dce7597cfee2f6c2e83fc88f5d1203df60b3425af5881834635ab3f2053bea6a4c16c7eb73be1f3950c
diff --git a/dev-db/mysql-connector-c++/files/mysql-connector-c++-1.1.8-fix-mariadb.patch b/dev-db/mysql-connector-c++/files/mysql-connector-c++-1.1.8-fix-mariadb.patch
new file mode 100644
index 00000000..a2a33e0
--- /dev/null
+++ b/dev-db/mysql-connector-c++/files/mysql-connector-c++-1.1.8-fix-mariadb.patch
@@ -0,0 +1,45 @@
+diff -aurN a/driver/mysql_connection.cpp b/driver/mysql_connection.cpp
+--- a/driver/mysql_connection.cpp 2016-12-14 04:58:54.000000000 -0500
++++ b/driver/mysql_connection.cpp 2017-01-26 16:33:58.086005627 -0500
+@@ -1023,6 +1023,7 @@
+ proxy->get_character_set_info(&cs);
+ *(static_cast<int *>(optionValue)) = cs.mbmaxlen;
+ /* mysql_get_option() was added in mysql 5.7.3 version */
++#ifndef MARIADB_BASE_VERSION
+ } else if ( proxy->get_server_version() >= 50703 ) {
+ try {
+ if (GET_CONN_OPTION(optionName, optionValue, intOptions)) {
+@@ -1036,6 +1037,7 @@
+ CPP_ERR_FMT("Unsupported option : %d:(%s) %s", proxy->errNo(), proxy->sqlstate().c_str(), proxy->error().c_str());
+ throw e;
+ }
++#endif
+ }
+ }
+ /* }}} */
+@@ -1053,11 +1055,13 @@
+ MY_CHARSET_INFO cs;
+ proxy->get_character_set_info(&cs);
+ return cs.dir ? sql::SQLString(cs.dir) : "";
++#ifndef MARIADB_BASE_VERSION
+ } 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 "";
+ }
+diff -aurN a/driver/nativeapi/libmysql_static_proxy.cpp b/driver/nativeapi/libmysql_static_proxy.cpp
+--- a/driver/nativeapi/libmysql_static_proxy.cpp 2017-01-26 16:35:46.256038741 -0500
++++ b/driver/nativeapi/libmysql_static_proxy.cpp 2017-01-26 16:28:34.114915809 -0500
+@@ -319,7 +319,7 @@
+ 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 )
+ 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++/mysql-connector-c++-1.1.8.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-1.1.8.ebuild
new file mode 100644
index 00000000..c3a6e0f
--- /dev/null
+++ b/dev-db/mysql-connector-c++/mysql-connector-c++-1.1.8.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit cmake-utils flag-o-matic
+
+DESCRIPTION="MySQL database connector for C++ (mimics JDBC 4.0 API)"
+HOMEPAGE="http://dev.mysql.com/downloads/connector/cpp/"
+URI_DIR="Connector-C++"
+SRC_URI="mirror://mysql/Downloads/${URI_DIR}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86"
+IUSE="debug examples gcov static-libs"
+
+DEPEND="virtual/libmysqlclient:=
+ dev-libs/boost:=
+ dev-libs/openssl:0="
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.1.6-fix-cmake.patch"
+ "${FILESDIR}/${PN}-1.1.8-fix-mariadb.patch"
+)
+
+src_configure() {
+ # native lib/wrapper needs this!
+ append-flags "-fno-strict-aliasing"
+
+ local mycmakeargs=(
+ -DMYSQLCPPCONN_BUILD_EXAMPLES=OFF
+ -DMYSQLCPPCONN_ICU_ENABLE=OFF
+ -DUSE_MYSQLCPPCONN_TRACE_ENABLE=$(usex debug ON OFF)
+ -DUSE_MYSQLCPPCONN_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
+}
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-db/mysql-connector-c++/files/, dev-db/mysql-connector-c++/
@ 2020-10-20 18:56 Thomas Deutschmann
0 siblings, 0 replies; 7+ messages in thread
From: Thomas Deutschmann @ 2020-10-20 18:56 UTC (permalink / raw
To: gentoo-commits
commit: b46380cc06550dd891ea12f958f01c20bb4f9ba3
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 20 18:40:54 2020 +0000
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Tue Oct 20 18:55:45 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b46380cc
dev-db/mysql-connector-c++: bump to v8.0.22
Package-Manager: Portage-3.0.8, Repoman-3.0.2
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
dev-db/mysql-connector-c++/Manifest | 1 +
.../mysql-connector-c++-8.0.22-fix-build.patch | 322 +++++++++++++++++++++
.../mysql-connector-c++-8.0.22.ebuild | 44 +++
3 files changed, 367 insertions(+)
diff --git a/dev-db/mysql-connector-c++/Manifest b/dev-db/mysql-connector-c++/Manifest
index e28f1d2e478..abb402a6169 100644
--- a/dev-db/mysql-connector-c++/Manifest
+++ b/dev-db/mysql-connector-c++/Manifest
@@ -2,3 +2,4 @@ DIST mysql-connector-c++-1.1.12.tar.gz 518615 BLAKE2B 386a4753ca3f03999a49a89507
DIST mysql-connector-c++-8.0.19-src.tar.gz 3137484 BLAKE2B 82a2900b0daa00bcfd72d562818ada25fe15901991a896a46ecdd9304e03066c4e7a3804287540559df1c74dbd1b3983b450ab783ee8cb7f0d7ec152f3cdc6b0 SHA512 5987ae31cda3a5db18ceded201ccbe66263b8ab7665ceacf70af6bb6b99130377b40514b96644b0768fd809b36ee02580520923c11c1edecccc75da15d7bb0bd
DIST mysql-connector-c++-8.0.20-src.tar.gz 3774428 BLAKE2B a06114432ab21c36fd0b3b91df2382198b2a48871e8e0bfd8c7a94729ed0e29f33599c078c97670fe9d744b13042db52fb89de2294c75eae670a77112d11d251 SHA512 3edb7c3d4ccf218a3f76afcf83a6d233b7accd236c05105ab3f7a6610cfd8809a78c78142c82fb60fb0931d2ae0f0f8fdc3ce9caf5f0cde7ef54067a7e20270b
DIST mysql-connector-c++-8.0.21-src.tar.gz 3788740 BLAKE2B 1862b4f2c6e2a2bbe8e3044eea2c1d3c8fdb0a319e3758ca44686b79e917a65617e2cfd0e4b698d858ed9ef12c892b4f658eb287f2a8505a5daeeb79d9544c25 SHA512 8a64dff2efd16d2891f613fd416ec42ecba2490b428b1778e99822a3051d9c5af3b94006577e9f38a6ebd146d2f3be522cb876f1e42fbf0ac82001b0a62ffa62
+DIST mysql-connector-c++-8.0.22-src.tar.gz 3795112 BLAKE2B c5d6f0ebeb4649857f3217a35f3ae885d62be63af4da09815e7eb156538ece4f805578db24bfff3dd44a0e320c025a9936d7edacba69a2786d84dd932c5abb8a SHA512 1975b43fa3f3806cccc685a695f84783164c5b17da10ac14a6013d27c837cc9c63fff01b1ed4b31f22dae60afa68d34ec56ca9c45ca3dac23635e8f0fa845aa4
diff --git a/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.22-fix-build.patch b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.22-fix-build.patch
new file mode 100644
index 00000000000..ca1b829c1fb
--- /dev/null
+++ b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.22-fix-build.patch
@@ -0,0 +1,322 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -467,7 +467,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
+--- a/cdk/cmake/DepFindProtobuf.cmake
++++ b/cdk/cmake/DepFindProtobuf.cmake
+@@ -48,244 +48,7 @@ if(TARGET Protobuf::pb)
+ return()
+ endif()
+
+-message(STATUS "Setting up Protobuf.")
+-
+-set(PB_SOURCE_DIR "${PROJECT_SOURCE_DIR}/protobuf")
+-set(PB_BINARY_DIR "${PROJECT_BINARY_DIR}/protobuf")
+-set(config_stamp "${PB_BINARY_DIR}/config.stamp")
+-set(build_stamp "${PB_BINARY_DIR}/build.stamp")
+-
+-
+-#
+-# 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.
+-#
+-
+-set(build_type)
+-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>>
+-)
+-
+-set(set_arch)
+-if(CMAKE_GENERATOR_PLATFORM)
+- set(set_arch -A ${CMAKE_GENERATOR_PLATFORM})
+-endif()
+-
+-set(set_toolset)
+-if(CMAKE_GENERATOR_TOOLSET)
+- set(set_toolset -T ${CMAKE_GENERATOR_TOOLSET})
+-endif()
+-
+-set(set_system_name)
+-if(CMAKE_SYSTEM_NAME)
+- set(set_system_name -DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME})
+- if(CMAKE_SYSTEM_VERSION)
+- list(APPEND set_system_name -DCMAKE_SYSTEM_VERSION=${CMAKE_SYSTEM_VERSION})
+- endif()
+-endif()
+-
+-set(set_system_processor)
+-if(CMAKE_SYSTEM_PROCESSOR)
+- set(set_system_processor -DCMAKE_SYSTEM_PROCESSOR=${CMAKE_SYSTEM_PROCESSOR})
+-endif()
+-
+-if(NOT EXISTS "${PB_BINARY_DIR}/exports.cmake")
+-
+- message("==== Configuring Protobuf build using cmake generator: ${CMAKE_GENERATOR} ${set_arch} ${set_toolset} ${set_system_name}")
+-
+- file(REMOVE "${PB_BINARY_DIR}/CMakeCache.txt")
+- file(MAKE_DIRECTORY "${PB_BINARY_DIR}")
+-
+- # Dirty trick to speed up cmake set up time.
+- #file(
+- # COPY "${CMAKE_BINARY_DIR}/CMakeFiles/${CMAKE_VERSION}"
+- # DESTINATION "${PB_BINARY_DIR}/CMakeFiles"
+- #)
+-
+- execute_process(
+- COMMAND ${CMAKE_COMMAND}
+- -G "${CMAKE_GENERATOR}"
+- ${set_arch}
+- ${set_toolset}
+- ${set_build_type}
+- ${set_system_name}
+- ${set_system_processor}
+- -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}
+- ${PB_SOURCE_DIR}
+- WORKING_DIRECTORY ${PB_BINARY_DIR}
+- RESULT_VARIABLE protobuf_config
+- )
+-
+- if(protobuf_config)
+- message(FATAL_ERROR "Could not configure Protobuf build: ${protobuf_config}")
+- endif()
+-
+- message("==== Protobuf build configured.")
+-
+-endif()
+-
+-
+-include(${PB_BINARY_DIR}/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::pb-full STATIC IMPORTED GLOBAL)
+-add_library(Protobuf::pb-lite STATIC IMPORTED GLOBAL)
+-add_executable(Protobuf::protoc IMPORTED GLOBAL)
+-
+-set(TGT_protobuf Protobuf::pb-full)
+-set(TGT_protobuf-lite Protobuf::pb-lite)
+-set(TGT_protoc Protobuf::protoc)
+-
+-foreach(tgt protobuf protobuf-lite protoc)
+-
+- #message("processing: ${tgt}")
+-
+- set(loc_list)
+-
+- foreach(CONF NOCONFIG DEBUG RELEASE MINSIZEREL RELWITHDEBINFO)
+-
+- #message("- CONF: ${CONF}")
+-
+- get_target_property(LOC pb_${tgt} IMPORTED_LOCATION_${CONF})
+-
+- if(LOC)
+-
+- #message("- setting imported location to: ${LOC}")
+- list(APPEND loc_list "${LOC}")
+-
+- set_target_properties(${TGT_${tgt}} PROPERTIES
+- IMPORTED_LOCATION_${CONF} "${LOC}"
+- )
+-
+- set_property(TARGET ${TGT_${tgt}} APPEND PROPERTY
+- IMPORTED_CONFIGURATIONS ${CONF}
+- )
+-
+- endif()
+-
+- endforeach(CONF)
+-
+- #
+- # 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.
+- #
+-
+- get_target_property(LOC ${TGT_${tgt}} IMPORTED_LOCATION_RELEASE)
+- set_property(TARGET ${TGT_${tgt}} PROPERTY IMPORTED_LOCATION_STATIC ${LOC})
+-
+-endforeach(tgt)
+-
+-
+-#message("Protobuf include path: ${PROTOBUF_INCLUDE_DIR}")
+-set(PROTOBUF_INCLUDE_DIR ${PROTOBUF_INCLUDE_DIR} CACHE INTERNAL "")
+-
+-set_target_properties(Protobuf::pb-lite PROPERTIES
+- INTERFACE_INCLUDE_DIRECTORIES "${PROTOBUF_INCLUDE_DIR}"
+-)
+-
+-set_target_properties(Protobuf::pb-full PROPERTIES
+- INTERFACE_LINK_LIBRARIES Protobuf::pb-lite
+-)
+-
+-# On UNIX Protobuf uses pthread library
+-if(UNIX)
+- set_property(TARGET Protobuf::pb-lite APPEND PROPERTY
+- INTERFACE_LINK_LIBRARIES pthread
+- )
+-endif()
+-
+-#
+-# Note: This is needed to correctly compile headers generated by protobuf
+-# with sunpro compiler.
+-#
+-
+-if(SUNPRO)
+- set_property(TARGET Protobuf::pb-lite APPEND PROPERTY
+- INTERFACE_COMPILE_DEFINITIONS SOLARIS_64BIT_ENABLED
+- )
+-endif()
+-
+-#
+-# Try using parallel builds for protobuf.
+-#
+-
+-include(ProcessorCount)
+-ProcessorCount(N)
+-
+-MESSAGE("Processor Count: ${N}")
+-
+-set(opt_build)
+-set(opt_tool)
+-if(NOT N EQUAL 0)
+- if(NOT CMAKE_VERSION VERSION_LESS 3.12)
+- set(opt_build --parallel ${N})
+- elseif(CMAKE_MAKE_PROGRAM MATCHES "make")
+- set(opt_tool -j${N})
+- endif()
+-endif()
+-
+-add_custom_command(OUTPUT "${build_stamp}"
+- COMMAND ${CMAKE_COMMAND} --build . ${opt_build} --config ${CONFIG_EXPR} -- ${opt_tool}
+- COMMAND ${CMAKE_COMMAND} -E touch "${build_stamp}"
+- WORKING_DIRECTORY "${PB_BINARY_DIR}"
+- COMMENT "Building protobuf"
+-)
+-
+-add_custom_target(build_protobuf
+- SOURCES "${build_stamp}"
+-)
+-
+-set_target_properties(build_protobuf PROPERTIES FOLDER "Misc")
+-
+-add_dependencies(Protobuf::pb-full build_protobuf)
+-add_dependencies(Protobuf::pb-lite build_protobuf)
+-add_dependencies(Protobuf::protoc build_protobuf)
+-
+-# TODO: Handle lite/full version
+-
+-
++find_package(Protobuf REQUIRED)
+
+ # Standard PROTOBUF_GENERATE_CPP modified to our usage
+
+@@ -314,11 +77,11 @@ function(mysqlx_protobuf_generate_cpp SRCS HDRS)
+ "${CMAKE_CURRENT_BINARY_DIR}/protobuf/${FIL_WE}.pb.h"
+ COMMAND ${CMAKE_COMMAND}
+ -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/protobuf"
+- COMMAND Protobuf::protoc
++ COMMAND ${Protobuf_PROTOC_EXECUTABLE}
+ ARGS --cpp_out "${CMAKE_CURRENT_BINARY_DIR}/protobuf"
+ -I ${ABS_PATH} ${ABS_FIL}
+- --proto_path=${PROJECT_SOURCE_DIR}/protobuf/protobuf-3.6.1/src
+- DEPENDS ${ABS_FIL} #${PROTOBUF_PROTOC_EXECUTABLE}
++ --proto_path=${Protobuf_INCLUDE_DIR}
++ DEPENDS ${ABS_FIL} #${Protobuf_PROTOC_EXECUTABLE}
+ COMMENT "Running C++ protocol buffer compiler on ${FIL}"
+ VERBATIM
+ )
+--- a/cdk/core/CMakeLists.txt
++++ b/cdk/core/CMakeLists.txt
+@@ -45,7 +45,7 @@ add_library(cdk STATIC ${cdk_sources} ${HEADERS})
+
+ target_link_libraries(cdk
+ PUBLIC cdk_mysqlx cdk_parser
+- PRIVATE Protobuf::pb-lite # required by codecc.cc
++ PRIVATE protobuf # required by codecc.cc
+ )
+
+ add_coverage(cdk)
+--- a/cdk/protocol/mysqlx/CMakeLists.txt
++++ b/cdk/protocol/mysqlx/CMakeLists.txt
+@@ -127,11 +127,7 @@ target_include_directories(cdk_proto_mysqlx PRIVATE
+ ${CMAKE_CURRENT_BINARY_DIR}
+ )
+
+-if(use_full_protobuf)
+- target_link_libraries(cdk_proto_mysqlx PRIVATE Protobuf::pb-full)
+-else()
+- target_link_libraries(cdk_proto_mysqlx PRIVATE Protobuf::pb-lite)
+-endif()
++target_link_libraries(cdk_proto_mysqlx PRIVATE protobuf)
+
+ target_link_libraries(cdk_proto_mysqlx PRIVATE cdk_foundation zlib lz4 zstd)
+
+--- a/jdbc.cmake
++++ b/jdbc.cmake
+@@ -66,7 +66,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]")
+--- a/jdbc/CMakeLists.txt
++++ b/jdbc/CMakeLists.txt
+@@ -299,7 +299,7 @@ endif()
+
+
+ install(TARGETS connector-jdbc
+- CONFIGURATIONS Release RelWithDebInfo
++ CONFIGURATIONS Release RelWithDebInfo Gentoo
+ ARCHIVE DESTINATION "${INSTALL_LIB_DIR_STATIC}" COMPONENT JDBCDev
+ RUNTIME DESTINATION "${INSTALL_LIB_DIR}" COMPONENT JDBCDll
+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT JDBCDll
diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.22.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.22.ebuild
new file mode 100644
index 00000000000..5abc5913d53
--- /dev/null
+++ b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.22.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CMAKE_MAKEFILE_GENERATOR=emake
+inherit cmake
+
+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="Artistic GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="+legacy libressl"
+
+RDEPEND="
+ dev-libs/protobuf:=
+ legacy? (
+ dev-libs/boost:=
+ >=dev-db/mysql-connector-c-6.1.8:=
+ )
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )"
+DEPEND="${RDEPEND}"
+S="${WORKDIR}/${P}-src"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-8.0.22-fix-build.patch
+ "${FILESDIR}"/${PN}-8.0.20-fix-libressl-support.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DWITH_SSL=system
+ -DWITH_JDBC=$(usex legacy ON OFF)
+ $(usex legacy '-DMYSQLCLIENT_STATIC_BINDING=0' '')
+ $(usex legacy '-DMYSQLCLIENT_STATIC_LINKING=0' '')
+ )
+
+ cmake_src_configure
+}
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-db/mysql-connector-c++/files/, dev-db/mysql-connector-c++/
@ 2021-04-28 13:20 Thomas Deutschmann
0 siblings, 0 replies; 7+ messages in thread
From: Thomas Deutschmann @ 2021-04-28 13:20 UTC (permalink / raw
To: gentoo-commits
commit: da366dafb626555b2d3229b7fdcf306a58904d8b
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 28 13:18:33 2021 +0000
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Wed Apr 28 13:19:21 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=da366daf
dev-db/mysql-connector-c++: fix building against gcc-11
Closes: https://bugs.gentoo.org/786252
Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
.../mysql-connector-c++-8.0.24-gcc11-numeric_limits.patch | 13 +++++++++++++
.../mysql-connector-c++/mysql-connector-c++-8.0.24.ebuild | 1 +
2 files changed, 14 insertions(+)
diff --git a/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.24-gcc11-numeric_limits.patch b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.24-gcc11-numeric_limits.patch
new file mode 100644
index 00000000000..f09d85449b9
--- /dev/null
+++ b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.24-gcc11-numeric_limits.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/786252
+
+--- a/include/mysqlx/common/util.h
++++ b/include/mysqlx/common/util.h
+@@ -112,6 +112,7 @@ PUSH_SYS_WARNINGS
+ #include <ostream>
+ #include <memory>
+ #include <forward_list>
++#include <limits> // std::numeric_limits
+ #include <string.h> // for memcpy
+ #include <utility> // std::move etc
+ #include <algorithm>
+
diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.24.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.24.ebuild
index e5379e0f499..8edd7e9d054 100644
--- a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.24.ebuild
+++ b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.24.ebuild
@@ -30,6 +30,7 @@ S="${WORKDIR}/${P}-src"
PATCHES=(
"${FILESDIR}"/${PN}-8.0.22-fix-build.patch
"${FILESDIR}"/${PN}-8.0.20-fix-libressl-support.patch
+ "${FILESDIR}"/${PN}-8.0.24-gcc11-numeric_limits.patch
)
src_configure() {
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-db/mysql-connector-c++/files/, dev-db/mysql-connector-c++/
@ 2022-03-03 21:22 David Seifert
0 siblings, 0 replies; 7+ messages in thread
From: David Seifert @ 2022-03-03 21:22 UTC (permalink / raw
To: gentoo-commits
commit: 4f138b37973aec82a2433f8d76dfb76d35968a51
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 3 21:21:50 2022 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Thu Mar 3 21:21:50 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4f138b37
dev-db/mysql-connector-c++: drop 8.0.24, 8.0.25, 8.0.26
Bug: https://bugs.gentoo.org/822258
Signed-off-by: David Seifert <soap <AT> gentoo.org>
dev-db/mysql-connector-c++/Manifest | 3 -
.../mysql-connector-c++-8.0.22-fix-build.patch | 322 ---------------------
...connector-c++-8.0.24-gcc11-numeric_limits.patch | 13 -
...c++-8.0.25-fix-mysqlclient-static-binding.patch | 274 ------------------
.../mysql-connector-c++-8.0.26-fix-build.patch | 321 --------------------
.../mysql-connector-c++-8.0.24.ebuild | 45 ---
.../mysql-connector-c++-8.0.25.ebuild | 46 ---
.../mysql-connector-c++-8.0.26.ebuild | 44 ---
8 files changed, 1068 deletions(-)
diff --git a/dev-db/mysql-connector-c++/Manifest b/dev-db/mysql-connector-c++/Manifest
index 572807f8ebe2..9060af922044 100644
--- a/dev-db/mysql-connector-c++/Manifest
+++ b/dev-db/mysql-connector-c++/Manifest
@@ -1,5 +1,2 @@
DIST mysql-connector-c++-1.1.12.tar.gz 518615 BLAKE2B 386a4753ca3f03999a49a89507da1b1172b3db89797c38403fee4eea86e7108a5e4f91f24a17de86d585c2a3d9e5742a117fa84d9b14aad649f938a597f3dae9 SHA512 d7e132dbc2efda4a77f8ae00c24006a1ade1d0a50f22d89ece453505e6d206427ee7988df29c0d6ef8b396ad6b8d326b6d263a1d4fa08ef5db0966fb4f1479f4
-DIST mysql-connector-c++-8.0.24-src.tar.gz 3797356 BLAKE2B e509e04f6c93893948c573401188567bcbda91db0e608d53b1795593abf043117e1a525d3abe5c8396068a2ef750582cde15b64412e556e89762d08032abb602 SHA512 5507bc562e8263ee17efb9d4e2f52e471da75e73a1fc4dd1bc0a2ac1c2a593be889c4b042037cf6d3cbff854ae5cc865a8800251da475aed0f31710229af26f1
-DIST mysql-connector-c++-8.0.25-src.tar.gz 3800065 BLAKE2B 67546b2d7d9de25ccb440c22bd58ee83e6fae78710e6dfa802cb0446bf5be433c56458424f0ee81c9a899bbfd5f464712d2d0b43dceb4205b492c7b1a79f7858 SHA512 44dd7f4296d666801be55642e53cb5181d9b5c3b080306975a48eb6280e555d9b924b42b14b44dffee4c54fab3f662a7b6bb6584d9a1ed710f0026788611c525
-DIST mysql-connector-c++-8.0.26-src.tar.gz 3980027 BLAKE2B 86ce0d94db588ed86ce7b21851f866da26268f7c9059b57697cbe1f5c5d031a3eada2f55042feb7b2888b538277c773215c0d19e8a1968ff70ce363e8f95bd77 SHA512 e3a08551a4245bf886cb7e3775a256fa379bb781b523a84d30e0d0c16cae73c808a3413b08b09998eba9c0ea3ede19e505b6392ed71712a8e9a2df31f07e4c79
DIST mysql-connector-c++-8.0.27-src.tar.gz 4004836 BLAKE2B e581c679d8d9a31d2570b9cf1968b4e793cfccbd4cafdc5a9c9d17a465c16faa1492b2da7bdc1679d97474c27b6353274a390668f77d3cb47f72598eb3a967fa SHA512 3da7109efd2d1af813931b923218de9a85afe20d23e2654eecfa5524431f5b11ebdb8421b14563300b66ab61714e284cc15407a3b28a87922c9a8c79b2804bf3
diff --git a/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.22-fix-build.patch b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.22-fix-build.patch
deleted file mode 100644
index ca1b829c1fbc..000000000000
--- a/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.22-fix-build.patch
+++ /dev/null
@@ -1,322 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -467,7 +467,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
---- a/cdk/cmake/DepFindProtobuf.cmake
-+++ b/cdk/cmake/DepFindProtobuf.cmake
-@@ -48,244 +48,7 @@ if(TARGET Protobuf::pb)
- return()
- endif()
-
--message(STATUS "Setting up Protobuf.")
--
--set(PB_SOURCE_DIR "${PROJECT_SOURCE_DIR}/protobuf")
--set(PB_BINARY_DIR "${PROJECT_BINARY_DIR}/protobuf")
--set(config_stamp "${PB_BINARY_DIR}/config.stamp")
--set(build_stamp "${PB_BINARY_DIR}/build.stamp")
--
--
--#
--# 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.
--#
--
--set(build_type)
--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>>
--)
--
--set(set_arch)
--if(CMAKE_GENERATOR_PLATFORM)
-- set(set_arch -A ${CMAKE_GENERATOR_PLATFORM})
--endif()
--
--set(set_toolset)
--if(CMAKE_GENERATOR_TOOLSET)
-- set(set_toolset -T ${CMAKE_GENERATOR_TOOLSET})
--endif()
--
--set(set_system_name)
--if(CMAKE_SYSTEM_NAME)
-- set(set_system_name -DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME})
-- if(CMAKE_SYSTEM_VERSION)
-- list(APPEND set_system_name -DCMAKE_SYSTEM_VERSION=${CMAKE_SYSTEM_VERSION})
-- endif()
--endif()
--
--set(set_system_processor)
--if(CMAKE_SYSTEM_PROCESSOR)
-- set(set_system_processor -DCMAKE_SYSTEM_PROCESSOR=${CMAKE_SYSTEM_PROCESSOR})
--endif()
--
--if(NOT EXISTS "${PB_BINARY_DIR}/exports.cmake")
--
-- message("==== Configuring Protobuf build using cmake generator: ${CMAKE_GENERATOR} ${set_arch} ${set_toolset} ${set_system_name}")
--
-- file(REMOVE "${PB_BINARY_DIR}/CMakeCache.txt")
-- file(MAKE_DIRECTORY "${PB_BINARY_DIR}")
--
-- # Dirty trick to speed up cmake set up time.
-- #file(
-- # COPY "${CMAKE_BINARY_DIR}/CMakeFiles/${CMAKE_VERSION}"
-- # DESTINATION "${PB_BINARY_DIR}/CMakeFiles"
-- #)
--
-- execute_process(
-- COMMAND ${CMAKE_COMMAND}
-- -G "${CMAKE_GENERATOR}"
-- ${set_arch}
-- ${set_toolset}
-- ${set_build_type}
-- ${set_system_name}
-- ${set_system_processor}
-- -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}
-- ${PB_SOURCE_DIR}
-- WORKING_DIRECTORY ${PB_BINARY_DIR}
-- RESULT_VARIABLE protobuf_config
-- )
--
-- if(protobuf_config)
-- message(FATAL_ERROR "Could not configure Protobuf build: ${protobuf_config}")
-- endif()
--
-- message("==== Protobuf build configured.")
--
--endif()
--
--
--include(${PB_BINARY_DIR}/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::pb-full STATIC IMPORTED GLOBAL)
--add_library(Protobuf::pb-lite STATIC IMPORTED GLOBAL)
--add_executable(Protobuf::protoc IMPORTED GLOBAL)
--
--set(TGT_protobuf Protobuf::pb-full)
--set(TGT_protobuf-lite Protobuf::pb-lite)
--set(TGT_protoc Protobuf::protoc)
--
--foreach(tgt protobuf protobuf-lite protoc)
--
-- #message("processing: ${tgt}")
--
-- set(loc_list)
--
-- foreach(CONF NOCONFIG DEBUG RELEASE MINSIZEREL RELWITHDEBINFO)
--
-- #message("- CONF: ${CONF}")
--
-- get_target_property(LOC pb_${tgt} IMPORTED_LOCATION_${CONF})
--
-- if(LOC)
--
-- #message("- setting imported location to: ${LOC}")
-- list(APPEND loc_list "${LOC}")
--
-- set_target_properties(${TGT_${tgt}} PROPERTIES
-- IMPORTED_LOCATION_${CONF} "${LOC}"
-- )
--
-- set_property(TARGET ${TGT_${tgt}} APPEND PROPERTY
-- IMPORTED_CONFIGURATIONS ${CONF}
-- )
--
-- endif()
--
-- endforeach(CONF)
--
-- #
-- # 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.
-- #
--
-- get_target_property(LOC ${TGT_${tgt}} IMPORTED_LOCATION_RELEASE)
-- set_property(TARGET ${TGT_${tgt}} PROPERTY IMPORTED_LOCATION_STATIC ${LOC})
--
--endforeach(tgt)
--
--
--#message("Protobuf include path: ${PROTOBUF_INCLUDE_DIR}")
--set(PROTOBUF_INCLUDE_DIR ${PROTOBUF_INCLUDE_DIR} CACHE INTERNAL "")
--
--set_target_properties(Protobuf::pb-lite PROPERTIES
-- INTERFACE_INCLUDE_DIRECTORIES "${PROTOBUF_INCLUDE_DIR}"
--)
--
--set_target_properties(Protobuf::pb-full PROPERTIES
-- INTERFACE_LINK_LIBRARIES Protobuf::pb-lite
--)
--
--# On UNIX Protobuf uses pthread library
--if(UNIX)
-- set_property(TARGET Protobuf::pb-lite APPEND PROPERTY
-- INTERFACE_LINK_LIBRARIES pthread
-- )
--endif()
--
--#
--# Note: This is needed to correctly compile headers generated by protobuf
--# with sunpro compiler.
--#
--
--if(SUNPRO)
-- set_property(TARGET Protobuf::pb-lite APPEND PROPERTY
-- INTERFACE_COMPILE_DEFINITIONS SOLARIS_64BIT_ENABLED
-- )
--endif()
--
--#
--# Try using parallel builds for protobuf.
--#
--
--include(ProcessorCount)
--ProcessorCount(N)
--
--MESSAGE("Processor Count: ${N}")
--
--set(opt_build)
--set(opt_tool)
--if(NOT N EQUAL 0)
-- if(NOT CMAKE_VERSION VERSION_LESS 3.12)
-- set(opt_build --parallel ${N})
-- elseif(CMAKE_MAKE_PROGRAM MATCHES "make")
-- set(opt_tool -j${N})
-- endif()
--endif()
--
--add_custom_command(OUTPUT "${build_stamp}"
-- COMMAND ${CMAKE_COMMAND} --build . ${opt_build} --config ${CONFIG_EXPR} -- ${opt_tool}
-- COMMAND ${CMAKE_COMMAND} -E touch "${build_stamp}"
-- WORKING_DIRECTORY "${PB_BINARY_DIR}"
-- COMMENT "Building protobuf"
--)
--
--add_custom_target(build_protobuf
-- SOURCES "${build_stamp}"
--)
--
--set_target_properties(build_protobuf PROPERTIES FOLDER "Misc")
--
--add_dependencies(Protobuf::pb-full build_protobuf)
--add_dependencies(Protobuf::pb-lite build_protobuf)
--add_dependencies(Protobuf::protoc build_protobuf)
--
--# TODO: Handle lite/full version
--
--
-+find_package(Protobuf REQUIRED)
-
- # Standard PROTOBUF_GENERATE_CPP modified to our usage
-
-@@ -314,11 +77,11 @@ function(mysqlx_protobuf_generate_cpp SRCS HDRS)
- "${CMAKE_CURRENT_BINARY_DIR}/protobuf/${FIL_WE}.pb.h"
- COMMAND ${CMAKE_COMMAND}
- -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/protobuf"
-- COMMAND Protobuf::protoc
-+ COMMAND ${Protobuf_PROTOC_EXECUTABLE}
- ARGS --cpp_out "${CMAKE_CURRENT_BINARY_DIR}/protobuf"
- -I ${ABS_PATH} ${ABS_FIL}
-- --proto_path=${PROJECT_SOURCE_DIR}/protobuf/protobuf-3.6.1/src
-- DEPENDS ${ABS_FIL} #${PROTOBUF_PROTOC_EXECUTABLE}
-+ --proto_path=${Protobuf_INCLUDE_DIR}
-+ DEPENDS ${ABS_FIL} #${Protobuf_PROTOC_EXECUTABLE}
- COMMENT "Running C++ protocol buffer compiler on ${FIL}"
- VERBATIM
- )
---- a/cdk/core/CMakeLists.txt
-+++ b/cdk/core/CMakeLists.txt
-@@ -45,7 +45,7 @@ add_library(cdk STATIC ${cdk_sources} ${HEADERS})
-
- target_link_libraries(cdk
- PUBLIC cdk_mysqlx cdk_parser
-- PRIVATE Protobuf::pb-lite # required by codecc.cc
-+ PRIVATE protobuf # required by codecc.cc
- )
-
- add_coverage(cdk)
---- a/cdk/protocol/mysqlx/CMakeLists.txt
-+++ b/cdk/protocol/mysqlx/CMakeLists.txt
-@@ -127,11 +127,7 @@ target_include_directories(cdk_proto_mysqlx PRIVATE
- ${CMAKE_CURRENT_BINARY_DIR}
- )
-
--if(use_full_protobuf)
-- target_link_libraries(cdk_proto_mysqlx PRIVATE Protobuf::pb-full)
--else()
-- target_link_libraries(cdk_proto_mysqlx PRIVATE Protobuf::pb-lite)
--endif()
-+target_link_libraries(cdk_proto_mysqlx PRIVATE protobuf)
-
- target_link_libraries(cdk_proto_mysqlx PRIVATE cdk_foundation zlib lz4 zstd)
-
---- a/jdbc.cmake
-+++ b/jdbc.cmake
-@@ -66,7 +66,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]")
---- a/jdbc/CMakeLists.txt
-+++ b/jdbc/CMakeLists.txt
-@@ -299,7 +299,7 @@ endif()
-
-
- install(TARGETS connector-jdbc
-- CONFIGURATIONS Release RelWithDebInfo
-+ CONFIGURATIONS Release RelWithDebInfo Gentoo
- ARCHIVE DESTINATION "${INSTALL_LIB_DIR_STATIC}" COMPONENT JDBCDev
- RUNTIME DESTINATION "${INSTALL_LIB_DIR}" COMPONENT JDBCDll
- LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT JDBCDll
diff --git a/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.24-gcc11-numeric_limits.patch b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.24-gcc11-numeric_limits.patch
deleted file mode 100644
index f09d85449b97..000000000000
--- a/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.24-gcc11-numeric_limits.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-https://bugs.gentoo.org/786252
-
---- a/include/mysqlx/common/util.h
-+++ b/include/mysqlx/common/util.h
-@@ -112,6 +112,7 @@ PUSH_SYS_WARNINGS
- #include <ostream>
- #include <memory>
- #include <forward_list>
-+#include <limits> // std::numeric_limits
- #include <string.h> // for memcpy
- #include <utility> // std::move etc
- #include <algorithm>
-
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
deleted file mode 100644
index f211f113f04a..000000000000
--- a/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.25-fix-mysqlclient-static-binding.patch
+++ /dev/null
@@ -1,274 +0,0 @@
-From 774d7bd983a2e12e78a0231c7936a9481bb3df1d Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Lu=C3=ADs=20Silva?= <luis.m.silva@oracle.com>
-Date: Thu, 13 May 2021 23:14:57 +0100
-Subject: [PATCH] Bug #32882344: FIX MYSQLCLIENT_STATIC_BINDING=0 BUILD
-
----
- driver/nativeapi/libmysql_dynamic_proxy.cpp | 13 ++
- driver/nativeapi/libmysql_dynamic_proxy.h | 132 ++++++++++----------
- driver/nativeapi/mysql_client_api.h | 2 +
- 3 files changed, 83 insertions(+), 64 deletions(-)
-
-diff --git a/driver/nativeapi/libmysql_dynamic_proxy.cpp b/driver/nativeapi/libmysql_dynamic_proxy.cpp
-index 4c70074e..9bd4bd99 100644
---- a/jdbc/driver/nativeapi/libmysql_dynamic_proxy.cpp
-+++ b/jdbc/driver/nativeapi/libmysql_dynamic_proxy.cpp
-@@ -512,6 +512,19 @@ LibmysqlDynamicProxy::real_connect_dns_srv(MYSQL * mysql,
- /* }}} */
-
-
-+/* {{{ LibmysqlDynamicProxy::bind_param() */
-+bool
-+LibmysqlDynamicProxy::bind_param(MYSQL *mysql, unsigned n_params,
-+ MYSQL_BIND *binds, const char **names)
-+{
-+ ptr2mysql_bind_param ptr2_bind_param=
-+ symbol_safe_cast<ptr2mysql_bind_param>(GetProcAddr("mysql_bind_param"));
-+
-+ return (*ptr2_bind_param)(mysql, n_params, binds, names);
-+}
-+/* }}} */
-+
-+
- /* {{{ LibmysqlDynamicProxy::real_escape_string() */
- unsigned long
- LibmysqlDynamicProxy::real_escape_string(MYSQL * mysql, char * to, const char * from, unsigned long length)
-diff --git a/driver/nativeapi/libmysql_dynamic_proxy.h b/driver/nativeapi/libmysql_dynamic_proxy.h
-index 93dc9700..e0f00c95 100644
---- a/jdbc/driver/nativeapi/libmysql_dynamic_proxy.h
-+++ b/jdbc/driver/nativeapi/libmysql_dynamic_proxy.h
-@@ -65,67 +65,67 @@ public:
-
- // MySQL C-API calls wrappers
-
-- my_ulonglong affected_rows(MYSQL *);
-+ my_ulonglong affected_rows(MYSQL *) override;
-
-- my_bool autocommit(MYSQL * , my_bool);
-+ my_bool autocommit(MYSQL * , my_bool) override;
-
-- void close (MYSQL *mysql);
-+ void close (MYSQL *mysql) override;
-
-- my_bool commit(MYSQL *mysql);
-+ my_bool commit(MYSQL *mysql) override;
-
-- void data_seek(MYSQL_RES *, my_ulonglong);
-+ void data_seek(MYSQL_RES *, my_ulonglong) override;
-
-- void debug(const char *);
-+ void debug(const char *) override;
-
-- unsigned int mysql_errno(MYSQL *);
-+ unsigned int mysql_errno(MYSQL *) override;
-
-- const char * error(MYSQL *);
-+ const char * error(MYSQL *) override;
-
-- MYSQL_FIELD * fetch_field(MYSQL_RES *);
-+ MYSQL_FIELD * fetch_field(MYSQL_RES *) override;
-
-- MYSQL_FIELD * fetch_field_direct(MYSQL_RES *, unsigned int);
-+ MYSQL_FIELD * fetch_field_direct(MYSQL_RES *, unsigned int) override;
-
-- unsigned long * fetch_lengths(MYSQL_RES *);
-+ unsigned long * fetch_lengths(MYSQL_RES *) override;
-
-- MYSQL_ROW fetch_row(MYSQL_RES *);
-+ MYSQL_ROW fetch_row(MYSQL_RES *) override;
-
-- unsigned int field_count(MYSQL *);
-+ unsigned int field_count(MYSQL *) override;
-
-- void free_result(MYSQL_RES *);
-+ void free_result(MYSQL_RES *) override;
-
-- unsigned long get_client_version();
-+ unsigned long get_client_version() override;
-
-- const char * get_server_info(MYSQL *);
-+ const char * get_server_info(MYSQL *) override;
-
-- unsigned long get_server_version(MYSQL *);
-+ unsigned long get_server_version(MYSQL *) override;
-
-- void get_character_set_info(MYSQL *, void *);
-+ void get_character_set_info(MYSQL *, void *) override;
-
-- const char * info(MYSQL *);
-+ const char * info(MYSQL *) override;
-
-- MYSQL * init(MYSQL *mysql);
-+ MYSQL * init(MYSQL *mysql) override;
-
-- int library_init(int, char **, char **);
-+ int library_init(int, char **, char **) override;
-
-- void library_end();
-+ void library_end() override;
-
-- my_bool more_results(MYSQL *);
-+ my_bool more_results(MYSQL *) override;
-
-- int next_result(MYSQL *);
-+ int next_result(MYSQL *) override;
-
-- unsigned int num_fields(MYSQL_RES *);
-+ unsigned int num_fields(MYSQL_RES *) override;
-
-- my_ulonglong num_rows(MYSQL_RES *);
-+ my_ulonglong num_rows(MYSQL_RES *) override;
-
-- int options (MYSQL *, enum mysql_option, const void *);
-+ int options (MYSQL *, enum mysql_option, const void *) override;
-
-- int options (MYSQL *, enum mysql_option, const void *, const void *);
-+ int options (MYSQL *, enum mysql_option, const void *, const void *) override;
-
-- int get_option (MYSQL *, enum mysql_option, const void *);
-+ int get_option (MYSQL *, enum mysql_option, const void *) override;
-
-- int ping(MYSQL *);
-+ int ping(MYSQL *) override;
-
-- int query(MYSQL *, const char *);
-+ int query(MYSQL *, const char *) override;
-
- MYSQL * real_connect(MYSQL * mysql, const char * host,
- const char * user,
-@@ -133,82 +133,86 @@ public:
- const char * db,
- unsigned int port,
- const char * unix_socket,
-- unsigned long client_flag);
-+ unsigned long client_flag) override;
-
- MYSQL * real_connect_dns_srv(MYSQL * mysql,
- const char * host,
- const char * user,
- const char * passwd,
- const char * db,
-- unsigned long client_flag);
-+ unsigned long client_flag) override;
-
-- unsigned long real_escape_string(MYSQL * mysql, char * to, const char * from, unsigned long length);
-+ bool bind_param(MYSQL *mysql, unsigned n_params,
-+ MYSQL_BIND *binds, const char **names) override;
-
-- int real_query(MYSQL *, const char *, unsigned long);
-
-- my_bool rollback(MYSQL *);
-+ unsigned long real_escape_string(MYSQL * mysql, char * to, const char * from, unsigned long length) override;
-
-- const char * sqlstate(MYSQL *);
-+ int real_query(MYSQL *, const char *, unsigned long) override;
-+
-+ my_bool rollback(MYSQL *) override;
-+
-+ const char * sqlstate(MYSQL *) override;
-
- my_bool ssl_set(MYSQL * mysql,
- const char * key,
- const char * cert,
- const char * ca,
- const char * capath,
-- const char * cipher);
-+ const char * cipher) override;
-
-- MYSQL_RES * store_result(MYSQL *);
-+ MYSQL_RES * store_result(MYSQL *) override;
-
-- MYSQL_RES * use_result(MYSQL *);
-+ MYSQL_RES * use_result(MYSQL *) override;
-
-- unsigned int warning_count(MYSQL *);
-+ unsigned int warning_count(MYSQL *) override;
-
- /* Prepared Statement stmt_* functions */
-- my_ulonglong stmt_affected_rows (MYSQL_STMT *);
-+ my_ulonglong stmt_affected_rows (MYSQL_STMT *) override;
-
-- my_bool stmt_attr_set(MYSQL_STMT *, enum enum_stmt_attr_type, const void *);
-+ my_bool stmt_attr_set(MYSQL_STMT *, enum enum_stmt_attr_type, const void *) override;
-
-- my_bool stmt_bind_param(MYSQL_STMT *, MYSQL_BIND *);
-+ my_bool stmt_bind_param(MYSQL_STMT *, MYSQL_BIND *) override;
-
-- my_bool stmt_bind_result(MYSQL_STMT *, MYSQL_BIND *);
-+ my_bool stmt_bind_result(MYSQL_STMT *, MYSQL_BIND *) override;
-
-- my_bool stmt_close(MYSQL_STMT *);
-+ my_bool stmt_close(MYSQL_STMT *) override;
-
-- void stmt_data_seek(MYSQL_STMT *, my_ulonglong);
-+ void stmt_data_seek(MYSQL_STMT *, my_ulonglong) override;
-
-- unsigned int stmt_errno(MYSQL_STMT *);
-+ unsigned int stmt_errno(MYSQL_STMT *) override;
-
-- const char * stmt_error(MYSQL_STMT *);
-+ const char * stmt_error(MYSQL_STMT *) override;
-
-- int stmt_execute(MYSQL_STMT *);
-+ int stmt_execute(MYSQL_STMT *) override;
-
-- int stmt_fetch(MYSQL_STMT *);
-+ int stmt_fetch(MYSQL_STMT *) override;
-
-- unsigned int stmt_field_count(MYSQL_STMT *);
-+ unsigned int stmt_field_count(MYSQL_STMT *) override;
-
-- MYSQL_STMT * stmt_init(MYSQL *);
-+ MYSQL_STMT * stmt_init(MYSQL *) override;
-
-- my_ulonglong stmt_num_rows(MYSQL_STMT *);
-+ my_ulonglong stmt_num_rows(MYSQL_STMT *) override;
-
-- unsigned long stmt_param_count(MYSQL_STMT *);
-+ unsigned long stmt_param_count(MYSQL_STMT *) override;
-
-- int stmt_prepare(MYSQL_STMT *, const char *, unsigned long);
-+ int stmt_prepare(MYSQL_STMT *, const char *, unsigned long) override;
-
-- MYSQL_RES * stmt_result_metadata(MYSQL_STMT *);
-+ MYSQL_RES * stmt_result_metadata(MYSQL_STMT *) override;
-
-- my_bool stmt_send_long_data (MYSQL_STMT * , unsigned int, const char *, unsigned long);
-+ my_bool stmt_send_long_data (MYSQL_STMT * , unsigned int, const char *, unsigned long) override;
-
-- const char * stmt_sqlstate(MYSQL_STMT *);
-+ const char * stmt_sqlstate(MYSQL_STMT *) override;
-
-- int stmt_store_result(MYSQL_STMT *);
-+ int stmt_store_result(MYSQL_STMT *) override;
-
-- int stmt_next_result(MYSQL_STMT *);
-+ int stmt_next_result(MYSQL_STMT *) override;
-
-- bool stmt_free_result(MYSQL_STMT *);
-+ bool stmt_free_result(MYSQL_STMT *) override;
-
-- void thread_init();
-+ void thread_init() override;
-
-- void thread_end();
-+ void thread_end() override;
- };
-
- } /* namespace NativeAPI */
-diff --git a/driver/nativeapi/mysql_client_api.h b/driver/nativeapi/mysql_client_api.h
-index b738cf9a..fa044c93 100644
---- a/jdbc/driver/nativeapi/mysql_client_api.h
-+++ b/jdbc/driver/nativeapi/mysql_client_api.h
-@@ -111,6 +111,8 @@ typedef MYSQL * (STDCALL *ptr2mysql_real_connect)(MYSQL *, const char *, const c
-
- typedef MYSQL * (STDCALL *ptr2mysql_real_connect_dns_srv)(MYSQL *, const char *, const char *, const char * , const char *, unsigned long);
-
-+typedef bool (STDCALL *ptr2mysql_bind_param)(MYSQL *mysql, unsigned n_params, MYSQL_BIND *binds, const char **names);
-+
- typedef unsigned long (STDCALL *ptr2mysql_real_escape_string)(MYSQL * mysql, char *, const char *, unsigned long);
-
- typedef int (STDCALL *ptr2mysql_real_query)(MYSQL *, const char *, unsigned long);
---
-2.30.2
-
diff --git a/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.26-fix-build.patch b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.26-fix-build.patch
deleted file mode 100644
index 2c80085b6392..000000000000
--- a/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.26-fix-build.patch
+++ /dev/null
@@ -1,321 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -467,7 +467,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
---- a/cdk/cmake/DepFindProtobuf.cmake
-+++ b/cdk/cmake/DepFindProtobuf.cmake
-@@ -48,244 +48,7 @@ if(TARGET Protobuf::pb)
- return()
- endif()
-
--message(STATUS "Setting up Protobuf.")
--
--set(PB_SOURCE_DIR "${PROJECT_SOURCE_DIR}/protobuf")
--set(PB_BINARY_DIR "${PROJECT_BINARY_DIR}/protobuf")
--set(config_stamp "${PB_BINARY_DIR}/config.stamp")
--set(build_stamp "${PB_BINARY_DIR}/build.stamp")
--
--
--#
--# 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.
--#
--
--set(build_type)
--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>>
--)
--
--set(set_arch)
--if(CMAKE_GENERATOR_PLATFORM)
-- set(set_arch -A ${CMAKE_GENERATOR_PLATFORM})
--endif()
--
--set(set_toolset)
--if(CMAKE_GENERATOR_TOOLSET)
-- set(set_toolset -T ${CMAKE_GENERATOR_TOOLSET})
--endif()
--
--set(set_system_name)
--if(CMAKE_SYSTEM_NAME)
-- set(set_system_name -DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME})
-- if(CMAKE_SYSTEM_VERSION)
-- list(APPEND set_system_name -DCMAKE_SYSTEM_VERSION=${CMAKE_SYSTEM_VERSION})
-- endif()
--endif()
--
--set(set_system_processor)
--if(CMAKE_SYSTEM_PROCESSOR)
-- set(set_system_processor -DCMAKE_SYSTEM_PROCESSOR=${CMAKE_SYSTEM_PROCESSOR})
--endif()
--
--if(NOT EXISTS "${PB_BINARY_DIR}/exports.cmake")
--
-- message("==== Configuring Protobuf build using cmake generator: ${CMAKE_GENERATOR} ${set_arch} ${set_toolset} ${set_system_name}")
--
-- file(REMOVE "${PB_BINARY_DIR}/CMakeCache.txt")
-- file(MAKE_DIRECTORY "${PB_BINARY_DIR}")
--
-- # Dirty trick to speed up cmake set up time.
-- #file(
-- # COPY "${CMAKE_BINARY_DIR}/CMakeFiles/${CMAKE_VERSION}"
-- # DESTINATION "${PB_BINARY_DIR}/CMakeFiles"
-- #)
--
-- execute_process(
-- COMMAND ${CMAKE_COMMAND}
-- -G "${CMAKE_GENERATOR}"
-- ${set_arch}
-- ${set_toolset}
-- ${set_build_type}
-- ${set_system_name}
-- ${set_system_processor}
-- -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}
-- ${PB_SOURCE_DIR}
-- WORKING_DIRECTORY ${PB_BINARY_DIR}
-- RESULT_VARIABLE protobuf_config
-- )
--
-- if(protobuf_config)
-- message(FATAL_ERROR "Could not configure Protobuf build: ${protobuf_config}")
-- endif()
--
-- message("==== Protobuf build configured.")
--
--endif()
--
--
--include(${PB_BINARY_DIR}/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::pb-full STATIC IMPORTED GLOBAL)
--add_library(Protobuf::pb-lite STATIC IMPORTED GLOBAL)
--add_executable(Protobuf::protoc IMPORTED GLOBAL)
--
--set(TGT_libprotobuf Protobuf::pb-full)
--set(TGT_libprotobuf-lite Protobuf::pb-lite)
--set(TGT_protoc Protobuf::protoc)
--
--foreach(tgt libprotobuf libprotobuf-lite protoc)
--
-- #message("processing: ${tgt}")
--
-- set(loc_list)
--
-- foreach(CONF NOCONFIG DEBUG RELEASE MINSIZEREL RELWITHDEBINFO)
--
-- #message("- CONF: ${CONF}")
--
-- get_target_property(LOC pb_${tgt} IMPORTED_LOCATION_${CONF})
--
-- if(LOC)
--
-- #message("- setting imported location to: ${LOC}")
-- list(APPEND loc_list "${LOC}")
--
-- set_target_properties(${TGT_${tgt}} PROPERTIES
-- IMPORTED_LOCATION_${CONF} "${LOC}"
-- )
--
-- set_property(TARGET ${TGT_${tgt}} APPEND PROPERTY
-- IMPORTED_CONFIGURATIONS ${CONF}
-- )
--
-- endif()
--
-- endforeach(CONF)
--
-- #
-- # 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.
-- #
--
-- get_target_property(LOC ${TGT_${tgt}} IMPORTED_LOCATION_RELEASE)
-- set_property(TARGET ${TGT_${tgt}} PROPERTY IMPORTED_LOCATION_STATIC ${LOC})
--
--endforeach(tgt)
--
--
--#message("Protobuf include path: ${PROTOBUF_INCLUDE_DIR}")
--set(PROTOBUF_INCLUDE_DIR ${PROTOBUF_INCLUDE_DIR} CACHE INTERNAL "")
--
--set_target_properties(Protobuf::pb-lite PROPERTIES
-- INTERFACE_INCLUDE_DIRECTORIES "${PROTOBUF_INCLUDE_DIR}"
--)
--
--set_target_properties(Protobuf::pb-full PROPERTIES
-- INTERFACE_LINK_LIBRARIES Protobuf::pb-lite
--)
--
--# On UNIX Protobuf uses pthread library
--if(UNIX)
-- set_property(TARGET Protobuf::pb-lite APPEND PROPERTY
-- INTERFACE_LINK_LIBRARIES pthread
-- )
--endif()
--
--#
--# Note: This is needed to correctly compile headers generated by protobuf
--# with sunpro compiler.
--#
--
--if(SUNPRO)
-- set_property(TARGET Protobuf::pb-lite APPEND PROPERTY
-- INTERFACE_COMPILE_DEFINITIONS SOLARIS_64BIT_ENABLED
-- )
--endif()
--
--#
--# Try using parallel builds for protobuf.
--#
--
--include(ProcessorCount)
--ProcessorCount(N)
--
--MESSAGE("Processor Count: ${N}")
--
--set(opt_build)
--set(opt_tool)
--if(NOT N EQUAL 0)
-- if(NOT CMAKE_VERSION VERSION_LESS 3.12)
-- set(opt_build --parallel ${N})
-- elseif(CMAKE_MAKE_PROGRAM MATCHES "make")
-- set(opt_tool -j${N})
-- endif()
--endif()
--
--add_custom_command(OUTPUT "${build_stamp}"
-- COMMAND ${CMAKE_COMMAND} --build . ${opt_build} --config ${CONFIG_EXPR} -- ${opt_tool}
-- COMMAND ${CMAKE_COMMAND} -E touch "${build_stamp}"
-- WORKING_DIRECTORY "${PB_BINARY_DIR}"
-- COMMENT "Building protobuf"
--)
--
--add_custom_target(build_protobuf
-- SOURCES "${build_stamp}"
--)
--
--set_target_properties(build_protobuf PROPERTIES FOLDER "Misc")
--
--add_dependencies(Protobuf::pb-full build_protobuf)
--add_dependencies(Protobuf::pb-lite build_protobuf)
--add_dependencies(Protobuf::protoc build_protobuf)
--
--# TODO: Handle lite/full version
--
--
-+find_package(Protobuf REQUIRED)
-
- # Standard PROTOBUF_GENERATE_CPP modified to our usage
-
-@@ -314,10 +77,11 @@ function(mysqlx_protobuf_generate_cpp SRCS HDRS)
- "${CMAKE_CURRENT_BINARY_DIR}/protobuf/${FIL_WE}.pb.h"
- COMMAND ${CMAKE_COMMAND}
- -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/protobuf"
-- COMMAND Protobuf::protoc
-+ COMMAND ${Protobuf_PROTOC_EXECUTABLE}
- ARGS --cpp_out "${CMAKE_CURRENT_BINARY_DIR}/protobuf"
- -I ${ABS_PATH} ${ABS_FIL}
-- DEPENDS ${ABS_FIL} #${PROTOBUF_PROTOC_EXECUTABLE}
-+ --proto_path=${Protobuf_INCLUDE_DIR}
-+ DEPENDS ${ABS_FIL} #${Protobuf_PROTOC_EXECUTABLE}
- COMMENT "Running C++ protocol buffer compiler on ${FIL}"
- VERBATIM
- )
---- a/cdk/core/CMakeLists.txt
-+++ b/cdk/core/CMakeLists.txt
-@@ -45,7 +45,7 @@ add_library(cdk STATIC ${cdk_sources} ${HEADERS})
-
- target_link_libraries(cdk
- PUBLIC cdk_mysqlx cdk_parser
-- PRIVATE Protobuf::pb-lite # required by codecc.cc
-+ PRIVATE protobuf # required by codecc.cc
- )
-
- add_coverage(cdk)
---- a/cdk/protocol/mysqlx/CMakeLists.txt
-+++ b/cdk/protocol/mysqlx/CMakeLists.txt
-@@ -127,11 +127,7 @@ target_include_directories(cdk_proto_mysqlx PRIVATE
- ${CMAKE_CURRENT_BINARY_DIR}
- )
-
--if(use_full_protobuf)
-- target_link_libraries(cdk_proto_mysqlx PRIVATE Protobuf::pb-full)
--else()
-- target_link_libraries(cdk_proto_mysqlx PRIVATE Protobuf::pb-lite)
--endif()
-+target_link_libraries(cdk_proto_mysqlx PRIVATE protobuf)
-
- target_link_libraries(cdk_proto_mysqlx PRIVATE cdk_foundation zlib lz4 zstd)
-
---- a/jdbc.cmake
-+++ b/jdbc.cmake
-@@ -66,7 +66,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]")
---- a/jdbc/CMakeLists.txt
-+++ b/jdbc/CMakeLists.txt
-@@ -299,7 +299,7 @@ endif()
-
-
- install(TARGETS connector-jdbc
-- CONFIGURATIONS Release RelWithDebInfo
-+ CONFIGURATIONS Release RelWithDebInfo Gentoo
- ARCHIVE DESTINATION "${INSTALL_LIB_DIR_STATIC}" COMPONENT JDBCDev
- RUNTIME DESTINATION "${INSTALL_LIB_DIR}" COMPONENT JDBCDll
- LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT JDBCDll
diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.24.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.24.ebuild
deleted file mode 100644
index 4dbabcaa25f9..000000000000
--- a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.24.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CMAKE_MAKEFILE_GENERATOR=emake
-inherit cmake
-
-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="Artistic GPL-2"
-SLOT="0"
-# -ppc, -sparc for bug #711940
-KEYWORDS="amd64 arm ~arm64 -ppc ~ppc64 -sparc x86"
-IUSE="+legacy"
-
-RDEPEND="
- dev-libs/protobuf:=
- legacy? (
- dev-libs/boost:=
- >=dev-db/mysql-connector-c-6.1.8:=
- )
- dev-libs/openssl:0=
- "
-DEPEND="${RDEPEND}"
-S="${WORKDIR}/${P}-src"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-8.0.22-fix-build.patch
- "${FILESDIR}"/${PN}-8.0.24-gcc11-numeric_limits.patch
-)
-
-src_configure() {
- local mycmakeargs=(
- -DWITH_SSL=system
- -DWITH_JDBC=$(usex legacy ON OFF)
- $(usex legacy '-DMYSQLCLIENT_STATIC_BINDING=0' '')
- $(usex legacy '-DMYSQLCLIENT_STATIC_LINKING=0' '')
- )
-
- cmake_src_configure
-}
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
deleted file mode 100644
index af695b76938c..000000000000
--- a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.25.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CMAKE_MAKEFILE_GENERATOR=emake
-inherit cmake
-
-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="Artistic GPL-2"
-SLOT="0"
-# -ppc, -sparc for bug #711940
-KEYWORDS="amd64 arm ~arm64 -ppc ~ppc64 -sparc x86"
-IUSE="+legacy"
-
-RDEPEND="
- dev-libs/protobuf:=
- legacy? (
- dev-libs/boost:=
- >=dev-db/mysql-connector-c-6.1.8:=
- )
- dev-libs/openssl:0=
- "
-DEPEND="${RDEPEND}"
-S="${WORKDIR}/${P}-src"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-8.0.22-fix-build.patch
- "${FILESDIR}"/${PN}-8.0.24-gcc11-numeric_limits.patch
- "${FILESDIR}"/${PN}-8.0.25-fix-mysqlclient-static-binding.patch
-)
-
-src_configure() {
- local mycmakeargs=(
- -DWITH_SSL=system
- -DWITH_JDBC=$(usex legacy ON OFF)
- $(usex legacy '-DMYSQLCLIENT_STATIC_BINDING=0' '')
- $(usex legacy '-DMYSQLCLIENT_STATIC_LINKING=0' '')
- )
-
- cmake_src_configure
-}
diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.26.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.26.ebuild
deleted file mode 100644
index 7947c1c52e8f..000000000000
--- a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.26.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CMAKE_MAKEFILE_GENERATOR=emake
-inherit cmake
-
-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="Artistic GPL-2"
-SLOT="0"
-# -ppc, -sparc for bug #711940
-KEYWORDS="~amd64 ~arm ~arm64 -ppc ~ppc64 -sparc ~x86"
-IUSE="+legacy"
-
-RDEPEND="
- dev-libs/protobuf:=
- legacy? (
- dev-libs/boost:=
- >=dev-db/mysql-connector-c-6.1.8:=
- )
- dev-libs/openssl:0=
- "
-DEPEND="${RDEPEND}"
-S="${WORKDIR}/${P}-src"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-8.0.26-fix-build.patch
-)
-
-src_configure() {
- local mycmakeargs=(
- -DWITH_SSL=system
- -DWITH_JDBC=$(usex legacy ON OFF)
- $(usex legacy '-DMYSQLCLIENT_STATIC_BINDING=0' '')
- $(usex legacy '-DMYSQLCLIENT_STATIC_LINKING=0' '')
- )
-
- cmake_src_configure
-}
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-db/mysql-connector-c++/files/, dev-db/mysql-connector-c++/
@ 2022-10-17 5:32 Hans de Graaff
0 siblings, 0 replies; 7+ messages in thread
From: Hans de Graaff @ 2022-10-17 5:32 UTC (permalink / raw
To: gentoo-commits
commit: 75c4fa458ee594581dc4ecff5f1423db75ed2716
Author: Hans de Graaff <graaff <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 17 05:30:01 2022 +0000
Commit: Hans de Graaff <graaff <AT> gentoo <DOT> org>
CommitDate: Mon Oct 17 05:32:33 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=75c4fa45
dev-db/mysql-connector-c++: fix loading libmysqlclient.so
mysql-workbench would fail with mysql-connector-c++ 8.x because it
would try to load the obsolete libmysqlclient_r library. This version
no longer exists in newer versions of mysql-connector-c. It turns out
that mysql-connector-c++ has hard-coded references to this library
but since we don't install compatibility symlinks this hardcoded
reference will fail.
Closes: https://bugs.gentoo.org/831664
Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org>
.../mysql-connector-c++-8.0.27-mysqlclient_r.patch | 24 ++++++++++++
.../mysql-connector-c++-8.0.27-r1.ebuild | 45 ++++++++++++++++++++++
2 files changed, 69 insertions(+)
diff --git a/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.27-mysqlclient_r.patch b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.27-mysqlclient_r.patch
new file mode 100644
index 000000000000..d929601f037f
--- /dev/null
+++ b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.27-mysqlclient_r.patch
@@ -0,0 +1,24 @@
+--- a/jdbc/FindMySQL.cmake 2021-09-10 18:31:29.000000000 +0200
++++ b/jdbc/FindMySQL.cmake 2022-01-21 07:40:03.224705056 +0100
+@@ -282,8 +282,8 @@
+ # there, pick "libmysqlclient" that in 5.5 and up is multithreaded
+ # anyway (soft link "libmysqlclient_r" is not installed MySQL Server
+ # 5.6 and Debian/Ubuntu and might go in 5.7 for all installs)
+- set(_dynamic_libs "mysqlclient_r" "mysqlclient")
+- set(_static_libs "libmysqlclient_r.a" "libmysqlclient.a")
++ set(_dynamic_libs "mysqlclient")
++ set(_static_libs "libmysqlclient.a")
+ set(_static_lib_ext ".a")
+ endif()
+
+--- a/jdbc/driver/nativeapi/libmysql_dynamic_proxy.cpp 2022-01-21 07:52:41.224586087 +0100
++++ b/jdbc/driver/nativeapi/libmysql_dynamic_proxy.cpp 2022-01-21 07:52:50.168631719 +0100
+@@ -49,7 +49,7 @@
+ #elif defined(__hpux) && defined(__hppa)
+ static const char * const baseName = "libmysqlclient_r.sl";
+ #else
+-static const char * const baseName = "libmysqlclient_r.so";
++static const char * const baseName = "libmysqlclient.so";
+ #endif
+
+ template<typename FunctionType>
diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.27-r1.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.27-r1.ebuild
new file mode 100644
index 000000000000..9ca9944b1c86
--- /dev/null
+++ b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.27-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CMAKE_MAKEFILE_GENERATOR=emake
+inherit cmake
+
+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="Artistic GPL-2"
+SLOT="0"
+# -ppc, -sparc for bug #711940
+KEYWORDS="~amd64 ~arm ~arm64 -ppc ~ppc64 -sparc ~x86"
+IUSE="+legacy"
+
+RDEPEND="
+ dev-libs/protobuf:=
+ legacy? (
+ dev-libs/boost:=
+ >=dev-db/mysql-connector-c-8.0.27:=
+ )
+ dev-libs/openssl:0=
+ "
+DEPEND="${RDEPEND}"
+S="${WORKDIR}/${P}-src"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-8.0.27-fix-build.patch
+ "${FILESDIR}"/${PN}-8.0.27-mysqlclient_r.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DWITH_SSL=system
+ -DWITH_JDBC=$(usex legacy ON OFF)
+ $(usex legacy '-DMYSQLCLIENT_STATIC_BINDING=0' '')
+ $(usex legacy '-DMYSQLCLIENT_STATIC_LINKING=0' '')
+ )
+
+ cmake_src_configure
+}
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-db/mysql-connector-c++/files/, dev-db/mysql-connector-c++/
@ 2023-10-17 15:00 Hans de Graaff
0 siblings, 0 replies; 7+ messages in thread
From: Hans de Graaff @ 2023-10-17 15:00 UTC (permalink / raw
To: gentoo-commits
commit: 7634bb460cba925a090f004e74a2c5b60ce9e14c
Author: Hans de Graaff <graaff <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 17 14:57:40 2023 +0000
Commit: Hans de Graaff <graaff <AT> gentoo <DOT> org>
CommitDate: Tue Oct 17 15:00:22 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7634bb46
dev-db/mysql-connector-c++: reinstate legacy USE flag
This is still required for mysql-workbench.
Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org>
.../files/mysql-connector-c++-8.0.33-jdbc.patch | 11 +++++
.../mysql-connector-c++-8.0.33-r1.ebuild | 57 ++++++++++++++++++++++
2 files changed, 68 insertions(+)
diff --git a/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.33-jdbc.patch b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.33-jdbc.patch
new file mode 100644
index 000000000000..9fe986bef0bc
--- /dev/null
+++ b/dev-db/mysql-connector-c++/files/mysql-connector-c++-8.0.33-jdbc.patch
@@ -0,0 +1,11 @@
+--- a/jdbc/driver/nativeapi/library_loader.h 2023-03-23 17:32:48.000000000 +0100
++++ b/jdbc/driver/nativeapi/library_loader.h 2023-10-17 16:54:37.270710451 +0200
+@@ -45,6 +45,8 @@
+
+ #include <map>
+
++#include "../mysql_util.h"
++
+ namespace sql
+ {
+ namespace mysql
diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.33-r1.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.33-r1.ebuild
new file mode 100644
index 000000000000..a6558abd86f4
--- /dev/null
+++ b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.33-r1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_MAKEFILE_GENERATOR=emake
+inherit cmake
+
+URI_DIR="Connector-C++"
+DESCRIPTION="MySQL database connector for C++ (mimics JDBC 4.0 API)"
+HOMEPAGE="https://dev.mysql.com/downloads/connector/cpp/"
+SRC_URI="https://dev.mysql.com/get/Downloads/${URI_DIR}/${P}-src.tar.gz"
+S="${WORKDIR}/${P}-src"
+
+LICENSE="Artistic GPL-2"
+SLOT="0"
+# -ppc, -sparc for bug #711940
+KEYWORDS="~amd64 ~arm ~arm64 -ppc ~ppc64 -sparc ~x86"
+IUSE="+legacy"
+
+RDEPEND="
+ app-arch/lz4:=
+ app-arch/zstd:=
+ dev-libs/openssl:=
+ sys-libs/zlib
+ legacy? (
+ >=dev-db/mysql-connector-c-8.0.27:=
+ )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-8.0.27-mysqlclient_r.patch
+ "${FILESDIR}"/${P}-jdbc.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUNDLE_DEPENDENCIES=OFF
+ # Cannot handle protobuf >23, bug #912797
+ #-DWITH_PROTOBUF=system
+ -DWITH_LZ4=system
+ -DWITH_SSL=system
+ -DWITH_ZLIB=system
+ -DWITH_ZSTD=system
+ -DWITH_JDBC=$(usex legacy)
+ )
+
+ if use legacy ; then
+ mycmakeargs+=(
+ -DMYSQLCLIENT_STATIC_BINDING=0
+ -DMYSQLCLIENT_STATIC_LINKING=0
+ )
+ fi
+
+ cmake_src_configure
+}
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-db/mysql-connector-c++/files/, dev-db/mysql-connector-c++/
@ 2025-03-10 0:22 Sam James
0 siblings, 0 replies; 7+ messages in thread
From: Sam James @ 2025-03-10 0:22 UTC (permalink / raw
To: gentoo-commits
commit: b3e4cd1362c31f19f49de4397448682245179585
Author: Alfred Wingate <parona <AT> protonmail <DOT> com>
AuthorDate: Sun Mar 9 00:59:29 2025 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Mar 10 00:21:36 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b3e4cd13
dev-db/mysql-connector-c++: add 9.2.0
* Add tests.
Bug: https://bugs.gentoo.org/863188
Signed-off-by: Alfred Wingate <parona <AT> protonmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>
dev-db/mysql-connector-c++/Manifest | 1 +
.../mysql-connector-c++-9.2.0-gcc-15-cstdint.patch | 16 ++
.../mysql-connector-c++-9.2.0-hookup-tests.patch | 64 +++++++
.../mysql-connector-c++-9.2.0-test-iomanip.patch | 15 ++
.../mysql-connector-c++-9.2.0.ebuild | 184 +++++++++++++++++++++
5 files changed, 280 insertions(+)
diff --git a/dev-db/mysql-connector-c++/Manifest b/dev-db/mysql-connector-c++/Manifest
index 1f03e10738cc..46b67b25689b 100644
--- a/dev-db/mysql-connector-c++/Manifest
+++ b/dev-db/mysql-connector-c++/Manifest
@@ -1 +1,2 @@
DIST mysql-connector-c++-8.0.33-src.tar.gz 4531693 BLAKE2B b8f426742fa343ebc1f1da5ba1fbf7dfc0db39493bafd0f5d16e355d43277d78ff27b183edad31792a7591ac59bbfb4033f3498dc646883988cba189535a8ddf SHA512 a625a28f63161c97d727d90e7b1211273fe931ae1325c2fbeca16e770761e3159abdcaba1fb6eb1a557674fd817bf266875a089c8c2ea4d2dd1553e6fa887ef1
+DIST mysql-connector-c++-9.2.0-src.tar.gz 4784018 BLAKE2B 74ddf9d4d7bf6b679d8cbacae1de848c0957cb5ab196dfc1ed42927bff9924b12f73f6e58ceeb07b586fd60a79bd0313c395e21393c303ddaa0f525d7d8c5375 SHA512 bbd829ba426772702c8109e8706e5e542bc2a102dae6cddc0ba4f9f6d26952b4652210930d9a983cfadd3a72cf95ba430a401eeb100d766de69ddc2ec6eefa71
diff --git a/dev-db/mysql-connector-c++/files/mysql-connector-c++-9.2.0-gcc-15-cstdint.patch b/dev-db/mysql-connector-c++/files/mysql-connector-c++-9.2.0-gcc-15-cstdint.patch
new file mode 100644
index 000000000000..8e4bd1811f75
--- /dev/null
+++ b/dev-db/mysql-connector-c++/files/mysql-connector-c++-9.2.0-gcc-15-cstdint.patch
@@ -0,0 +1,16 @@
+https://bugs.gentoo.org/863188
+
+diff --git a/include/mysqlx/common/value.h b/include/mysqlx/common/value.h
+index 4f1b7a38..c30bbd0a 100644
+--- a/include/mysqlx/common/value.h
++++ b/include/mysqlx/common/value.h
+@@ -39,7 +39,7 @@
+ PUSH_SYS_WARNINGS
+ #include <string>
+ POP_SYS_WARNINGS
+-
++#include <cstdint>
+
+ namespace mysqlx {
+ MYSQLX_ABI_BEGIN(2,0)
+
diff --git a/dev-db/mysql-connector-c++/files/mysql-connector-c++-9.2.0-hookup-tests.patch b/dev-db/mysql-connector-c++/files/mysql-connector-c++-9.2.0-hookup-tests.patch
new file mode 100644
index 000000000000..ba3cb5aaf7c8
--- /dev/null
+++ b/dev-db/mysql-connector-c++/files/mysql-connector-c++-9.2.0-hookup-tests.patch
@@ -0,0 +1,64 @@
+From 8d344b6c4ebb1f0029aecaee9cb0b5522e7db27e Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Sat, 8 Mar 2025 00:05:15 +0200
+Subject: [PATCH] Build correctly against shared library gtest
+
+Not upstreamable as is.
+--- a/cdk/cmake/gtest.cmake
++++ b/cdk/cmake/gtest.cmake
+@@ -132,19 +132,8 @@ MESSAGE("gtest location: ${gtest_location}")
+ MESSAGE("gtest_main location: ${gtest_main_location}")
+
+
+-add_library(gtest STATIC IMPORTED)
+-add_library(gtest_main STATIC IMPORTED)
+-
+-set_target_properties(gtest PROPERTIES
+- IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
+- IMPORTED_LOCATION "${gtest_location}"
+-)
+-
+-set_target_properties(gtest_main PROPERTIES
+- IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
+- IMPORTED_LINK_INTERFACE_LIBRARIES "gtest"
+- IMPORTED_LOCATION "${gtest_main_location}"
+-)
++add_library(gtest ALIAS GTest::gtest)
++add_library(gtest_main ALIAS GTest::gtest_main)
+
+ #
+ # Setup configuration-specific locations for Win
+@@ -193,11 +182,5 @@ IF(WIN32)
+
+ ENDFOREACH(Config)
+
+-ELSE(WIN32)
+-
+- # On unix gtest depends on pthread library
+- set_property(TARGET gtest APPEND PROPERTY INTERFACE_LINK_LIBRARIES pthread)
+- set_property(TARGET gtest APPEND PROPERTY IMPORTED_LINK_INTERFACE_LIBRARIES pthread)
+-
+ ENDIF(WIN32)
+
+--
+2.48.1
+
+From 1d0f1fbb800517583029b6bc88d285bcb1245111 Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Sat, 8 Mar 2025 00:06:41 +0200
+Subject: [PATCH] Hook cdk unittests to ctest
+
+--- a/cdk/cmake/testing.cmake
++++ b/cdk/cmake/testing.cmake
+@@ -370,6 +370,8 @@ IF(WITH_TESTS)
+ COMMENT "# Generating test group definitons."
+ )
+
++ gtest_discover_tests(${target_run_unit_tests})
++
+ ENDIF()
+ ENDMACRO(ADD_TEST_TARGET)
+
+--
+2.48.1
+
diff --git a/dev-db/mysql-connector-c++/files/mysql-connector-c++-9.2.0-test-iomanip.patch b/dev-db/mysql-connector-c++/files/mysql-connector-c++-9.2.0-test-iomanip.patch
new file mode 100644
index 000000000000..ae9b58f519ea
--- /dev/null
+++ b/dev-db/mysql-connector-c++/files/mysql-connector-c++-9.2.0-test-iomanip.patch
@@ -0,0 +1,15 @@
+Implicit requirement due to use of std::setw
+
+diff --git a/devapi/tests/session-t.cc b/devapi/tests/session-t.cc
+index 758a0b8f..138cdcac 100644
+--- a/devapi/tests/session-t.cc
++++ b/devapi/tests/session-t.cc
+@@ -35,6 +35,7 @@
+ #include <thread>
+ #include <map>
+ #include <sstream>
++#include <iomanip>
+
+ using std::cout;
+ using std::endl;
+
diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-9.2.0.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-9.2.0.ebuild
new file mode 100644
index 000000000000..64517a13b8e8
--- /dev/null
+++ b/dev-db/mysql-connector-c++/mysql-connector-c++-9.2.0.ebuild
@@ -0,0 +1,184 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+URI_DIR="Connector-C++"
+DESCRIPTION="MySQL database connector for C++ (mimics JDBC 4.0 API)"
+HOMEPAGE="https://dev.mysql.com/downloads/connector/cpp/"
+SRC_URI="
+ https://dev.mysql.com/get/Downloads/${URI_DIR}/${P}-src.tar.gz
+"
+S="${WORKDIR}/${P}-src"
+
+LICENSE="Artistic GPL-2"
+# See ABI_VERSION(s) is version.cmake
+SLOT="0/2.10" # ABI_VERSION_MAJOR/JDBC_ABI_VERSION_MAJOR
+# -ppc, -sparc for bug #711940
+KEYWORDS="~amd64 ~arm ~arm64 -ppc ~ppc64 -sparc ~x86"
+IUSE="+legacy test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ app-arch/lz4:=
+ app-arch/zstd:=
+ dev-libs/openssl:=
+ sys-libs/zlib
+ legacy? (
+ >=dev-db/mysql-connector-c-8.0.27:=
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ test? (
+ dev-cpp/gtest
+ )
+"
+BDEPEND="
+ test? (
+ >=dev-db/mysql-8[server]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-8.0.27-mysqlclient_r.patch
+ "${FILESDIR}"/${PN}-8.0.33-jdbc.patch
+ "${FILESDIR}"/${PN}-9.2.0-gcc-15-cstdint.patch
+ "${FILESDIR}"/${PN}-9.2.0-test-iomanip.patch
+ "${FILESDIR}"/${PN}-9.2.0-hookup-tests.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ # ignores MAKEOPTS and runs recursive make -j$(nproc). Clobbers jobs badly
+ # enough that your system immediately freezes.
+ #
+ # https://bugs.gentoo.org/921309
+ # https://bugs.mysql.com/bug.php?id=115734
+ sed -i 's/prc_cnt AND NOT/FALSE AND NOT/' cdk/cmake/dependency.cmake || die
+}
+
+src_configure() {
+ # sanity check subslot to kick would be drive by bumpers
+ local detected_abi
+ detected_abi="$(awk '$1 ~ "set.*ABI_VERSION_MAJOR" {printf("%s.",$2)}' version.cmake)"
+ detected_abi="${detected_abi%.}"
+ if [[ "${SLOT#0/}" != "${detected_abi}" ]]; then
+ die "Sub slot ${SLOT#0/} doesn't match upstream specified ABI ${detected_abi}."
+ fi
+
+ local mycmakeargs=(
+ -DBUNDLE_DEPENDENCIES=OFF
+ # Cannot handle protobuf >23, bug #912797
+ #-DWITH_PROTOBUF=system
+ -DWITH_LZ4=system
+ -DWITH_SSL=system
+ -DWITH_ZLIB=system
+ -DWITH_ZSTD=system
+ -DWITH_JDBC=$(usex legacy)
+ -DWITH_TESTS=$(usex test)
+ )
+
+ if use legacy ; then
+ mycmakeargs+=(
+ -DMYSQLCLIENT_STATIC_BINDING=0
+ -DMYSQLCLIENT_STATIC_LINKING=0
+ )
+ fi
+
+ cmake_src_configure
+}
+
+# NOTE: Test failures in jdbc may be a sign of issues in mysql-connector-c.
+src_test() {
+ local CMAKE_SKIP_TESTS=(
+ # Test that configures, builds and install a test project again. It gets caught on the install phase.
+ Link_test
+ # Only ipv4 will work as only the ipv4 local address is specified. A future task for someone...
+ # https://dev.mysql.com/doc/refman/8.4/en/x-plugin-options-system-variables.html#sysvar_mysqlx_bind_address
+ Sess.ipv6
+ # FIXME:
+ # not ok 15 - preparedstatement::queryAttributes # assertEquals(int) failed in
+ # /var/tmp/portage/dev-db/mysql-connector-c++-9.2.0/work/mysql-connector-c++-9.2.0-src/jdbc/test/unit/classes/preparedstatement.cpp,
+ # line #1582 expecting '200' got '0'
+ jdbc_test_preparedstatement
+ )
+
+ local -x MYSQL_HOST="127.0.0.1"
+ local -x MYSQL_PORT="5555"
+ local -x MYSQL_USER="$(whoami)"
+ local -x MYSQL_PASSWORD="insecure"
+ local -x XPLUGIN_PORT="5556"
+
+ einfo "Creating mysql test instance"
+ mkdir -p "${T}"/mysql || die
+ mysqld \
+ --no-defaults \
+ --initialize-insecure \
+ --user root \
+ --basedir="${EPREFIX}/usr" \
+ --datadir="${T}"/mysql 1>"${T}"/mysqld_install.log || die
+
+ einfo "Starting mysql test instance ..."
+ mysqld \
+ --no-defaults \
+ --character-set-server=utf8 \
+ --bind-address=${MYSQL_HOST} \
+ --port=${MYSQL_PORT} \
+ --socket="${T}"/mysqld.sock \
+ --mysqlx-bind-address=${MYSQL_HOST} \
+ --mysqlx-port=${XPLUGIN_PORT} \
+ --mysqlx-socket="${T}"/mysqlx.sock \
+ --pid-file="${T}"/mysqld.pid \
+ --datadir="${T}"/mysql 1>"${T}"/mysqld.log 2>&1 &
+
+ # wait for it to start
+ local i
+ for (( i = 0; i < 10; i++ )); do
+ [[ -S ${T}/mysqld.sock ]] && break
+ sleep 1
+ done
+ [[ ! -S ${T}/mysqld.sock ]] && die "mysqld failed to start"
+
+ einfo "Configure mysql test instance ..."
+ # https://github.com/mysql/mysql-connector-cpp/blob/trunk/jdbc/test/CJUnitTestsPort/README
+ mysql -u root \
+ -e "CREATE USER ${MYSQL_USER} IDENTIFIED BY '${MYSQL_PASSWORD}'; GRANT ALL PRIVILEGES ON *.* TO ${MYSQL_USER} WITH GRANT OPTION;" \
+ -S "${T}/mysqld.sock" \
+ -h ${MYSQL_HOST} \
+ -P ${MYSQL_PORT} || die
+ mysql -u root \
+ -S "${T}/mysqld.sock" \
+ -h ${MYSQL_HOST} \
+ -P ${MYSQL_PORT} < "${S}"/jdbc/test/CJUnitTestsPort/cts.sql || die
+
+ # Do tests with one job for proper clean up in database tests.
+ nonfatal cmake_src_test -j1
+ local ret=${?}
+
+ einfo "Stopping mysql test instance ..."
+ pkill -F "${T}"/mysqld.pid || die
+ # wait for it to stop
+ local i
+ for (( i = 0; i < 10; i++ )); do
+ [[ -S ${T}/mysqld.sock ]] || break
+ sleep 1
+ done
+
+ rm -rf "${T}"/mysql || die
+
+ [[ ${ret} -ne 0 ]] && die
+}
+
+src_install() {
+ cmake_src_install
+ einstalldocs
+
+ # cmake package config file appears to be broken in multiple ways
+ rm "${ED}/usr/mysql-concpp-config.cmake" || die
+ rm "${ED}/usr/mysql-concpp-config-version.cmake" || die
+}
^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-03-10 0:23 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-27 13:49 [gentoo-commits] repo/gentoo:master commit in: dev-db/mysql-connector-c++/files/, dev-db/mysql-connector-c++/ Brian Evans
-- strict thread matches above, loose matches on Subject: below --
2020-10-20 18:56 Thomas Deutschmann
2021-04-28 13:20 Thomas Deutschmann
2022-03-03 21:22 David Seifert
2022-10-17 5:32 Hans de Graaff
2023-10-17 15:00 Hans de Graaff
2025-03-10 0:22 Sam James
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox