dev-db/mysql: Add numa USE wrt bug 635282
authorBrian Evans <grknight@gentoo.org>
Fri, 3 Nov 2017 12:52:18 +0000 (08:52 -0400)
committerBrian Evans <grknight@gentoo.org>
Fri, 3 Nov 2017 12:52:18 +0000 (08:52 -0400)
Closes: https://bugs.gentoo.org/635282
Package-Manager: Portage-2.3.13, Repoman-2.3.4

dev-db/mysql/metadata.xml
dev-db/mysql/mysql-5.6.38.ebuild

index 8e45aa661e8f8db6c44d628a8b45419df3b43c52..83ee85b777f98ccb2e40aa2e6226c9d767863246 100644 (file)
@@ -21,6 +21,7 @@ dev-db/mariadb
   <flag name="openssl">Enable SSL connections and crypto functions using <pkg>dev-libs/openssl</pkg></flag>
   <flag name="max-idx-128">Raise the max index per table limit from 64 to 128</flag>
   <flag name="minimal">Install client programs only, no server</flag>
+  <flag name="numa">Enable NUMA support using <pkg>sys-process/numactl</pkg> (NUMA kernel support is also required)</flag>
   <flag name="profiling">Add support for statement profiling (requires USE=community).</flag>
   <flag name="server">Build the server program</flag>
   <flag name="systemtap">Build support for profiling and tracing using <pkg>dev-util/systemtap</pkg></flag>
index 050b1e092c8fbfc538ffcad8250eed6bbec8bf5f..01d0263e17beebf6c524db229dd15da4fd528e8f 100644 (file)
@@ -13,12 +13,12 @@ CMAKE_MAKEFILE_GENERATOR=emake
 
 inherit mysql-multilib-r1
 # only to make repoman happy. it is really set in the eclass
-IUSE="$IUSE"
+IUSE="$IUSE numa"
 
 # REMEMBER: also update eclass/mysql*.eclass before committing!
 KEYWORDS="~alpha amd64 ~arm ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
 
-DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )"
+DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) numa? ( sys-process/numactl )"
 RDEPEND="${RDEPEND}"
 
 MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"
@@ -38,10 +38,6 @@ PATCHES=(
 # If you want to add a single patch, copy the ebuild to an overlay
 # and create your own mysql-extras tarball, looking at 000_index.txt
 
-# validate_password plugin uses exceptions when it shouldn't yet (until 5.7)
-# disable until we see what happens with it
-MYSQL_CMAKE_NATIVE_DEFINES=( -DWITHOUT_VALIDATE_PASSWORD=1 )
-
 src_prepare() {
        mysql-multilib-r1_src_prepare
        if use libressl ; then
@@ -50,6 +46,13 @@ src_prepare() {
        fi
 }
 
+src_configure() {
+       # validate_password plugin uses exceptions when it shouldn't yet (until 5.7)
+       # disable until we see what happens with it
+       local MYSQL_CMAKE_NATIVE_DEFINES=( -DWITHOUT_VALIDATE_PASSWORD=1 -DWITH_NUMA=$(usex numa ON OFF) )
+       mysql-multilib-r1_src_configure
+}
+
 # Official test instructions:
 # USE='server embedded extraengine perl openssl static-libs' \
 # FEATURES='test userpriv -usersandbox' \