diff options
author | Kent Fredric <kentnl@gentoo.org> | 2019-08-29 18:07:27 +1200 |
---|---|---|
committer | Kent Fredric <kentnl@gentoo.org> | 2019-08-29 21:40:35 +1200 |
commit | a47a3415690d554c17ecc6a5f7a6ed35de92188d (patch) | |
tree | 9d72aaffc6fb7c36ce6eba6cfdbd64abad1a6986 /dev-perl | |
parent | net-proxy/shadowsocks-libev: version bump, 3.3.1 (diff) | |
download | gentoo-a47a3415690d554c17ecc6a5f7a6ed35de92188d.tar.gz gentoo-a47a3415690d554c17ecc6a5f7a6ed35de92188d.tar.bz2 gentoo-a47a3415690d554c17ecc6a5f7a6ed35de92188d.zip |
dev-perl/DBD-mysql: Add mysql/mariadb switching
This was tangentially supported back with the virtual/mysqlclient stuff
and this attempts to bring this logic back.
However, in testing, this release currently failed to compile with
USE="mariadb -mysql", as DBD-mysql supporting mariadb is merely "best
effort", not a primary design goal, so can often be a bit behind the
curve.
Future releases may however work fine.
Though its recommended if you work with MariaDB to:
a. use DBD-MariaDB instead
b. use "mysql -mariadb" to use the mysql-connector-c implementation
and then use that to connect to mariadb, which *may* work better.
As such, this flag is primarily to give user choice, but will be
use.stable.masked' until we can expect it to be reliable
Keywords dropped:
- alpha ( due to mariadb-connector-c )
Package-Manager: Portage-2.3.72, Repoman-2.3.16
Signed-off-by: Kent Fredric <kentnl@gentoo.org>
Diffstat (limited to 'dev-perl')
-rw-r--r-- | dev-perl/DBD-mysql/DBD-mysql-4.44.0-r2.ebuild | 68 | ||||
-rw-r--r-- | dev-perl/DBD-mysql/metadata.xml | 2 |
2 files changed, 70 insertions, 0 deletions
diff --git a/dev-perl/DBD-mysql/DBD-mysql-4.44.0-r2.ebuild b/dev-perl/DBD-mysql/DBD-mysql-4.44.0-r2.ebuild new file mode 100644 index 000000000000..293180230eed --- /dev/null +++ b/dev-perl/DBD-mysql/DBD-mysql-4.44.0-r2.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +DIST_AUTHOR=CAPTTOFU +DIST_VERSION=4.044 +inherit eutils perl-module + +DESCRIPTION="MySQL driver for the Perl5 Database Interface (DBI)" + +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86" + +IUSE="mariadb +mysql test +ssl" +REQUIRED_USE="^^ ( mysql mariadb )" + +RDEPEND=">=dev-perl/DBI-1.609.0 + mysql? ( dev-db/mysql-connector-c:= ) + mariadb? ( dev-db/mariadb-connector-c:=[ssl(+)?] ) +" +DEPEND="${RDEPEND} + virtual/perl-ExtUtils-MakeMaker + virtual/perl-Data-Dumper + test? ( + dev-perl/Test-Deep + >=virtual/perl-Test-Simple-0.900.0 + virtual/perl-Time-HiRes + ) +" +PATCHES=( + "${FILESDIR}/${PN}-${DIST_VERSION}-amvis-type-conversions.patch" + "${FILESDIR}/${PN}-${DIST_VERSION}-no-dot-inc.patch" + "${FILESDIR}/4.041-mariadb-10.2.patch" +) +src_configure() { + local impl + impl=$(usex mariadb mariadb mysql) + if use test; then + myconf="${myconf} --testdb=test \ + --testhost=localhost \ + --testuser=test \ + --testpassword=test" + fi + myconf="${myconf} --$(usex ssl ssl nossl) --mysql_config=${EPREFIX%/}/usr/bin/${impl}_config" + perl-module_src_configure +} + +# 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" + +src_test() { + einfo + einfo "If tests fail, you have to configure your MySQL instance to create" + einfo "and grant some privileges to the test user." + einfo "You can run the following commands at the MySQL prompt: " + einfo "> CREATE USER 'test'@'localhost' IDENTIFIED BY 'test';" + einfo "> CREATE DATABASE test;" + einfo "> GRANT ALL PRIVILEGES ON test.* TO 'test'@'localhost';" + einfo + sleep 5 + perl_rm_files t/pod.t t/manifest.t + # Don't be a hero and try to do EXTENDED_TESTING=1 unless you can figure + # out why 60leaks.t fails + perl-module_src_test +} diff --git a/dev-perl/DBD-mysql/metadata.xml b/dev-perl/DBD-mysql/metadata.xml index 8b79ff55907b..59ac82b1e1b2 100644 --- a/dev-perl/DBD-mysql/metadata.xml +++ b/dev-perl/DBD-mysql/metadata.xml @@ -17,5 +17,7 @@ <use> <flag name="embedded">Support embedded server (libmysqld)</flag> <flag name="ssl">Compile in support for SSL connections via libmysqlclient</flag> + <flag name="mariadb">Use <pkg>dev-db/mariadb-connector-c</pkg> as the client library</flag> + <flag name="mysql">Use <pkg>dev-db/mysql-connector-c</pkg> as the client library</flag> </use> </pkgmetadata> |