app-benchmarks/filebench: eapi bump, add new use flag, fix dependencies
authorGöktürk Yüksek <gokturk@binghamton.edu>
Fri, 4 Mar 2016 13:38:56 +0000 (08:38 -0500)
committerGöktürk Yüksek <gokturk@binghamton.edu>
Fri, 4 Mar 2016 19:11:00 +0000 (14:11 -0500)
The following changes have been made:
- eapi bump to EAPI 6
- drop unused inherit eutils
- remove unsued dependency on libaio: the program uses the aio functions
  defined in libc. libaio is not referenced in the source code.
- remove the automagic dependency on dev-libs/libtecla: filebench
  provides tab-completion support using libtecla. However, there's no
  way to explicitly control it. Patch the sources to add a configure
  option for '--with-libtecla' and add a corresponding USE flag called
  'auto-completion'.
- drop parallel compilation workaround: the package compiles with
  different values of '-j' successfully. Most likely a carry-over from
  the initial ebuild.

Package-Manager: portage-2.2.26

app-benchmarks/filebench/filebench-1.4.9.1-r1.ebuild [new file with mode: 0644]
app-benchmarks/filebench/files/filebench-fix-automagic-libtecla-dependency.patch [new file with mode: 0644]
app-benchmarks/filebench/metadata.xml

diff --git a/app-benchmarks/filebench/filebench-1.4.9.1-r1.ebuild b/app-benchmarks/filebench/filebench-1.4.9.1-r1.ebuild
new file mode 100644 (file)
index 0000000..f3ba307
--- /dev/null
@@ -0,0 +1,35 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit autotools
+
+DESCRIPTION="Filebench - A Model Based File System Workload Generator"
+HOMEPAGE="http://sourceforge.net/projects/filebench/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="CDDL"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="auto-completion"
+
+RDEPEND="
+       auto-completion? ( dev-libs/libtecla )
+"
+DEPEND="${RDEPEND}
+       sys-devel/flex
+       sys-devel/bison
+"
+
+PATCHES=( "${FILESDIR}"/${PN}-fix-automagic-libtecla-dependency.patch )
+
+src_prepare() {
+       default
+       eautoreconf
+}
+
+src_configure() {
+       econf $(use_with auto-completion libtecla)
+}
diff --git a/app-benchmarks/filebench/files/filebench-fix-automagic-libtecla-dependency.patch b/app-benchmarks/filebench/files/filebench-fix-automagic-libtecla-dependency.patch
new file mode 100644 (file)
index 0000000..8d24a62
--- /dev/null
@@ -0,0 +1,22 @@
+From: Göktürk Yüksek <gokturk@binghamton.edu>
+Subject: [PATCH] Fix automagic dependency on libtecla
+
+Replace the unconditional AC_CHECK_LIB logic with AC_ARG_WITH to
+eliminate the automagic dependency on libtecla.
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -164,8 +164,11 @@
+ AC_CHECK_LIB([kstat], [kstat_open])
+ # Use libtecla for autocompletion if it is available. If it
+ # is, then conditionally compile auto_comp.c (see Makefile.am)
+-AC_CHECK_LIB([tecla], [cpl_add_completion])
+-AM_CONDITIONAL(AUTOCOMP_LIBTECLA, test "$ac_cv_lib_tecla_cpl_add_completion" = yes)
++AC_ARG_WITH([libtecla], AS_HELP_STRING([--with-libtecla], [Build with libtecla for autocompletion support (default: test)]))
++AS_IF([test "x$with_libtecla" != "xno"], [
++      AC_CHECK_LIB([tecla], [cpl_add_completion])
++])
++AM_CONDITIONAL([AUTOCOMP_LIBTECLA], [test "x$ac_cv_lib_tecla_cpl_add_completion" = "xyes"])
+ # Check that librt is installed and supports async IO. First line
+ # allows to add librt to the linkers path, second one checks
+ # if aio_wait() is in it, third one checks if aio_waitn() is there (usually
index 5d5529c3de771d5cdb3a2769f53f96a8e60327eb..3b9298e7df62c027ad42da41668edcec54538e23 100644 (file)
                <name>Proxy Maintainers</name>
                <description>please CC on bugs</description>
        </maintainer>
+       <use>
+         <flag name="auto-completion">
+           Enable command-line autocompletion using
+           <pkg>dev-libs/libtecla</pkg>.
+         </flag>
+       </use>
        <upstream>
                <remote-id type="sourceforge">filebench</remote-id>
        </upstream>