Update mysql eclasses with code to support new dev-db/percona-server
authorBrian Evans <grknight@gentoo.org>
Fri, 18 Sep 2015 14:49:58 +0000 (10:49 -0400)
committerBrian Evans <grknight@gentoo.org>
Fri, 18 Sep 2015 14:49:58 +0000 (10:49 -0400)
This was accidentially forgotten and generated bugs 560730 and 560734

Signed-off-by: Brian Evans <grknight@gentoo.org>
eclass/mysql-cmake.eclass
eclass/mysql-multilib.eclass

index 4354f22ebc78d8b80e63b40778a0e83ef0a1119e..0f0f5b448fd8eb5958744da741d06ad0d462cba2 100644 (file)
@@ -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
index 888cfd4c49c00ae0dfb3d480d59e4c9cef817d42..d880267f28565a4ef09fd1f9e1ae256d00e05425 100644 (file)
@@ -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