mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-01-06 02:17:34 -08:00
dev-db/mysql-connector-c++: drop 8.0.33-r1, 9.2.0
Bug: https://bugs.gentoo.org/962376 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
This commit is contained in:
parent
838e6ac4e9
commit
40978eae0d
@ -1,3 +1 @@
|
||||
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
|
||||
DIST mysql-connector-c++-9.4.0-src.tar.gz 4788987 BLAKE2B 41a6cfbcfcca91b9a244fa30c6f1857ea4574e084bc9d2283bd0f34777acabb5dc30084c401ca7c12213f7d9a6e14d019182df48da86a59f48e32e2444626ea3 SHA512 80fc167c2ac0f6f1a368cb4778c67c3d95d713f8d350169d4a9e733a81bc60b4ed9847d1d6a29d1ca0e01002b0266c1391ef4b59604f5060ff81d62030c233c5
|
||||
|
||||
@ -1,64 +0,0 @@
|
||||
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
|
||||
|
||||
@ -1,67 +0,0 @@
|
||||
# Copyright 1999-2024 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_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() {
|
||||
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
|
||||
}
|
||||
@ -1,184 +0,0 @@
|
||||
# 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
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user