diff options
Diffstat (limited to 'app-benchmarks/bonnie++')
-rw-r--r-- | app-benchmarks/bonnie++/Manifest | 1 | ||||
-rw-r--r-- | app-benchmarks/bonnie++/bonnie++-2.00a.ebuild | 39 | ||||
-rw-r--r-- | app-benchmarks/bonnie++/files/bonnie++-2.00a-gcc11.patch | 177 | ||||
-rw-r--r-- | app-benchmarks/bonnie++/files/bonnie++-2.00a-makefile.patch | 47 |
4 files changed, 264 insertions, 0 deletions
diff --git a/app-benchmarks/bonnie++/Manifest b/app-benchmarks/bonnie++/Manifest index 16e4fa97abdf..6fdb435854d7 100644 --- a/app-benchmarks/bonnie++/Manifest +++ b/app-benchmarks/bonnie++/Manifest @@ -1,3 +1,4 @@ DIST bonnie++-1.97.2.tgz 102533 BLAKE2B 019182c08b9ff7ba60e421f94039c09d27855f9e5b313f451721afdaedc9dc694b468bb30e78a04b655ec9a358ace3d68b13fc8f4d80ca3c48e0ff9387525b57 SHA512 e8303720be9a4ebcc454dbc8906a6843d63909c5101d66524a126ce0db3db7113d01edb7ed2f292bf9d08a6799579c4960f0ee4595019fbacda1601eba52a170 DIST bonnie++-1.97.3.tgz 100166 BLAKE2B 30feca43a2ec37b795168d37bb941241777718222d7e0681dc85a34f8691e76b4306850e41dc6bbfb3f0ad34123ecd1c12396efea99e2ade12206aa6e78708e8 SHA512 44de20b5e46aeaf7f7214766b3c555b8799138f6fd92f87fe9b7dfa6f19815c629d6122c2ef4e4d98a5528dbfcd4c70b3b850eeba05739f6dd20251bf8d7c893 DIST bonnie++-1.98.tgz 100339 BLAKE2B 2a75cbeb881fd12727b5edf4e67789e64bd624b1885cdaf83fe3fc920fb2346e98faea2d9ce5da6fac8a84318a9cbda013afa2c9809892b23d3cf85c5a70982b SHA512 3cf70be4a20c58c80e29a140ec6d3c3884f1b4101e0fb63da0ea831fe4a5eb4e275bda2ce4eaf7d9c2bfb65742e985249b491cda8bdad85984a62f2fc19756c0 +DIST bonnie++-2.00a.tgz 100502 BLAKE2B 8bf9105dbbb1137485d8f24d4b911ca6787d09e3926181b460c18ceb52aea11ddff8f8edfefd1b2577fb1b59e658f4835cc865755faf739389f78fa855d13815 SHA512 1776f8406ccd0341f13bd952830f063e7df8fc2bd6d5c837de875dd5f817e29982b2a6358049221bffcae8faa7489560d2a1af46d79d8eb221d515d797236bdc diff --git a/app-benchmarks/bonnie++/bonnie++-2.00a.ebuild b/app-benchmarks/bonnie++/bonnie++-2.00a.ebuild new file mode 100644 index 000000000000..f78476d70b64 --- /dev/null +++ b/app-benchmarks/bonnie++/bonnie++-2.00a.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="Hard drive bottleneck testing benchmark suite" +HOMEPAGE="https://www.coker.com.au/bonnie++/" +SRC_URI="https://www.coker.com.au/${PN}/${P}.tgz" +S="${WORKDIR}/${P}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86" +IUSE="debug" + +PATCHES=( + "${FILESDIR}/${PN}-1.97-zcav-array-indexing-fix.patch" #309319 + "${FILESDIR}/${PN}-2.00a-gcc11.patch" #768402 + "${FILESDIR}/${PN}-2.00a-makefile.patch" #426788 +) + +DOCS=( "credits.txt" "README.txt" "README-2.00" "debian/changelog" ) +HTML_DOCS=( "readme.html" ) + +src_prepare() { + default + + # Fix path in manpage #431684 + sed -e "/readme.html/s/bonnie++/${PF}\/html/" -i bonnie++.8 || die +} + +src_configure() { + local myeconfargs=( + --disable-stripping + $(usex debug "--enable-debug" "") + ) + + econf "${myeconfargs[@]}" +} diff --git a/app-benchmarks/bonnie++/files/bonnie++-2.00a-gcc11.patch b/app-benchmarks/bonnie++/files/bonnie++-2.00a-gcc11.patch new file mode 100644 index 000000000000..3bf224f34b5c --- /dev/null +++ b/app-benchmarks/bonnie++/files/bonnie++-2.00a-gcc11.patch @@ -0,0 +1,177 @@ +--- a/bon_csv2html.cpp ++++ b/bon_csv2html.cpp +@@ -10,7 +10,7 @@ + using namespace std; + typedef vector<PCCHAR> STR_VEC; + +-vector<STR_VEC> data; ++vector<STR_VEC> stddata; + typedef PCCHAR * PPCCHAR; + PPCCHAR * props; + +@@ -87,8 +87,8 @@ + read_in(buf); + } + +- props = new PPCCHAR[data.size()]; +- for(i = 0; i < data.size(); i++) ++ props = new PPCCHAR[stddata.size()]; ++ for(i = 0; i < stddata.size(); i++) + { + props[i] = new PCCHAR[MAX_ITEMS]; + props[i][0] = NULL; +@@ -109,7 +109,7 @@ + } + calc_vals(); + int mid_width = header(); +- for(i = 0; i < data.size(); i++) ++ for(i = 0; i < stddata.size(); i++) + { + // First print the average speed line + printf("<tr>"); +@@ -171,23 +171,23 @@ + + void calc_vals() + { +- ITEM *arr = new ITEM[data.size()]; ++ ITEM *arr = new ITEM[stddata.size()]; + for(unsigned int column_ind = 0; column_ind < MAX_ITEMS; column_ind++) + { + switch(vals[column_ind]) + { + case eNoCols: + { +- for(unsigned int row_ind = 0; row_ind < data.size(); row_ind++) ++ for(unsigned int row_ind = 0; row_ind < stddata.size(); row_ind++) + { + if(column_ind == COL_CONCURRENCY) + { +- if(data[row_ind][column_ind] && strcmp("1", data[row_ind][column_ind])) ++ if(stddata[row_ind][column_ind] && strcmp("1", stddata[row_ind][column_ind])) + col_used[column_ind] = true; + } + else + { +- if(data[row_ind][column_ind] && strlen(data[row_ind][column_ind])) ++ if(stddata[row_ind][column_ind] && strlen(stddata[row_ind][column_ind])) + col_used[column_ind] = true; + } + } +@@ -195,22 +195,22 @@ + break; + case eCPU: + { +- for(unsigned int row_ind = 0; row_ind < data.size(); row_ind++) ++ for(unsigned int row_ind = 0; row_ind < stddata.size(); row_ind++) + { + double work, cpu; + arr[row_ind].val = 0.0; +- if(data[row_ind].size() > column_ind +- && sscanf(data[row_ind][column_ind - 1], "%lf", &work) == 1 +- && sscanf(data[row_ind][column_ind], "%lf", &cpu) == 1) ++ if(stddata[row_ind].size() > column_ind ++ && sscanf(stddata[row_ind][column_ind - 1], "%lf", &work) == 1 ++ && sscanf(stddata[row_ind][column_ind], "%lf", &cpu) == 1) + { + arr[row_ind].val = cpu / work; + } + arr[row_ind].pos = row_ind; + } +- qsort(arr, data.size(), sizeof(ITEM), compar); ++ qsort(arr, stddata.size(), sizeof(ITEM), compar); + int col_count = -1; + double min_col = -1.0, max_col = -1.0; +- for(unsigned int sort_ind = 0; sort_ind < data.size(); sort_ind++) ++ for(unsigned int sort_ind = 0; sort_ind < stddata.size(); sort_ind++) + { + // if item is different from previous or if the first row + // (sort_ind == 0) then increment col count +@@ -239,7 +239,7 @@ + min_col /= mult; + } + double range_col = max_col - min_col; +- for(unsigned int sort_ind = 0; sort_ind < data.size(); sort_ind++) ++ for(unsigned int sort_ind = 0; sort_ind < stddata.size(); sort_ind++) + { + if(arr[sort_ind].col_ind > -1) + { +@@ -250,7 +250,7 @@ + } + else + { +- for(unsigned int sort_ind = 0; sort_ind < data.size(); sort_ind++) ++ for(unsigned int sort_ind = 0; sort_ind < stddata.size(); sort_ind++) + { + if(vals[column_ind] == eLatency) + { +@@ -263,25 +263,25 @@ + case eSpeed: + case eLatency: + { +- for(unsigned int row_ind = 0; row_ind < data.size(); row_ind++) ++ for(unsigned int row_ind = 0; row_ind < stddata.size(); row_ind++) + { + arr[row_ind].val = 0.0; +- if(data[row_ind].size() <= column_ind +- || sscanf(data[row_ind][column_ind], "%lf", &arr[row_ind].val) == 0) ++ if(stddata[row_ind].size() <= column_ind ++ || sscanf(stddata[row_ind][column_ind], "%lf", &arr[row_ind].val) == 0) + arr[row_ind].val = 0.0; + if(vals[column_ind] == eLatency && arr[row_ind].val != 0.0) + { +- if(strstr(data[row_ind][column_ind], "ms")) ++ if(strstr(stddata[row_ind][column_ind], "ms")) + arr[row_ind].val *= 1000.0; +- else if(!strstr(data[row_ind][column_ind], "us")) ++ else if(!strstr(stddata[row_ind][column_ind], "us")) + arr[row_ind].val *= 1000000.0; // is !us && !ms then secs! + } + arr[row_ind].pos = row_ind; + } +- qsort(arr, data.size(), sizeof(ITEM), compar); ++ qsort(arr, stddata.size(), sizeof(ITEM), compar); + int col_count = -1; + double min_col = -1.0, max_col = -1.0; +- for(unsigned int sort_ind = 0; sort_ind < data.size(); sort_ind++) ++ for(unsigned int sort_ind = 0; sort_ind < stddata.size(); sort_ind++) + { + // if item is different from previous or if the first row + // (sort_ind == 0) then increment col count +@@ -310,7 +310,7 @@ + min_col /= mult; + } + double range_col = max_col - min_col; +- for(unsigned int sort_ind = 0; sort_ind < data.size(); sort_ind++) ++ for(unsigned int sort_ind = 0; sort_ind < stddata.size(); sort_ind++) + { + if(arr[sort_ind].col_ind > -1) + { +@@ -332,7 +332,7 @@ + } + else + { +- for(unsigned int sort_ind = 0; sort_ind < data.size(); sort_ind++) ++ for(unsigned int sort_ind = 0; sort_ind < stddata.size(); sort_ind++) + { + if(vals[column_ind] == eLatency) + { +@@ -481,16 +481,16 @@ + free((void *)arr[0]); + return; + } +- data.push_back(arr); ++ stddata.push_back(arr); + } + + void print_item(int num, int item, CPCCHAR extra) + { + PCCHAR line_data; + char buf[1024]; +- if(int(data[num].size()) > item) ++ if(int(stddata[num].size()) > item) + { +- line_data = data[num][item]; ++ line_data = stddata[num][item]; + switch(item) + { + case COL_PUT_BLOCK: diff --git a/app-benchmarks/bonnie++/files/bonnie++-2.00a-makefile.patch b/app-benchmarks/bonnie++/files/bonnie++-2.00a-makefile.patch new file mode 100644 index 000000000000..2fd48e9ff85a --- /dev/null +++ b/app-benchmarks/bonnie++/files/bonnie++-2.00a-makefile.patch @@ -0,0 +1,47 @@ +--- a/Makefile.in ++++ b/Makefile.in +@@ -9,9 +9,9 @@ + eprefix=@exec_prefix@ + #MORE_WARNINGS=-Weffc++ + WFLAGS=-Wall -W -Wshadow -Wpointer-arith -Wwrite-strings -pedantic -ffor-scope -Wcast-align -Wsign-compare -Wpointer-arith -Wwrite-strings -Wformat-security -Wswitch-enum -Winit-self $(MORE_WARNINGS) +-CFLAGS=-O2 @debug@ -DNDEBUG $(WFLAGS) $(MORECFLAGS) +-CXX=@CXX@ $(CFLAGS) +-LINK=@CXX@ ++CXXFLAGS += @debug@ -DNDEBUG $(WFLAGS) ++CXX=@CXX@ $(CXXFLAGS) ++LINK=@CXX@ $(LDFLAGS) + THREAD_LFLAGS=@thread_ldflags@ + + INSTALL=@INSTALL@ +@@ -43,7 +43,7 @@ + $(LINK) -o getc_putc $(GETCOBJS) $(THREAD_LFLAGS) + + getc_putc_helper: $(GETCHOBJS) +- $(CXX) -o getc_putc_helper $(GETCHOBJS) ++ $(CXX) $(LDFLAGS) -o getc_putc_helper $(GETCHOBJS) + + bon_csv2html: bon_csv2html.o + $(LINK) bon_csv2html.o -o bon_csv2html +@@ -52,15 +52,15 @@ + $(LINK) generate_randfile.o -o generate_randfile + + install-bin: $(EXE) $(EXES) +- mkdir -p $(eprefix)/bin $(eprefix)/sbin +- @INSTALL_PROGRAM@ @stripping@ $(EXES) $(eprefix)/sbin +- @INSTALL_PROGRAM@ @stripping@ $(EXE) $(eprefix)/bin +- @INSTALL_SCRIPT@ $(SCRIPTS) $(eprefix)/bin ++ mkdir -p $(DESTDIR)/$(eprefix)/bin $(DESTDIR)/$(eprefix)/sbin ++ @INSTALL_PROGRAM@ @stripping@ $(EXES) $(DESTDIR)/$(eprefix)/sbin ++ @INSTALL_PROGRAM@ @stripping@ $(EXE) $(DESTDIR)/$(eprefix)/bin ++ @INSTALL_SCRIPT@ $(SCRIPTS) $(DESTDIR)/$(eprefix)/bin + + install: install-bin +- mkdir -p @mandir@/man1 @mandir@/man8 +- @INSTALL_DATA@ $(MAN1) @mandir@/man1 +- @INSTALL_DATA@ $(MAN8) @mandir@/man8 ++ mkdir -p $(DESTDIR)/@mandir@/man1 $(DESTDIR)/@mandir@/man8 ++ @INSTALL_DATA@ $(MAN1) $(DESTDIR)/@mandir@/man1 ++ @INSTALL_DATA@ $(MAN8) $(DESTDIR)/@mandir@/man8 + + %.o: %.cpp + $(CXX) -c $< |