From: "Brian Evans" <grknight@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/mysql:split-client commit in: eclass/
Date: Tue, 7 Jul 2015 19:24:05 +0000 (UTC) [thread overview]
Message-ID: <1436296505.6c177253fc4536b0eafee6310799c1c4b11aa287.grknight@gentoo> (raw)
commit: 6c177253fc4536b0eafee6310799c1c4b11aa287
Author: Brian Evans <grknight <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 7 19:15:05 2015 +0000
Commit: Brian Evans <grknight <AT> gentoo <DOT> org>
CommitDate: Tue Jul 7 19:15:05 2015 +0000
URL: https://gitweb.gentoo.org/proj/mysql.git/commit/?id=6c177253
Refine dependencies and skip multilib when -client-libs
eclass/mysql-multilib.eclass | 59 +++++++++++++++++++++++++++++++++++++-------
1 file changed, 50 insertions(+), 9 deletions(-)
diff --git a/eclass/mysql-multilib.eclass b/eclass/mysql-multilib.eclass
index 2a37bcc..bfee72c 100644
--- a/eclass/mysql-multilib.eclass
+++ b/eclass/mysql-multilib.eclass
@@ -256,7 +256,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=
@@ -264,13 +263,30 @@ DEPEND="
sys-libs/ncurses
>=sys-apps/sed-4
>=sys-apps/texinfo-4.7-r1
- >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?]
!dev-db/mariadb-native-client[mysqlcompat]
- jemalloc? ( dev-libs/jemalloc:0=[${MULTILIB_USEDEP}] )
+ jemalloc? ( dev-libs/jemalloc:0= )
tcmalloc? ( dev-util/google-perftools:0= )
systemtap? ( >=dev-util/systemtap-1.3:0= )
"
+if [[ ${HAS_TOOLS_PATCH} ]] ; then
+ DEPEND+="
+ client-libs? (
+ ssl? ( >=dev-libs/openssl-1.0.0: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?] )
+ >=sys-libs/zlib-1.2.3:0=[static-libs?]
+ )
+ "
+else
+ DEPEND+="
+ ssl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] )
+ >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?]
+ "
+fi
+
### Begin readline/libedit
### If the world was perfect, we would use external libedit on both to have a similar experience
### However libedit does not seem to support UTF-8 keyboard input
@@ -326,7 +342,7 @@ 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=[${MULTILIB_USEDEP}]"
+ 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 )
@@ -562,6 +578,13 @@ multilib_src_configure() {
CMAKE_BUILD_TYPE="RelWithDebInfo"
+ if ! multilib_is_native_abi && in_iuse client-libs ; then
+ if ! use client-libs ; then
+ ewarn "Skipping multilib build due to client-libs USE disabled"
+ return 0
+ fi
+ fi
+
# debug hack wrt #497532
mycmakeargs=(
-DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug "" "-DNDEBUG")"
@@ -608,9 +631,8 @@ multilib_src_configure() {
if in_iuse client-libs ; then
mycmakeargs+=( -DWITHOUT_CLIENTLIBS=$(usex client-libs 0 1) )
- if multilib_is_native_abi ; then
- mycmakeargs+=( -DWITHOUT_TOOLS=0 )
- else
+ # Always build tools on native, but skip when possible on non-native to eliminate multilib dependencies
+ if ! multilib_is_native_abi ; then
mycmakeargs+=( -DWITHOUT_TOOLS=1 )
fi
fi
@@ -633,7 +655,7 @@ multilib_src_configure() {
### TODO: make this system but issues with UTF-8 prevent it
mycmakeargs+=( -DWITH_EDITLINE=bundled )
- if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] ; then
+ if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] && multilib_is_native_abi ; then
mycmakeargs+=(
-DWITH_JEMALLOC=$(usex jemalloc system)
)
@@ -666,6 +688,13 @@ mysql-multilib_src_compile() {
}
multilib_src_compile() {
+ if ! multilib_is_native_abi && in_iuse client-libs ; then
+ if ! use client-libs ; then
+ ewarn "Skipping multilib build due to client-libs USE disabled"
+ return 0
+ fi
+ fi
+
cmake-utils_src_compile "${_cmake_args[@]}"
}
@@ -678,12 +707,24 @@ mysql-multilib_src_install() {
# wrap the config script
MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
fi
- multilib-minimal_src_install
+
+ if in_iuse client-libs && ! use client-libs ; then
+ multilib_foreach_abi multilib_src_install
+ else
+ multilib-minimal_src_install
+ fi
}
multilib_src_install() {
debug-print-function ${FUNCNAME} "$@"
+ if ! multilib_is_native_abi && in_iuse client-libs ; then
+ if ! use client-libs ; then
+ ewarn "Skipping multilib build due to client-libs USE disabled"
+ return 0
+ fi
+ fi
+
if multilib_is_native_abi; then
mysql-cmake_src_install
else
next reply other threads:[~2015-07-07 19:24 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-07 19:24 Brian Evans [this message]
-- strict thread matches above, loose matches on Subject: below --
2015-07-17 2:51 [gentoo-commits] proj/mysql:split-client commit in: eclass/ Brian Evans
2015-07-07 19:24 Brian Evans
2015-07-07 15:08 Brian Evans
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1436296505.6c177253fc4536b0eafee6310799c1c4b11aa287.grknight@gentoo \
--to=grknight@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox