summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Evans <grknight@gentoo.org>2018-11-14 10:40:15 -0500
committerBrian Evans <grknight@gentoo.org>2018-11-14 10:40:15 -0500
commit7fe8a7def353a51345f9cfecf0685f23af840719 (patch)
tree6e3b63f9bcba23f04213fb48c130a59c3f04ea98
parentx11-libs/libdlo: bump to EAPI=7 (diff)
downloadgentoo-7fe8a7def353a51345f9cfecf0685f23af840719.tar.gz
gentoo-7fe8a7def353a51345f9cfecf0685f23af840719.tar.bz2
gentoo-7fe8a7def353a51345f9cfecf0685f23af840719.zip
dev-db/mariadb: Fix collisions with mariadb-connector-c
Also speed up building by removing unnecessary plugins when they will not be used Closes: https://bugs.gentoo.org/671116 Signed-off-by: Brian Evans <grknight@gentoo.org>
-rw-r--r--dev-db/mariadb/mariadb-10.2.19.ebuild47
1 files changed, 40 insertions, 7 deletions
diff --git a/dev-db/mariadb/mariadb-10.2.19.ebuild b/dev-db/mariadb/mariadb-10.2.19.ebuild
index 5fdac38352fc..da01e09871b4 100644
--- a/dev-db/mariadb/mariadb-10.2.19.ebuild
+++ b/dev-db/mariadb/mariadb-10.2.19.ebuild
@@ -39,7 +39,6 @@ RESTRICT="!bindist? ( bindist ) libressl? ( test )"
REQUIRED_USE="jdbc? ( extraengine server !static )
server? ( tokudb? ( jemalloc !tcmalloc ) )
- !server? ( !extraengine )
?? ( tcmalloc jemalloc )
static? ( yassl !pam )"
@@ -260,6 +259,13 @@ src_unpack() {
}
src_prepare() {
+ _disable_plugin() {
+ echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
+ }
+ _disable_engine() {
+ echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
+ }
+
if use tcmalloc; then
echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt"
fi
@@ -269,12 +275,36 @@ src_prepare() {
sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
- # Remove the bundled groonga
- # There is no CMake flag, it simply checks for existance
- rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
+ local plugin
+ local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
+ locale_info qc_info server_audit sql_errlog )
+ local test_plugins=( audit_null auth_examples daemon_example fulltext
+ debug_key_management example_key_management )
+ if ! use server; then # These plugins are for the server
+ for plugin in "${server_plugins[@]}" ; do
+ _disable_plugin "${plugin}"
+ done
+ fi
+
+ if ! use test; then # These plugins are only used during testing
+ for plugin in "${test_plugins[@]}" ; do
+ _disable_plugin "${plugin}"
+ done
+ _disable_engine test_sql_discovery
+ fi
+
+ _disable_engine example
- if ! use server; then
- rm -r "${S}"/plugin/handler_socket || die
+ if ! use oqgraph ; then # avoids extra library checks
+ _disable_engine oqgraph
+ fi
+
+ if use mroonga ; then
+ # Remove the bundled groonga
+ # There is no CMake flag, it simply checks for existance
+ rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
+ else
+ _disable_engine mroonga
fi
cmake-utils_src_prepare
@@ -350,6 +380,9 @@ multilib_src_configure() {
-DWITH_EXTERNAL_ZLIB=YES
-DSUFFIX_INSTALL_DIR=""
-DWITH_UNITTEST=OFF
+ -DCLIENT_PLUGIN_DIALOG=OFF
+ -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
+ -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
)
if use test ; then
mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
@@ -358,7 +391,7 @@ multilib_src_configure() {
fi
if ! use yassl ; then
- mycmakeargs+=( -DWITH_SSL=system )
+ mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
else
mycmakeargs+=( -DWITH_SSL=bundled )
fi