From 2d00da0c3ecc1d4beba6205dd869a4897ffccc10 Mon Sep 17 00:00:00 2001 From: Brian Evans Date: Fri, 18 Sep 2015 10:49:58 -0400 Subject: [PATCH] Update mysql eclasses with code to support new dev-db/percona-server This was accidentially forgotten and generated bugs 560730 and 560734 Signed-off-by: Brian Evans --- eclass/mysql-cmake.eclass | 30 +++++++++++++++++++++++++----- eclass/mysql-multilib.eclass | 4 +++- 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/eclass/mysql-cmake.eclass b/eclass/mysql-cmake.eclass index 4354f22ebc78d..0f0f5b448fd8e 100644 --- a/eclass/mysql-cmake.eclass +++ b/eclass/mysql-cmake.eclass @@ -249,8 +249,15 @@ configure_cmake_standard() { if [[ ${PN} == "percona-server" ]]; then mycmakeargs+=( - $(cmake-utils_use_with pam) + $(cmake-utils_use_with pam PAM) ) + if in_iuse tokudb ; then + # TokuDB Backup plugin requires valgrind unconditionally + mycmakeargs+=( + $(mysql-cmake_use_plugin tokudb TOKUDB) + $(usex tokudb-backup-plugin "" -DTOKUDB_BACKUP_DISABLED=1) + ) + fi fi if [[ ${PN} == "mysql-cluster" ]]; then @@ -306,9 +313,20 @@ mysql-cmake_src_prepare() { if in_iuse tokudb ; then # Don't build bundled xz-utils - rm -f "${S}/storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake" - touch "${S}/storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake" - sed -i 's/ build_lzma//' "${S}/storage/tokudb/ft-index/ft/CMakeLists.txt" || die + if [[ -d "${S}/storage/tokudb/ft-index" ]] ; then + rm -f "${S}/storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake" || die + touch "${S}/storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake" || die + sed -i 's/ build_lzma//' "${S}/storage/tokudb/ft-index/ft/CMakeLists.txt" || die + elif [[ -d "${S}/storage/tokudb/PerconaFT" ]] ; then + rm "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die + touch "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die + 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 + fi + + if [[ -d "${S}/plugin/tokudb-backup-plugin" ]] && ! use tokudb-backup-plugin ; then + rm -r "${S}/plugin/tokudb-backup-plugin/Percona-TokuBackup" || die + fi fi # Remove the bundled groonga if it exists @@ -399,7 +417,9 @@ mysql-cmake_src_configure() { CXXFLAGS="${CXXFLAGS} -fno-implicit-templates" fi # As of 5.7, exceptions and rtti are used! - if ! mysql_version_is_at_least "5.7" ; then + if [[ ${PN} -eq 'percona-server' ]] && mysql_version_is_at_least "5.6.26" ; then + CXXFLAGS="${CXXFLAGS} -fno-rtti" + elif ! mysql_version_is_at_least "5.7" ; then CXXFLAGS="${CXXFLAGS} -fno-exceptions -fno-rtti" fi export CXXFLAGS diff --git a/eclass/mysql-multilib.eclass b/eclass/mysql-multilib.eclass index 888cfd4c49c00..d880267f28565 100644 --- a/eclass/mysql-multilib.eclass +++ b/eclass/mysql-multilib.eclass @@ -575,7 +575,9 @@ mysql-multilib_src_configure() { CXXFLAGS="${CXXFLAGS} -fno-implicit-templates" fi # As of 5.7, exceptions are used! - if ! mysql_version_is_at_least "5.7" ; then + if [[ ${PN} == "percona-server" ]] && mysql_version_is_at_least "5.6.26" ; then + CXXFLAGS="${CXXFLAGS} -fno-rtti" + elif ! mysql_version_is_at_least "5.7" ; then CXXFLAGS="${CXXFLAGS} -fno-exceptions -fno-rtti" fi export CXXFLAGS