Skip to content

Commit

Permalink
sys-block/fio: version bump to 2.8
Browse files Browse the repository at this point in the history
Rewrite the static-libs handling to handle all the edge cases.
  • Loading branch information
vapier committed Apr 20, 2016
1 parent bdf8fab commit 0106d8e
Show file tree
Hide file tree
Showing 2 changed files with 94 additions and 0 deletions.
1 change: 1 addition & 0 deletions sys-block/fio/Manifest
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@ DIST fio-2.2.13.tar.bz2 503950 SHA256 66a0084c37bd8804d9f7d260d843a9a3bf51561954
DIST fio-2.2.9.tar.bz2 492404 SHA256 c881d9cf15500bd4436970d0467c356c5c021417131587931ba78845e965bf56 SHA512 e0cd26bb8a760ef5e40ddb73246671c1988f0c0886bd24fa510fcab93fe64d8853f120355f55fa109168c7fae0b081f63278f2233644f5ed20da4e4c3cb3f3fc WHIRLPOOL 4f5ada7f1140c7229fc3173fa0582a4ae7401121768d8dec828dcd42c1c22ec828e9c000c482b155ead4fd75ee15c4d7678fc7c6d18c8fbb9c749e83f87a4881
DIST fio-2.5.tar.bz2 509978 SHA256 30f85cd6596125bd2f76b379f15a4edee1149bb0347a9c10a2dda15d7591a543 SHA512 44fc4bc342b611f9ed89685d73592389dd9e63970a9bbcc1b332aa8434a3e4a52b0c16d27b6a6dd96fcf3a9831a68af5249251895a6dbd9f7190ad0b8935eb40 WHIRLPOOL dced416aae899987ff80c6f37999a064d8a45c8ea809d7a3f3a2eea5dd3b6ae5633125326373a5da3b37429dc940f0c97fa9694e976a61819709db3b6ab7ac3e
DIST fio-2.6.tar.bz2 509685 SHA256 b4b846fca614f724b8315348cb23e2d4a1046e63f10e79b4b310acf29c4d1ac0 SHA512 9831c3de2110c509f6c99ffe0fc8256aea2b9b337e6b2799108c89d1b5e472a85e6df9cb090549db80429658717aa75f2ab10d41359386e1dde861c600645b39 WHIRLPOOL c5138eb2def4c67ee0d5cca46db6aa663e2a1e0eead05aab5938ced20dd68bc214f217724d3bd1c4a1030b4ffee2c07ee37910b57c6f11b2ed6a0ff67d3b30cc
DIST fio-2.8.tar.bz2 513800 SHA256 815344531a6c0201872aca43581c2e4b6fbc1d735266dd12a0c3408754ec862f SHA512 2228dab377f6664ce9e1bd6e5720e7eb256370758f6cea25c778a2480b5fbbf39630e8c5676e2cf34d9d664c7b1960c618feb1bd252fec290e09bf534672922c WHIRLPOOL fd32419a2d338a77f76d68831eb08ae7b1f34892d03bcd931a8cca3630813767fefa081148fd8f636531b62bd71c7fa0a7d4d71c53d8c8294f7cad7bb794eec6
93 changes: 93 additions & 0 deletions sys-block/fio/fio-2.8.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI="5"

PYTHON_COMPAT=( python2_7 )

inherit eutils python-r1 toolchain-funcs

MY_PV="${PV/_rc/-rc}"
MY_P="${PN}-${MY_PV}"

DESCRIPTION="Jens Axboe's Flexible IO tester"
HOMEPAGE="http://brick.kernel.dk/snaps/"
SRC_URI="http://brick.kernel.dk/snaps/${MY_P}.tar.bz2"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86"
IUSE="aio glusterfs gnuplot gtk numa rbd rdma static zlib"

# GTK+:2 does not offer static libaries.
LIB_DEPEND="aio? ( dev-libs/libaio[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(+)] )
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_DEPS}
)"

S="${WORKDIR}/${MY_P}"

src_prepare() {
epatch "${FILESDIR}"/fio-2.2.13-libmtd.patch
sed -i '/^DEBUGFLAGS/s: -D_FORTIFY_SOURCE=2::g' Makefile || die
epatch_user

# 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
set -- \
./configure \
--disable-optimizations \
--extra-cflags="${CFLAGS} ${CPPFLAGS}" \
--cc="$(tc-getCC)" \
$(usex glusterfs '' '--disable-gfapi') \
$(usex gtk '--enable-gfio' '') \
$(usex numa '' '--disable-numa') \
$(usex rbd '' '--disable-rbd') \
$(usex static '--build-static' '')
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
python_replicate_script "${ED}/usr/bin/fio2gnuplot"
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/*
}

0 comments on commit 0106d8e

Please sign in to comment.