commit: 2d00da0c3ecc1d4beba6205dd869a4897ffccc10
Author: Brian Evans <grknight <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 18 14:49:58 2015 +0000
Commit: Brian Evans <grknight <AT> gentoo <DOT> org>
CommitDate: Fri Sep 18 14:49:58 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2d00da0c
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 <grknight <AT> gentoo.org>
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 4354f22..0f0f5b4 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 888cfd4..d880267 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