diff options
-rw-r--r-- | profiles/arch/ia64/package.use.mask | 4 | ||||
-rw-r--r-- | sys-block/fio/Manifest | 1 | ||||
-rw-r--r-- | sys-block/fio/fio-3.16.ebuild | 128 | ||||
-rw-r--r-- | sys-block/fio/metadata.xml | 2 |
4 files changed, 135 insertions, 0 deletions
diff --git a/profiles/arch/ia64/package.use.mask b/profiles/arch/ia64/package.use.mask index ecbd2c0bc56f..f3e19be59189 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 <whissi@gentoo.org> (2019-11-11) +# dev-util/google-perftools is not keyworded yet +sys-block/fio tcmalloc + # Mart Raudsepp <leio@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 2e318de87dbe..458fc7b5c709 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 000000000000..9547b89e0b74 --- /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 008fec0e1b2a..10bc8be5f59a 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> |