diff options
author | Brian Evans <grknight@gentoo.org> | 2018-11-14 10:40:15 -0500 |
---|---|---|
committer | Brian Evans <grknight@gentoo.org> | 2018-11-14 10:40:15 -0500 |
commit | 7fe8a7def353a51345f9cfecf0685f23af840719 (patch) | |
tree | 6e3b63f9bcba23f04213fb48c130a59c3f04ea98 /dev-db | |
parent | x11-libs/libdlo: bump to EAPI=7 (diff) | |
download | gentoo-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>
Diffstat (limited to 'dev-db')
-rw-r--r-- | dev-db/mariadb/mariadb-10.2.19.ebuild | 47 |
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 |