mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-24 06:48:18 -07:00
dev-perl/DBD-mysql: add 5.13.0
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
137
dev-perl/DBD-mysql/DBD-mysql-5.13.0.ebuild
Normal file
137
dev-perl/DBD-mysql/DBD-mysql-5.13.0.ebuild
Normal file
@@ -0,0 +1,137 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DIST_AUTHOR=DVEEDEN
|
||||
# Parallel testing is broken as 2 tests create the same table
|
||||
# and mysql isn't acid compliant and can't limit visibility of tables
|
||||
# to a transaction...
|
||||
DIST_TEST="do"
|
||||
DIST_WIKI=tests
|
||||
DIST_VERSION=5.013
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION="MySQL driver for the Perl5 Database Interface (DBI)"
|
||||
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
|
||||
IUSE="mariadb +mysql test"
|
||||
RESTRICT="!test? ( test )"
|
||||
# tests do not pass on MariaDB at this time; assumptions about version numbers and binary names
|
||||
REQUIRED_USE="^^ ( mysql mariadb ) test? ( mysql )"
|
||||
|
||||
DB_DEPENDS="
|
||||
mysql? ( >=dev-db/mysql-connector-c-8:= )
|
||||
mariadb? ( >=dev-db/mariadb-connector-c-3.1:=[ssl(+)] )
|
||||
"
|
||||
RDEPEND="
|
||||
>=dev-perl/DBI-1.609.0
|
||||
>=dev-perl/Devel-CheckLib-1.109.0
|
||||
${DB_DEPENDS}
|
||||
"
|
||||
DEPEND="
|
||||
${DB_DEPENDS}
|
||||
"
|
||||
BDEPEND="
|
||||
${RDEPEND}
|
||||
test? (
|
||||
dev-perl/Test-Deep
|
||||
mariadb? ( dev-db/mariadb:* )
|
||||
mysql? ( >=dev-db/mysql-8:* )
|
||||
)
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-4.050-no-dot-inc.patch"
|
||||
)
|
||||
|
||||
PERL_RM_FILES=(
|
||||
t/pod.t
|
||||
t/manifest.t
|
||||
|
||||
# Failed test 'USE is not supported with mysql_server_prepare_disable_fallback=1'
|
||||
# at t/40server_prepare.t line 93.
|
||||
t/40server_prepare.t
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
local impl=$(usex mariadb mariadb mysql)
|
||||
local myconf=()
|
||||
|
||||
if use test; then
|
||||
myconf+=(
|
||||
--testdb=test
|
||||
--testhost=localhost
|
||||
--testsocket="${T}"/mysqld.sock
|
||||
--testuser=root
|
||||
)
|
||||
fi
|
||||
|
||||
myconf+=( --mysql_config="${EPREFIX}"/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
|
||||
}
|
||||
@@ -1,2 +1,3 @@
|
||||
DIST DBD-mysql-4.050.tar.gz 161579 BLAKE2B fb17e151db730fd6955d3e4424dd495a9fcf5f3f4e2b6b79d9fdc86bc42c3314b68771f1d3c393fd80ea14aeda626a5c5d21f5b921d487350ffd79802edab1f6 SHA512 910f5b4ba7a7890d50a79f37d04ec8971a4f62acd0fe30bf3ab634f66e3128f0cd6513e5c9da8c807a0f4477d0cc766682ea8dd0d8072d02821b78df51f37879
|
||||
DIST DBD-mysql-5.007.tar.gz 155102 BLAKE2B 70cf6d588b9a43a05f98f37f38a7f25ed198cb27aae9b73e3c4051a496d6c7028c21d7daa656a3e7b84571e00ff7994e2779be7b64fa65b49a9eb126112db8b5 SHA512 8fed785478953477b3d8c87614ef2c5c3407ee2164cefa56cd19ad00afe3ccdae7cdc2b59b555f1984a41789b140c6f00397ad56c86a985182f7157e2ac34b75
|
||||
DIST DBD-mysql-5.013.tar.gz 160611 BLAKE2B 723e2cfc0622e259ac22b08a33c18fd97d3abd3242feddebb7e2e3aaaeb6cffe5a7da8a4bbef5d133d3593c78bc3f13a3cfc25ff0f3cfe12249d5830e0a4180c SHA512 ce5c7c353f2d326bc8c16d0578db94ccab27e738d6c4186f30b3bf8acc414390d28b9e845affb0fdfd82451f70fbb0074ea55915a569ce2ba8348f267910de5b
|
||||
|
||||
Reference in New Issue
Block a user