commit:     0bba75852008d71d0645f5c149c4defee8888e3c
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 11 13:13:58 2019 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Mon Nov 11 13:22:58 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0bba7585

sys-block/fio: bump to v3.16

Closes: https://bugs.gentoo.org/692632
Closes: https://bugs.gentoo.org/677796
Closes: https://bugs.gentoo.org/690214
Package-Manager: Portage-2.3.79, Repoman-2.3.18
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 profiles/arch/ia64/package.use.mask |   4 ++
 sys-block/fio/Manifest              |   1 +
 sys-block/fio/fio-3.16.ebuild       | 128 ++++++++++++++++++++++++++++++++++++
 sys-block/fio/metadata.xml          |   2 +
 4 files changed, 135 insertions(+)

diff --git a/profiles/arch/ia64/package.use.mask 
b/profiles/arch/ia64/package.use.mask
index ecbd2c0bc56..f3e19be5918 100644
--- a/profiles/arch/ia64/package.use.mask
+++ b/profiles/arch/ia64/package.use.mask
@@ -1,6 +1,10 @@
 # Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
+# Thomas Deutschmann <whi...@gentoo.org> (2019-11-11)
+# dev-util/google-perftools is not keyworded yet
+sys-block/fio tcmalloc
+
 # Mart Raudsepp <l...@gentoo.org> (2019-08-18)
 # media-video/pipewire is not keyworded yet
 x11-wm/mutter screencast

diff --git a/sys-block/fio/Manifest b/sys-block/fio/Manifest
index 2e318de87db..458fc7b5c70 100644
--- a/sys-block/fio/Manifest
+++ b/sys-block/fio/Manifest
@@ -1,4 +1,5 @@
 DIST fio-2.15.tar.bz2 545809 BLAKE2B 
163530097a6ff08016c977a328bc499d052c423890c8e7074bc91fb00b02b3d951dd0369ff772fa5f36a37e0b1b7d6b358c3df99bf70db9bec2bbc7f90eee596
 SHA512 
fa3380031e6e0a597eb34e597af91efbc824a3d5753793fdb00cb10e693943e0358afaad9624eb4333e81182c94424a56fbd1d434eeff098dbf2fc4e19167db0
 DIST fio-2.16.tar.bz2 558662 BLAKE2B 
cbc6e6000bd497fc92779c34688c0862f3adccd7c399ca5d4e4ce9ee9c40faddfec9b3fcca2fad2cd91ca00eee95c4a108273496c9e63db8017695ecf42d294d
 SHA512 
f71c8ab8423e82ceae160bae8c17ac1222c1b2dde2ccb1b2aedb2288e0eb60485f8e9f3908640d4f6cebf166a148f4ad64026c035381c5db5141bf3059349d75
+DIST fio-3.16.tar.bz2 881436 BLAKE2B 
fee99930d0245474eb67ceee2d1a6ec2f1a0eb4da6d52cf8616d7eda64699a8c2727715284134fd4931e91efad69b064f66a80a78f70ea03e66d4eab4e601120
 SHA512 
2d651b20cbc6c7babf3adc082dbe78e1f7de920764653cf5ffd99df7516cf6190ffefe2152d2739326d3102949d9bad7db978ff88866cfa54020f9ec3b0a2a23
 DIST fio-3.2.tar.bz2 613565 BLAKE2B 
e721d698338dd8d2c6215780a2d9a10c643a5912d3c27b3e759b4c14585ae1afe4edab5bdc54df8cf19c6f3727f8f4b19ce9da3298a5f0ef3753a5d8f423f4ef
 SHA512 
97ea5ed6587d1e7382a67ab7ad933b6e332ba84cb648d17dcebad3c95c9eb6b1c04a4537e3470f890607f2921da77fcd4e49079b8b78f2d15e9c199dab850d1e
 DIST fio-3.7.tar.bz2 629354 BLAKE2B 
99a1c88481c7a693e31b1a0bc23bc80e85df92385f9d5a7de8d6479be8bc425326a20d794eb4809f822adfcd06e07c66ebed321faa9dbae7a2c1d3c766a6467d
 SHA512 
b1f5cb35fe1c06e030c570959ab9a96d936f9eaa2f7f30d5a34f34fd93fae057da07c4084a06143cd5188ad6b2cc06b564484f8867e050cfeddc0ee3fb0fe266

diff --git a/sys-block/fio/fio-3.16.ebuild b/sys-block/fio/fio-3.16.ebuild
new file mode 100644
index 00000000000..9547b89e0b7
--- /dev/null
+++ b/sys-block/fio/fio-3.16.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+PYTHON_COMPAT=( python2_7 python3_5 python3_6 )
+
+inherit python-r1 toolchain-funcs
+
+MY_PV="${PV/_rc/-rc}"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="Jens Axboe's Flexible IO tester"
+HOMEPAGE="https://brick.kernel.dk/snaps/";
+SRC_URI="https://brick.kernel.dk/snaps/${MY_P}.tar.bz2";
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86"
+IUSE="aio curl glusterfs gnuplot gtk libressl numa rbd rdma static tcmalloc 
zlib"
+REQUIRED_USE="gnuplot? ( ${PYTHON_REQUIRED_USE} )
+       libressl? ( curl )"
+
+BDEPEND="virtual/pkgconfig"
+
+# GTK+:2 does not offer static libaries.
+LIB_DEPEND="aio? ( dev-libs/libaio[static-libs(+)] )
+       curl? (
+               net-misc/curl:=[static-libs(+)]
+               !libressl? ( dev-libs/openssl:0=[static-libs(+)] )
+               libressl? ( dev-libs/libressl:0=[static-libs(+)] )
+       )
+       glusterfs? ( sys-cluster/glusterfs[static-libs(+)] )
+       gtk? ( dev-libs/glib:2[static-libs(+)] )
+       numa? ( sys-process/numactl[static-libs(+)] )
+       rbd? ( sys-cluster/ceph[static-libs(+)] )
+       rdma? (
+               sys-fabric/libibverbs[static-libs(+)]
+               sys-fabric/librdmacm[static-libs(+)]
+       )
+       tcmalloc? ( dev-util/google-perftools:=[static-libs(+)] )
+       zlib? ( sys-libs/zlib[static-libs(+)] )"
+RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )
+       gtk? ( x11-libs/gtk+:2 )"
+DEPEND="${RDEPEND}
+       static? ( ${LIB_DEPEND} )"
+RDEPEND+="
+       gnuplot? (
+               sci-visualization/gnuplot
+               $(python_gen_any_dep 'dev-python/pandas[${PYTHON_USEDEP}]')
+               ${PYTHON_DEPS}
+       )"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+       "${FILESDIR}"/fio-2.2.13-libmtd.patch
+)
+
+python_check_deps() {
+       has_version "dev-python/pandas[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+       default
+
+       sed -i '/^DEBUGFLAGS/s: -D_FORTIFY_SOURCE=2::g' Makefile || die
+
+       # Many checks don't have configure flags.
+       sed -i \
+               -e "s:\<pkg-config\>:$(tc-getPKG_CONFIG):" \
+               -e '/if compile_prog "" "-lz" "zlib" *; *then/  '"s::if $(usex 
zlib true false) ; then:" \
+               -e '/if compile_prog "" "-laio" "libaio" ; then/'"s::if $(usex 
aio true false) ; then:" \
+               configure || die
+}
+
+src_configure() {
+       chmod g-w "${T}"
+       # not a real configure script
+       # TODO: pmem
+       set -- \
+       ./configure \
+               --disable-optimizations \
+               --extra-cflags="${CFLAGS} ${CPPFLAGS}" \
+               --cc="$(tc-getCC)" \
+               --disable-pmem \
+               $(usex curl '' '--disable-http') \
+               $(usex glusterfs '' '--disable-gfapi') \
+               $(usex gtk '--enable-gfio' '') \
+               $(usex numa '' '--disable-numa') \
+               $(usex rbd '' '--disable-rbd') \
+               $(usex rdma '' '--disable-rdma') \
+               $(usex static '--build-static' '') \
+               $(usex tcmalloc '' '--disable-tcmalloc')
+       echo "$@"
+       "$@" || die 'configure failed'
+}
+
+src_compile() {
+       emake V=1 OPTFLAGS=
+}
+
+src_install() {
+       emake install DESTDIR="${D}" prefix="${EPREFIX}/usr" 
mandir="${EPREFIX}/usr/share/man"
+
+       if use gnuplot ; then
+               sed -i 's:python2.7:python:g' \
+                       "${ED}/usr/bin/fio2gnuplot" \
+                       "${ED}/usr/bin/fiologparser_hist.py" \
+                       "${ED}/usr/bin/fiologparser.py"
+               python_replicate_script \
+                       "${ED}/usr/bin/fio2gnuplot" \
+                       "${ED}/usr/bin/fiologparser_hist.py" \
+                       "${ED}/usr/bin/fiologparser.py"
+       else
+               rm "${ED}"/usr/bin/{fio2gnuplot,fio_generate_plots} || die
+               rm 
"${ED}"/usr/share/man/man1/{fio2gnuplot,fio_generate_plots}.1 || die
+               rm "${ED}"/usr/share/fio/*.gpm || die
+               rmdir "${ED}"/usr/share/fio/ 2>/dev/null
+       fi
+
+       # This tool has security/parallel issues -- it hardcodes 
/tmp/template.fio.
+       rm "${ED}"/usr/bin/genfio || die
+
+       dodoc README REPORTING-BUGS HOWTO
+       docinto examples
+       dodoc examples/*
+}

diff --git a/sys-block/fio/metadata.xml b/sys-block/fio/metadata.xml
index 008fec0e1b2..10bc8be5f59 100644
--- a/sys-block/fio/metadata.xml
+++ b/sys-block/fio/metadata.xml
@@ -9,10 +9,12 @@
        </maintainer>
        <use>
                <flag name="aio">Enable AIO ioengine</flag>
+               <flag name="curl">Enable HTTP engine for S3 and WebDav support 
support via <pkg>net-misc/curl</pkg></flag>
                <flag name="glusterfs">Enable GlusterFS gfapi support via 
<pkg>sys-cluster/glusterfs</pkg></flag>
                <flag name="gnuplot">Install tools for generating 
gnuplots</flag>
                <flag name="numa">Enable numa support</flag>
                <flag name="rbd">Enable Rados block device support via 
<pkg>sys-cluster/ceph</pkg></flag>
                <flag name="rdma">Enable infiniband support via 
<pkg>sys-fabric/librdmacm</pkg></flag>
+               <flag name="tcmalloc">Link against 
<pkg>dev-util/google-perftools</pkg> by default which will speed up USE=rbd up 
to 20%</flag>
        </use>
 </pkgmetadata>

Reply via email to