From d37b97a25b8b10f748eead6574b01f893f140b01 Mon Sep 17 00:00:00 2001
From: V3n3RiX <venerix@redcorelinux.org>
Date: Wed, 6 Dec 2017 18:23:20 +0000
Subject: gentoo resync : 06.12.2017

---
 dev-db/Manifest.gz                                 | Bin 21976 -> 21983 bytes
 dev-db/kdb/Manifest                                |   4 +-
 dev-db/kdb/kdb-3.0.2.ebuild                        |   1 +
 dev-db/percona-server/Manifest                     |   6 +-
 .../percona-server-5.6.37.82.2-r1.ebuild           | 220 ------------------
 .../percona-server-5.6.37.82.2-r2.ebuild           | 253 +++++++++++++++++++++
 6 files changed, 259 insertions(+), 225 deletions(-)
 delete mode 100644 dev-db/percona-server/percona-server-5.6.37.82.2-r1.ebuild
 create mode 100644 dev-db/percona-server/percona-server-5.6.37.82.2-r2.ebuild

(limited to 'dev-db')

diff --git a/dev-db/Manifest.gz b/dev-db/Manifest.gz
index 516edfc4cc55..6e3aaa0c7d00 100644
Binary files a/dev-db/Manifest.gz and b/dev-db/Manifest.gz differ
diff --git a/dev-db/kdb/Manifest b/dev-db/kdb/Manifest
index 32194b73e916..99cb1fc04070 100644
--- a/dev-db/kdb/Manifest
+++ b/dev-db/kdb/Manifest
@@ -1,3 +1,3 @@
-DIST kdb-3.0.2.tar.xz 478576 SHA256 896804959f4e203cbafb3d345127c6d80721d79136dbfd6d51c4e93131ec21d8 SHA512 e2fcc09d9477b707bc5af23d23ebfedd21ee7445b0de8fa160969795eb608d712d74572618334fcef4aa06095fa69ce9861542851f5609e83287b23ef01fae90 WHIRLPOOL 2d94426cfdaae4f57872e6a2b9369f467327998551f893cc4a1005fa20b2b34c5eec48af25984b039f41b4eeab8e4c2d8e9b5a623c0d6ddb9283fad8c0730529
-EBUILD kdb-3.0.2.ebuild 948 BLAKE2B 0725511d22a1d856fe1cf765dd3bb327649b1d67fe7f9d8b4f45d991b1b821e8d2a33d72975e4859a6aa7ebc438fcde46237265f6c3c9be238af41d94c144695 SHA512 0497fd1f4b0d8e4d6140131a1f922cdf43dff147dd3604cd8b3d88d968b947019d05a6006e5e1174ba85101be9399edd47b7753d0ad63693e4ecb65ce0a6e379
+DIST kdb-3.0.2.tar.xz 478576 BLAKE2B 66982ddae77eeca4238de5045729c049ab41a86471d896f8199af58c9ce6a88abffa1b65975b3e138579bb244e18095e95ddddd11c7c79008f18cbffa63a2076 SHA512 e2fcc09d9477b707bc5af23d23ebfedd21ee7445b0de8fa160969795eb608d712d74572618334fcef4aa06095fa69ce9861542851f5609e83287b23ef01fae90
+EBUILD kdb-3.0.2.ebuild 973 BLAKE2B 9d48afdba85f51b9d2f90edc30a48c90beeb2d750bce840e432bf785613740bdd8bc749dd8de07c157f54dd978ebf91f2e6bae2de2ac7eff2ecc8ee8c077ffeb SHA512 5c04d286a7cf2d873d47d05ac71041ab61c8ebffc176f8ee82f3b37c65087592d921922d0b3674bdeb35b9b9516d8843ce6beb384076b61da7847928e93a3041
 MISC metadata.xml 249 BLAKE2B ad415db89e5dee1627aa77f44ded9d4e1e5b8217d06c7ca25bbaa3fe92ce67c2b1090957c45a821b407d7927e5af798498aa6a5b903895ee1af8ee20a446c7f7 SHA512 76a5a340b13f0053ca3c5e94ed24380ea8d29b45ac8655419e22eaadb1e4a827c04d2e7e36b65145c4964e6526f656618fc6ac144e277ef53cb7373e6239e3c3
diff --git a/dev-db/kdb/kdb-3.0.2.ebuild b/dev-db/kdb/kdb-3.0.2.ebuild
index 7f7b20c738f5..2c4e4c1d9041 100644
--- a/dev-db/kdb/kdb-3.0.2.ebuild
+++ b/dev-db/kdb/kdb-3.0.2.ebuild
@@ -29,6 +29,7 @@ RDEPEND="
 "
 DEPEND="${RDEPEND}
 	${PYTHON_DEPS}
+	dev-qt/linguist-tools:5
 "
 
 REQUIRED_USE="${PYTHON_REQUIRED_USE}"
diff --git a/dev-db/percona-server/Manifest b/dev-db/percona-server/Manifest
index 7d4265446e53..552ea64d8477 100644
--- a/dev-db/percona-server/Manifest
+++ b/dev-db/percona-server/Manifest
@@ -1,6 +1,6 @@
 AUX my.cnf-5.5 4795 BLAKE2B 0b8e6af4bcbefd600a85b7a12ca66af07d0a261a02da5067fbf162cc9ccb9e236dc5ca68474512307227666cfa2c5fe8f885f6318e44ba75efb6251cbef1cde5 SHA512 664b81a1621507104fa843fdda01c3bc60e1f39a6c397329ac8a9f00a63d9298b656d374b819b62ba0de5c1a380e9b16b75ebeaaa2d4614274ff2c168cdc5736
 AUX my.cnf-5.6 4568 BLAKE2B 633cc45bcc751046ef766dcabd1c8db2cd474f13cde436d41698a810787bc52cc8c11aee79c49ed884f4b01ea26fad11f9ffab08471eb10d6752007fd44d372b SHA512 498826f147ad01615358111511c88f671ff823c400782dbad5f359aff99fa88a7be66e3c3b42fd58a5634f17e12f6a18e1896340f1a5a7acecd75320671c3a10
-DIST mysql-extras-20171121-1518Z.tar.bz2 313539 SHA256 1afb0cd5cd7eb71b0cfa34d6f0b970ab3e00f8a3ab08a6a09a8fb829c4121f01 SHA512 dd0d4a00c0ed710e786d157a73f02c6f555ab7a68e57014d958627096a4245a0b45d22ec860dc5389002d106554e80166661c0b6ddcadff1f737e3fa195badda WHIRLPOOL 67b7d6b4239b43f906477624137946c015f7d1430e309874858d40c8c55dfb633ad1f116b7bb08057c924c5a92a66a296016273ae984ba13d6c5d89ae1e054fc
-DIST percona-server-5.6.37-82.2.tar.gz 56296960 SHA256 3cf04b64c8bf5b9cc1ea1a68c54ba77a4709d9c9051314e70a4cbd4c904da702 SHA512 38905c2429bee6e6ba9c35b232c87c27c414726b349ff5a878cc94bbc4a333bbf76019478f8e82a10274ffeea5ac71c4520ff534cc434c4844b496b48801ea4e WHIRLPOOL 9e3988072d00f60af467a21092cc737529bd9250ce4ebbfa20834455791a3fb093b11da8bb845bd62e3fa33ad37e63bfbda483139700bd4147e1b7be64578659
-EBUILD percona-server-5.6.37.82.2-r1.ebuild 7481 BLAKE2B 633b0e8224eb288c4fcf78494d9ffa8c4f7755540e40deeddc5f780439abc5a91d3f492c238b2e4827d0792aaa7c6444a279b06f0b751a1a5c651bc02d85a8af SHA512 7a015cce010f6528ff6be5e032dbc8db3af20aaec08e47297152704ad3b338285bcfbda25660b133128bc3f6ee1211bf85208eb9a030cc252d5155c8d275abcb
+DIST mysql-extras-20171121-1518Z.tar.bz2 313539 BLAKE2B c397fdf7ffb3fcbcecda20933e18234062a9500dcf4031e9b17131e2a1f23dca7535ed33ff541fc075eb9995c67a9a8fd7261d7524dd42d8d333543c368b4c15 SHA512 dd0d4a00c0ed710e786d157a73f02c6f555ab7a68e57014d958627096a4245a0b45d22ec860dc5389002d106554e80166661c0b6ddcadff1f737e3fa195badda
+DIST percona-server-5.6.37-82.2.tar.gz 56296960 BLAKE2B 70d0c40c96be3c3f674466d2406b5622a7a37cc59d9daee7f0315ce6dd2ce13751f48d440646a0f377ca86aecd6bc749d050ab4f58bfa7400bcd35167ab8d480 SHA512 38905c2429bee6e6ba9c35b232c87c27c414726b349ff5a878cc94bbc4a333bbf76019478f8e82a10274ffeea5ac71c4520ff534cc434c4844b496b48801ea4e
+EBUILD percona-server-5.6.37.82.2-r2.ebuild 8859 BLAKE2B 162163f63ec4f4c6c82f914bdc4cf8912fdb32714037f08ef4fb4e3d1374edc87a7a8d0098c26193eaf8c963c3892730ad3fff98073b8a465d773499f857a451 SHA512 d896ab7598c072e39e7cbe322d019350052bf0a9dbd296bd6e7ba0d1ff81d5d80d279b6c4a8f5d497f7588800de91cd314db43a300b413cfe0c36fb5d280adea
 MISC metadata.xml 1505 BLAKE2B 63c11ed734843c7f07a7b71525f21113828cf7bea4fe9f15cbfde952f5e27fbeb8ad1942306a3224478c1a2d19f2ea22d26ee124db19fa7122d573095f98847e SHA512 0ccb7a31827fa15606e060522daf9364bc843a64cfca8538292e989546e07784ea7a8af54ea7a1b02675c64515a1f2225b22971cda4110610836770d1ff33dd6
diff --git a/dev-db/percona-server/percona-server-5.6.37.82.2-r1.ebuild b/dev-db/percona-server/percona-server-5.6.37.82.2-r1.ebuild
deleted file mode 100644
index bb675e545336..000000000000
--- a/dev-db/percona-server/percona-server-5.6.37.82.2-r1.ebuild
+++ /dev/null
@@ -1,220 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-MY_EXTRAS_VER="20171121-1518Z"
-SUBSLOT="18"
-PYTHON_COMPAT=( python2_7 )
-inherit linux-info python-any-r1 mysql-multilib-r1
-
-IUSE="numa pam tokudb tokudb-backup-plugin"
-
-# REMEMBER: also update eclass/mysql*.eclass before committing!
-KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~x86-linux"
-HOMEPAGE="http://www.percona.com/software/percona-server"
-DESCRIPTION="An enhanced, drop-in replacement for MySQL from the Percona team"
-
-# When MY_EXTRAS is bumped, the index should be revised to exclude these.
-EPATCH_EXCLUDE=''
-
-COMMON_DEPEND="numa? ( sys-process/numactl:= )
-	server? ( pam? ( virtual/pam:0= ) )
-	tokudb? ( app-arch/snappy )
-	tokudb-backup-plugin? ( dev-util/valgrind )
-	"
-
-DEPEND="${COMMON_DEPEND}
-	|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
-	test? ( $(python_gen_any_dep 'dev-python/mysql-python[${PYTHON_USEDEP}]') )"
-RDEPEND="${COMMON_DEPEND}"
-
-REQUIRED_USE="tokudb-backup-plugin? ( tokudb ) tokudb? ( jemalloc !tcmalloc )"
-
-MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"
-
-PATCHES=(
-	"${MY_PATCH_DIR}"/01050_all_mysql_config_cleanup-5.6.patch
-	"${MY_PATCH_DIR}"/02040_all_embedded-library-shared-5.5.10.patch
-	"${MY_PATCH_DIR}"/20001_all_fix-minimal-build-cmake-mysql-5.6.20.patch
-	"${MY_PATCH_DIR}"/20006_all_cmake_elib-percona-5.6.34.patch
-	"${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.6.22.patch
-	"${MY_PATCH_DIR}"/20008_all_mysql-tzinfo-symlink-5.6.37.patch
-	"${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.6.patch
-	"${MY_PATCH_DIR}"/20018_all_percona-server-5.6.25-without-clientlibs-tools.patch
-	"${MY_PATCH_DIR}"/20028_all_mysql-5.6-gcc7.patch
-)
-
-# Please do not add a naive src_unpack to this ebuild
-# 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
-
-pkg_pretend() {
-	mysql-multilib-r1_pkg_pretend
-
-	if use numa; then
-		local CONFIG_CHECK="~NUMA"
-
-		local WARNING_NUMA="This package expects NUMA support in kernel which this system does not have at the moment;"
-		WARNING_NUMA+=" Either expect runtime errors, enable NUMA support in kernel or rebuild the package without NUMA support"
-
-		check_extra_config
-	fi
-}
-
-python_check_deps() {
-	has_version "dev-python/mysql-python[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
-	mysql-multilib-r1_src_prepare
-	if use libressl ; then
-		sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
-			"${S}/cmake/ssl.cmake" || die
-	fi
-}
-
-src_configure() {
-	local MYSQL_CMAKE_NATIVE_DEFINES=( -DWITH_NUMA=$(usex numa)
-			-DWITH_PAM=$(usex pam)
-			$(mysql-cmake_use_plugin tokudb TOKUDB)
-	)
-	if use tokudb ; then
-		# TokuDB Backup plugin requires valgrind unconditionally
-		MYSQL_CMAKE_NATIVE_DEFINES+=(
-			$(usex tokudb-backup-plugin '' -DTOKUDB_BACKUP_DISABLED=1)
-		)
-	fi
-	mysql-multilib-r1_src_configure
-}
-
-# Official test instructions:
-# USE='extraengine perl openssl static-libs' \
-# FEATURES='test userpriv -usersandbox' \
-# ebuild percona-server-X.X.XX.ebuild \
-# digest clean package
-multilib_src_test() {
-
-	if ! multilib_is_native_abi ; then
-		einfo "Server tests not available on non-native abi".
-		return 0;
-	fi
-
-	if ! use server ; then
-		einfo "Skipping server tests due to minimal build."
-		return 0
-	fi
-
-	local TESTDIR="${CMAKE_BUILD_DIR}/mysql-test"
-	local retstatus_unit
-	local retstatus_tests
-
-	# Bug #213475 - MySQL _will_ object strenously if your machine is named
-	# localhost. Also causes weird failures.
-	[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
-
-	if [[ $UID -eq 0 ]]; then
-		die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
-	fi
-
-	einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
-
-	# Run CTest (test-units)
-	cmake-utils_src_test
-	retstatus_unit=$?
-	[[ $retstatus_unit -eq 0 ]] || eerror "test-unit failed"
-
-	# Ensure that parallel runs don't die
-	export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
-	# Enable parallel testing, auto will try to detect number of cores
-	# You may set this by hand.
-	# The default maximum is 8 unless MTR_MAX_PARALLEL is increased
-	export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
-
-	# create directories because mysqladmin might right out of order
-	mkdir -p "${T}"/var-tests{,/log}
-
-	# These are failing in Percona 5.6 for now and are believed to be
-	# false positives:
-	#
-	# main.information_schema, binlog.binlog_statement_insert_delayed,
-	# main.mysqld--help-notwin, binlog.binlog_mysqlbinlog_filter
-	# perfschema.binlog_edge_mix, perfschema.binlog_edge_stmt
-	# funcs_1.is_columns_mysql funcs_1.is_tables_mysql funcs_1.is_triggers
-	# engines/funcs.db_alter_character_set engines/funcs.db_alter_character_set_collate
-	# engines/funcs.db_alter_collate_ascii engines/funcs.db_alter_collate_utf8
-	# engines/funcs.db_create_character_set engines/funcs.db_create_character_set_collate
-	# fails due to USE=-latin1 / utf8 default
-	#
-	# main.mysql_client_test:
-	# segfaults at random under Portage only, suspect resource limits.
-	#
-	# main.percona_bug1289599
-	# Looks to be a syntax error in the test file itself
-	#
-	# main.variables main.myisam main.merge_recover
-	# fails due to ulimit not able to open enough files (needs 5000)
-	#
-	# main.mysqlhotcopy_archive main.mysqlhotcopy_myisam
-	# Called with bad parameters should be reported upstream
-	#
-
-	local t
-
-	for t in main.mysql_client_test \
-		binlog.binlog_statement_insert_delayed main.information_schema \
-		main.mysqld--help-notwin binlog.binlog_mysqlbinlog_filter \
-		perfschema.binlog_edge_mix perfschema.binlog_edge_stmt \
-		funcs_1.is_columns_mysql funcs_1.is_tables_mysql funcs_1.is_triggers \
-		main.variables main.myisam main.merge_recover \
-		engines/funcs.db_alter_character_set engines/funcs.db_alter_character_set_collate \
-		engines/funcs.db_alter_collate_ascii engines/funcs.db_alter_collate_utf8 \
-		engines/funcs.db_create_character_set engines/funcs.db_create_character_set_collate \
-		main.percona_bug1289599 main.mysqlhotcopy_archive main.mysqlhotcopy_myisam ; do
-			mysql-multilib-r1_disable_test  "$t" "False positives in Gentoo"
-	done
-
-	if use numa && use kernel_linux ; then
-		# bug 584880
-		if ! linux_config_exists || ! linux_chkconfig_present NUMA ; then
-			for t in sys_vars.innodb_buffer_pool_populate_basic ; do
-				mysql-multilib-r1_disable_test "$t" "Test $t requires system with NUMA support"
-			done
-		fi
-	fi
-
-	if ! use extraengine ; then
-		# bug 401673, 530766
-		for t in federated.federated_plugin ; do
-			mysql-multilib-r1_disable_test "$t" "Test $t requires USE=extraengine (Need federated engine)"
-		done
-	fi
-
-	# Run mysql tests
-	pushd "${TESTDIR}" || die
-
-	# Set file limits higher so tests run
-	ulimit -n 3000
-	python_setup
-	# run mysql-test tests
-	perl mysql-test-run.pl --force --vardir="${T}/var-tests" \
-		--testcase-timeout=30 --reorder
-	retstatus_tests=$?
-	[[ $retstatus_tests -eq 0 ]] || eerror "tests failed"
-
-	popd || die
-
-	# Cleanup is important for these testcases.
-	pkill -9 -f "${S}/ndb" 2>/dev/null
-	pkill -9 -f "${S}/sql" 2>/dev/null
-
-	failures=""
-	[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
-	[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
-
-	if [[ -n "$failures" ]]; then
-		has usersandbox $FEATURES && eerror "Some tests may have failed due to FEATURES=usersandbox"
-		die "Test failures: $failures"
-	fi
-
-	einfo "Tests successfully completed"
-}
diff --git a/dev-db/percona-server/percona-server-5.6.37.82.2-r2.ebuild b/dev-db/percona-server/percona-server-5.6.37.82.2-r2.ebuild
new file mode 100644
index 000000000000..e56e97809f8b
--- /dev/null
+++ b/dev-db/percona-server/percona-server-5.6.37.82.2-r2.ebuild
@@ -0,0 +1,253 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+MY_EXTRAS_VER="20171121-1518Z"
+SUBSLOT="18"
+PYTHON_COMPAT=( python2_7 )
+# Build fails with ninja
+CMAKE_MAKEFILE_GENERATOR="emake"
+inherit linux-info python-any-r1 mysql-multilib-r1 toolchain-funcs
+
+IUSE="numa pam tokudb tokudb-backup-plugin"
+
+# REMEMBER: also update eclass/mysql*.eclass before committing!
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~x86-linux"
+HOMEPAGE="http://www.percona.com/software/percona-server"
+DESCRIPTION="An enhanced, drop-in replacement for MySQL from the Percona team"
+
+# When MY_EXTRAS is bumped, the index should be revised to exclude these.
+EPATCH_EXCLUDE=''
+
+COMMON_DEPEND="numa? ( sys-process/numactl:= )
+	server? ( pam? ( virtual/pam:0= ) )
+	tokudb? ( app-arch/snappy )
+	tokudb-backup-plugin? ( dev-util/valgrind )
+	"
+
+DEPEND="${COMMON_DEPEND}
+	|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
+	test? (
+		$(python_gen_any_dep 'dev-python/mysql-python[${PYTHON_USEDEP}]')
+		dev-perl/JSON
+	)"
+RDEPEND="${COMMON_DEPEND}"
+
+REQUIRED_USE="tokudb-backup-plugin? ( tokudb ) tokudb? ( jemalloc !tcmalloc )"
+
+MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"
+
+PATCHES=(
+	"${MY_PATCH_DIR}"/01050_all_mysql_config_cleanup-5.6.patch
+	"${MY_PATCH_DIR}"/02040_all_embedded-library-shared-5.5.10.patch
+	"${MY_PATCH_DIR}"/20001_all_fix-minimal-build-cmake-mysql-5.6.20.patch
+	"${MY_PATCH_DIR}"/20006_all_cmake_elib-percona-5.6.34.patch
+	"${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.6.22.patch
+	"${MY_PATCH_DIR}"/20008_all_mysql-tzinfo-symlink-5.6.37.patch
+	"${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.6.patch
+	"${MY_PATCH_DIR}"/20018_all_percona-server-5.6.25-without-clientlibs-tools.patch
+	"${MY_PATCH_DIR}"/20028_all_mysql-5.6-gcc7.patch
+)
+
+# Please do not add a naive src_unpack to this ebuild
+# 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
+
+pkg_pretend() {
+	mysql-multilib-r1_pkg_pretend
+
+	if [[ ${MERGE_TYPE} != binary && tc-is-gcc ]]; then
+		if [[ $(gcc-major-version) -gt 6 ]]; then
+			# https://bugs.gentoo.org/639936
+			eerror "${P} is incompatible with >gcc-6.x."
+			eerror "Please use gcc-config or package.env file to switch to <gcc-7.x for this package."
+			die
+		fi
+	fi
+
+	if use numa; then
+		local CONFIG_CHECK="~NUMA"
+
+		local WARNING_NUMA="This package expects NUMA support in kernel which this system does not have at the moment;"
+		WARNING_NUMA+=" Either expect runtime errors, enable NUMA support in kernel or rebuild the package without NUMA support"
+
+		check_extra_config
+	fi
+}
+
+python_check_deps() {
+	has_version "dev-python/mysql-python[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+	mysql-multilib-r1_src_prepare
+	if use libressl ; then
+		sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
+			"${S}/cmake/ssl.cmake" || die
+	fi
+}
+
+src_configure() {
+	local MYSQL_CMAKE_NATIVE_DEFINES=( -DWITH_NUMA=$(usex numa)
+			-DWITH_PAM=$(usex pam)
+			$(mysql-cmake_use_plugin tokudb TOKUDB)
+	)
+	if use tokudb ; then
+		# TokuDB Backup plugin requires valgrind unconditionally
+		MYSQL_CMAKE_NATIVE_DEFINES+=(
+			$(usex tokudb-backup-plugin '' -DTOKUDB_BACKUP_DISABLED=1)
+		)
+	fi
+	mysql-multilib-r1_src_configure
+}
+
+# Official test instructions:
+# USE='extraengine perl openssl static-libs' \
+# FEATURES='test userpriv -usersandbox' \
+# ebuild percona-server-X.X.XX.ebuild \
+# digest clean package
+multilib_src_test() {
+
+	if ! multilib_is_native_abi ; then
+		einfo "Server tests not available on non-native abi".
+		return 0;
+	fi
+
+	if ! use server ; then
+		einfo "Skipping server tests due to minimal build."
+		return 0
+	fi
+
+	local TESTDIR="${CMAKE_BUILD_DIR}/mysql-test"
+	local retstatus_unit
+	local retstatus_tests
+
+	# Bug #213475 - MySQL _will_ object strenously if your machine is named
+	# localhost. Also causes weird failures.
+	[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
+
+	if [[ $UID -eq 0 ]]; then
+		die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
+	fi
+
+	einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
+
+	# Run CTest (test-units)
+	cmake-utils_src_test
+	retstatus_unit=$?
+	[[ $retstatus_unit -eq 0 ]] || eerror "test-unit failed"
+
+	# Ensure that parallel runs don't die
+	export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
+	# Enable parallel testing, auto will try to detect number of cores
+	# You may set this by hand.
+	# The default maximum is 8 unless MTR_MAX_PARALLEL is increased
+	export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
+
+	# create directories because mysqladmin might right out of order
+	mkdir -p "${T}"/var-tests{,/log}
+
+	# These are failing in Percona 5.6 for now and are believed to be
+	# false positives:
+	#
+	# main.information_schema, binlog.binlog_statement_insert_delayed,
+	# main.mysqld--help-notwin, binlog.binlog_mysqlbinlog_filter
+	# perfschema.binlog_edge_mix, perfschema.binlog_edge_stmt
+	# funcs_1.is_columns_mysql funcs_1.is_tables_mysql funcs_1.is_triggers
+	# engines/funcs.db_alter_character_set engines/funcs.db_alter_character_set_collate
+	# engines/funcs.db_alter_collate_ascii engines/funcs.db_alter_collate_utf8
+	# engines/funcs.db_create_character_set engines/funcs.db_create_character_set_collate
+	# fails due to USE=-latin1 / utf8 default
+	#
+	# main.mysql_client_test:
+	# segfaults at random under Portage only, suspect resource limits.
+	#
+	# main.percona_bug1289599
+	# Looks to be a syntax error in the test file itself
+	#
+	# main.variables main.myisam main.merge_recover
+	# fails due to ulimit not able to open enough files (needs 5000)
+	#
+	# main.mysqlhotcopy_archive main.mysqlhotcopy_myisam
+	# Called with bad parameters should be reported upstream
+	#
+
+	local t
+
+	for t in main.mysql_client_test \
+		binlog.binlog_statement_insert_delayed main.information_schema \
+		main.mysqld--help-notwin binlog.binlog_mysqlbinlog_filter \
+		perfschema.binlog_edge_mix perfschema.binlog_edge_stmt \
+		funcs_1.is_columns_mysql funcs_1.is_tables_mysql funcs_1.is_triggers \
+		main.variables main.myisam main.merge_recover \
+		engines/funcs.db_alter_character_set engines/funcs.db_alter_character_set_collate \
+		engines/funcs.db_alter_collate_ascii engines/funcs.db_alter_collate_utf8 \
+		engines/funcs.db_create_character_set engines/funcs.db_create_character_set_collate \
+		main.percona_bug1289599 main.mysqlhotcopy_archive main.mysqlhotcopy_myisam ; do
+			mysql-multilib-r1_disable_test  "$t" "False positives in Gentoo"
+	done
+
+	if use numa && use kernel_linux ; then
+		# bug 584880
+		if ! linux_config_exists || ! linux_chkconfig_present NUMA ; then
+			for t in sys_vars.innodb_buffer_pool_populate_basic ; do
+				mysql-multilib-r1_disable_test "$t" "Test $t requires system with NUMA support"
+			done
+		fi
+	fi
+
+	if ! use extraengine ; then
+		# bug 401673, 530766
+		for t in federated.federated_plugin ; do
+			mysql-multilib-r1_disable_test "$t" "Test $t requires USE=extraengine (Need federated engine)"
+		done
+	fi
+
+	# Run mysql tests
+	pushd "${TESTDIR}" || die
+
+	# Set file limits higher so tests run
+	if ! ulimit -n 16500 1>/dev/null 2>&1; then
+		# Upper limit comes from parts.partition_* tests
+		ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager."
+
+		if ! ulimit -n 4162 1>/dev/null 2>&1; then
+			# Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)'
+			ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager."
+
+			if ! ulimit -n 3000 1>/dev/null 2>&1; then
+				ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager."
+			else
+				einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)."
+			fi
+		else
+			einfo "Will run test suite with open file limit set to 4162 (medium test coverage)."
+		fi
+	else
+		einfo "Will run test suite with open file limit set to 16500 (best test coverage)."
+	fi
+
+	python_setup
+	# run mysql-test tests
+	perl mysql-test-run.pl --force --vardir="${T}/var-tests" \
+		--testcase-timeout=30 --reorder
+	retstatus_tests=$?
+	[[ $retstatus_tests -eq 0 ]] || eerror "tests failed"
+
+	popd || die
+
+	# Cleanup is important for these testcases.
+	pkill -9 -f "${S}/ndb" 2>/dev/null
+	pkill -9 -f "${S}/sql" 2>/dev/null
+
+	failures=""
+	[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
+	[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
+
+	if [[ -n "$failures" ]]; then
+		has usersandbox $FEATURES && eerror "Some tests may have failed due to FEATURES=usersandbox"
+		die "Test failures: $failures"
+	fi
+
+	einfo "Tests successfully completed"
+}
-- 
cgit v1.2.3