commit:     7182d5f2a95d6da7f479ca2b78b66eff60927d90
Author:     Petr Vaněk <arkamar <AT> gentoo <DOT> org>
AuthorDate: Thu Oct  2 11:23:20 2025 +0000
Commit:     Petr Vaněk <arkamar <AT> gentoo <DOT> org>
CommitDate: Thu Oct  2 11:30:09 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7182d5f2

dev-db/mariadb-connector-c: add 3.3.17

I spent some time understanding why the QA Notice for
CLIENT_PLUGIN_AUTH_GSSAPI_CLIENT pops up, and I found out that this
variable is only available if the GSSAPI dependency requirements are
met. It is unrelated to AUTH_GSSAPI_PLUGIN_TYPE, which is basically
useless these days.

I have added a comment to clarify that the QA Notice is falsely positive
above the related line.

Signed-off-by: Petr Vaněk <arkamar <AT> gentoo.org>

 dev-db/mariadb-connector-c/Manifest                |   1 +
 .../mariadb-connector-c-3.3.17.ebuild              | 138 +++++++++++++++++++++
 2 files changed, 139 insertions(+)

diff --git a/dev-db/mariadb-connector-c/Manifest 
b/dev-db/mariadb-connector-c/Manifest
index da33519e4c24..47c8bdbd54ef 100644
--- a/dev-db/mariadb-connector-c/Manifest
+++ b/dev-db/mariadb-connector-c/Manifest
@@ -1,3 +1,4 @@
 DIST mariadb-connector-c-3.3.15-src.tar.gz 1404442 BLAKE2B 
0df65d59a9d65ab9d10363ae380eece94ebaf84bee25815a526a26e358865f27244b3b5f0b773f1facdcdac70c4c5ccb2c79b3b2bbbfa4823a15d87d85dd36c3
 SHA512 
3ef6476ece33585134c52d31aaa83191f9171ff9ef0e11064aabbd8ce0bdad798fb0bcd2ca049b0b6c61c1eecf48e5e9f0ab54981e16ca419ac11480810de1e8
+DIST mariadb-connector-c-3.3.17-src.tar.gz 1349385 BLAKE2B 
874c375b5c6282bf88587ee4f72bc5af20be5d05ad1e7e0507f9a234212dca7b951e1bab0af2f609a5da97c609fa39d3a09545394887e69b2564f835542e7f0d
 SHA512 
1d37b7a6bf4a49e80a6aef8747a824a553fce982cb0634932805ba4ba859abfbadb27e2fa03ee71b379c5b292e98ebbd5c763df3985a76e282e9ec17c0531ac8
 DIST mariadb-connector-c-3.3.8-src.tar.gz 1393368 BLAKE2B 
09a8a310f97809f0b0396770a77d4512fe1124de263e2077e5a14a2fa1fbc59d7e35a09d97b0471b687943fc9ce06925507e4b950fdacfdc7ca04ea5ee56bf9e
 SHA512 
d2630bda8deb28696842a6b5dd308060a8b9a83a04dfb3ed908387f53af4108510c6f536aaecc4a3c9a035c7be91b98229d6c480366a3579b6be2c5a8d85ff56
 DIST mariadb-connector-c-3.4.5-src.tar.gz 1433040 BLAKE2B 
93fed149532fe4606b47bd9827405d0c948fc5f6971ad06cf7169142f23226b3bf1d16366ccdbfc9b3d914ec8c9a109f4b97d966d78059ac620e3ccb3d49256a
 SHA512 
ef0077bc24cea575cf14a4e49ad67ea59a7e5132b74f72284f599be60d0bf8103cd76a7d0eb2ec512b7b7e54ec6a84c11e96f0f23748cdbc50f640ac40b902ee

diff --git a/dev-db/mariadb-connector-c/mariadb-connector-c-3.3.17.ebuild 
b/dev-db/mariadb-connector-c/mariadb-connector-c-3.3.17.ebuild
new file mode 100644
index 000000000000..a633e9bf4d06
--- /dev/null
+++ b/dev-db/mariadb-connector-c/mariadb-connector-c-3.3.17.ebuild
@@ -0,0 +1,138 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} == 9999 ]] ; then
+       inherit git-r3
+       EGIT_REPO_URI="https://github.com/MariaDB/mariadb-connector-c.git";
+else
+       MY_PN=${PN#mariadb-}
+       MY_PV=${PV/_b/-b}
+       
SRC_URI="https://downloads.mariadb.com/Connectors/c/connector-c-${PV}/${P}-src.tar.gz";
+       S="${WORKDIR%/}/${PN}-${MY_PV}-src"
+       KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 
~riscv ~s390 ~x86"
+fi
+
+inherit cmake-multilib flag-o-matic toolchain-funcs
+
+DESCRIPTION="C client library for MariaDB/MySQL"
+HOMEPAGE="https://mariadb.org/";
+
+LICENSE="LGPL-2.1"
+SLOT="0/3"
+IUSE="+curl gnutls kerberos +ssl static-libs test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+       app-arch/zstd:=[${MULTILIB_USEDEP}]
+       sys-libs/zlib:=[${MULTILIB_USEDEP}]
+       virtual/libiconv:=[${MULTILIB_USEDEP}]
+       curl? ( net-misc/curl[${MULTILIB_USEDEP}] )
+       kerberos? (
+               || (
+                       app-crypt/mit-krb5[${MULTILIB_USEDEP}]
+                       app-crypt/heimdal[${MULTILIB_USEDEP}]
+               )
+       )
+       ssl? (
+               gnutls? ( >=net-libs/gnutls-3.3.24:=[${MULTILIB_USEDEP}] )
+               !gnutls? ( dev-libs/openssl:=[${MULTILIB_USEDEP}] )
+       )
+"
+BDEPEND="test? ( dev-db/mariadb[server] )"
+RDEPEND="${DEPEND}
+       !<dev-db/mariadb-11.4.7-r1
+"
+
+MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config )
+MULTILIB_WRAPPED_HEADERS+=( /usr/include/mariadb/mariadb_version.h )
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-3.1.3-fix-pkconfig-file.patch
+)
+
+src_prepare() {
+       local sedargs=(
+               # These tests the remote_io plugin which requires network access
+               -e '/{"test_remote1/s:{://&:'
+
+               # These tests don't work with --skip-grant-tables
+               -e '/{"test_conc366/s:{://&:'
+               -e '/{"test_conc544/s:{://&:'
+               -e '/{"test_conc627/s:{://&:'
+               -e '/{"test_conc66/s:{://&:'
+
+               # [Warning] Aborted connection 2078 to db: 'test' user: 'root' 
host: '' (Got an error reading communication packets)
+               # Not sure about this one - might also require network access
+               -e '/{"test_default_auth/s:{://&:'
+
+               # Not sure about this one eighter. It should fail on connection 
but it
+               # does not. Maybe because we use domain socket?
+               -e '/{"test_conc26/s:{://&:'
+       )
+
+       sed -i "${sedargs[@]}" unittest/libmariadb/{connection,misc,ps_bugs}.c 
|| die
+
+       cmake_src_prepare
+}
+
+src_configure() {
+       # mariadb cannot use ld.gold, bug #508724
+       tc-ld-is-gold && tc-ld-force-bfd
+
+       # bug #943757
+       append-cflags -std=gnu17
+
+       cmake-multilib_src_configure
+}
+
+multilib_src_configure() {
+       local mycmakeargs=(
+               -DWITH_EXTERNAL_ZLIB=ON
+               -DWITH_SSL:STRING=$(usex ssl $(usex gnutls GNUTLS OPENSSL) OFF)
+               -DWITH_CURL=$(usex curl)
+               -DWITH_ICONV=ON
+
+               # This variable is available only if dependency requirements 
are met,
+               # thus the related QA notice is falsely positive in this case.
+               -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT:STRING=$(usex kerberos 
DYNAMIC OFF)
+
+               -DMARIADB_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+               -DINSTALL_LIBDIR="$(get_libdir)"
+               -DINSTALL_MANDIR=share/man
+               -DINSTALL_PCDIR="$(get_libdir)/pkgconfig"
+               -DINSTALL_PLUGINDIR="$(get_libdir)/mariadb/plugin"
+               -DINSTALL_BINDIR=bin
+               -DWITH_UNIT_TESTS=$(usex test)
+       )
+
+       cmake_src_configure
+}
+
+multilib_src_test() {
+       mkdir -vp "${T}/mysql/data" || die
+
+       mysql_install_db --no-defaults --datadir="${T}/mysql/data" || die
+       mysqld --no-defaults --datadir="${T}/mysql/data" 
--socket="${T}/mysql/mysql.sock" --skip-grant-tables --skip-networking &
+
+       local attempts=0
+       while ! mysqladmin ping --socket="${T}/mysql/mysql.sock" --silent ; do
+               # 5 minutes should be more than enough
+               if [[ ${attempts} -gt 300 ]] ; then
+                       die "mysqld not found after 300 seconds, aborting"
+               fi
+
+               sleep 1
+               attempts=$((attempts + 1))
+       done
+
+       cd unittest/libmariadb || die
+       MYSQL_TEST_SOCKET="${T}/mysql/mysql.sock" MARIADB_CC_TEST=1 ctest 
--verbose || die
+}
+
+multilib_src_install_all() {
+       if ! use static-libs ; then
+               find "${ED}" -name "*.a" -delete || die
+       fi
+}

Reply via email to