summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlayman <layman@localhost>2015-06-24 11:41:32 -0400
committerlayman <layman@localhost>2015-06-24 11:41:32 -0400
commit1b24b059c5fe5688b2724a99869545ed1fd16444 (patch)
treed6aa83ee0e55fdf68ee000663720e212e45c117f
parentVersion bumps (diff)
downloadmysql-1b24b059c5fe5688b2724a99869545ed1fd16444.tar.gz
mysql-1b24b059c5fe5688b2724a99869545ed1fd16444.tar.bz2
mysql-1b24b059c5fe5688b2724a99869545ed1fd16444.zip
Begin work on separate client libraries, tools and server flags
-rw-r--r--dev-db/mariadb/mariadb-10.0.20-r1.ebuild115
-rw-r--r--dev-db/mariadb/metadata.xml5
-rw-r--r--eclass/mysql-cmake.eclass14
-rw-r--r--eclass/mysql-multilib.eclass92
-rw-r--r--virtual/libmysqlclient/libmysqlclient-18.ebuild28
-rw-r--r--virtual/mysql/mysql-5.6-r4.ebuild28
-rw-r--r--virtual/mysql/mysql-5.7-r1.ebuild (renamed from virtual/mysql/mysql-5.7.ebuild)13
7 files changed, 263 insertions, 32 deletions
diff --git a/dev-db/mariadb/mariadb-10.0.20-r1.ebuild b/dev-db/mariadb/mariadb-10.0.20-r1.ebuild
new file mode 100644
index 0000000..7f4a6e4
--- /dev/null
+++ b/dev-db/mariadb/mariadb-10.0.20-r1.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="5"
+MY_EXTRAS_VER="20141215-0144Z"
+HAS_TOOLS_PATCH="1"
+
+inherit toolchain-funcs mysql-multilib
+IUSE="${IUSE}"
+
+# REMEMBER: also update eclass/mysql*.eclass before committing!
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+
+# When MY_EXTRAS is bumped, the index should be revised to exclude these.
+EPATCH_EXCLUDE=''
+
+DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )"
+RDEPEND="${RDEPEND}"
+
+# Official test instructions:
+# USE='embedded extraengine perl ssl static-libs community' \
+# FEATURES='test userpriv -usersandbox' \
+# ebuild mariadb-X.X.XX.ebuild \
+# digest clean package
+multilib_src_test() {
+
+ if ! multilib_is_native_abi ; then
+ einfo "Server tests not available on non-native abi".
+ return 0;
+ fi
+
+ local TESTDIR="${BUILD_DIR}/mysql-test"
+ local retstatus_unit
+ local retstatus_tests
+
+ # Bug #213475 - MySQL _will_ object strenously if your machine is named
+ # localhost. Also causes weird failures.
+ [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
+
+ if ! use "minimal" ; then
+
+ if [[ $UID -eq 0 ]]; then
+ die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
+ fi
+ has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
+
+ einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
+ addpredict /this-dir-does-not-exist/t9.MYI
+
+ # Run CTest (test-units)
+ cmake-utils_src_test
+ retstatus_unit=$?
+ [[ $retstatus_unit -eq 0 ]] || eerror "test-unit failed"
+
+ # Ensure that parallel runs don't die
+ export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
+ # Enable parallel testing, auto will try to detect number of cores
+ # You may set this by hand.
+ # The default maximum is 8 unless MTR_MAX_PARALLEL is increased
+ export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
+
+ # create directories because mysqladmin might right out of order
+ mkdir -p "${T}"/var-tests{,/log}
+
+ # These are failing in MariaDB 10.0 for now and are believed to be
+ # false positives:
+ #
+ # main.information_schema, binlog.binlog_statement_insert_delayed,
+ # main.mysqld--help, funcs_1.is_triggers, funcs_1.is_tables_mysql,
+ # funcs_1.is_columns_mysql main.bootstrap
+ # fails due to USE=-latin1 / utf8 default
+ #
+ # main.mysql_client_test, main.mysql_client_test_nonblock
+ # main.mysql_client_test_comp:
+ # segfaults at random under Portage only, suspect resource limits.
+ #
+
+ for t in main.mysql_client_test main.mysql_client_test_nonblock \
+ main.mysql_client_test_comp \
+ binlog.binlog_statement_insert_delayed main.information_schema \
+ main.mysqld--help main.bootstrap \
+ funcs_1.is_triggers funcs_1.is_tables_mysql funcs_1.is_columns_mysql ; do
+ mysql-multilib_disable_test "$t" "False positives in Gentoo"
+ done
+
+ # Run mysql tests
+ pushd "${TESTDIR}"
+
+ # run mysql-test tests
+ perl mysql-test-run.pl --force --vardir="${T}/var-tests"
+
+ retstatus_tests=$?
+ [[ $retstatus_tests -eq 0 ]] || eerror "tests failed"
+ has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
+
+ popd
+
+ # Cleanup is important for these testcases.
+ pkill -9 -f "${S}/ndb" 2>/dev/null
+ pkill -9 -f "${S}/sql" 2>/dev/null
+
+ failures=""
+ [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
+ [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
+ has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
+
+ [[ -z "$failures" ]] || die "Test failures: $failures"
+ einfo "Tests successfully completed"
+
+ else
+
+ einfo "Skipping server tests due to minimal build."
+ fi
+}
diff --git a/dev-db/mariadb/metadata.xml b/dev-db/mariadb/metadata.xml
index 421187f..190ca5e 100644
--- a/dev-db/mariadb/metadata.xml
+++ b/dev-db/mariadb/metadata.xml
@@ -9,6 +9,7 @@ dev-db/mariadb
-->
<use>
<flag name='big-tables'>Make tables contain up to 1.844E+19 rows</flag>
+ <flag name='client-libs'>Build the libmysqlclient libraries</flag>
<flag name='cluster'>Add support for NDB clustering (deprecated)</flag>
<flag name='community'>Enables the community features from upstream.</flag>
<flag name='embedded'>Build embedded server (libmysqld)</flag>
@@ -25,10 +26,12 @@ dev-db/mariadb
<flag name='pam'>Enable the optional PAM authentication plugin for the server</flag>
<flag name='pbxt'>Add experimental support for PBXT storage engine</flag>
<flag name='profiling'>Add support for statement profiling (requires USE=community).</flag>
+ <flag name='server'>Build the server program</flag>
+ <flag name='sphinx'>Add suport for the sphinx full-text search engine</flag>
<flag name='sst-rsync'>Add tools needed to support the rsync SST method</flag>
<flag name='sst-xtrabackup'>Add tools needed to support the xtrabackup and xtrabackup-v2 SST methods</flag>
<flag name="systemtap">Build support for profiling and tracing using <pkg>dev-util/systemtap</pkg></flag>
- <flag name='sphinx'>Add suport for the sphinx full-text search engine</flag>
+ <flag name='tools'>Build the command line tools (mysql, mysqldump, mysqladmin, etc)</flag>
<flag name='test'>Install upstream testsuites for end use.</flag>
<flag name='tokudb'>Add support for TokuDB storage engine</flag>
</use>
diff --git a/eclass/mysql-cmake.eclass b/eclass/mysql-cmake.eclass
index fd41702..169dd06 100644
--- a/eclass/mysql-cmake.eclass
+++ b/eclass/mysql-cmake.eclass
@@ -87,7 +87,7 @@ mysql-cmake_use_plugin() {
# Helper function to configure locale cmake options
configure_cmake_locale() {
- if ! use minimal && [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
+ if ( ! use_if_iuse minimal || use_if_iuse server ) && [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then
ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
ewarn "You MUST file bugs without these variables set."
@@ -375,7 +375,7 @@ mysql-cmake_src_configure() {
configure_cmake_locale
- if use minimal ; then
+ if use_if_iuse minimal ; then
configure_cmake_minimal
else
configure_cmake_standard
@@ -430,8 +430,10 @@ mysql-cmake_src_install() {
dosym "/usr/bin/mysqlcheck" "/usr/bin/mysqlrepair"
dosym "/usr/bin/mysqlcheck" "/usr/bin/mysqloptimize"
- # Create a mariadb_config symlink
- [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] && dosym "/usr/bin/mysql_config" "/usr/bin/mariadb_config"
+ if [[ -z ${HAS_TOOLS_PATCH} ]] ; then
+ # Create a mariadb_config symlink
+ [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] && dosym "/usr/bin/mysql_config" "/usr/bin/mariadb_config"
+ fi
# INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
rm -Rf "${ED}/usr/data"
@@ -469,7 +471,7 @@ mysql-cmake_src_install() {
newins "${TMPDIR}/my.cnf.ok" my.cnf
# Minimal builds don't have the MySQL server
- if ! use minimal ; then
+ if ! use_if_iuse minimal || use_if_iuse server ; then
einfo "Creating initial directories"
# Empty directories ...
diropts "-m0750"
@@ -488,7 +490,7 @@ mysql-cmake_src_install() {
fi
# Minimal builds don't have the MySQL server
- if ! use minimal ; then
+ if ! use_if_iuse minimal || use_if_iuse server; then
einfo "Including support files and sample configurations"
docinto "support-files"
for script in \
diff --git a/eclass/mysql-multilib.eclass b/eclass/mysql-multilib.eclass
index 21ee832..e9e1b81 100644
--- a/eclass/mysql-multilib.eclass
+++ b/eclass/mysql-multilib.eclass
@@ -180,7 +180,7 @@ fi
LICENSE="GPL-2"
SLOT="0"
-IUSE="+community cluster debug embedded extraengine jemalloc latin1 minimal
+IUSE="+community cluster debug embedded extraengine jemalloc latin1
+perl profiling selinux ssl systemtap static static-libs tcmalloc test"
### Begin readline/libedit
@@ -210,8 +210,11 @@ if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]]; then
IUSE="${IUSE} oqgraph pam sphinx tokudb"
# 5.5.33 and 10.0.5 add TokuDB. Authors strongly recommend jemalloc or perfomance suffers
mysql_version_is_at_least "10.0.5" && IUSE="${IUSE} odbc xml"
- REQUIRED_USE="${REQUIRED_USE} minimal? ( !oqgraph !sphinx ) tokudb? ( jemalloc )"
-
+ if [[ ${HAS_TOOLS_PATCH} ]] ; then
+ REQUIRED_USE="${REQUIRED_USE} !server? ( !oqgraph !sphinx ) tokudb? ( jemalloc )"
+ else
+ REQUIRED_USE="${REQUIRED_USE} minimal? ( !oqgraph !sphinx ) tokudb? ( jemalloc )"
+ fi
# MariaDB 10.1 introduces InnoDB/XtraDB compression with external libraries
# Choices are bzip2, lz4, lzma, lzo. bzip2 and lzma enabled by default as they are system libraries
mysql_version_is_at_least "10.1.1" && IUSE="${IUSE} innodb-lz4 innodb-lzo"
@@ -233,9 +236,17 @@ if [[ ${PN} == "percona-server" ]]; then
IUSE="${IUSE} pam"
fi
+if [[ ${HAS_TOOLS_PATCH} ]] ; then
+ IUSE="${IUSE} client-libs +server +tools"
+ REQUIRED_USE="${REQUIRED_USE} !server? ( !extraengine !embedded ) server? ( tools )"
+else
+ IUSE="${IUSE} minimal"
+ REQUIRED_USE="${REQUIRED_USE} minimal? ( !extraengine !embedded )"
+fi
+
REQUIRED_USE="
${REQUIRED_USE} tcmalloc? ( !jemalloc ) jemalloc? ( !tcmalloc )
- minimal? ( !extraengine !embedded ) static? ( !ssl )"
+ static? ( !ssl )"
#
# DEPENDENCIES:
@@ -250,7 +261,6 @@ DEPEND="
sys-process/procps:0=
dev-libs/libaio:0=
)
- sys-libs/ncurses
>=sys-apps/sed-4
>=sys-apps/texinfo-4.7-r1
>=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?]
@@ -260,6 +270,12 @@ DEPEND="
systemtap? ( >=dev-util/systemtap-1.3:0= )
"
+if [[ ${HAS_TOOLS_PATCH} ]] ; then
+ DEPEND="${DEPEND} tools? ( sys-libs/ncurses ) embedded? ( sys-libs/ncurses )"
+else
+ DEPEND="${DEPEND} sys-libs/ncurses"
+fi
+
### Begin readline/libedit
### If the world was perfect, we would use external libedit on both to have a similar experience
### However libedit does not seem to support UTF-8 keyboard input
@@ -280,7 +296,12 @@ DEPEND="
#fi
if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] ; then
- DEPEND="${DEPEND} !bindist? ( >=sys-libs/readline-4.1:0=[${MULTILIB_USEDEP}] )"
+ # Readline is only used for the command-line and embedded example
+ if [[ ${HAS_TOOLS_PATCH} ]] ; then
+ DEPEND="${DEPEND} !bindist? ( tools? ( >=sys-libs/readline-4.1:0= ) embedded? ( >=sys-libs/readline-4.1:0= ) )"
+ else
+ DEPEND="${DEPEND} !bindist? ( >=sys-libs/readline-4.1:0=[${MULTILIB_USEDEP}] )"
+ fi
fi
### End readline/libedit
@@ -293,9 +314,13 @@ fi
if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] ; then
# Bug 441700 MariaDB >=5.3 include custom mytop
+ if [[ ${HAS_TOOLS_PATCH} ]] ; then
+ DEPEND="${DEPEND} server? ( pam? ( virtual/pam:0= ) )"
+ else
+ DEPEND="${DEPEND} !minimal? ( pam? ( virtual/pam:0= ) )"
+ fi
DEPEND="${DEPEND}
oqgraph? ( >=dev-libs/boost-1.40.0:0= )
- !minimal? ( pam? ( virtual/pam:0= ) )
perl? ( !dev-db/mytop )"
if mysql_version_is_at_least "10.0.5" ; then
DEPEND="${DEPEND}
@@ -316,7 +341,13 @@ if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] ; then
mysql_version_is_at_least "10.1.2" && DEPEND="${DEPEND} cracklib? ( sys-libs/cracklib:0= )"
fi
-[[ ${PN} == "percona-server" ]] && DEPEND="${DEPEND} !minimal? ( pam? ( virtual/pam:0= ) )"
+if [[ ${PN} == "percona-server" ]] ; then
+ if [[ ${HAS_TOOLS_PATCH} ]] ; then
+ DEPEND="${DEPEND} server? ( pam? ( virtual/pam:0= ) )"
+ else
+ DEPEND="${DEPEND} !minimal? ( pam? ( virtual/pam:0= ) )"
+ fi
+fi
# Having different flavours at the same time is not a good idea
for i in "mysql" "mariadb" "mariadb-galera" "percona-server" "mysql-cluster" ; do
@@ -334,11 +365,16 @@ fi
# prefix: first need to implement something for #196294
# TODO: check emul-linux-x86-db dep when it is multilib enabled
RDEPEND="${DEPEND}
- !minimal? ( !prefix? ( dev-db/mysql-init-scripts ) )
selinux? ( sec-policy/selinux-mysql )
abi_x86_32? ( !app-emulation/emul-linux-x86-db[-abi_x86_32(-)] )
"
+if [[ ${HAS_TOOLS_PATCH} ]] ; then
+ RDEPEND="${RDEPEND} server? ( !prefix? ( dev-db/mysql-init-scripts ) )"
+else
+ RDEPEND="${RDEPEND} !minimal? ( !prefix? ( dev-db/mysql-init-scripts ) )"
+fi
+
if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] ; then
# Bug 455016 Add dependencies of mytop
RDEPEND="${RDEPEND} perl? (
@@ -387,9 +423,13 @@ DEPEND="${DEPEND}
virtual/yacc
static? ( sys-libs/ncurses[static-libs] )
>=dev-util/cmake-2.8.9
- sys-libs/ncurses[${MULTILIB_USEDEP}]
"
+# Transition dep until all ebuilds have tools USE
+if ! [[ ${HAS_TOOLS_PATCH} ]] ; then
+ DEPEND="${DEPEND} sys-libs/ncurses[${MULTILIB_USEDEP}]"
+fi
+
# For other stuff to bring us in
# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
PDEPEND="${PDEPEND} perl? ( >=dev-perl/DBD-mysql-2.9004 )
@@ -448,7 +488,7 @@ mysql-multilib_pkg_pretend() {
mysql-multilib_pkg_setup() {
if has test ${FEATURES} ; then
- if ! use minimal ; then
+ if ! use_if_iuse minimal || use_if_iuse server ; then
if ! has userpriv ${FEATURES} ; then
eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
fi
@@ -569,6 +609,18 @@ multilib_src_configure() {
mycmakeargs+=( -DENABLE_DTRACE=0 )
fi
+ if in_iuse client-libs ; then
+ mycmakeargs+=( -DWITHOUT_CLIENTLIBS=$(usex client-libs 0 1) )
+ fi
+
+ if in_iuse tools ; then
+ if multilib_is_native_abi ; then
+ mycmakeargs+=( -DWITHOUT_TOOLS=$(usex tools 0 1) )
+ else
+ mycmakeargs+=( -DWITHOUT_TOOLS=1 )
+ fi
+ fi
+
if in_iuse bindist ; then
# bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
if multilib_is_native_abi; then
@@ -577,10 +629,12 @@ multilib_src_configure() {
-DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
)
else
- mycmakeargs+=(
- -DWITH_READLINE=1
- -DNOT_FOR_DISTRIBUTION=0
- )
+ if ! in_iuse tools ; then
+ mycmakeargs+=(
+ -DWITH_READLINE=1
+ -DNOT_FOR_DISTRIBUTION=0
+ )
+ fi
fi
fi
@@ -597,7 +651,7 @@ multilib_src_configure() {
configure_cmake_locale
- if multilib_is_native_abi && ! use minimal ; then
+ if multilib_is_native_abi && ( ! use_if_iuse minimal || use_if_iuse server ) ; then
configure_cmake_standard
else
configure_cmake_minimal
@@ -636,7 +690,7 @@ multilib_src_install() {
mysql-cmake_src_install
else
cmake-utils_src_install
- if ! use minimal && [[ "${PN}" == "mariadb" || "${PN}" == "mariadb-galera" ]] ; then
+ if ( ! use_if_iuse minimal || use_if_iuse server ) && [[ "${PN}" == "mariadb" || "${PN}" == "mariadb-galera" ]] ; then
insinto /usr/include/mysql/private
doins "${S}"/sql/*.h
fi
@@ -677,7 +731,7 @@ mysql-multilib_pkg_postinst() {
chmod 0660 "${ROOT}${MY_LOGDIR}"/mysql*
# Minimal builds don't have the MySQL server
- if ! use minimal ; then
+ if ! use_if_iuse minimal || use_if_iuse server ; then
docinto "support-files"
for script in \
support-files/my-*.cnf \
@@ -765,7 +819,7 @@ mysql-multilib_pkg_config() {
[[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
- if built_with_use ${CATEGORY}/${PN} minimal ; then
+ if built_with_use ${CATEGORY}/${PN} minimal && ! built_with_use ${CATEGORY}/${PN} server ; then
die "Minimal builds do NOT include the MySQL server"
fi
diff --git a/virtual/libmysqlclient/libmysqlclient-18.ebuild b/virtual/libmysqlclient/libmysqlclient-18.ebuild
new file mode 100644
index 0000000..93201dd
--- /dev/null
+++ b/virtual/libmysqlclient/libmysqlclient-18.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="5"
+
+inherit multilib-build
+
+DESCRIPTION="Virtual for MySQL client libraries"
+HOMEPAGE=""
+SRC_URI=""
+
+LICENSE=""
+SLOT="0/18"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+IUSE="static-libs"
+
+DEPEND=""
+RDEPEND="
+ || (
+ dev-db/mysql-connector-c:0/18[${MULTILIB_USEDEP}]
+ =dev-db/mariadb-10.1*[client-libs,static-libs=,${MULTILIB_USEDEP}]
+ =dev-db/mariadb-10.0*[client-libs,static-libs=,${MULTILIB_USEDEP}]
+ =dev-db/mysql-${PV}*[client-libs,static-libs=,${MULTILIB_USEDEP}]
+ =dev-db/percona-server-${PV}*[client-libs,static-libs=,${MULTILIB_USEDEP}]
+ =dev-db/mariadb-galera-10.0*[client-libs,static-libs=,${MULTILIB_USEDEP}]
+ =dev-db/mysql-cluster-7.3*[client-libs,static-libs=,${MULTILIB_USEDEP}]
+ )"
diff --git a/virtual/mysql/mysql-5.6-r4.ebuild b/virtual/mysql/mysql-5.6-r4.ebuild
new file mode 100644
index 0000000..335b122
--- /dev/null
+++ b/virtual/mysql/mysql-5.6-r4.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="5"
+
+inherit multilib-build
+
+DESCRIPTION="Virtual for MySQL database server"
+HOMEPAGE=""
+SRC_URI=""
+
+LICENSE=""
+SLOT="0/18"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+IUSE="embedded static static-libs"
+
+DEPEND=""
+RDEPEND="
+ virtual/libmysqlclient
+ || (
+ =dev-db/mariadb-10.1*[embedded=,static=,static-libs=,${MULTILIB_USEDEP}]
+ =dev-db/mariadb-10.0*[embedded=,static=,static-libs=,${MULTILIB_USEDEP}]
+ =dev-db/mysql-${PV}*[embedded=,static=,static-libs=,${MULTILIB_USEDEP}]
+ =dev-db/percona-server-${PV}*[embedded=,static=,static-libs=,${MULTILIB_USEDEP}]
+ =dev-db/mariadb-galera-10.0*[embedded=,static=,static-libs=,${MULTILIB_USEDEP}]
+ =dev-db/mysql-cluster-7.3*[embedded=,static=,static-libs=,${MULTILIB_USEDEP}]
+ )"
diff --git a/virtual/mysql/mysql-5.7.ebuild b/virtual/mysql/mysql-5.7-r1.ebuild
index 43ebca6..a0cc7ad 100644
--- a/virtual/mysql/mysql-5.7.ebuild
+++ b/virtual/mysql/mysql-5.7-r1.ebuild
@@ -4,17 +4,18 @@
EAPI="5"
-DESCRIPTION="Virtual for MySQL client or database"
+DESCRIPTION="Virtual for MySQL database server"
HOMEPAGE=""
SRC_URI=""
LICENSE=""
SLOT="0/20"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
-IUSE="embedded minimal static static-libs"
+IUSE="embedded static static-libs"
DEPEND=""
-RDEPEND="|| (
- =dev-db/mariadb-10.1*[embedded=,minimal=,static=,static-libs=]
- =dev-db/mysql-${PV}*[embedded=,minimal=,static=,static-libs=]
-)"
+RDEPEND="
+ virtual/libmysqlclient
+ || (
+ =dev-db/mysql-${PV}*[embedded=,static=,static-libs=]
+ )"