From 70d60f04695247fbedac8677933caa26cf7de96b Mon Sep 17 00:00:00 2001 From: Conrad Kostecki Date: Sun, 22 Nov 2020 15:15:37 +0100 Subject: [PATCH] app-benchmarks/sysbench: migrate to lua-single eclass Closes: https://bugs.gentoo.org/752522 Package-Manager: Portage-3.0.9, Repoman-3.0.2 Signed-off-by: Conrad Kostecki --- .../sysbench/sysbench-1.0.20-r100.ebuild | 83 +++++++++++++++++++ profiles/package.mask | 1 + 2 files changed, 84 insertions(+) create mode 100644 app-benchmarks/sysbench/sysbench-1.0.20-r100.ebuild diff --git a/app-benchmarks/sysbench/sysbench-1.0.20-r100.ebuild b/app-benchmarks/sysbench/sysbench-1.0.20-r100.ebuild new file mode 100644 index 000000000000..7926abfdf9a3 --- /dev/null +++ b/app-benchmarks/sysbench/sysbench-1.0.20-r100.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +LUA_COMPAT=( luajit ) +PYTHON_COMPAT=( python3_{6..9} ) + +inherit autotools lua-single python-single-r1 + +DESCRIPTION="A scriptable multi-threaded benchmark tool based on LuaJIT" +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="~amd64 ~x86" +IUSE="+aio attachsql drizzle +largefile mysql postgres test" +REQUIRED_USE=" + ${LUA_REQUIRED_USE} + ${PYTHON_REQUIRED_USE} +" +RESTRICT="!test? ( test )" + +RDEPEND=" + aio? ( dev-libs/libaio ) + mysql? ( dev-db/mysql-connector-c:= ) + postgres? ( dev-db/postgresql:= ) + test? ( ${PYTHON_DEPS} ) + ${LUA_DEPS} +" +DEPEND=" + dev-libs/concurrencykit + dev-libs/libxslt + test? ( + $(python_gen_cond_dep ' + dev-util/cram[${PYTHON_USEDEP}] + ') + ) + ${RDEPEND} +" +BDEPEND=" + sys-devel/libtool + virtual/pkgconfig +" + +pkg_setup() { + lua-single_pkg_setup + use test && python-single-r1_pkg_setup +} + +src_prepare() { + default + + rm -r third_party/{concurrency_kit/ck,cram,luajit/luajit} || die + + eautoreconf +} + +src_configure() { + # Current versions of 'dev-db/oracle-instantclient' aren't supported. + # See: https://github.com/akopytov/sysbench/issues/390. + local myeconfargs=( + --disable-rpath + $(use_enable aio) + $(use_enable largefile) + $(use_with attachsql) + $(use_with drizzle) + $(use_with mysql) + $(use_with postgres pgsql) + --with-system-ck + --with-system-luajit + --without-oracle + LUAJIT_CFLAGS="$(lua_get_CFLAGS)" + LUAJIT_LIBS="$(lua_get_LIBS)" + ) + + econf "${myeconfargs[@]}" +} + +src_test() { + emake check test +} diff --git a/profiles/package.mask b/profiles/package.mask index 15a5aa14ba4a..6dc26c50c306 100644 --- a/profiles/package.mask +++ b/profiles/package.mask @@ -485,6 +485,7 @@ dev-lua/luacrypto # All these ebuilds require slotted Lua, which is still masked. # Ulrich Müller (2020-11-06) # Added sci-visualization/gnuplot. +>=app-benchmarks/sysbench-1.0.20-r100 >=app-benchmarks/wrk-4.1.0-r100 >=app-misc/worker-3.8.3-r100 =dev-libs/efl-1.25.1-r10