portage-stable: add sysbench tools

Adding sysbench tools to our tree for benchmark purpose. Also add
luajit and concurrencykit as sysbench depends on them.

BUG=chromium:814088
TEST=emerge-betty sysbench.

Change-Id: I872e1fc37b8c8133e91de061abb9f7b2c18a855e
Reviewed-on: https://chromium-review.googlesource.com/937992
Commit-Ready: Po-Hsien Wang <pwang@chromium.org>
Tested-by: Po-Hsien Wang <pwang@chromium.org>
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
diff --git a/app-benchmarks/sysbench/Manifest b/app-benchmarks/sysbench/Manifest
new file mode 100644
index 0000000..28394d4
--- /dev/null
+++ b/app-benchmarks/sysbench/Manifest
@@ -0,0 +1 @@
+DIST sysbench-1.0.10.tar.gz 1496937 BLAKE2B d2cf3283a2e2cac89a54e51e975eecec4b5514c08b14fe81138dc36b077e82de54cb3c5d218e1cc00dc6bff66319d780c69249c49c93e810d3ebde3c0b36b656 SHA512 3e2c9597538c9b71a50a0fb0e198f8852206fc609b0968253ee6b12f652fd56f1b2c6e7a4c93161b725e5c56193f7ce9d5cf58c4882839a4c1055c539861d16d
diff --git a/app-benchmarks/sysbench/sysbench-1.0.10.ebuild b/app-benchmarks/sysbench/sysbench-1.0.10.ebuild
new file mode 100644
index 0000000..79c234b
--- /dev/null
+++ b/app-benchmarks/sysbench/sysbench-1.0.10.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit pax-utils
+
+DESCRIPTION="System performance benchmark"
+HOMEPAGE="https://github.com/akopytov/sysbench"
+SRC_URI="https://github.com/akopytov/sysbench/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="*"
+IUSE="aio mysql postgres test"
+
+RDEPEND="aio? ( dev-libs/libaio )
+	mysql? ( virtual/libmysqlclient )
+	postgres? ( dev-db/postgresql:= )
+	dev-lang/luajit:="
+DEPEND="${RDEPEND}
+	app-editors/vim-core
+	dev-libs/concurrencykit
+	dev-libs/libxslt
+	sys-devel/libtool:=
+	virtual/pkgconfig
+	test? ( dev-util/cram )"
+
+src_prepare() {
+	default
+
+	sed -i -e "/^htmldir =/s:=.*:=/usr/share/doc/${PF}/html:" doc/Makefile.am || die
+
+	# remove bundled libs
+	rm -r third_party/luajit/luajit third_party/concurrency_kit/ck third_party/cram || die
+
+	./autogen.sh || die
+}
+
+src_configure() {
+	local myeconfargs=(
+		$(use_enable aio aio)
+		$(use_with mysql mysql)
+		$(use_with postgres pgsql)
+		--without-attachsql
+		--without-drizzle
+		--without-oracle
+		--with-system-luajit
+		--with-system-ck
+	)
+
+	econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+	default
+
+	pax-mark m "${S}/src/${PN}"
+}
+
+src_test() {
+	emake check test
+}
+
diff --git a/dev-lang/luajit/Manifest b/dev-lang/luajit/Manifest
new file mode 100644
index 0000000..f320bfc
--- /dev/null
+++ b/dev-lang/luajit/Manifest
@@ -0,0 +1 @@
+DIST LuaJIT-2.0.4.tar.gz 847615 BLAKE2B b410d06734056283655e70a53b4f1160553cc74a9d6a80d4a919f7f38589888fff339eda661ec623258a5f186f4eb2d2c9b5809b6f7e55f9e058058426e2fe74 SHA512 a72957bd85d8f457269e78bf08c19b28c5707df5d19920d61918f8a6913f55913ce13037fb9a6463c04cefde0c6644739f390e09d656e4bbc2c236927aa3f8f9
diff --git a/dev-lang/luajit/luajit-2.0.4.ebuild b/dev-lang/luajit/luajit-2.0.4.ebuild
new file mode 100644
index 0000000..d0203a6
--- /dev/null
+++ b/dev-lang/luajit/luajit-2.0.4.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils multilib pax-utils versionator toolchain-funcs
+
+MY_PV="$(get_version_component_range 1-3)"
+MY_P="LuaJIT-${MY_PV}"
+if [[ -n $(get_version_component_range 4) ]]; then
+	HOTFIX="v${PV}"
+	HOTFIX="${HOTFIX/_p/_hotfix}.patch"
+fi
+
+DESCRIPTION="Just-In-Time Compiler for the Lua programming language"
+HOMEPAGE="http://luajit.org/"
+SRC_URI="http://luajit.org/download/${MY_P}.tar.gz
+	${HOTFIX:+http://luajit.org/download/${HOTFIX}}"
+
+LICENSE="MIT"
+# this should probably be pkgmoved to 2.0 for sake of consistency.
+SLOT="2"
+KEYWORDS="*"
+IUSE="lua52compat"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare(){
+	if [[ -n ${HOTFIX} ]]; then
+		epatch "${DISTDIR}/${HOTFIX}"
+	fi
+}
+
+_emake() {
+	emake \
+		Q= \
+		PREFIX="${EPREFIX}/usr" \
+		MULTILIB="$(get_libdir)" \
+		DESTDIR="${D}" \
+		HOST_CC="$(tc-getBUILD_CC)" \
+		STATIC_CC="$(tc-getCC)" \
+		DYNAMIC_CC="$(tc-getCC) -fPIC" \
+		TARGET_LD="$(tc-getCC)" \
+		TARGET_AR="$(tc-getAR) rcus" \
+		TARGET_STRIP="true" \
+		INSTALL_LIB="${ED%/}/usr/$(get_libdir)" \
+		"$@"
+}
+
+src_compile() {
+	_emake XCFLAGS="$(usex lua52compat "-DLUAJIT_ENABLE_LUA52COMPAT" "")"
+}
+
+src_install(){
+	_emake install
+
+	pax-mark m "${ED}usr/bin/luajit-${MY_PV}"
+
+	cd "${S}"/doc
+	dohtml -r *
+}
diff --git a/dev-libs/concurrencykit/Manifest b/dev-libs/concurrencykit/Manifest
new file mode 100644
index 0000000..83ed75a
--- /dev/null
+++ b/dev-libs/concurrencykit/Manifest
@@ -0,0 +1 @@
+DIST concurrencykit-0.6.0.tar.gz 217198 BLAKE2B 5ba85bd111c06e7be7af5679227350efe187836e5cb2afc19bff4a8f0fbcd97e9631fad64397b0426e8020a6a0f103a0fbe3bf8f83810eaa8a3a1b429a3e8383 SHA512 4c75f1194a6ad9d3e51a4bad4802cc522df70870135e6e2db1e303d0df89d57e5dc7a73e924de49fe9641b3dcdc81b1a74a26aa7297cd06b7acb5cbf46c402f0
diff --git a/dev-libs/concurrencykit/concurrencykit-0.6.0.ebuild b/dev-libs/concurrencykit/concurrencykit-0.6.0.ebuild
new file mode 100644
index 0000000..47cce04
--- /dev/null
+++ b/dev-libs/concurrencykit/concurrencykit-0.6.0.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MY_PN="ck"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A library with concurrency related algorithms and data structures in C"
+HOMEPAGE="http://concurrencykit.org"
+SRC_URI="http://concurrencykit.org/releases/${MY_P}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0 BSD-2"
+SLOT="0"
+KEYWORDS="*"
+
+# libck.so name collision #616762
+# these packages have nothing in common
+RDEPEND="!sys-cluster/charm"
+
+S="${WORKDIR}/${MY_P}"