public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [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++/
@ 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
* [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++/
@ 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++/
@ 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++/
@ 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++/
@ 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

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 --
2022-10-17  5:32 [gentoo-commits] repo/gentoo:master commit in: dev-db/mysql-connector-c++/files/, dev-db/mysql-connector-c++/ Hans de Graaff
  -- strict thread matches above, loose matches on Subject: below --
2025-03-10  0:22 Sam James
2023-10-17 15:00 Hans de Graaff
2022-03-03 21:22 David Seifert
2021-04-28 13:20 Thomas Deutschmann
2020-10-20 18:56 Thomas Deutschmann
2017-01-27 13:49 Brian Evans

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox