From a47a3415690d554c17ecc6a5f7a6ed35de92188d Mon Sep 17 00:00:00 2001 From: Kent Fredric Date: Thu, 29 Aug 2019 18:07:27 +1200 Subject: 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 --- dev-perl/DBD-mysql/DBD-mysql-4.44.0-r2.ebuild | 68 +++++++++++++++++++++++++++ dev-perl/DBD-mysql/metadata.xml | 2 + 2 files changed, 70 insertions(+) create mode 100644 dev-perl/DBD-mysql/DBD-mysql-4.44.0-r2.ebuild 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 @@ Support embedded server (libmysqld) Compile in support for SSL connections via libmysqlclient + Use dev-db/mariadb-connector-c as the client library + Use dev-db/mysql-connector-c as the client library -- cgit v1.2.3-65-gdbad