commit:     ea4d78ff36809866a469a02880a1ac29a14f939a
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jun  3 03:04:37 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Jun  3 03:04:55 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ea4d78ff

dev-perl/DBD-MariaDB: add 1.240.0

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-perl/DBD-MariaDB/DBD-MariaDB-1.240.0.ebuild | 124 ++++++++++++++++++++++++
 dev-perl/DBD-MariaDB/Manifest                   |   1 +
 2 files changed, 125 insertions(+)

diff --git a/dev-perl/DBD-MariaDB/DBD-MariaDB-1.240.0.ebuild 
b/dev-perl/DBD-MariaDB/DBD-MariaDB-1.240.0.ebuild
new file mode 100644
index 000000000000..761c090f8d0b
--- /dev/null
+++ b/dev-perl/DBD-MariaDB/DBD-MariaDB-1.240.0.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DIST_AUTHOR=PALI
+DIST_VERSION=1.24
+DIST_WIKI=tests
+inherit perl-module
+
+DESCRIPTION="MariaDB and MySQL driver for the Perl5 Database Interface (DBI)"
+
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv 
~s390 ~x86"
+IUSE="+mariadb mysql minimal"
+REQUIRED_USE="^^ ( mysql mariadb )"
+
+RDEPEND="
+       >=dev-perl/DBI-1.608.0
+       mysql? ( dev-db/mysql-connector-c:= )
+       mariadb? ( dev-db/mariadb-connector-c:= )
+"
+DEPEND="
+       mysql? ( dev-db/mysql-connector-c:= )
+       mariadb? ( dev-db/mariadb-connector-c:= )
+"
+# New test-harness needed for parallel testing to work
+BDEPEND="
+       ${RDEPEND}
+       >=dev-perl/Devel-CheckLib-1.120.0
+       test? (
+               !minimal? (
+                       >=dev-perl/Net-SSLeay-1.430.0
+                       dev-perl/Proc-ProcessTable
+               )
+               mariadb? ( dev-db/mariadb:* )
+               mysql? ( dev-db/mysql:* )
+               dev-perl/Test-Deep
+               >=virtual/perl-Test-Harness-3.310.0
+               >=virtual/perl-Test-Simple-0.900.0
+       )
+"
+
+PERL_RM_FILES=(
+       "t/pod.t"
+       "t/manifest.t"
+)
+
+src_configure() {
+       local impl=$(usex mariadb mariadb mysql)
+
+       # These must be set at configure time
+       export DBD_MARIADB_TESTDB=test
+       export DBD_MARIADB_TESTSOCKET="${T}"/mysqld.sock
+       export DBD_MARIADB_TESTAUTHPLUGIN=mysql_native_password
+       export DBD_MARIADB_TESTUSER=root
+
+       myconf=( --${impl}_config="${BROOT}"/usr/bin/${impl}_config )
+
+       perl-module_src_configure
+}
+
+src_test() {
+       local -x USER=$(whoami)
+
+       einfo "Creating mysql test instance ..."
+       mkdir -p "${T}"/mysql || die
+       if use mariadb ; then
+               local -x PATH="${BROOT}/usr/share/mariadb/scripts:${PATH}"
+
+               mysql_install_db \
+                       --no-defaults \
+                       --auth-root-authentication-method=normal \
+                       --basedir="${EPREFIX}/usr" \
+                       --datadir="${T}"/mysql 1>"${T}"/mysqld_install.log || 
die
+       else
+               mysqld \
+                       --no-defaults \
+                       --initialize-insecure \
+                       --user ${USER} \
+                       --basedir="${EPREFIX}/usr" \
+                       --datadir="${T}"/mysql 1>"${T}"/mysqld_install.log || 
die
+       fi
+
+       einfo "Starting mysql test instance ..."
+       mysqld \
+               --no-defaults \
+               --character-set-server=utf8 \
+               --bind-address=127.0.0.1 \
+               --pid-file="${T}"/mysqld.pid \
+               --socket="${T}"/mysqld.sock \
+               --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 "Configuring test mysql instance ..."
+       mysql -u root \
+               -e 'CREATE DATABASE /*M!50701 IF NOT EXISTS */ test' \
+               -S "${T}"/mysqld.sock || die "Failed to create test database"
+
+       # Don't be a hero and try to do EXTENDED_TESTING=1 unless you can figure
+       # out why 60leaks.t fails
+       nonfatal perl-module_src_test
+       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
+}

diff --git a/dev-perl/DBD-MariaDB/Manifest b/dev-perl/DBD-MariaDB/Manifest
index 1ecfc28367f0..8e1135cca23c 100644
--- a/dev-perl/DBD-MariaDB/Manifest
+++ b/dev-perl/DBD-MariaDB/Manifest
@@ -1 +1,2 @@
 DIST DBD-MariaDB-1.23.tar.gz 186522 BLAKE2B 
4202146d0c73d2e3259e54085d390d9769b46f0771b3a83a05b0203f6589ffe0f189008453448d71b5f07e8419e038ad32a1ed968c8ceffd836fb9f9cad1c9f7
 SHA512 
2217f36606caab477b8fa931a69b53b7f706a25cf013e4b62aa1b0b48905aba24b724604b4b99e83dea08d967848119447f35ff8e6b5eb80c7fea4e8c084de16
+DIST DBD-MariaDB-1.24.tar.gz 189084 BLAKE2B 
685414e474177c7e1433eda98630cc5848d503942b4557614c630a6bb1715400381916030d015faf0b67687603cdaed4b056d0b8631fd45ea0c1c152cf1ddba6
 SHA512 
ed069c39cc702d0c34235cd8336d83ed091eb07bd7f5d6decd0065cfd872c33970a14304301161c3a496c951bb4cb9d96580ddc25ee36a24e4019fd9ebbbbb1f

Reply via email to