commit:     4b0aea37adf82271143b3d4d07a90d82b21a2a95
Author:     Brian Evans <grknight <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 22 16:55:11 2014 +0000
Commit:     Brian Evans <grknight <AT> gentoo <DOT> org>
CommitDate: Wed Oct 22 16:55:11 2014 +0000
URL:        
http://sources.gentoo.org/gitweb/?p=proj/mysql.git;a=commit;h=4b0aea37

Add innodb compression options for MariaDB 10.1

---
 dev-db/mariadb/metadata.xml  | 2 ++
 eclass/mysql-cmake.eclass    | 5 +++++
 eclass/mysql-multilib.eclass | 9 +++++++++
 3 files changed, 16 insertions(+)

diff --git a/dev-db/mariadb/metadata.xml b/dev-db/mariadb/metadata.xml
index 4ff7fec..9069bcb 100644
--- a/dev-db/mariadb/metadata.xml
+++ b/dev-db/mariadb/metadata.xml
@@ -14,6 +14,8 @@ dev-db/mariadb
   <flag name='embedded'>Build embedded server (libmysqld)</flag>
   <flag name='extraengine'>Add support for alternative storage engines 
(Archive, CSV, Blackhole, Federated(X), Partition)</flag>
   <flag name='galera'>Enables galera replication</flag>
+  <flag name='innodb-lz4'>Enables lz4 compression methods for 
InnoDB/XtraDB</flag>
+  <flag name='innodb-lzo'>Enables lzo compression methods for 
InnoDB/XtraDB</flag>
   <flag name="jemalloc">Use <pkg>dev-libs/jemalloc</pkg> for 
allocations.</flag>
   <flag name='latin1'>Use LATIN1 encoding instead of UTF8</flag>
   <flag name='libevent'>Use libevent for connection handling</flag>

diff --git a/eclass/mysql-cmake.eclass b/eclass/mysql-cmake.eclass
index bae11ca..4abbd95 100644
--- a/eclass/mysql-cmake.eclass
+++ b/eclass/mysql-cmake.eclass
@@ -212,6 +212,11 @@ configure_cmake_standard() {
                if in_iuse galera ; then
                        mycmakeargs+=( $(cmake-utils_use_with galera WSREP) )
                fi
+
+               if mysql_version_is_at_least "10.1.1" ; then
+                       mycmakeargs+=(  $(cmake-utils_use_has innodb-lz4 LZ4)
+                                       $(cmake-utils_use_has innodb-lzo LZO) )
+               fi
        fi
 
        if [[ ${PN} == "percona-server" ]]; then

diff --git a/eclass/mysql-multilib.eclass b/eclass/mysql-multilib.eclass
index 0f3895b..b7ff8af 100644
--- a/eclass/mysql-multilib.eclass
+++ b/eclass/mysql-multilib.eclass
@@ -205,6 +205,10 @@ if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]]; 
then
        mysql_version_is_at_least "10.0.5" && IUSE="${IUSE} odbc xml" && \
                REQUIRED_USE="odbc? ( extraengine !minimal ) xml? ( extraengine 
!minimal )"
        REQUIRED_USE="${REQUIRED_USE} minimal? ( !oqgraph !sphinx ) tokudb? ( 
jemalloc )"
+
+       # MariaDB 10.1 introduces InnoDB/XtraDB compression with external 
libraries
+       # Choices are bzip2, lz4, lzma, lzo.  bzip2 and lzma enabled by default 
as they are system libraries
+       mysql_version_is_at_least "10.1.1" && IUSE="${IUSE} innodb-lz4 
innodb-lzo"
 fi
 
 if [[ -n "${WSREP_REVISION}" ]]; then
@@ -279,6 +283,11 @@ if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] ; 
then
        fi
        mysql_version_is_at_least "10.0.7" && DEPEND="${DEPEND} oqgraph? ( 
dev-libs/judy:0= )"
        mysql_version_is_at_least "10.0.9" && DEPEND="${DEPEND} 
>=dev-libs/libpcre-8.35:3="
+
+       mysql_version_is_at_least "10.1.1" && DEPEND="${DEPEND}
+               innodb-lz4? ( app-arch/lz4 )
+               innodb-lzo? ( dev-libs/lzo )
+               "
 fi
 
 [[ ${PN} == "percona-server" ]] && DEPEND="${DEPEND} !minimal? ( pam? ( 
virtual/pam:0= ) )"

Reply via email to