From eb17cef883968037fcc6177549d44a030f08b69c Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 18 Oct 2022 07:56:02 +0100 Subject: gentoo auto-resync : 18:10:2022 - 07:56:02 --- sys-block/fio/Manifest | 4 +- sys-block/fio/fio-3.27-r3.ebuild | 152 -------------------------------------- sys-block/fio/fio-3.27-r4.ebuild | 148 +++++++++++++++++++++++++++++++++++++ sys-block/fio/fio-3.30-r1.ebuild | 150 ++++++++++++++++++++++++++++++++++++++ sys-block/fio/fio-3.30.ebuild | 154 --------------------------------------- 5 files changed, 300 insertions(+), 308 deletions(-) delete mode 100644 sys-block/fio/fio-3.27-r3.ebuild create mode 100644 sys-block/fio/fio-3.27-r4.ebuild create mode 100644 sys-block/fio/fio-3.30-r1.ebuild delete mode 100644 sys-block/fio/fio-3.30.ebuild (limited to 'sys-block/fio') diff --git a/sys-block/fio/Manifest b/sys-block/fio/Manifest index f5b66721a872..cf761ddcbdaa 100644 --- a/sys-block/fio/Manifest +++ b/sys-block/fio/Manifest @@ -2,6 +2,6 @@ AUX fio-2.2.13-libmtd.patch 238 BLAKE2B da7843b4cb2b0fda12c2e950d4b51df661f229eb AUX fio-3.27-drop-raw.patch 3315 BLAKE2B 93cfc730e2feceae2cc20c76b93a4e1da2a6b0c8a3b3ba3231208d0074612a9a4e5836108aedb9dff03db61977c354a2fe1b2bf35c4e975b6e302a0357b78852 SHA512 67589a42e65be3821aac5043b910d589f735abb98d8b107ca9fc020d9c10b4c20f82b2e3dc9622d1f8b8ead5b69cc459470136c2d942a5690c7fdefebf57ecee DIST fio-3.27.tar.bz2 960330 BLAKE2B 7e7e01a5c1d6af13a6f87139e7738646cbc8f45ebc370d0c45b9efe1f93778613d374daafc6df459f988f27f2be54ff636235e1e5a92a4a6ecf9a60ed573d170 SHA512 9c5f2ab0c9ac24ab78dbc74fb6c5acd60f8189fdc618f4280992141b6c0abe1c235c373fee18ad0c803e7fb25d480f45aec56dc3be2e0d26d181b3418b179f99 DIST fio-3.30.tar.bz2 6001772 BLAKE2B a4941cd415e6444bb9871274580efdf82281a1e52dc3caaa235f63176e3564fb1dc08e1e4586c555f9c25975d7e6220fe53209ed7218da713b9cb9135de0fc05 SHA512 1fb2ae9c28028147edabceff734fc41bf07ce504af98afdb0951920b724b15d647f2b0852262c177279ad6b4dbbf24be458db7f939d1c80069e0f8e7bc8aa10d -EBUILD fio-3.27-r3.ebuild 4318 BLAKE2B 0c5e47fe1cb9a9471233f057dceff0dcff8c6bf4826bee3756f2faa5273e36b8fcddf5525779a91f93492127a260dada548cc32992db0709bf10de8827830a15 SHA512 70b244f998c7d4aa0f0b55db5028f855cdeceb9e09467991a08e1e86d94c4f9b1916c44a9c0414b0b4486c719fa5f1b97097e35c0f88251aa7071a63483d5eb5 -EBUILD fio-3.30.ebuild 4411 BLAKE2B 297ccafb737510a4a47a0a19e5375feac491d748f232d5f2f62096f171d7e6c8b115a722b65e54294a22b31e71d5879746378ddd4076947b94661c067e3522ad SHA512 4fee8d102b438432a57b42ff937936966c6271dd577b6c76a4c4b114759c9558d0f20bf21980fcefb9764cd94cf98a2ddf3a149d71ab95a20ad04523b0f27498 +EBUILD fio-3.27-r4.ebuild 4218 BLAKE2B d945ef0dcb59185b8bc6353d309530805feca0b76e8058225b883a191fb1f310781bb9cf2bdf0ddf4548c294a21450ce65ad01de072181e25ff9348be8d94746 SHA512 d1bf8d47e7099aac4a3fceccaa17fb17269ae4e64fc5c6e00435d1e5048a0d66b732c3a895435c8ce2a556531e5e56aa3487b4194ce7386e310b1f56a6187dab +EBUILD fio-3.30-r1.ebuild 4311 BLAKE2B c307dd7fa9b930c359c86c4fc3d77db4e5f85bc2841b973d90d402e1120a157f15628bb4bb8d0b28855e41f098037b13057ff421928e98a1a2962ca0f6cc8b49 SHA512 0ebe57edfa6237b0ea899d1fb44651112130377693950115f52ba425bcb4fcd7b559866a4f8fb51630ed2a1a295c8c5138aedb098735059d0ac128ad4118941e MISC metadata.xml 1293 BLAKE2B 609080b0f70ed898d1203afddf9e9dd850fdbd8111536ea9341a413fa6ca07a7314bd4088df05613d95b849f9fdcc2a1519a17d20e56dc46115e6d88bf07672e SHA512 76096ea48b59fc78624980a7b2721e1b43584eccaee4488a38a18d7ea4fa389423b684af0f015f2f0d73ae2989167a7caa4a02c9277e153f382f319780ab31e5 diff --git a/sys-block/fio/fio-3.27-r3.ebuild b/sys-block/fio/fio-3.27-r3.ebuild deleted file mode 100644 index 7e2e9e4198ab..000000000000 --- a/sys-block/fio/fio-3.27-r3.ebuild +++ /dev/null @@ -1,152 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{7,8,9,10} ) - -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 ~arm64 ~ia64 ~ppc ppc64 ~riscv x86" -IUSE="aio curl glusterfs gnuplot gtk io-uring numa python rbd rdma static tcmalloc test zbc zlib" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) - gnuplot? ( python ) - io-uring? ( aio )" -RESTRICT="!test? ( test )" - -BDEPEND="virtual/pkgconfig" - -# GTK+:2 does not offer static libaries. -LIB_DEPEND="aio? ( dev-libs/libaio[static-libs(+)] ) - curl? ( - net-misc/curl:=[static-libs(+)] - dev-libs/openssl:0=[static-libs(+)] - ) - glusterfs? ( sys-cluster/glusterfs[static-libs(+)] ) - gtk? ( dev-libs/glib:2[static-libs(+)] ) - io-uring? ( sys-libs/liburing:=[static-libs(+)] ) - numa? ( sys-process/numactl[static-libs(+)] ) - rbd? ( sys-cluster/ceph[static-libs(+)] ) - rdma? ( sys-cluster/rdma-core[static-libs(+)] ) - tcmalloc? ( dev-util/google-perftools:=[static-libs(+)] ) - zbc? ( >=sys-block/libzbc-5 ) - zlib? ( sys-libs/zlib[static-libs(+)] )" -RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} ) - gtk? ( x11-libs/gtk+:2 )" -DEPEND="${RDEPEND} - static? ( ${LIB_DEPEND} ) - test? ( dev-util/cunit )" -RDEPEND+=" - python? ( - ${PYTHON_DEPS} - $(python_gen_any_dep 'dev-python/pandas[${PYTHON_USEDEP}]') - ) - gnuplot? ( sci-visualization/gnuplot )" - -S="${WORKDIR}/${MY_P}" - -PATCHES=( - "${FILESDIR}"/fio-2.2.13-libmtd.patch - # Upstream patch, should be able to drop in the next release - "${FILESDIR}"/fio-3.27-drop-raw.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:\:$(tc-getPKG_CONFIG):" \ - -e '/if compile_prog "" "-lzbc" "libzbc" *; *then/ '"s::if $(usex zbc true false) ; then:" \ - -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:" \ - -e '/if compile_prog "" "-lcunit" "CUnit" *; *then/'"s::if $(usex test true false) ; then:" \ - configure || die -} - -src_configure() { - chmod g-w "${T}" - # not a real configure script - # TODO: cuda - # TODO: libnbd - not packaged in Gentoo - # TODO: pmem - not packaged in Gentoo - 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" - - local python2_7_files=( - "${ED}"/usr/bin/fiologparser_hist.py - "${ED}"/usr/bin/fiologparser.py - ) - local python_files=( - "${python2_7_files[@]}" - "${ED}"/usr/bin/fio_jsonplus_clat2csv - ) - if use python ; then - sed -i 's:python2.7:python:g' "${python2_7_files[@]}" || die - python_replicate_script "${python2_7_files[@]}" - else - rm "${python_files[@]}" || die - fi - - local gnuplot_python2_7_files=( - "${ED}"/usr/bin/fio2gnuplot - ) - local gnuplot_files=( - "${gnuplot_python2_7_files[@]}" - "${ED}"/usr/bin/fio_generate_plots - "${ED}"/usr/share/man/man1/fio_generate_plots.1 - "${ED}"/usr/share/man/man1/fio2gnuplot.1 - "${ED}"/usr/share/fio/*.gpm - ) - if use gnuplot ; then - sed -i 's:python2.7:python:g' "${gnuplot_python2_7_files[@]}" || die - python_replicate_script "${gnuplot_python2_7_files[@]}" - else - rm "${gnuplot_files[@]}" || die - rmdir "${ED}"/usr/share/fio/ || die - 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/fio-3.27-r4.ebuild b/sys-block/fio/fio-3.27-r4.ebuild new file mode 100644 index 000000000000..1a94d33a7c1a --- /dev/null +++ b/sys-block/fio/fio-3.27-r4.ebuild @@ -0,0 +1,148 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{7,8,9,10} ) + +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 ~arm64 ~ia64 ~ppc ppc64 ~riscv x86" +IUSE="aio curl glusterfs gnuplot gtk io-uring numa python rbd rdma static tcmalloc test zbc zlib" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) + gnuplot? ( python ) + io-uring? ( aio )" +RESTRICT="!test? ( test )" + +BDEPEND="virtual/pkgconfig" + +# GTK+:2 does not offer static libaries. +LIB_DEPEND="aio? ( dev-libs/libaio[static-libs(+)] ) + curl? ( + net-misc/curl:=[static-libs(+)] + dev-libs/openssl:0=[static-libs(+)] + ) + glusterfs? ( sys-cluster/glusterfs[static-libs(+)] ) + gtk? ( dev-libs/glib:2[static-libs(+)] ) + io-uring? ( sys-libs/liburing:=[static-libs(+)] ) + numa? ( sys-process/numactl[static-libs(+)] ) + rbd? ( sys-cluster/ceph[static-libs(+)] ) + rdma? ( sys-cluster/rdma-core[static-libs(+)] ) + tcmalloc? ( dev-util/google-perftools:=[static-libs(+)] ) + zbc? ( >=sys-block/libzbc-5 ) + zlib? ( sys-libs/zlib[static-libs(+)] )" +RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} ) + gtk? ( x11-libs/gtk+:2 )" +DEPEND="${RDEPEND} + static? ( ${LIB_DEPEND} ) + test? ( dev-util/cunit )" +RDEPEND+=" + python? ( + ${PYTHON_DEPS} + dev-python/pandas[${PYTHON_USEDEP}] + ) + gnuplot? ( sci-visualization/gnuplot )" + +S="${WORKDIR}/${MY_P}" + +PATCHES=( + "${FILESDIR}"/fio-2.2.13-libmtd.patch + # Upstream patch, should be able to drop in the next release + "${FILESDIR}"/fio-3.27-drop-raw.patch +) + +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:\:$(tc-getPKG_CONFIG):" \ + -e '/if compile_prog "" "-lzbc" "libzbc" *; *then/ '"s::if $(usex zbc true false) ; then:" \ + -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:" \ + -e '/if compile_prog "" "-lcunit" "CUnit" *; *then/'"s::if $(usex test true false) ; then:" \ + configure || die +} + +src_configure() { + chmod g-w "${T}" + # not a real configure script + # TODO: cuda + # TODO: libnbd - not packaged in Gentoo + # TODO: pmem - not packaged in Gentoo + 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" + + local python2_7_files=( + "${ED}"/usr/bin/fiologparser_hist.py + "${ED}"/usr/bin/fiologparser.py + ) + local python_files=( + "${python2_7_files[@]}" + "${ED}"/usr/bin/fio_jsonplus_clat2csv + ) + if use python ; then + sed -i 's:python2.7:python:g' "${python2_7_files[@]}" || die + python_replicate_script "${python2_7_files[@]}" + else + rm "${python_files[@]}" || die + fi + + local gnuplot_python2_7_files=( + "${ED}"/usr/bin/fio2gnuplot + ) + local gnuplot_files=( + "${gnuplot_python2_7_files[@]}" + "${ED}"/usr/bin/fio_generate_plots + "${ED}"/usr/share/man/man1/fio_generate_plots.1 + "${ED}"/usr/share/man/man1/fio2gnuplot.1 + "${ED}"/usr/share/fio/*.gpm + ) + if use gnuplot ; then + sed -i 's:python2.7:python:g' "${gnuplot_python2_7_files[@]}" || die + python_replicate_script "${gnuplot_python2_7_files[@]}" + else + rm "${gnuplot_files[@]}" || die + rmdir "${ED}"/usr/share/fio/ || die + 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/fio-3.30-r1.ebuild b/sys-block/fio/fio-3.30-r1.ebuild new file mode 100644 index 000000000000..e132b2991d2d --- /dev/null +++ b/sys-block/fio/fio-3.30-r1.ebuild @@ -0,0 +1,150 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{8,9,10} ) + +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 ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~x86" +IUSE="aio curl glusterfs gnuplot gtk io-uring nfs numa python rbd rdma static tcmalloc test zbc zlib" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) + gnuplot? ( python ) + io-uring? ( aio )" +RESTRICT="!test? ( test )" + +BDEPEND="virtual/pkgconfig" + +# GTK+:2 does not offer static libaries. +LIB_DEPEND="aio? ( dev-libs/libaio[static-libs(+)] ) + curl? ( + net-misc/curl:=[static-libs(+)] + dev-libs/openssl:0=[static-libs(+)] + ) + nfs? ( net-fs/libnfs:=[static-libs(+)] ) + glusterfs? ( sys-cluster/glusterfs[static-libs(+)] ) + gtk? ( dev-libs/glib:2[static-libs(+)] ) + io-uring? ( sys-libs/liburing:=[static-libs(+)] ) + numa? ( sys-process/numactl[static-libs(+)] ) + rbd? ( sys-cluster/ceph[static-libs(+)] ) + rdma? ( sys-cluster/rdma-core[static-libs(+)] ) + tcmalloc? ( dev-util/google-perftools:=[static-libs(+)] ) + zbc? ( >=sys-block/libzbc-5 ) + zlib? ( sys-libs/zlib[static-libs(+)] )" +RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} ) + gtk? ( x11-libs/gtk+:2 )" +DEPEND="${RDEPEND} + static? ( ${LIB_DEPEND} ) + test? ( dev-util/cunit )" +RDEPEND+=" + python? ( + ${PYTHON_DEPS} + dev-python/pandas[${PYTHON_USEDEP}] + ) + gnuplot? ( sci-visualization/gnuplot )" + +S="${WORKDIR}/${MY_P}" + +PATCHES=( + "${FILESDIR}"/fio-2.2.13-libmtd.patch +) + +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:\:$(tc-getPKG_CONFIG):" \ + -e '/if compile_prog "" "-lzbc" "libzbc" *; *then/ '"s::if $(usex zbc true false) ; then:" \ + -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:" \ + -e '/if compile_prog "" "-lcunit" "CUnit" *; *then/'"s::if $(usex test true false) ; then:" \ + configure || die +} + +src_configure() { + chmod g-w "${T}" + # not a real configure script + # TODO: cuda + # TODO: libnbd - not packaged in Gentoo + # TODO: pmem - not packaged in Gentoo + # libnfs option does not work as expected: + # $(usex nfs '' '--disable-libnfs') \ + set -- \ + ./configure \ + --disable-optimizations \ + --extra-cflags="${CFLAGS} ${CPPFLAGS}" \ + --cc="$(tc-getCC)" \ + --disable-pmem \ + $(usex nfs '' '--disable-nfs') \ + $(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 "$@" |tr ' ' '\n' + "$@" || die 'configure failed' +} + +src_compile() { + emake V=1 OPTFLAGS= +} + +src_install() { + emake install DESTDIR="${D}" prefix="${EPREFIX}/usr" mandir="${EPREFIX}/usr/share/man" + + local python2_7_files=( + "${ED}"/usr/bin/fiologparser_hist.py + "${ED}"/usr/bin/fiologparser.py + ) + local python_files=( + "${python2_7_files[@]}" + "${ED}"/usr/bin/fio_jsonplus_clat2csv + ) + if use python ; then + sed -i 's:python2.7:python:g' "${python2_7_files[@]}" || die + python_replicate_script "${python2_7_files[@]}" + else + rm "${python_files[@]}" || die + fi + + local gnuplot_python2_7_files=( + "${ED}"/usr/bin/fio2gnuplot + ) + local gnuplot_files=( + "${gnuplot_python2_7_files[@]}" + "${ED}"/usr/bin/fio_generate_plots + "${ED}"/usr/share/man/man1/fio_generate_plots.1 + "${ED}"/usr/share/man/man1/fio2gnuplot.1 + "${ED}"/usr/share/fio/*.gpm + ) + if use gnuplot ; then + sed -i 's:python2.7:python:g' "${gnuplot_python2_7_files[@]}" || die + python_replicate_script "${gnuplot_python2_7_files[@]}" + else + rm "${gnuplot_files[@]}" || die + rmdir "${ED}"/usr/share/fio/ || die + fi + + # This tool has security/parallel issues -- it hardcodes /tmp/template.fio. + rm "${ED}"/usr/bin/genfio || die + + dodoc README.rst REPORTING-BUGS HOWTO.rst + docinto examples + dodoc examples/* +} diff --git a/sys-block/fio/fio-3.30.ebuild b/sys-block/fio/fio-3.30.ebuild deleted file mode 100644 index c5fa566adf93..000000000000 --- a/sys-block/fio/fio-3.30.ebuild +++ /dev/null @@ -1,154 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{8,9,10} ) - -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 ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~x86" -IUSE="aio curl glusterfs gnuplot gtk io-uring nfs numa python rbd rdma static tcmalloc test zbc zlib" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) - gnuplot? ( python ) - io-uring? ( aio )" -RESTRICT="!test? ( test )" - -BDEPEND="virtual/pkgconfig" - -# GTK+:2 does not offer static libaries. -LIB_DEPEND="aio? ( dev-libs/libaio[static-libs(+)] ) - curl? ( - net-misc/curl:=[static-libs(+)] - dev-libs/openssl:0=[static-libs(+)] - ) - nfs? ( net-fs/libnfs:=[static-libs(+)] ) - glusterfs? ( sys-cluster/glusterfs[static-libs(+)] ) - gtk? ( dev-libs/glib:2[static-libs(+)] ) - io-uring? ( sys-libs/liburing:=[static-libs(+)] ) - numa? ( sys-process/numactl[static-libs(+)] ) - rbd? ( sys-cluster/ceph[static-libs(+)] ) - rdma? ( sys-cluster/rdma-core[static-libs(+)] ) - tcmalloc? ( dev-util/google-perftools:=[static-libs(+)] ) - zbc? ( >=sys-block/libzbc-5 ) - zlib? ( sys-libs/zlib[static-libs(+)] )" -RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} ) - gtk? ( x11-libs/gtk+:2 )" -DEPEND="${RDEPEND} - static? ( ${LIB_DEPEND} ) - test? ( dev-util/cunit )" -RDEPEND+=" - python? ( - ${PYTHON_DEPS} - $(python_gen_any_dep 'dev-python/pandas[${PYTHON_USEDEP}]') - ) - gnuplot? ( sci-visualization/gnuplot )" - -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:\:$(tc-getPKG_CONFIG):" \ - -e '/if compile_prog "" "-lzbc" "libzbc" *; *then/ '"s::if $(usex zbc true false) ; then:" \ - -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:" \ - -e '/if compile_prog "" "-lcunit" "CUnit" *; *then/'"s::if $(usex test true false) ; then:" \ - configure || die -} - -src_configure() { - chmod g-w "${T}" - # not a real configure script - # TODO: cuda - # TODO: libnbd - not packaged in Gentoo - # TODO: pmem - not packaged in Gentoo - # libnfs option does not work as expected: - # $(usex nfs '' '--disable-libnfs') \ - set -- \ - ./configure \ - --disable-optimizations \ - --extra-cflags="${CFLAGS} ${CPPFLAGS}" \ - --cc="$(tc-getCC)" \ - --disable-pmem \ - $(usex nfs '' '--disable-nfs') \ - $(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 "$@" |tr ' ' '\n' - "$@" || die 'configure failed' -} - -src_compile() { - emake V=1 OPTFLAGS= -} - -src_install() { - emake install DESTDIR="${D}" prefix="${EPREFIX}/usr" mandir="${EPREFIX}/usr/share/man" - - local python2_7_files=( - "${ED}"/usr/bin/fiologparser_hist.py - "${ED}"/usr/bin/fiologparser.py - ) - local python_files=( - "${python2_7_files[@]}" - "${ED}"/usr/bin/fio_jsonplus_clat2csv - ) - if use python ; then - sed -i 's:python2.7:python:g' "${python2_7_files[@]}" || die - python_replicate_script "${python2_7_files[@]}" - else - rm "${python_files[@]}" || die - fi - - local gnuplot_python2_7_files=( - "${ED}"/usr/bin/fio2gnuplot - ) - local gnuplot_files=( - "${gnuplot_python2_7_files[@]}" - "${ED}"/usr/bin/fio_generate_plots - "${ED}"/usr/share/man/man1/fio_generate_plots.1 - "${ED}"/usr/share/man/man1/fio2gnuplot.1 - "${ED}"/usr/share/fio/*.gpm - ) - if use gnuplot ; then - sed -i 's:python2.7:python:g' "${gnuplot_python2_7_files[@]}" || die - python_replicate_script "${gnuplot_python2_7_files[@]}" - else - rm "${gnuplot_files[@]}" || die - rmdir "${ED}"/usr/share/fio/ || die - fi - - # This tool has security/parallel issues -- it hardcodes /tmp/template.fio. - rm "${ED}"/usr/bin/genfio || die - - dodoc README.rst REPORTING-BUGS HOWTO.rst - docinto examples - dodoc examples/* -} -- cgit v1.2.3