summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-benchmarks/tiobench/Manifest1
-rw-r--r--app-benchmarks/tiobench/files/tiobench-0.4.2-fix-perl-shebang.patch51
-rw-r--r--app-benchmarks/tiobench/files/tiobench-0.4.2-gcc5.patch48
-rw-r--r--app-benchmarks/tiobench/metadata.xml2
-rw-r--r--app-benchmarks/tiobench/tiobench-0.4.2.ebuild45
5 files changed, 146 insertions, 1 deletions
diff --git a/app-benchmarks/tiobench/Manifest b/app-benchmarks/tiobench/Manifest
index 841c62577ffb..00a5f8249b63 100644
--- a/app-benchmarks/tiobench/Manifest
+++ b/app-benchmarks/tiobench/Manifest
@@ -1 +1,2 @@
DIST tiobench-0.3.3.tar.gz 28282 SHA256 8ad011059a35ac70cdb5e3d3999ceee44a8e8e9078926844b0685b7ea9db2bcc SHA512 e2752e32e9deaea611217629e99dc8fd738e63b4a21f49a0286f894bece3a258a3d223e0eb403ad5350dbb408738b9c5ba7300a85c8eea464266152965730328 WHIRLPOOL f6bb9b353cbbf007f6095caa5e893b3bac9af2f4cdb681be9b3f1abf6e07a5b4cd8dd0ceebfa96fd4a888fa28528a78ce00ff239c93cb96a11795168e4b2e81e
+DIST tiobench-0.4.2.tar.gz 32182 SHA256 d6166edd6892725d413566ffe348d58927726fa7fa000efb384f7bcccad2e0ba SHA512 02e82d86ee889a366c1a00d4fb49f63d926e44ba6e2f297212479a5c13abe008b62c12d44483de7e971b5ebf875d5c07847f1d69dd11b2e87a050e27d8f9f09f WHIRLPOOL 8b6e5601b3079943eb1c7adf2d2fb12d05f36eaba19552c76b042b37743b0ceda5e5fd105cd64db6c0b2c111e20f9c54424113a427ad7b790a01a714c2bc1f87
diff --git a/app-benchmarks/tiobench/files/tiobench-0.4.2-fix-perl-shebang.patch b/app-benchmarks/tiobench/files/tiobench-0.4.2-fix-perl-shebang.patch
new file mode 100644
index 000000000000..900472d80dd2
--- /dev/null
+++ b/app-benchmarks/tiobench/files/tiobench-0.4.2-fix-perl-shebang.patch
@@ -0,0 +1,51 @@
+Fix perl shebangs, in order to be maximally compatible with Gentoo Prefix.
+Rationale: https://blogs.gentoo.org/mgorny/2016/02/08/a-quick-note-on-portable-shebangs/
+
+--- a/scripts/makeimages.pl
++++ b/scripts/makeimages.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl -w
++#!/usr/bin/env perl
+
+ # Author: James Manning <jmm@users.sf.net>
+ # This software may be used and distributed according to the terms of
+@@ -8,6 +8,7 @@
+ # Perl wrapper for calling tiobench.pl and displaying results
+ # graphically using gnuplot
+
++use warnings;
+ use strict;
+
+ my $args = join(" ",@ARGV);
+--- a/scripts/tiosum.pl
++++ b/scripts/tiosum.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl -w
++#!/usr/bin/env perl
+ # Author: Randy Hron <rwhron (at) earthlink dot net>
+ # This software may be used and distributed according to the terms of
+ # the GNU General Public License, http://www.gnu.org/copyleft/gpl.html
+@@ -6,6 +6,7 @@
+ # Summarize output of tiobench2.pl for multiple kernels/runs.
+ # Assumes logfiles created with:
+ # ./tiobench2.pl > tiobench-`uname -r` 2> tiobench-`uname -r`.err
++use warnings;
+ use strict;
+ $|++;
+
+--- a/tiobench.pl
++++ b/tiobench.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl -w
++#!/usr/bin/env perl
+
+ # Author: James Manning <jmm at users.sf.net>
+ # Author: Randy Hron <rwhron at earthlink dot net>
+@@ -9,6 +9,7 @@
+ # Perl wrapper for calling the tiotest executable multiple times
+ # with varying sets of parameters as instructed
+
++use warnings;
+ use strict;
+ use Getopt::Long;
+
diff --git a/app-benchmarks/tiobench/files/tiobench-0.4.2-gcc5.patch b/app-benchmarks/tiobench/files/tiobench-0.4.2-gcc5.patch
new file mode 100644
index 000000000000..e1bf89b87ec3
--- /dev/null
+++ b/app-benchmarks/tiobench/files/tiobench-0.4.2-gcc5.patch
@@ -0,0 +1,48 @@
+diff --git a/crc32.c b/crc32.c
+index bae7384..a22fc5d 100644
+--- a/crc32.c
++++ b/crc32.c
+@@ -72,10 +72,9 @@ static const unsigned long crctab[256] = {
+ 0xA2F33668, 0xBCB4666D, 0xB8757BDA, 0xB5365D03, 0xB1F740B4
+ };
+
+-inline
+-unsigned long crc32( const void* buffer,
+- unsigned long length,
+- unsigned long crc)
++unsigned long crc32(const void* buffer,
++ unsigned long length,
++ unsigned long crc)
+ {
+ const unsigned char* cp = (const unsigned char*)buffer;
+
+diff --git a/crc32.h b/crc32.h
+index 62b3433..cb9b96f 100644
+--- a/crc32.h
++++ b/crc32.h
+@@ -18,9 +18,8 @@
+ #ifndef CRC32_H
+ #define CRC32_H
+
+-inline
+-unsigned long crc32( const void* const buffer,
+- unsigned long length,
+- unsigned long crc);
++unsigned long crc32(const void* const buffer,
++ unsigned long length,
++ unsigned long crc);
+
+ #endif
+diff --git a/tiotest.c b/tiotest.c
+index c23ceb4..bb73fcb 100644
+--- a/tiotest.c
++++ b/tiotest.c
+@@ -1392,7 +1392,7 @@ static int do_mmap_read_operation(void *loc, ThreadData *d)
+
+ if(crc != d->bufferCrc)
+ {
+- fprintf(stderr, "Thread(%lu) mmap consistency check failed at 0x%x\n", d->myNumber, (unsigned int)loc);
++ fprintf(stderr, "Thread(%lu) mmap consistency check failed at 0x%p\n", d->myNumber, loc);
+ return -1;
+ }
+ }
diff --git a/app-benchmarks/tiobench/metadata.xml b/app-benchmarks/tiobench/metadata.xml
index 2057275d24e0..b7cbcebb3c08 100644
--- a/app-benchmarks/tiobench/metadata.xml
+++ b/app-benchmarks/tiobench/metadata.xml
@@ -6,6 +6,6 @@
<name>Alice Ferrazzi</name>
</maintainer>
<upstream>
- <remote-id type="sourceforge">tiobench</remote-id>
+ <remote-id type="github">mkuoppal/tiobench</remote-id>
</upstream>
</pkgmetadata>
diff --git a/app-benchmarks/tiobench/tiobench-0.4.2.ebuild b/app-benchmarks/tiobench/tiobench-0.4.2.ebuild
new file mode 100644
index 000000000000..7d9805682cb8
--- /dev/null
+++ b/app-benchmarks/tiobench/tiobench-0.4.2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit toolchain-funcs
+
+DESCRIPTION="Portable, robust, fully-threaded I/O benchmark program"
+HOMEPAGE="https://github.com/mkuoppal/tiobench"
+SRC_URI="https://github.com/mkuoppal/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE=""
+
+RDEPEND="dev-lang/perl"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gcc5.patch
+ "${FILESDIR}"/${P}-fix-perl-shebang.patch
+)
+
+src_prepare() {
+ default
+ sed -i \
+ -e "s:/usr/local/bin:${EPREFIX}/usr/sbin:" tiobench.pl \
+ || die "sed tiobench.pl failed"
+}
+
+src_compile() {
+ emake \
+ CC="$(tc-getCC)" \
+ LINK="$(tc-getCC)" \
+ DEFINES="-DLARGEFILES" \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ dosbin tiotest tiobench.pl scripts/tiosum.pl
+ einstalldocs
+}