mysql-multilib.eclass: Add LibreSSL support
authorBrian Evans <grknight@gentoo.org>
Tue, 20 Oct 2015 14:22:15 +0000 (10:22 -0400)
committerBrian Evans <grknight@gentoo.org>
Tue, 20 Oct 2015 14:52:10 +0000 (10:52 -0400)
Signed-off-by: Brian Evans <grknight@gentoo.org>
eclass/mysql-multilib.eclass

index da5594becdf4ea5b65847a2fefd4c7b7e8bc0804..f76143471ed84f75b66f4fa75c35016348aef4c1 100644 (file)
@@ -192,8 +192,10 @@ fi
 LICENSE="GPL-2"
 SLOT="0/${SUBSLOT:-0}"
 
-IUSE="+community cluster debug embedded extraengine jemalloc latin1
-       +perl profiling selinux ssl systemtap static static-libs tcmalloc test"
+IUSE="+community cluster debug embedded extraengine jemalloc latin1 libressl +openssl
+       +perl profiling selinux systemtap static static-libs tcmalloc test yassl"
+
+REQUIRED_USE="^^ ( yassl openssl libressl )"
 
 ### Begin readline/libedit
 ### If the world was perfect, we would use external libedit on both to have a similar experience
@@ -261,7 +263,7 @@ fi
 
 REQUIRED_USE="
        ${REQUIRED_USE} tcmalloc? ( !jemalloc ) jemalloc? ( !tcmalloc )
-        static? ( !ssl )"
+        static? ( yassl )"
 
 #
 # DEPENDENCIES:
@@ -271,7 +273,6 @@ REQUIRED_USE="
 # These are used for both runtime and compiletime
 # MULTILIB_USEDEP only set for libraries used by the client library
 DEPEND="
-       ssl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] )
        kernel_linux? (
                sys-process/procps:0=
                dev-libs/libaio:0=
@@ -287,18 +288,21 @@ DEPEND="
 if [[ ${HAS_TOOLS_PATCH} ]] ; then
        DEPEND+="
                client-libs? (
-                       ssl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] )
+                       openssl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] )
+                       libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP},static-libs?] )
                        >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?]
                )
                !client-libs? (
-                       ssl? ( >=dev-libs/openssl-1.0.0:0=[static-libs?] )
+                       openssl? ( >=dev-libs/openssl-1.0.0:0=[static-libs?] )
+                       libressl? ( dev-libs/libressl:0=[static-libs?] )
                        >=sys-libs/zlib-1.2.3:0=[static-libs?]
                )
                tools? ( sys-libs/ncurses:0= ) embedded? ( sys-libs/ncurses:0= )
        "
 else
        DEPEND+="
-               ssl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] )
+               openssl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] )
+               libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP},static-libs?] )
                >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?]
                sys-libs/ncurses:0=[${MULTILIB_USEDEP}]
        "
@@ -637,11 +641,16 @@ multilib_src_configure() {
                -DENABLED_LOCAL_INFILE=1
                -DMYSQL_UNIX_ADDR=${EPREFIX}/var/run/mysqld/mysqld.sock
                -DINSTALL_UNIX_ADDRDIR=${EPREFIX}/var/run/mysqld/mysqld.sock
-               -DWITH_SSL=$(usex ssl system bundled)
                -DWITH_DEFAULT_COMPILER_OPTIONS=0
                -DWITH_DEFAULT_FEATURE_SET=0
        )
 
+       if use openssl || use libressl ; then
+               mycmakeargs+=( -DWITH_SSL=system )
+       else
+               mycmakeargs+=( -DWITH_SSL=bundled )
+       fi
+
        if in_iuse client-libs ; then
                mycmakeargs+=( -DWITHOUT_CLIENTLIBS=$(usex client-libs 0 1) )
        fi