summaryrefslogtreecommitdiff
path: root/app-benchmarks
diff options
context:
space:
mode:
authorPalica <palica+gitlab@liguros.net>2020-06-23 22:35:08 +0200
committerPalica <palica+gitlab@liguros.net>2020-06-23 22:35:08 +0200
commitecdac123787b96ce6649f0f91da12ea6458cc2b1 (patch)
treeb89c74d9e6fe6e8aebc4c77bcbeb4ab73214127d /app-benchmarks
parent1be72aa41cf41dedadeecf59dca9f01de6381f5e (diff)
downloadbaldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.gz
baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.xz
baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.zip
Updating liguros repo
Diffstat (limited to 'app-benchmarks')
-rw-r--r--app-benchmarks/acovea-gtk/Manifest1
-rw-r--r--app-benchmarks/acovea-gtk/acovea-gtk-1.0.1.ebuild31
-rw-r--r--app-benchmarks/acovea-gtk/files/acovea-gtk-1.0.1-gcc4.3.patch23
-rw-r--r--app-benchmarks/acovea-gtk/files/acovea-gtk-1.0.1-libbrahe.patch8
-rw-r--r--app-benchmarks/acovea-gtk/files/acovea-gtk-1.0.1-libsigc.patch101
-rw-r--r--app-benchmarks/acovea-gtk/files/acovea-gtk-1.0.1-unicode.patch12
-rw-r--r--app-benchmarks/acovea-gtk/metadata.xml9
-rw-r--r--app-benchmarks/acovea/Manifest1
-rw-r--r--app-benchmarks/acovea/acovea-5.1.1-r2.ebuild47
-rw-r--r--app-benchmarks/acovea/files/acovea-5.1.1-asneeded.patch16
-rw-r--r--app-benchmarks/acovea/files/acovea-5.1.1-free-fix.patch12
-rw-r--r--app-benchmarks/acovea/files/acovea-5.1.1-gcc44.patch14
-rw-r--r--app-benchmarks/acovea/files/acovea-5.1.1-glibc-212.patch12
-rw-r--r--app-benchmarks/acovea/files/acovea-5.1.1-libevocosm.patch119
-rw-r--r--app-benchmarks/acovea/files/acovea-5.1.1-underlinking.patch10
-rw-r--r--app-benchmarks/acovea/metadata.xml9
-rw-r--r--app-benchmarks/bashmark/Manifest1
-rw-r--r--app-benchmarks/bashmark/bashmark-0.6.2.ebuild26
-rw-r--r--app-benchmarks/bashmark/files/bashmark-0.6.2-as-needed.patch12
-rw-r--r--app-benchmarks/bashmark/files/bashmark-0.6.2-gcc43.patch48
-rw-r--r--app-benchmarks/bashmark/files/bashmark-0.6.2-gcc47.patch29
-rw-r--r--app-benchmarks/bashmark/metadata.xml6
-rw-r--r--app-benchmarks/bonnie++/Manifest3
-rw-r--r--app-benchmarks/bonnie++/bonnie++-1.97.2.ebuild38
-rw-r--r--app-benchmarks/bonnie++/bonnie++-1.97.3.ebuild38
-rw-r--r--app-benchmarks/bonnie++/bonnie++-1.98.ebuild38
-rw-r--r--app-benchmarks/bonnie++/files/bonnie++-1.96-compile-flags.patch17
-rw-r--r--app-benchmarks/bonnie++/files/bonnie++-1.97-zcav-array-indexing-fix.patch35
-rw-r--r--app-benchmarks/bonnie++/metadata.xml18
-rw-r--r--app-benchmarks/bonnie/Manifest1
-rw-r--r--app-benchmarks/bonnie/bonnie-2.0.6-r2.ebuild33
-rw-r--r--app-benchmarks/bonnie/files/Makefile.patch16
-rw-r--r--app-benchmarks/bonnie/files/bonnie-2.0.6-includes.patch13
-rw-r--r--app-benchmarks/bonnie/files/bonnie_man.patch16
-rw-r--r--app-benchmarks/bonnie/metadata.xml6
-rw-r--r--app-benchmarks/bootchart2/Manifest1
-rw-r--r--app-benchmarks/bootchart2/bootchart2-0.14.8-r1.ebuild58
-rw-r--r--app-benchmarks/bootchart2/files/bootchart2-0.14.7-sysmacros.patch30
-rw-r--r--app-benchmarks/bootchart2/files/bootchart2-0.14.8-no-compressed-man.patch15
-rw-r--r--app-benchmarks/bootchart2/files/bootchart2.init26
-rw-r--r--app-benchmarks/bootchart2/metadata.xml11
-rw-r--r--app-benchmarks/contest/Manifest1
-rw-r--r--app-benchmarks/contest/contest-0.61-r1.ebuild37
-rw-r--r--app-benchmarks/contest/files/contest-0.61-fix-buildsystem.patch22
-rw-r--r--app-benchmarks/contest/files/contest-fortify_sources.patch11
-rw-r--r--app-benchmarks/contest/metadata.xml6
-rw-r--r--app-benchmarks/cpuburn/Manifest1
-rw-r--r--app-benchmarks/cpuburn/cpuburn-1.4a-r3.ebuild59
-rw-r--r--app-benchmarks/cpuburn/files/cpuburn-1.4a-variables.patch40
-rw-r--r--app-benchmarks/cpuburn/metadata.xml15
-rw-r--r--app-benchmarks/dbench/Manifest1
-rw-r--r--app-benchmarks/dbench/dbench-4.0.ebuild42
-rw-r--r--app-benchmarks/dbench/metadata.xml9
-rw-r--r--app-benchmarks/filebench/Manifest1
-rw-r--r--app-benchmarks/filebench/filebench-1.4.9.1-r1.ebuild34
-rw-r--r--app-benchmarks/filebench/files/filebench-fix-automagic-libtecla-dependency.patch22
-rw-r--r--app-benchmarks/filebench/metadata.xml19
-rw-r--r--app-benchmarks/forkbomb/Manifest1
-rw-r--r--app-benchmarks/forkbomb/forkbomb-1.4-r1.ebuild23
-rw-r--r--app-benchmarks/forkbomb/metadata.xml9
-rw-r--r--app-benchmarks/geekbench/Manifest6
-rw-r--r--app-benchmarks/geekbench/geekbench-2.4.2.ebuild40
-rw-r--r--app-benchmarks/geekbench/geekbench-2.4.3.ebuild40
-rw-r--r--app-benchmarks/geekbench/geekbench-3.4.2.ebuild40
-rw-r--r--app-benchmarks/geekbench/geekbench-4.4.1.ebuild44
-rw-r--r--app-benchmarks/geekbench/geekbench-5.1.1.ebuild43
-rw-r--r--app-benchmarks/geekbench/geekbench-5.2.0.ebuild43
-rw-r--r--app-benchmarks/geekbench/metadata.xml9
-rw-r--r--app-benchmarks/hey/Manifest3
-rw-r--r--app-benchmarks/hey/hey-0.1_pre20160906.ebuild24
-rw-r--r--app-benchmarks/hey/metadata.xml10
-rw-r--r--app-benchmarks/httperf/Manifest1
-rw-r--r--app-benchmarks/httperf/files/httperf-0.9.1_p20181111-libressl.patch49
-rw-r--r--app-benchmarks/httperf/httperf-0.9.1_p20181111-r1.ebuild42
-rw-r--r--app-benchmarks/httperf/httperf-0.9.1_p20181111.ebuild40
-rw-r--r--app-benchmarks/httperf/metadata.xml29
-rw-r--r--app-benchmarks/i7z/Manifest1
-rw-r--r--app-benchmarks/i7z/files/fix-insecure-tempfile.patch76
-rw-r--r--app-benchmarks/i7z/files/fix_cpuid_asm.patch21
-rw-r--r--app-benchmarks/i7z/files/gcc-10.patch17
-rw-r--r--app-benchmarks/i7z/files/gcc5.patch40
-rw-r--r--app-benchmarks/i7z/files/hyphen-used-as-minus-sign.patch26
-rw-r--r--app-benchmarks/i7z/files/i7z-0.27.2-ncurses.patch22
-rw-r--r--app-benchmarks/i7z/files/install-i7z_rw_registers.patch26
-rw-r--r--app-benchmarks/i7z/files/nehalem.patch15
-rw-r--r--app-benchmarks/i7z/files/qt5.patch13
-rw-r--r--app-benchmarks/i7z/files/typos.patch25
-rw-r--r--app-benchmarks/i7z/files/use_stdbool.patch40
-rw-r--r--app-benchmarks/i7z/i7z-93_p20131012-r2.ebuild66
-rw-r--r--app-benchmarks/i7z/metadata.xml11
-rw-r--r--app-benchmarks/interbench/Manifest1
-rw-r--r--app-benchmarks/interbench/files/interbench-0.31-makefile.patch16
-rw-r--r--app-benchmarks/interbench/interbench-0.31.ebuild34
-rw-r--r--app-benchmarks/interbench/metadata.xml19
-rw-r--r--app-benchmarks/ioping/Manifest3
-rw-r--r--app-benchmarks/ioping/files/ioping-0.9-sysmacros.patch29
-rw-r--r--app-benchmarks/ioping/files/ioping-1.1-netdata.patch141
-rw-r--r--app-benchmarks/ioping/ioping-0.9.ebuild39
-rw-r--r--app-benchmarks/ioping/ioping-1.0.ebuild33
-rw-r--r--app-benchmarks/ioping/ioping-1.1.ebuild30
-rw-r--r--app-benchmarks/ioping/metadata.xml19
-rw-r--r--app-benchmarks/iozone/Manifest4
-rw-r--r--app-benchmarks/iozone/files/iozone-3.488-gcc10-fno-common.patch13
-rw-r--r--app-benchmarks/iozone/iozone-3.471.ebuild74
-rw-r--r--app-benchmarks/iozone/iozone-3.484.ebuild77
-rw-r--r--app-benchmarks/iozone/iozone-3.487.ebuild77
-rw-r--r--app-benchmarks/iozone/iozone-3.488.ebuild65
-rw-r--r--app-benchmarks/iozone/metadata.xml9
-rw-r--r--app-benchmarks/libc-bench/Manifest1
-rw-r--r--app-benchmarks/libc-bench/files/respect-flags.patch23
-rw-r--r--app-benchmarks/libc-bench/libc-bench-20110206.ebuild28
-rw-r--r--app-benchmarks/libc-bench/metadata.xml9
-rw-r--r--app-benchmarks/metadata.xml33
-rw-r--r--app-benchmarks/nbench/Manifest1
-rw-r--r--app-benchmarks/nbench/files/nbench-2.2.3-Makefile.patch77
-rw-r--r--app-benchmarks/nbench/metadata.xml9
-rw-r--r--app-benchmarks/nbench/nbench-2.2.3-r1.ebuild42
-rw-r--r--app-benchmarks/pipebench/Manifest1
-rw-r--r--app-benchmarks/pipebench/files/pipebench-0.40-fix-build-system.patch21
-rw-r--r--app-benchmarks/pipebench/metadata.xml6
-rw-r--r--app-benchmarks/pipebench/pipebench-0.40-r2.ebuild22
-rw-r--r--app-benchmarks/ramspeed/Manifest1
-rw-r--r--app-benchmarks/ramspeed/metadata.xml12
-rw-r--r--app-benchmarks/ramspeed/ramspeed-3.5.0-r2.ebuild60
-rw-r--r--app-benchmarks/siege/Manifest2
-rw-r--r--app-benchmarks/siege/files/siege.bash-completion24
-rw-r--r--app-benchmarks/siege/metadata.xml22
-rw-r--r--app-benchmarks/siege/siege-4.0.4.ebuild50
-rw-r--r--app-benchmarks/siege/siege-4.0.5.ebuild49
-rw-r--r--app-benchmarks/stress-ng/Manifest1
-rw-r--r--app-benchmarks/stress-ng/files/stress-ng-0.11.02-makefile.patch64
-rw-r--r--app-benchmarks/stress-ng/metadata.xml21
-rw-r--r--app-benchmarks/stress-ng/stress-ng-0.11.10.ebuild38
-rw-r--r--app-benchmarks/stress/Manifest1
-rw-r--r--app-benchmarks/stress/metadata.xml13
-rw-r--r--app-benchmarks/stress/stress-1.0.4-r2.ebuild21
-rw-r--r--app-benchmarks/sysbench/Manifest2
-rw-r--r--app-benchmarks/sysbench/metadata.xml19
-rw-r--r--app-benchmarks/sysbench/sysbench-1.0.15-r1.ebuild61
-rw-r--r--app-benchmarks/sysbench/sysbench-1.0.19.ebuild61
-rw-r--r--app-benchmarks/sysbench/sysbench-9999.ebuild58
-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.xml13
-rw-r--r--app-benchmarks/tiobench/tiobench-0.4.2.ebuild44
-rw-r--r--app-benchmarks/vegeta/Manifest4
-rw-r--r--app-benchmarks/vegeta/metadata.xml10
-rw-r--r--app-benchmarks/vegeta/vegeta-6.1.1.ebuild22
-rw-r--r--app-benchmarks/wrk/Manifest1
-rw-r--r--app-benchmarks/wrk/files/wrk-4.1.0-r1-makefile.patch37
-rw-r--r--app-benchmarks/wrk/metadata.xml21
-rw-r--r--app-benchmarks/wrk/wrk-4.1.0-r2.ebuild62
153 files changed, 4025 insertions, 0 deletions
diff --git a/app-benchmarks/acovea-gtk/Manifest b/app-benchmarks/acovea-gtk/Manifest
new file mode 100644
index 000000000000..3c77cfe2711a
--- /dev/null
+++ b/app-benchmarks/acovea-gtk/Manifest
@@ -0,0 +1 @@
+DIST acovea-gtk-1.0.1.tar.gz 407230 BLAKE2B ba8e27bc42e1cf7577c61a819a25b373c45738fb6788da9e4e40368ee3a64e363fcc66b43b80a357ba7ecf8e2b22937188c61457212e6051950fe5285e8e7629 SHA512 c26eb0059b0f6a8a77ebff2f9cad9a9d543a2932f035e520c40bc3b917d1570533be934571528b7e2e53932e56afa77eff108a1ac51678a514960563a775c2ed
diff --git a/app-benchmarks/acovea-gtk/acovea-gtk-1.0.1.ebuild b/app-benchmarks/acovea-gtk/acovea-gtk-1.0.1.ebuild
new file mode 100644
index 000000000000..b4cb99ed03b9
--- /dev/null
+++ b/app-benchmarks/acovea-gtk/acovea-gtk-1.0.1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit autotools eutils flag-o-matic
+
+DESCRIPTION="Analysis of Compiler Options via Evolutionary Algorithm GUI"
+HOMEPAGE="http://www.coyotegulch.com/products/acovea/"
+SRC_URI="http://www.coyotegulch.com/distfiles/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="unicode"
+
+RDEPEND=">=app-benchmarks/acovea-5
+ dev-cpp/gtkmm:2.4"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ use unicode && epatch "${FILESDIR}"/${P}-unicode.patch
+ epatch "${FILESDIR}"/${P}-{libbrahe,libsigc,gcc4.3}.patch
+ append-cxxflags -std=c++11
+ eautoreconf
+}
+
+src_install() {
+ default
+ make_desktop_entry "${PN}" Acovea-gtk \
+ /usr/share/acovea-gtk/pixmaps/acovea_icon_064.png System
+}
diff --git a/app-benchmarks/acovea-gtk/files/acovea-gtk-1.0.1-gcc4.3.patch b/app-benchmarks/acovea-gtk/files/acovea-gtk-1.0.1-gcc4.3.patch
new file mode 100644
index 000000000000..30bfc96ab3fa
--- /dev/null
+++ b/app-benchmarks/acovea-gtk/files/acovea-gtk-1.0.1-gcc4.3.patch
@@ -0,0 +1,23 @@
+--- a/src/settings_window.cc
++++ b/src/settings_window.cc
+@@ -6,6 +6,7 @@
+ // This file is for your program, I won't touch it again!
+
+ #include <gtkmm.h>
++#include <cstring>
+ #include "config.h"
+ #include "settings_window.hh"
+
+
+--- a/src/main_window.cc
++++ b/src/main_window.cc
+@@ -9,6 +9,8 @@
+ #include <gtkmm.h>
+ #include <gtkmm/main.h>
+ #include <iomanip>
++#include <cstring>
++#include <sys/stat.h>
+ #include "config.h"
+ #include "main_window.hh"
+
+
diff --git a/app-benchmarks/acovea-gtk/files/acovea-gtk-1.0.1-libbrahe.patch b/app-benchmarks/acovea-gtk/files/acovea-gtk-1.0.1-libbrahe.patch
new file mode 100644
index 000000000000..4511f23e92f5
--- /dev/null
+++ b/app-benchmarks/acovea-gtk/files/acovea-gtk-1.0.1-libbrahe.patch
@@ -0,0 +1,8 @@
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -22,4 +22,4 @@
+ AM_CXXFLAGS = @GTKMM_CFLAGS@
+
+ acovea_gtk_LDFLAGS = -pthread -L//usr/lib
+-acovea_gtk_LDADD = @LIBS@ @GTKMM_LIBS@ -lgthread-2.0 -lglib-2.0 -lcoyotl -levocosm -lacovea -lexpat
++acovea_gtk_LDADD = @LIBS@ @GTKMM_LIBS@ -lgthread-2.0 -lglib-2.0 -lcoyotl -levocosm -lbrahe -lacovea -lexpat
diff --git a/app-benchmarks/acovea-gtk/files/acovea-gtk-1.0.1-libsigc.patch b/app-benchmarks/acovea-gtk/files/acovea-gtk-1.0.1-libsigc.patch
new file mode 100644
index 000000000000..aa60489ae630
--- /dev/null
+++ b/app-benchmarks/acovea-gtk/files/acovea-gtk-1.0.1-libsigc.patch
@@ -0,0 +1,101 @@
+--- a/src/about_box_glade.cc
++++ b/src/about_box_glade.cc
+@@ -1530,8 +1530,8 @@
+ hbuttonbox1->show();
+ vbox3->show();
+ about_box->show();
+- about_close_button->signal_clicked().connect(SigC::slot(*this, &about_box_glade::on_about_close_button_clicked), false);
+- about_box->signal_realize().connect(SigC::slot(*this, &about_box_glade::on_about_box_realize), false);
++ about_close_button->signal_clicked().connect(sigc::mem_fun(*this, &about_box_glade::on_about_close_button_clicked), false);
++ about_box->signal_realize().connect(sigc::mem_fun(*this, &about_box_glade::on_about_box_realize), false);
+ }
+
+ about_box_glade::~about_box_glade()
+--- a/src/main_window_glade.cc
++++ b/src/main_window_glade.cc
+@@ -998,19 +998,19 @@
+ main_status->show();
+ vbox1->show();
+ main_window->show();
+- menu_set_run_options->signal_activate().connect(SigC::slot(*this, &main_window_glade::on_menu_set_run_options_activate), false);
+- menu_save_options_default->signal_activate().connect(SigC::slot(*this, &main_window_glade::on_menu_save_options_default_activate), false);
+- menu_load_default_options->signal_activate().connect(SigC::slot(*this, &main_window_glade::on_menu_load_default_options_activate), false);
+- menu_save_options->signal_activate().connect(SigC::slot(*this, &main_window_glade::on_menu_save_options_activate), false);
+- save_load_options->signal_activate().connect(SigC::slot(*this, &main_window_glade::on_load_options_activate), false);
+- menu_quit->signal_activate().connect(SigC::slot(*this, &main_window_glade::on_menu_quit_activate), false);
+- menu_run->signal_activate().connect(SigC::slot(*this, &main_window_glade::on_menu_run_activate), false);
+- menu_stop->signal_activate().connect(SigC::slot(*this, &main_window_glade::on_menu_stop_activate), false);
+- menu_save_output->signal_activate().connect(SigC::slot(*this, &main_window_glade::on_menu_save_output_activate), false);
+- menu_about->signal_activate().connect(SigC::slot(*this, &main_window_glade::on_about1_activate), false);
+- toolbar_settings_button->signal_clicked().connect(SigC::slot(*this, &main_window_glade::on_toolbar_settings_button_clicked), false);
+- toolbar_run_button->signal_clicked().connect(SigC::slot(*this, &main_window_glade::on_toolbar_run_button_clicked), false);
+- toolbar_stop_button->signal_clicked().connect(SigC::slot(*this, &main_window_glade::on_toolbar_stop_button_clicked), false);
++ menu_set_run_options->signal_activate().connect(sigc::mem_fun(*this, &main_window_glade::on_menu_set_run_options_activate), false);
++ menu_save_options_default->signal_activate().connect(sigc::mem_fun(*this, &main_window_glade::on_menu_save_options_default_activate), false);
++ menu_load_default_options->signal_activate().connect(sigc::mem_fun(*this, &main_window_glade::on_menu_load_default_options_activate), false);
++ menu_save_options->signal_activate().connect(sigc::mem_fun(*this, &main_window_glade::on_menu_save_options_activate), false);
++ save_load_options->signal_activate().connect(sigc::mem_fun(*this, &main_window_glade::on_load_options_activate), false);
++ menu_quit->signal_activate().connect(sigc::mem_fun(*this, &main_window_glade::on_menu_quit_activate), false);
++ menu_run->signal_activate().connect(sigc::mem_fun(*this, &main_window_glade::on_menu_run_activate), false);
++ menu_stop->signal_activate().connect(sigc::mem_fun(*this, &main_window_glade::on_menu_stop_activate), false);
++ menu_save_output->signal_activate().connect(sigc::mem_fun(*this, &main_window_glade::on_menu_save_output_activate), false);
++ menu_about->signal_activate().connect(sigc::mem_fun(*this, &main_window_glade::on_about1_activate), false);
++ toolbar_settings_button->signal_clicked().connect(sigc::mem_fun(*this, &main_window_glade::on_toolbar_settings_button_clicked), false);
++ toolbar_run_button->signal_clicked().connect(sigc::mem_fun(*this, &main_window_glade::on_toolbar_run_button_clicked), false);
++ toolbar_stop_button->signal_clicked().connect(sigc::mem_fun(*this, &main_window_glade::on_toolbar_stop_button_clicked), false);
+ }
+
+ main_window_glade::~main_window_glade()
+--- a/src/settings_window_glade.cc
++++ b/src/settings_window_glade.cc
+@@ -391,11 +391,11 @@
+ hbuttonbox3->show();
+ vbox6->show();
+ settings_window->show();
+- settings_benchmark_browse_button->signal_clicked().connect(SigC::slot(*this, &settings_window_glade::on_settings_benchmark_browse_button_clicked), false);
+- settings_config_browse_button->signal_clicked().connect(SigC::slot(*this, &settings_window_glade::on_settings_config_browse_button_clicked), false);
+- settings_seed_check->signal_toggled().connect(SigC::slot(*this, &settings_window_glade::on_settings_seed_check_toggled), false);
+- settings_cancel_button->signal_clicked().connect(SigC::slot(*this, &settings_window_glade::on_settings_cancel_button_clicked), false);
+- settings_okay_button->signal_clicked().connect(SigC::slot(*this, &settings_window_glade::on_settings_okay_button_clicked), false);
++ settings_benchmark_browse_button->signal_clicked().connect(sigc::mem_fun(*this, &settings_window_glade::on_settings_benchmark_browse_button_clicked), false);
++ settings_config_browse_button->signal_clicked().connect(sigc::mem_fun(*this, &settings_window_glade::on_settings_config_browse_button_clicked), false);
++ settings_seed_check->signal_toggled().connect(sigc::mem_fun(*this, &settings_window_glade::on_settings_seed_check_toggled), false);
++ settings_cancel_button->signal_clicked().connect(sigc::mem_fun(*this, &settings_window_glade::on_settings_cancel_button_clicked), false);
++ settings_okay_button->signal_clicked().connect(sigc::mem_fun(*this, &settings_window_glade::on_settings_okay_button_clicked), false);
+ }
+
+ settings_window_glade::~settings_window_glade()
+--- a/src/about_box_glade.cc
++++ b/src/about_box_glade.cc
+@@ -14,8 +14,7 @@
+ #endif //
+ #include "config.h"
+ #include <gtkmmconfig.h>
+ #if GTKMM_MAJOR_VERSION==2 && GTKMM_MINOR_VERSION>2
+-#include <sigc++/compatibility.h>
+ #define GMM_GTKMM_22_24(a,b) b
+ #else //gtkmm 2.2
+ #define GMM_GTKMM_22_24(a,b) a
+--- a/src/main_window_glade.cc
++++ b/src/main_window_glade.cc
+@@ -14,8 +14,7 @@
+ #endif //
+ #include "config.h"
+ #include <gtkmmconfig.h>
+ #if GTKMM_MAJOR_VERSION==2 && GTKMM_MINOR_VERSION>2
+-#include <sigc++/compatibility.h>
+ #define GMM_GTKMM_22_24(a,b) b
+ #else //gtkmm 2.2
+ #define GMM_GTKMM_22_24(a,b) a
+--- a/src/settings_window_glade.cc
++++ b/src/settings_window_glade.cc
+@@ -14,8 +14,7 @@
+ #endif //
+ #include "config.h"
+ #include <gtkmmconfig.h>
+ #if GTKMM_MAJOR_VERSION==2 && GTKMM_MINOR_VERSION>2
+-#include <sigc++/compatibility.h>
+ #define GMM_GTKMM_22_24(a,b) b
+ #else //gtkmm 2.2
+ #define GMM_GTKMM_22_24(a,b) a
+
diff --git a/app-benchmarks/acovea-gtk/files/acovea-gtk-1.0.1-unicode.patch b/app-benchmarks/acovea-gtk/files/acovea-gtk-1.0.1-unicode.patch
new file mode 100644
index 000000000000..a81d90282f38
--- /dev/null
+++ b/app-benchmarks/acovea-gtk/files/acovea-gtk-1.0.1-unicode.patch
@@ -0,0 +1,12 @@
+--- a/src/main_window.cc
++++ b/src/main_window.cc
+@@ -488,7 +488,7 @@
+ {
+ Glib::RefPtr<Gtk::TextBuffer> buffer = main_window_output->get_buffer();
+ Gtk::TextIter end = buffer->end();
+- buffer->insert(buffer->end(),text->c_str());
++ buffer->insert(buffer->end(),Glib::convert (text->c_str(), "UTF-8", "ISO-8859-1"));
+ }
+
+ void main_window::set_ui_running(bool running)
+
diff --git a/app-benchmarks/acovea-gtk/metadata.xml b/app-benchmarks/acovea-gtk/metadata.xml
new file mode 100644
index 000000000000..aaa006abab08
--- /dev/null
+++ b/app-benchmarks/acovea-gtk/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-benchmarks/acovea/Manifest b/app-benchmarks/acovea/Manifest
new file mode 100644
index 000000000000..fd1337d7ba7c
--- /dev/null
+++ b/app-benchmarks/acovea/Manifest
@@ -0,0 +1 @@
+DIST libacovea-5.1.1.tar.gz 363048 BLAKE2B 61f894e99f3678f3b676e0926ff6d7a6bd376a654ad109d5b7f676d7053e4b975d90e0ac01d820b8498a6992db1cbd2fb5443fbe3871ef3f86bee280fd808352 SHA512 47ac88d713004ccdbf31c29bd5ead3e9d869eee262f2c12e12bf9aa7ec177d2c1e175908704cd5463b314752692edcd98d69408dbeb5873caff1745535a3a365
diff --git a/app-benchmarks/acovea/acovea-5.1.1-r2.ebuild b/app-benchmarks/acovea/acovea-5.1.1-r2.ebuild
new file mode 100644
index 000000000000..6d3ae2f60f1c
--- /dev/null
+++ b/app-benchmarks/acovea/acovea-5.1.1-r2.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools
+
+DESCRIPTION="Analysis of Compiler Options via Evolutionary Algorithm"
+HOMEPAGE="http://www.coyotegulch.com/products/acovea/"
+SRC_URI="http://www.coyotegulch.com/distfiles/lib${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="static-libs"
+
+RDEPEND="
+ >=dev-libs/libcoyotl-3.1.0:=
+ >=dev-libs/libevocosm-3.3.0:=
+ dev-libs/expat:="
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/lib${P}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-asneeded.patch
+ "${FILESDIR}"/${P}-free-fix.patch
+ "${FILESDIR}"/${P}-gcc44.patch
+ "${FILESDIR}"/${P}-glibc-212.patch
+ "${FILESDIR}"/${P}-underlinking.patch
+ "${FILESDIR}"/${P}-libevocosm.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/app-benchmarks/acovea/files/acovea-5.1.1-asneeded.patch b/app-benchmarks/acovea/files/acovea-5.1.1-asneeded.patch
new file mode 100644
index 000000000000..3a887c15888c
--- /dev/null
+++ b/app-benchmarks/acovea/files/acovea-5.1.1-asneeded.patch
@@ -0,0 +1,16 @@
+--- a/cmdline/Makefile.am
++++ b/cmdline/Makefile.am
+@@ -7,4 +7,4 @@
+
+ runacovea_SOURCES = runacovea.cpp
+
+-LIBS = -L../libacovea -lacovea -lcoyotl -levocosm -lexpat
++LIBS = -L../libacovea -lacovea -lcoyotl -levocosm
+--- a/libacovea/Makefile.am
++++ b/libacovea/Makefile.am
+@@ -16,3 +16,5 @@
+ library_include_HEADERS = $(h_sources)
+
+ DEFS=-I. -I$(srcdir)
++
++LIBS = -lexpat
diff --git a/app-benchmarks/acovea/files/acovea-5.1.1-free-fix.patch b/app-benchmarks/acovea/files/acovea-5.1.1-free-fix.patch
new file mode 100644
index 000000000000..e20bfa3eb98f
--- /dev/null
+++ b/app-benchmarks/acovea/files/acovea-5.1.1-free-fix.patch
@@ -0,0 +1,12 @@
+--- a/benchmarks/treebench.c
++++ b/benchmarks/treebench.c
+@@ -201,8 +201,8 @@
+ if (page->m_links[n] != NULL)
+ recursive_destroy_page(page->m_links[n]);
+
+- free(page);
+ }
++ free(page);
+ }
+
+ static void free_btree(btree * btree)
diff --git a/app-benchmarks/acovea/files/acovea-5.1.1-gcc44.patch b/app-benchmarks/acovea/files/acovea-5.1.1-gcc44.patch
new file mode 100644
index 000000000000..2207f4616426
--- /dev/null
+++ b/app-benchmarks/acovea/files/acovea-5.1.1-gcc44.patch
@@ -0,0 +1,14 @@
+--- a/libacovea/acovea.cpp
++++ b/libacovea/acovea.cpp
+@@ -44,10 +44,11 @@
+ #include <unistd.h>
+ #include <sys/types.h>
+ #include <sys/wait.h>
+
+ #include <vector>
++#include <cstdio>
+ #include <cstring>
+ #include <sstream>
+ #include <iostream>
+ #include <iomanip>
+ #include <stdexcept>
diff --git a/app-benchmarks/acovea/files/acovea-5.1.1-glibc-212.patch b/app-benchmarks/acovea/files/acovea-5.1.1-glibc-212.patch
new file mode 100644
index 000000000000..996cb5ebc82e
--- /dev/null
+++ b/app-benchmarks/acovea/files/acovea-5.1.1-glibc-212.patch
@@ -0,0 +1,12 @@
+http://bugs.gentoo.org/336260
+
+--- a/libacovea/acovea.cpp
++++ b/libacovea/acovea.cpp
+@@ -44,6 +44,7 @@
+ #include <unistd.h>
+ #include <sys/types.h>
+ #include <sys/wait.h>
++#include <sys/stat.h>
+
+ #include <vector>
+ #include <cstring>
diff --git a/app-benchmarks/acovea/files/acovea-5.1.1-libevocosm.patch b/app-benchmarks/acovea/files/acovea-5.1.1-libevocosm.patch
new file mode 100644
index 000000000000..46ddb5fe4d97
--- /dev/null
+++ b/app-benchmarks/acovea/files/acovea-5.1.1-libevocosm.patch
@@ -0,0 +1,119 @@
+--- a/libacovea/acovea.cpp
++++ b/libacovea/acovea.cpp
+@@ -86,7 +86,7 @@
+ // randomize settings of this option
+ void option::randomize()
+ {
+- m_enabled = (g_random.get_rand_real2() < 0.5);
++ m_enabled = (g_random.get_real() < 0.5);
+ }
+
+ // mutate this option
+@@ -246,7 +246,7 @@
+ m_step = 1;
+
+ // possibly adjust value to randomize populations
+- size_t choice = g_random.get_rand_index(3);
++ size_t choice = g_random.get_index(3);
+
+ switch (choice)
+ {
+@@ -304,12 +304,12 @@
+ void tuning_option::mutate()
+ {
+ // select our mutation
+- if (g_random.get_rand_real2() < 0.5)
++ if (g_random.get_real() < 0.5)
+ option::mutate();
+ else
+ {
+ // mutate value of this option, up or down randomly
+- if (g_random.get_rand_real2() < 0.5)
++ if (g_random.get_real() < 0.5)
+ m_value -= m_step;
+ else
+ m_value += m_step;
+@@ -335,7 +335,7 @@
+ enum_option::enum_option(const vector<string> & a_choices, bool a_enabled)
+ : option(a_enabled),
+ m_choices(a_choices),
+- m_setting(g_random.get_rand_index(a_choices.size()))
++ m_setting(g_random.get_index(a_choices.size()))
+ {
+ // nada
+ }
+@@ -344,7 +344,7 @@
+ enum_option::enum_option(const char ** a_choices, size_t a_num_choices, bool a_enabled)
+ : option(a_enabled),
+ m_choices(),
+- m_setting(g_random.get_rand_index(a_num_choices))
++ m_setting(g_random.get_index(a_num_choices))
+ {
+ for (int n = 0; n < a_num_choices; ++n)
+ m_choices.push_back(string(a_choices[n]));
+@@ -369,7 +369,7 @@
+ token = strtok(NULL,"|");
+ }
+
+- m_setting = g_random.get_rand_index(m_choices.size());
++ m_setting = g_random.get_index(m_choices.size());
+
+ free(choices);
+ }
+@@ -407,17 +407,17 @@
+ void enum_option::randomize()
+ {
+ // randomize enabled
+- m_enabled = (g_random.get_rand_real2() < 0.5);
++ m_enabled = (g_random.get_real() < 0.5);
+
+ // randomize setting
+- m_setting = g_random.get_rand_index(m_choices.size());
++ m_setting = g_random.get_index(m_choices.size());
+ }
+
+ // mutate this option
+ void enum_option::mutate()
+ {
+ // select our mutation
+- if (g_random.get_rand() & 1)
++ if (g_random.get_real() < 0.5)
+ option::mutate();
+ else
+ {
+@@ -435,7 +435,7 @@
+
+ // find a different setting
+ while (new_setting == m_setting)
+- new_setting = g_random.get_rand_index(m_choices.size());
++ new_setting = g_random.get_index(m_choices.size());
+
+ m_setting = new_setting;
+ }
+@@ -915,7 +915,7 @@
+ // randomly pick an option from one of the parents
+ for (int n = 0; n < a_parent1.size(); ++n)
+ {
+- if (g_random.get_rand() & 1)
++ if (g_random.get_real() < 0.5)
+ child.push_back(a_parent1[n]->clone());
+ else
+ child.push_back(a_parent2[n]->clone());
+@@ -931,7 +931,7 @@
+ {
+ for (int n = 0; n < a_options.size(); ++n)
+ {
+- if (g_random.get_rand_real2() < a_mutation_chance)
++ if (g_random.get_real() < a_mutation_chance)
+ a_options[n]->mutate();
+ }
+ }
+@@ -1096,7 +1096,7 @@
+ acovea_organism * child;
+
+ // do we crossover?
+- if (g_random.get_rand_real2() <= m_crossover_rate)
++ if (g_random.get_real() <= m_crossover_rate)
+ {
+ // select a second parent
+ size_t second_index = first_index;
diff --git a/app-benchmarks/acovea/files/acovea-5.1.1-underlinking.patch b/app-benchmarks/acovea/files/acovea-5.1.1-underlinking.patch
new file mode 100644
index 000000000000..06ef410b6cc6
--- /dev/null
+++ b/app-benchmarks/acovea/files/acovea-5.1.1-underlinking.patch
@@ -0,0 +1,10 @@
+diff --git a/cmdline/Makefile.am b/cmdline/Makefile.am
+index f3c763e..8e18d9c 100644
+--- a/cmdline/Makefile.am
++++ b/cmdline/Makefile.am
+@@ -7,4 +7,4 @@ bin_PROGRAMS = runacovea
+
+ runacovea_SOURCES = runacovea.cpp
+
+-LIBS = -L../libacovea -lacovea -lcoyotl -levocosm
++LIBS = -L../libacovea -lacovea -lcoyotl -levocosm -lbrahe
diff --git a/app-benchmarks/acovea/metadata.xml b/app-benchmarks/acovea/metadata.xml
new file mode 100644
index 000000000000..aaa006abab08
--- /dev/null
+++ b/app-benchmarks/acovea/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-benchmarks/bashmark/Manifest b/app-benchmarks/bashmark/Manifest
new file mode 100644
index 000000000000..d23ebaa5ac7d
--- /dev/null
+++ b/app-benchmarks/bashmark/Manifest
@@ -0,0 +1 @@
+DIST bashmark-0.6.2.tar.bz2 21944 BLAKE2B 63c6241dfe67dbd3961d7712a5b4c2f611846e3e5a7bfa1796ff14f03610d8db0a7f71239a4eec9eaba53c09274d12f320aa30d5ffc7462ff1a186b19c456256 SHA512 43935b44c1b871d724aca0e1a6dfd99c73c29ec276c4127186e8dc6c7b27d57554b8b32a7e2372cd0b78eb584df7ee169f51f47e6666f61eaacbe35c5d4074f8
diff --git a/app-benchmarks/bashmark/bashmark-0.6.2.ebuild b/app-benchmarks/bashmark/bashmark-0.6.2.ebuild
new file mode 100644
index 000000000000..c50dd20f0339
--- /dev/null
+++ b/app-benchmarks/bashmark/bashmark-0.6.2.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="Geno's cross platform benchmarking suite"
+HOMEPAGE="http://bashmark.coders-net.de"
+
+SRC_URI="http://bashmark.coders-net.de/download/src/${P}.tar.bz2"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-as-needed.patch
+ epatch "${FILESDIR}"/${P}-gcc43.patch
+ epatch "${FILESDIR}"/${P}-gcc47.patch
+}
+
+src_install() {
+ dobin bashmark
+ dodoc ChangeLog
+}
diff --git a/app-benchmarks/bashmark/files/bashmark-0.6.2-as-needed.patch b/app-benchmarks/bashmark/files/bashmark-0.6.2-as-needed.patch
new file mode 100644
index 000000000000..6c01fd934e5d
--- /dev/null
+++ b/app-benchmarks/bashmark/files/bashmark-0.6.2-as-needed.patch
@@ -0,0 +1,12 @@
+diff -ru bashmark-0.6.2-orig/makefile bashmark-0.6.2/makefile
+--- bashmark-0.6.2-orig/makefile 2007-10-08 23:01:06.000000000 +0300
++++ bashmark-0.6.2/makefile 2007-10-08 23:01:22.000000000 +0300
+@@ -10,7 +10,7 @@
+ BIN = bashmark
+
+ $(BIN): $(OBJ)
+- $(LD) $(LDFLAGS) $(CXXFLAGS) $(OBJ) -o $(BIN)
++ $(LD) $(CXXFLAGS) $(OBJ) $(LDFLAGS) -o $(BIN)
+
+
+ Benchmark.o:
diff --git a/app-benchmarks/bashmark/files/bashmark-0.6.2-gcc43.patch b/app-benchmarks/bashmark/files/bashmark-0.6.2-gcc43.patch
new file mode 100644
index 000000000000..625abdab397b
--- /dev/null
+++ b/app-benchmarks/bashmark/files/bashmark-0.6.2-gcc43.patch
@@ -0,0 +1,48 @@
+diff -NrU5 bashmark-0.6.2.orig/Benchmark.cpp bashmark-0.6.2/Benchmark.cpp
+--- bashmark-0.6.2.orig/Benchmark.cpp 2008-06-29 11:53:07.000000000 +0200
++++ bashmark-0.6.2/Benchmark.cpp 2008-06-29 11:54:02.000000000 +0200
+@@ -15,11 +15,11 @@
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this software; if not, write to the Free Software *
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *
+ ***************************************************************************/
+-#include <string>
++#include <cstring>
+ #include "Benchmark.hpp"
+ #include "Stopwatch.hpp"
+ #include "Main.hpp"
+
+
+diff -NrU5 bashmark-0.6.2.orig/main.cpp bashmark-0.6.2/main.cpp
+--- bashmark-0.6.2.orig/main.cpp 2008-06-29 11:53:07.000000000 +0200
++++ bashmark-0.6.2/main.cpp 2008-06-29 11:56:40.000000000 +0200
+@@ -17,10 +17,11 @@
+ * along with this software; if not, write to the Free Software *
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *
+ ***************************************************************************/
+
+ #include <sstream>
++#include <cstring>
+ using std::stringstream;
+
+
+ #include "Output.hpp"
+ #include "Sysinfo.hpp"
+diff -NrU5 bashmark-0.6.2.orig/Sysinfo.cpp bashmark-0.6.2/Sysinfo.cpp
+--- bashmark-0.6.2.orig/Sysinfo.cpp 2008-06-29 11:53:07.000000000 +0200
++++ bashmark-0.6.2/Sysinfo.cpp 2008-06-29 11:55:58.000000000 +0200
+@@ -15,11 +15,12 @@
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this software; if not, write to the Free Software *
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *
+ ***************************************************************************/
+-
++
++#include <cstring>
+ #include "Sysinfo.hpp"
+
+ using Geno::Sysinfo;
+ using Geno::Cpu_Info;
+
diff --git a/app-benchmarks/bashmark/files/bashmark-0.6.2-gcc47.patch b/app-benchmarks/bashmark/files/bashmark-0.6.2-gcc47.patch
new file mode 100644
index 000000000000..cb26d32b1fd6
--- /dev/null
+++ b/app-benchmarks/bashmark/files/bashmark-0.6.2-gcc47.patch
@@ -0,0 +1,29 @@
+ https://bugs.gentoo.org/422577
+
+ error: 'usleep' was not declared in this scope
+
+
+ Benchmark.cpp | 1 +
+ main.cpp | 1 +
+ 2 files changed, 2 insertions(+)
+
+--- a/Benchmark.cpp
++++ b/Benchmark.cpp
+@@ -18,6 +18,7 @@
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *
+ ***************************************************************************/
+ #include <cstring>
++#include <unistd.h>
+ #include "Benchmark.hpp"
+ #include "Stopwatch.hpp"
+ #include "Main.hpp"
+--- a/main.cpp
++++ b/main.cpp
+@@ -20,6 +20,7 @@
+
+ #include <sstream>
+ #include <cstring>
++#include <unistd.h>
+ using std::stringstream;
+
+
diff --git a/app-benchmarks/bashmark/metadata.xml b/app-benchmarks/bashmark/metadata.xml
new file mode 100644
index 000000000000..d85b4252fc33
--- /dev/null
+++ b/app-benchmarks/bashmark/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-benchmarks/bonnie++/Manifest b/app-benchmarks/bonnie++/Manifest
new file mode 100644
index 000000000000..16e4fa97abdf
--- /dev/null
+++ b/app-benchmarks/bonnie++/Manifest
@@ -0,0 +1,3 @@
+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
diff --git a/app-benchmarks/bonnie++/bonnie++-1.97.2.ebuild b/app-benchmarks/bonnie++/bonnie++-1.97.2.ebuild
new file mode 100644
index 000000000000..b6bf7068d5d7
--- /dev/null
+++ b/app-benchmarks/bonnie++/bonnie++-1.97.2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+DESCRIPTION="Hard drive bottleneck testing benchmark suite"
+HOMEPAGE="https://www.coker.com.au/bonnie++/"
+SRC_URI="https://www.coker.com.au/${PN}/${P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~mips ppc ppc64 sparc x86"
+IUSE="debug"
+
+S="${WORKDIR}/${P}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.96-compile-flags.patch" #426788
+ "${FILESDIR}"/${PN}-1.97-zcav-array-indexing-fix.patch #309319
+)
+
+DOCS=( README.txt README-2.00 debian/changelog credits.txt )
+HTML_DOCS=( readme.html )
+
+src_configure() {
+ econf \
+ $(usex debug "--enable-debug" "") \
+ --disable-stripping
+}
+
+src_install() {
+ dobin bonnie++ zcav bon_csv2html bon_csv2txt
+ sed -i -e \
+ "s:/usr/share/doc/bonnie++:${EPREFIX}/usr/share/doc/${PF}/html:g" \
+ bonnie++.8 || die #431684
+ doman bon_csv2html.1 bon_csv2txt.1 bonnie++.8 zcav.8
+ einstalldocs
+}
diff --git a/app-benchmarks/bonnie++/bonnie++-1.97.3.ebuild b/app-benchmarks/bonnie++/bonnie++-1.97.3.ebuild
new file mode 100644
index 000000000000..3136256c8b7b
--- /dev/null
+++ b/app-benchmarks/bonnie++/bonnie++-1.97.3.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+DESCRIPTION="Hard drive bottleneck testing benchmark suite"
+HOMEPAGE="https://www.coker.com.au/bonnie++/"
+SRC_URI="https://www.coker.com.au/${PN}/${P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~mips ppc ppc64 sparc x86"
+IUSE="debug"
+
+S="${WORKDIR}/${P}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.96-compile-flags.patch" #426788
+ "${FILESDIR}"/${PN}-1.97-zcav-array-indexing-fix.patch #309319
+)
+
+DOCS=( README.txt README-2.00 debian/changelog credits.txt )
+HTML_DOCS=( readme.html )
+
+src_configure() {
+ econf \
+ $(usex debug "--enable-debug" "") \
+ --disable-stripping
+}
+
+src_install() {
+ dobin bonnie++ zcav bon_csv2html bon_csv2txt
+ sed -i -e \
+ "s:/usr/share/doc/bonnie++:${EPREFIX}/usr/share/doc/${PF}/html:g" \
+ bonnie++.8 || die #431684
+ doman bon_csv2html.1 bon_csv2txt.1 bonnie++.8 zcav.8
+ einstalldocs
+}
diff --git a/app-benchmarks/bonnie++/bonnie++-1.98.ebuild b/app-benchmarks/bonnie++/bonnie++-1.98.ebuild
new file mode 100644
index 000000000000..3a228eca434e
--- /dev/null
+++ b/app-benchmarks/bonnie++/bonnie++-1.98.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2019 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"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="debug"
+
+S="${WORKDIR}/${P}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.96-compile-flags.patch" #426788
+ "${FILESDIR}"/${PN}-1.97-zcav-array-indexing-fix.patch #309319
+)
+
+DOCS=( README.txt README-2.00 debian/changelog credits.txt )
+HTML_DOCS=( readme.html )
+
+src_configure() {
+ econf \
+ $(usex debug "--enable-debug" "") \
+ --disable-stripping
+}
+
+src_install() {
+ dobin bonnie++ zcav bon_csv2html bon_csv2txt
+ sed -i -e \
+ "s:/usr/share/doc/bonnie++:${EPREFIX}/usr/share/doc/${PF}/html:g" \
+ bonnie++.8 || die #431684
+ doman bon_csv2html.1 bon_csv2txt.1 bonnie++.8 zcav.8
+ einstalldocs
+}
diff --git a/app-benchmarks/bonnie++/files/bonnie++-1.96-compile-flags.patch b/app-benchmarks/bonnie++/files/bonnie++-1.96-compile-flags.patch
new file mode 100644
index 000000000000..05821f977ecc
--- /dev/null
+++ b/app-benchmarks/bonnie++/files/bonnie++-1.96-compile-flags.patch
@@ -0,0 +1,17 @@
+diff --git a/Makefile.in b/Makefile.in
+index 4f14819..1092891 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -9,9 +9,9 @@ prefix=@prefix@
+ 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@
diff --git a/app-benchmarks/bonnie++/files/bonnie++-1.97-zcav-array-indexing-fix.patch b/app-benchmarks/bonnie++/files/bonnie++-1.97-zcav-array-indexing-fix.patch
new file mode 100644
index 000000000000..3d92689541db
--- /dev/null
+++ b/app-benchmarks/bonnie++/files/bonnie++-1.97-zcav-array-indexing-fix.patch
@@ -0,0 +1,35 @@
+From: Göktürk Yüksek <gokturk@binghamton.edu>
+Subject: [PATCH] Fix array indexing in Zcav::Read when max_loop > 1 and start_offset > 0
+
+In method Zcav::Read, the variable 'i' holds the block index. It is
+also used as an index to arrays of measurement values (read times and
+block counts) when (max_loops > 0). However, the blocks array and
+measurements arrays will be out of sync if some initial blocks are to
+be skipped (by having start_offset > 0). Using the same index value
+for arrays of different sizes causes segfaults. Fix it by substracting
+the start_offset properly when accessing the measurements arrays.
+
+X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=309319
+
+--- a/zcav_io.cpp
++++ b/zcav_io.cpp
+@@ -108,7 +108,7 @@
+ double total_read_time = 0.0;
+ bool nextLoop = false;
+ for( ; !nextLoop && (!max_size || i < max_size)
+- && (loops == 0 || (m_times[i] && m_times[i][0] != -1.0))
++ && (loops == 0 || (m_times[i - start_offset] && m_times[i - start_offset][0] != -1.0))
+ && (!max_size || i < max_size); i++)
+ {
+ double read_time = access_data(i ? skip_rate - 1 : 0);
+@@ -135,8 +135,8 @@
+ m_times.push_back(new double[max_loops]);
+ m_count.push_back(0);
+ }
+- m_times[i][loops] = read_time;
+- m_count[i]++;
++ m_times[i - start_offset][loops] = read_time;
++ m_count[i - start_offset]++;
+ }
+ } // end loop for reading blocks
+
diff --git a/app-benchmarks/bonnie++/metadata.xml b/app-benchmarks/bonnie++/metadata.xml
new file mode 100644
index 000000000000..784de896a46f
--- /dev/null
+++ b/app-benchmarks/bonnie++/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gokturk@gentoo.org</email>
+ <name>Göktürk Yüksek</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>bircoph@gentoo.org</email>
+ <name>Andrew Savchenko</name>
+ </maintainer>
+ <longdescription>
+ Bonnie++ is based on the Bonnie hard drive benchmark by Tim Bray. This
+ program is used by ReiserFS developers, but can be useful for anyone
+ who wants to know how fast their hard drive or file system is.
+ </longdescription>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-benchmarks/bonnie/Manifest b/app-benchmarks/bonnie/Manifest
new file mode 100644
index 000000000000..68abd5794eeb
--- /dev/null
+++ b/app-benchmarks/bonnie/Manifest
@@ -0,0 +1 @@
+DIST bonnie-2.0.6.tar.gz 7140 BLAKE2B dc0a216e1926de7630fbabdd80d2d1293fc9da404c3179f5515a9756942aec7c6870220e869d1d6c299dc39c2175b6c99b54778237a9af2778b7718aaf4280f3 SHA512 4cb431986870baf1d9e5f757970a4b489f89d4349f051cc2ae0aea035ce19a7962047920a3af1567e375b2c6f1e826309b044b8a8727400601203042a34ecb5f
diff --git a/app-benchmarks/bonnie/bonnie-2.0.6-r2.ebuild b/app-benchmarks/bonnie/bonnie-2.0.6-r2.ebuild
new file mode 100644
index 000000000000..9c683b9e65ac
--- /dev/null
+++ b/app-benchmarks/bonnie/bonnie-2.0.6-r2.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs
+
+DESCRIPTION="Performance Test of Filesystem I/O using standard C library calls"
+HOMEPAGE="http://www.textuality.com/bonnie/"
+SRC_URI="http://www.textuality.com/bonnie/bonnie.tar.gz -> ${P}.tar.gz"
+
+LICENSE="bonnie"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~ia64 ~mips ppc ppc64 sparc x86"
+IUSE=""
+
+S=${WORKDIR}
+
+PATCHES=(
+ "${FILESDIR}"/bonnie_man.patch
+ "${FILESDIR}"/Makefile.patch
+ "${FILESDIR}"/${P}-includes.patch
+)
+
+src_configure() {
+ tc-export CC
+}
+
+src_install() {
+ newbin Bonnie bonnie
+ doman bonnie.1
+ dodoc Instructions
+}
diff --git a/app-benchmarks/bonnie/files/Makefile.patch b/app-benchmarks/bonnie/files/Makefile.patch
new file mode 100644
index 000000000000..d803bd077ced
--- /dev/null
+++ b/app-benchmarks/bonnie/files/Makefile.patch
@@ -0,0 +1,16 @@
+--- a/Makefile
++++ b/Makefile
+@@ -1,11 +1,9 @@
+-CFLAGS = -O $(SYSFLAGS)
+-
+ bsd:
+ @echo 'Options are "make bsd" and "make SysV" - the default is "bsd".'
+ @echo 'If you get messages about missing functions, try "make SysV."'
+- make Bonnie
++ $(MAKE) Bonnie
+
+ SysV:
+- make Bonnie 'SYSFLAGS=-DSysV'
++ $(MAKE) Bonnie 'SYSFLAGS=-DSysV'
+
+ Bonnie:
diff --git a/app-benchmarks/bonnie/files/bonnie-2.0.6-includes.patch b/app-benchmarks/bonnie/files/bonnie-2.0.6-includes.patch
new file mode 100644
index 000000000000..cfefe953c6f1
--- /dev/null
+++ b/app-benchmarks/bonnie/files/bonnie-2.0.6-includes.patch
@@ -0,0 +1,13 @@
+--- a/Bonnie.c 1996-08-28 18:23:49.000000000 +0200
++++ b/Bonnie.c 2010-10-12 20:15:26.000000000 +0200
+@@ -29,6 +29,10 @@
+ #include <fcntl.h>
+ #include <sys/types.h>
+ #include <sys/time.h>
++#include <time.h>
++#include <string.h>
++#include <stdlib.h>
++#include <sys/wait.h>
+ #if defined(SysV)
+ #include <limits.h>
+ #include <sys/times.h>
diff --git a/app-benchmarks/bonnie/files/bonnie_man.patch b/app-benchmarks/bonnie/files/bonnie_man.patch
new file mode 100644
index 000000000000..e4b2fe0a12e3
--- /dev/null
+++ b/app-benchmarks/bonnie/files/bonnie_man.patch
@@ -0,0 +1,16 @@
+--- a/bonnie.1 2003-01-07 14:19:29.000000000 -0600
++++ b/bonnie.1 2003-01-07 14:20:19.000000000 -0600
+@@ -60,11 +60,11 @@
+ .fi
+ .in
+ ..
+-.TH Bonnie 1 "2.0.6" Textuality
++.TH bonnie 1 "2.0.6" Textuality
+ .SH NAME
+ Bonnie - File system benchmark
+ .SH "SYNOPSIS"
+-.B Bonnie
++.B bonnie
+ .RI "[-d\ scratch-dir]"
+ .RI "[-html]"
+ .RI "[-m\ machine-label]"
diff --git a/app-benchmarks/bonnie/metadata.xml b/app-benchmarks/bonnie/metadata.xml
new file mode 100644
index 000000000000..d85b4252fc33
--- /dev/null
+++ b/app-benchmarks/bonnie/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-benchmarks/bootchart2/Manifest b/app-benchmarks/bootchart2/Manifest
new file mode 100644
index 000000000000..34f275c76d38
--- /dev/null
+++ b/app-benchmarks/bootchart2/Manifest
@@ -0,0 +1 @@
+DIST bootchart2-0.14.8.tar.gz 1175527 BLAKE2B 623ca2269420eda79b09d955ab9d4a37af004e9e97ad0e0c6014e53b4b0c63239661cb5359345306504980b060ccd11488970cb0aa3d832bfb55392724e715dd SHA512 58303db91d22ccc44c0dc765e7a6672fb277840555fd87ce64b8987cba85250cfe3db17f3ec7e0e1e726ad59166a5d3d01a7a262c07b5690c595877b46c66bd0
diff --git a/app-benchmarks/bootchart2/bootchart2-0.14.8-r1.ebuild b/app-benchmarks/bootchart2/bootchart2-0.14.8-r1.ebuild
new file mode 100644
index 000000000000..6cb11cd3e6ea
--- /dev/null
+++ b/app-benchmarks/bootchart2/bootchart2-0.14.8-r1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit linux-info systemd toolchain-funcs
+
+DESCRIPTION="Performance analysis and visualization of the system boot process"
+HOMEPAGE="https://github.com/mmeeks/bootchart/"
+SRC_URI="https://github.com/mmeeks/bootchart/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RESTRICT="test"
+
+RDEPEND="
+ !app-benchmarks/bootchart
+ sys-apps/lsb-release"
+
+S="${WORKDIR}"/${PN%2}-${PV}
+
+CONFIG_CHECK="~PROC_EVENTS ~TASKSTATS ~TASK_DELAY_ACCT ~TMPFS"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.14.7-sysmacros.patch # bug 579922
+ "${FILESDIR}"/${P}-no-compressed-man.patch
+)
+
+src_prepare() {
+ default
+ tc-export CC
+ sed -i \
+ -e "/^install/s:py-install-compile::g" \
+ -e "/^SYSTEMD_UNIT_DIR/s:=.*:= $(systemd_get_systemunitdir):g" \
+ Makefile || die
+ sed -i \
+ -e '/^EXIT_PROC/s:^.*$:EXIT_PROC="agetty mgetty mingetty:g' \
+ bootchartd.conf bootchartd.in || die
+}
+
+src_install() {
+ export DOCDIR=/usr/share/doc/${PF}
+ default
+
+ # Note: LIBDIR is hardcoded as /lib in collector/common.h, so we shouldn't
+ # just change it. Since no libraries are installed, /lib is fine.
+ keepdir /lib/bootchart/tmpfs
+
+ newinitd "${FILESDIR}"/${PN}.init ${PN}
+}
+
+pkg_postinst() {
+ elog "If you are using an initrd during boot"
+ elog "please add the init script to your default runlevel"
+ elog "rc-update add bootchart2 default"
+}
diff --git a/app-benchmarks/bootchart2/files/bootchart2-0.14.7-sysmacros.patch b/app-benchmarks/bootchart2/files/bootchart2-0.14.7-sysmacros.patch
new file mode 100644
index 000000000000..48cf685c0ca6
--- /dev/null
+++ b/app-benchmarks/bootchart2/files/bootchart2-0.14.7-sysmacros.patch
@@ -0,0 +1,30 @@
+https://bugs.gentoo.org/579922
+https://github.com/xrmx/bootchart/commit/add58c3b57064afd6f7d2fd5f09006d28a3e770e
+
+From add58c3b57064afd6f7d2fd5f09006d28a3e770e Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Thu, 21 Apr 2016 00:19:32 -0400
+Subject: [PATCH] include sys/sysmacros.h for major/minor/makedev
+
+These funcs are defined in the sys/sysmacros.h header, not sys/types.h.
+Linux C libraries are updating to drop the implicit include, so we need
+to include it explicitly.
+---
+ collector/collector.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/collector/collector.c b/collector/collector.c
+index cfdcb26..2f3ce6b 100644
+--- a/collector/collector.c
++++ b/collector/collector.c
+@@ -33,6 +33,7 @@
+ #include "common.h"
+
+ #include <sys/mount.h>
++#include <sys/sysmacros.h>
+ #include <linux/fs.h>
+ #include <linux/genetlink.h>
+ #include <linux/taskstats.h>
+--
+2.7.4
+
diff --git a/app-benchmarks/bootchart2/files/bootchart2-0.14.8-no-compressed-man.patch b/app-benchmarks/bootchart2/files/bootchart2-0.14.8-no-compressed-man.patch
new file mode 100644
index 000000000000..261e821a403e
--- /dev/null
+++ b/app-benchmarks/bootchart2/files/bootchart2-0.14.8-no-compressed-man.patch
@@ -0,0 +1,15 @@
+--- a/Makefile 2015-12-17 09:12:57.000000000 +0100
++++ b/Makefile 2020-04-30 13:14:08.772369141 +0200
+@@ -107,9 +107,9 @@
+ install -m 644 -D README $(DESTDIR)$(DOCDIR)/README
+ install -m 644 -D README.pybootchart $(DESTDIR)$(DOCDIR)/README.pybootchart
+ mkdir -p $(DESTDIR)$(MANDIR)
+- gzip -c bootchart2.1 > $(DESTDIR)$(MANDIR)/bootchart2.1.gz
+- gzip -c bootchartd.1 > $(DESTDIR)$(MANDIR)/$(PROGRAM_PREFIX)bootchartd$(PROGRAM_SUFFIX).1.gz
+- gzip -c pybootchartgui.1 > $(DESTDIR)$(MANDIR)/pybootchartgui.1.gz
++ install -m 644 bootchart2.1 $(DESTDIR)$(MANDIR)/bootchart2.1
++ install -m 644 bootchartd.1 $(DESTDIR)$(MANDIR)/$(PROGRAM_PREFIX)bootchartd$(PROGRAM_SUFFIX).1
++ install -m 644 pybootchartgui.1 $(DESTDIR)$(MANDIR)/pybootchartgui.1
+
+ install-service:
+ mkdir -p $(DESTDIR)$(SYSTEMD_UNIT_DIR)
diff --git a/app-benchmarks/bootchart2/files/bootchart2.init b/app-benchmarks/bootchart2/files/bootchart2.init
new file mode 100644
index 000000000000..3e5d968c0376
--- /dev/null
+++ b/app-benchmarks/bootchart2/files/bootchart2.init
@@ -0,0 +1,26 @@
+#!/sbin/openrc-run
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ use localmount
+}
+
+start() {
+ if /bin/grep -q "rdinitrd=/sbin/bootchartd" /proc/cmdline; then
+ if /bin/pidof bootchart-collector> /dev/null 2>&1; then
+ ebegin "Scheduling termination of Bootchart"
+ /sbin/bootchartd start
+ /sbin/bootchartd wait &
+ eend $?
+ fi
+ else
+ einfo "No bootchart process found!"
+ eindent
+ einfo "This script does not start bootchart, but only schedules its termination."
+ einfo "Bootchart should be started from the kernel command line."
+ einfo "Please check the README on how to do that."
+ eoutdent
+ eend 0
+ fi
+}
diff --git a/app-benchmarks/bootchart2/metadata.xml b/app-benchmarks/bootchart2/metadata.xml
new file mode 100644
index 000000000000..ee81bf4e5062
--- /dev/null
+++ b/app-benchmarks/bootchart2/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">mmeeks/bootchart</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-benchmarks/contest/Manifest b/app-benchmarks/contest/Manifest
new file mode 100644
index 000000000000..948697b5dbd1
--- /dev/null
+++ b/app-benchmarks/contest/Manifest
@@ -0,0 +1 @@
+DIST contest-0.61.tar.bz2 29204 BLAKE2B 76e19365026b63f4a37c45905769f28c921455cb4020666898efa332d88627d85e5044f385556f07325537b6b4f80079b301fd9915f068754dd80d815092ff86 SHA512 34fb83a3b37d67d9729ce14fdd066010c7360a401d21f3566be8dae7271a30f01cc5b84092405ddfb6961a2284af0a18ce6709ab6d4ab68607aa98f975815131
diff --git a/app-benchmarks/contest/contest-0.61-r1.ebuild b/app-benchmarks/contest/contest-0.61-r1.ebuild
new file mode 100644
index 000000000000..f5671af63d0d
--- /dev/null
+++ b/app-benchmarks/contest/contest-0.61-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="Test system responsiveness to compare different kernels"
+HOMEPAGE="http://users.tpg.com.au/ckolivas/contest/"
+SRC_URI="http://www.tux.org/pub/kernel/people/ck/apps/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+
+RDEPEND=">=app-benchmarks/dbench-2.0"
+PATCHES=(
+ "${FILESDIR}/${PN}-fortify_sources.patch"
+ "${FILESDIR}/${P}-fix-buildsystem.patch"
+)
+
+src_prepare() {
+ # fix #570250 by restoring pre-GCC5 inline semantics
+ append-cflags -std=gnu89
+
+ default
+ tc-export CC
+}
+src_compile() {
+ emake
+}
+
+src_install() {
+ dobin contest
+ doman contest.1
+ dodoc README
+}
diff --git a/app-benchmarks/contest/files/contest-0.61-fix-buildsystem.patch b/app-benchmarks/contest/files/contest-0.61-fix-buildsystem.patch
new file mode 100644
index 000000000000..7e8c6b7eb6a2
--- /dev/null
+++ b/app-benchmarks/contest/files/contest-0.61-fix-buildsystem.patch
@@ -0,0 +1,22 @@
+--- contest-0.61/Makefile
++++ contest-0.61/Makefile
+@@ -1,8 +1,8 @@
+ INSTPATH=/usr
+ BIN=$(INSTPATH)/bin
+ MAN=$(INSTPATH)/man
+-CC=gcc
+-CFLAGS= -W -Wall -Wpointer-arith -Wmissing-prototypes -Wmissing-declarations \
++CC?=gcc
++CFLAGS?= -W -Wall -Wpointer-arith -Wmissing-prototypes -Wmissing-declarations \
+ -g -O2
+
+ ifeq ($(shell uname),FreeBSD)
+@@ -14,7 +14,7 @@
+ list_load.o
+
+ contest: $(objs)
+- $(CC) $(CFLAGS) -o $@ $(objs) $(KVM)
++ $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(objs) $(KVM)
+ contest.1.gz: contest.1
+ gzip -c contest.1 > contest.1.gz
+ install: contest contest.1.gz
diff --git a/app-benchmarks/contest/files/contest-fortify_sources.patch b/app-benchmarks/contest/files/contest-fortify_sources.patch
new file mode 100644
index 000000000000..042065822612
--- /dev/null
+++ b/app-benchmarks/contest/files/contest-fortify_sources.patch
@@ -0,0 +1,11 @@
+--- contest-0.61/bmark.c 2009-02-27 23:13:44.000000000 +0000
++++ contest-0.61/bmark.c 2009-02-27 23:12:44.000000000 +0000
+@@ -47,7 +47,7 @@
+ }
+ /* child */
+
+- if((tmpfd=open(TMP_FILE, O_RDWR|O_CREAT|O_TRUNC))==-1){
++ if((tmpfd=open(TMP_FILE, O_RDWR|O_CREAT|O_TRUNC, S_IRUSR|S_IWUSR))==-1){
+ printsys("Could not open temporary file\n");
+ }
+ if(dup2(tmpfd, TMP_FD)==-1){
diff --git a/app-benchmarks/contest/metadata.xml b/app-benchmarks/contest/metadata.xml
new file mode 100644
index 000000000000..d85b4252fc33
--- /dev/null
+++ b/app-benchmarks/contest/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-benchmarks/cpuburn/Manifest b/app-benchmarks/cpuburn/Manifest
new file mode 100644
index 000000000000..98b54766379c
--- /dev/null
+++ b/app-benchmarks/cpuburn/Manifest
@@ -0,0 +1 @@
+DIST cpuburn-1.4a.tar.gz 9277 BLAKE2B f362380d0f57fd888ee5e5cf8fdf1809ffbc44fc3c3935b64adbd2c29ad0b3f93e5c032fdc265355574625417e7f5f9e9012e6f637c87fe0ae5e2043258f0822 SHA512 db84cabe70af0b6b3579c746f6df08c268b7145c9521fc609ce5b4cfd497dbb0639e52ab55f34110cff297ec23cf1413db28c6bff4e6f81a69722626886df7ce
diff --git a/app-benchmarks/cpuburn/cpuburn-1.4a-r3.ebuild b/app-benchmarks/cpuburn/cpuburn-1.4a-r3.ebuild
new file mode 100644
index 000000000000..ed2a072e4682
--- /dev/null
+++ b/app-benchmarks/cpuburn/cpuburn-1.4a-r3.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+MY_PV="${PV/./_}"
+
+DESCRIPTION="CPU testing utilities in optimized assembler for maximum loading"
+HOMEPAGE="https://web.archive.org/web/20110623074500/pages.sbcglobal.net/redelm/"
+SRC_URI="https://dev.gentoo.org/~conikost/files/${PN}_${MY_PV}_tar.gz -> ${P}.tar.gz"
+
+KEYWORDS="-* amd64 arm x86"
+LICENSE="GPL-2"
+SLOT="0"
+
+PATCHES=( "${FILESDIR}/${P}-variables.patch" )
+
+QA_FLAGS_IGNORED="
+ usr/bin/burnBX
+ usr/bin/burnK6
+ usr/bin/burnK7
+ usr/bin/burnMMX
+ usr/bin/burnP5
+ usr/bin/burnP6
+"
+
+QA_TEXTRELS="${QA_FLAGS_IGNORED}"
+
+src_prepare() {
+ default
+
+ # Respect users compiler and users CFLAGS and LDFLAGS on x86/amd64
+ # Must be always compiled in 32-bit on amd64 arch
+ # See https://bugs.gentoo.org/65719
+ sed -i -e 's/gcc -s/$(CC) $(CFLAGS) -m32 $(LDFLAGS)/' Makefile || die
+
+ # Respect users compiler, CFLAGS and LDFLAGS on arm
+ sed -i -e '/CC :=/d' -e 's/^.*-mfloat-abi=softfp/ $(CC) $(CFLAGS) -nostdlib $(LDFLAGS)/' ARM/Makefile || die
+}
+
+src_compile() {
+ if use arm; then
+ cd "${S}"/ARM || die
+ fi
+
+ default
+}
+
+src_install() {
+ if use arm; then
+ dobin ARM/burnCortexA8 ARM/burnCortexA9
+ local DOCS=( "ARM/Design" "README" )
+ else
+ dobin burnBX burnK6 burnK7 burnMMX burnP5 burnP6
+ local DOCS=( "Design" "README" )
+ fi
+
+ einstalldocs
+}
diff --git a/app-benchmarks/cpuburn/files/cpuburn-1.4a-variables.patch b/app-benchmarks/cpuburn/files/cpuburn-1.4a-variables.patch
new file mode 100644
index 000000000000..3e8b666c29ec
--- /dev/null
+++ b/app-benchmarks/cpuburn/files/cpuburn-1.4a-variables.patch
@@ -0,0 +1,40 @@
+--- cpuburn-1.4a.orig/burnK7.S
++++ cpuburn-1.4a/burnK7.S
+@@ -74,6 +74,7 @@ int_exit:
+ push %eax
+ int $0x80
+ #endif
++.data # Data allocation
+ .align 32,0
+ .fill 64
+ half: .long 0x7fffffff,0
+--- cpuburn-1.4a.orig/burnP5.S
++++ cpuburn-1.4a/burnP5.S
+@@ -77,6 +77,7 @@ crunch:
+ #else
+ int $0x80
+ #endif
++.data # Data allocation
+ .align 32,0
+ half: .long 0xffffffff,0x3fdfffff
+ one: .long 0xffffffff,0x3fefffff
+--- cpuburn-1.4a.orig/burnP6.S
++++ cpuburn-1.4a/burnP6.S
+@@ -69,6 +69,7 @@ int_exit: # error abort
+ push %eax # *BSD syscall
+ int $0x80
+ #endif
++.data # Data allocation
+ .align 32,0
+ half: .long 0x7fffffff,0
+ e: .long 0xffffffff,0x3fdfffff
+--- cpuburn-1.4a.orig/burnK6.S
++++ cpuburn-1.4a/burnK6.S
+@@ -68,6 +68,7 @@ int_exit:
+ push %eax
+ int $0x80
+ #endif
++.data # Data allocation
+ .align 32,0
+ half: .long 0x7fffffff,0
+ e: .long 0xffffffff,0x3fdfffff
diff --git a/app-benchmarks/cpuburn/metadata.xml b/app-benchmarks/cpuburn/metadata.xml
new file mode 100644
index 000000000000..237117a9137c
--- /dev/null
+++ b/app-benchmarks/cpuburn/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>conikost@gentoo.org</email>
+ <name>Conrad Kostecki</name>
+ </maintainer>
+ <longdescription>
+ CPU testing utilities in optimized assembler for maximum loading
+ P6 (Intel Pentium Pro/II/III and Celeron TM),
+ AMD K7 (Athlon/Duron/Thunderbird TM),
+ AMD K6, and Intel P5 Pentium chips.
+ </longdescription>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-benchmarks/dbench/Manifest b/app-benchmarks/dbench/Manifest
new file mode 100644
index 000000000000..cb2479e88370
--- /dev/null
+++ b/app-benchmarks/dbench/Manifest
@@ -0,0 +1 @@
+DIST dbench-4.0.tar.gz 2055359 BLAKE2B 20715b17472d0c6daaf1848873e33266272846447a207508c6801058ba91a38fe56045d8f6867df5814e7836e99cbd2675aad70a49021b04a3797e1231e20543 SHA512 70c65c5b079edf745c267be753919c780153c9064dbda95c270b3c2c1d8c16e84fab4e743eb777436813678ecff13ec2b55d011e8acc4bd83e58f0dda7438e7f
diff --git a/app-benchmarks/dbench/dbench-4.0.ebuild b/app-benchmarks/dbench/dbench-4.0.ebuild
new file mode 100644
index 000000000000..25861794037f
--- /dev/null
+++ b/app-benchmarks/dbench/dbench-4.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils autotools toolchain-funcs
+
+DESCRIPTION="Popular filesystem benchmark"
+SRC_URI="https://www.samba.org/ftp/pub/tridge/dbench/${P}.tar.gz"
+HOMEPAGE="https://www.samba.org/ftp/tridge/dbench/"
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="amd64 ~arm ~arm64 hppa ppc ppc64 sparc x86"
+IUSE=""
+
+DEPEND="dev-libs/popt"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ eautoheader
+ eautoconf
+ sed -i -e \
+ "s:\$(CC) -o:\$(CC) \$(LDFLAGS) -o:" \
+ Makefile.in || die
+ eautoreconf
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ dobin dbench tbench tbench_srv
+ dodoc README INSTALL
+ doman dbench.1
+ insinto /usr/share/dbench
+ doins client.txt
+}
+
+pkg_postinst() {
+ elog "You can find the client.txt file in ${ROOT}usr/share/dbench."
+}
diff --git a/app-benchmarks/dbench/metadata.xml b/app-benchmarks/dbench/metadata.xml
new file mode 100644
index 000000000000..aaa006abab08
--- /dev/null
+++ b/app-benchmarks/dbench/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-benchmarks/filebench/Manifest b/app-benchmarks/filebench/Manifest
new file mode 100644
index 000000000000..75f9248d994e
--- /dev/null
+++ b/app-benchmarks/filebench/Manifest
@@ -0,0 +1 @@
+DIST filebench-1.4.9.1.tar.gz 349535 BLAKE2B 774eab935fba422064c9c6a5c233b99545b639b4319cb9658b6555d087f1af0f59c29de57a5fef94c2256199f1c328d2309641785d8573832629fb4a28b2e716 SHA512 a6400aba4266fcf98e46c4824796a594adc5d5e7f9605f6e1ab01973ce448e27948991e453b186947a8d89f8603a69a3ba955edf2a1abccd2935196af7b6f0d1
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
index 000000000000..44380cce37a5
--- /dev/null
+++ b/app-benchmarks/filebench/filebench-1.4.9.1-r1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools
+
+DESCRIPTION="Filebench - A Model Based File System Workload Generator"
+HOMEPAGE="https://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
index 000000000000..8d24a62a89d6
--- /dev/null
+++ b/app-benchmarks/filebench/files/filebench-fix-automagic-libtecla-dependency.patch
@@ -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
diff --git a/app-benchmarks/filebench/metadata.xml b/app-benchmarks/filebench/metadata.xml
new file mode 100644
index 000000000000..f0f9b857d721
--- /dev/null
+++ b/app-benchmarks/filebench/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gokturk@gentoo.org</email>
+ <name>Göktürk Yüksek</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>bircoph@gentoo.org</email>
+ <name>Andrew Savchenko</name>
+ </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>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-benchmarks/forkbomb/Manifest b/app-benchmarks/forkbomb/Manifest
new file mode 100644
index 000000000000..9a052ef07253
--- /dev/null
+++ b/app-benchmarks/forkbomb/Manifest
@@ -0,0 +1 @@
+DIST forkbomb-1.4.tar.gz 4718 BLAKE2B cd784a4c5bfecbb1bdc295346fd78044519b1d2212e3ba8189954aaf74b754c8188a354f324e4f2702a6fc6d397a0e670a9b0c3c67b751f7fb148465ad9c3e44 SHA512 3f5404ed6b3fe70b970e79ffc5f75aef2f9b92d0087895e1ae7d3a5409f28475569dbbb00e5bcb66882f56ce34e18ce388babfbe7cfeb7729a688519663d016e
diff --git a/app-benchmarks/forkbomb/forkbomb-1.4-r1.ebuild b/app-benchmarks/forkbomb/forkbomb-1.4-r1.ebuild
new file mode 100644
index 000000000000..0cd893752836
--- /dev/null
+++ b/app-benchmarks/forkbomb/forkbomb-1.4-r1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="Controlled fork() bomber for testing heavy system load"
+HOMEPAGE="http://home.tiscali.cz:8080/~cz210552/forkbomb.html"
+SRC_URI="http://home.tiscali.cz:8080/~cz210552/distfiles/${P}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+src_prepare() {
+ sed -i '/^all/s/tags//' Makefile || die
+ default
+}
+
+src_install() {
+ dobin ${PN}
+ doman ${PN}.8
+}
diff --git a/app-benchmarks/forkbomb/metadata.xml b/app-benchmarks/forkbomb/metadata.xml
new file mode 100644
index 000000000000..8984ff8f5923
--- /dev/null
+++ b/app-benchmarks/forkbomb/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <longdescription>
+ Controlled fork() bomber for testing heavy system load
+ </longdescription>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-benchmarks/geekbench/Manifest b/app-benchmarks/geekbench/Manifest
new file mode 100644
index 000000000000..0e779ec6e2f8
--- /dev/null
+++ b/app-benchmarks/geekbench/Manifest
@@ -0,0 +1,6 @@
+DIST Geekbench-2.4.2-LinuxARM.tar.gz 1921401 BLAKE2B 34d86178e35d586b79182b3320303258a5dcc6f169cee0134f1114927ff52745d5f6c0b5d604698e45a464a157454a249cab8e3114b01dad3f7b693ca45a5b0b SHA512 0acc0ce61aa5d2575976c66aeae6ebb88ba895dd89c07daf55e2c7af344858a620336f3e79ccfc5e7b8829caa9d600f97a35a4d6e4da630d19d723dd887fdafe
+DIST Geekbench-2.4.3-Linux.tar.gz 3337551 BLAKE2B cb660f3c08cc812cb23374032490a148449a36845fe63320788432493581ec6bd5958bf178d83d68b532ffbe5c7ee13e92b0bb00c0aca968bb2e499453f1b7a7 SHA512 d84e13eb5fd28fb232a5f93aa76f4855adcb9ccffbcd90dacc3e2b45231afd82e78d40c63f729391e5d00e95c14653e83757faca4e543c6306dd913c4e0edb87
+DIST Geekbench-3.4.2-Linux.tar.gz 9986039 BLAKE2B 63d7e768d65bc033260a0d99da17df2e518750f19882e63dbc9bbe6ff0b52a8cddb35b9143e85c01838bf5d77a04599578fc0a57a3e6fd89e7aec8c8ffdd4f5b SHA512 a61a5d5481682baefdce64f6054c3373900e8cd585dcbfa2feabbf386032986b40b603619c552102401a83e0b748831d00af5b5b5278e88ef42dee176adf06e9
+DIST Geekbench-4.4.1-Linux.tar.gz 71076124 BLAKE2B 14c2b80c971798e7d2bb256e76c7ab9c48e8c1c389e2f7547a436f706ac4f21c1e52e564cd584893071ee2f9f0a4747cd03ea72cc728ff8e4f369d5cc794d77a SHA512 fa687d33a7d7a2d09c544e3d17de93f41cfa77915c708cd1ef0743f84f7f83df9d3f8df2872a8f85ed2c4c872e3cd41932685ffeb19cdb0ea047ab5116713420
+DIST Geekbench-5.1.1-Linux.tar.gz 92622793 BLAKE2B 178b57d02de43e995f4dc39bd9514bb30fbe470d82572ba43aac08004609c07c656285beb543b3e3832df39bc2e26e41bb8c7d1f617f0846f930183e67a73436 SHA512 0f0a8206ced8cbaf271d964ece273a800bdd1d5b5918130aca2e31cab59f7d716c1b714b96a934e5b0fab8a9b73d1fcdc7ea9cd7ef37963b1a923cdefb542a78
+DIST Geekbench-5.2.0-Linux.tar.gz 92893837 BLAKE2B d081cf6e4faa8c9de494cc11ba58945a8409afd92cf4244e915349ad9ae8610c08e67cf4e4da0c10c823a785e3223fde2048849db641bc05339a4cb8d0fc4c63 SHA512 b587de4c3c6c144b2244e4a85fb719aa8a11a1b413316f0d60467c15cf7d4c43e82f57d45c266dd42679623441e895fbdc3ff29dc4762794d89c9cb33a46d7d9
diff --git a/app-benchmarks/geekbench/geekbench-2.4.2.ebuild b/app-benchmarks/geekbench/geekbench-2.4.2.ebuild
new file mode 100644
index 000000000000..72a97542161a
--- /dev/null
+++ b/app-benchmarks/geekbench/geekbench-2.4.2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="A Cross-Platform Benchmark for Android, iOS, Linux, MacOS and Windows"
+HOMEPAGE="https://www.geekbench.com"
+SRC_URI="https://cdn.primatelabs.com/Geekbench-${PV}-LinuxARM.tar.gz"
+
+KEYWORDS="-* arm"
+LICENSE="geekbench"
+SLOT="2"
+
+RESTRICT="bindist mirror"
+
+S="${WORKDIR}/dist/Geekbench-${PV}-LinuxARM"
+
+QA_PREBUILT="opt/geekbench2/geekbench opt/geekbench2/geekbench_arm_32"
+
+pkg_nofetch() {
+ elog "Please download https://cdn.primatelabs.com/${A}"
+ elog "and place it in your DISTDIR directory."
+}
+
+src_install() {
+ exeinto /opt/geekbench2
+ doexe geekbench geekbench_arm_32
+
+ insinto /opt/geekbench2
+ doins geekbench.plar
+
+ dodir /opt/bin
+ dosym ../geekbench2/geekbench /opt/bin/geekbench2
+}
+
+pkg_postinst() {
+ elog "If you have purchased a commercial license, you can enter"
+ elog "your email address and your license key with the following command:"
+ elog "geekbench2 -r <email address> <license key>"
+}
diff --git a/app-benchmarks/geekbench/geekbench-2.4.3.ebuild b/app-benchmarks/geekbench/geekbench-2.4.3.ebuild
new file mode 100644
index 000000000000..cb416e92c5c5
--- /dev/null
+++ b/app-benchmarks/geekbench/geekbench-2.4.3.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="A Cross-Platform Benchmark for Android, iOS, Linux, MacOS and Windows"
+HOMEPAGE="https://www.geekbench.com"
+SRC_URI="https://cdn.primatelabs.com/Geekbench-${PV}-Linux.tar.gz"
+
+KEYWORDS="-* amd64 x86"
+LICENSE="geekbench"
+SLOT="2"
+
+RESTRICT="bindist mirror"
+
+S="${WORKDIR}/dist/Geekbench-${PV}-Linux"
+
+QA_PREBUILT="opt/geekbench2/geekbench opt/geekbench2/geekbench_x86_32 opt/geekbench2/geekbench_x86_64"
+
+pkg_nofetch() {
+ elog "Please download ${A} from ${HOMEPAGE}/${PN}2/download/linux"
+ elog "and place it in your DISTDIR directory."
+}
+
+src_install() {
+ exeinto /opt/geekbench2
+ doexe geekbench geekbench_x86_32 geekbench_x86_64
+
+ insinto /opt/geekbench2
+ doins geekbench.plar
+
+ dodir /opt/bin
+ dosym ../geekbench2/geekbench /opt/bin/geekbench2
+}
+
+pkg_postinst() {
+ elog "If you have purchased a commercial license, you can enter"
+ elog "your email address and your license key with the following command:"
+ elog "geekbench2 -r <email address> <license key>"
+}
diff --git a/app-benchmarks/geekbench/geekbench-3.4.2.ebuild b/app-benchmarks/geekbench/geekbench-3.4.2.ebuild
new file mode 100644
index 000000000000..7b396a012b92
--- /dev/null
+++ b/app-benchmarks/geekbench/geekbench-3.4.2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="A Cross-Platform Benchmark for Android, iOS, Linux, MacOS and Windows"
+HOMEPAGE="https://www.geekbench.com"
+SRC_URI="https://cdn.primatelabs.com/Geekbench-${PV}-Linux.tar.gz"
+
+KEYWORDS="-* amd64 x86"
+LICENSE="geekbench"
+SLOT="3"
+
+RESTRICT="bindist mirror"
+
+S="${WORKDIR}/dist/Geekbench-${PV}-Linux"
+
+QA_PREBUILT="opt/geekbench3/geekbench opt/geekbench3/geekbench_x86_32 opt/geekbench3/geekbench_x86_64"
+
+pkg_nofetch() {
+ elog "Please download ${A} from ${HOMEPAGE}/${PN}3/download/linux"
+ elog "and place it in your DISTDIR directory."
+}
+
+src_install() {
+ exeinto /opt/geekbench3
+ doexe geekbench geekbench_x86_32 geekbench_x86_64
+
+ insinto /opt/geekbench3
+ doins geekbench.plar
+
+ dodir /opt/bin
+ dosym ../geekbench3/geekbench /opt/bin/geekbench3
+}
+
+pkg_postinst() {
+ elog "If you have purchased a commercial license, you can enter"
+ elog "your email address and your license key with the following command:"
+ elog "geekbench3 -r <email address> <license key>"
+}
diff --git a/app-benchmarks/geekbench/geekbench-4.4.1.ebuild b/app-benchmarks/geekbench/geekbench-4.4.1.ebuild
new file mode 100644
index 000000000000..cde1b3d69e92
--- /dev/null
+++ b/app-benchmarks/geekbench/geekbench-4.4.1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="A Cross-Platform Benchmark for Android, iOS, Linux, MacOS and Windows"
+HOMEPAGE="https://www.geekbench.com"
+SRC_URI="https://cdn.geekbench.com/Geekbench-${PV}-Linux.tar.gz"
+
+KEYWORDS="-* amd64 x86"
+LICENSE="geekbench"
+SLOT="4"
+
+RESTRICT="bindist mirror"
+
+S="${WORKDIR}/Geekbench-${PV}-Linux"
+
+QA_PREBUILT="
+ opt/geekbench4/geekbench4
+ opt/geekbench4/geekbench_x86_32
+ opt/geekbench4/geekbench_x86_64
+"
+
+pkg_nofetch() {
+ elog "Please download ${A} from ${HOMEPAGE}/download/linux"
+ elog "and place it in your DISTDIR directory."
+}
+
+src_install() {
+ exeinto /opt/geekbench4
+ doexe geekbench4 geekbench_x86_32 geekbench_x86_64
+
+ insinto /opt/geekbench4
+ doins geekbench.plar
+
+ dodir /opt/bin
+ dosym ../geekbench4/geekbench4 /opt/bin/geekbench4
+}
+
+pkg_postinst() {
+ elog "If you have purchased a commercial license, you can enter"
+ elog "your email address and your license key with the following command:"
+ elog "geekbench4 -r <email address> <license key>"
+}
diff --git a/app-benchmarks/geekbench/geekbench-5.1.1.ebuild b/app-benchmarks/geekbench/geekbench-5.1.1.ebuild
new file mode 100644
index 000000000000..7349eb155416
--- /dev/null
+++ b/app-benchmarks/geekbench/geekbench-5.1.1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="A Cross-Platform Benchmark for Android, iOS, Linux, MacOS and Windows"
+HOMEPAGE="https://www.geekbench.com/"
+SRC_URI="https://cdn.geekbench.com/Geekbench-${PV}-Linux.tar.gz"
+
+KEYWORDS="-* amd64"
+LICENSE="geekbench"
+SLOT="5"
+
+RESTRICT="bindist mirror"
+
+S="${WORKDIR}/Geekbench-${PV}-Linux"
+
+QA_PREBUILT="
+ opt/geekbench5/geekbench5
+ opt/geekbench5/geekbench_x86_64
+"
+
+pkg_nofetch() {
+ elog "Please download ${A} from ${HOMEPAGE}/download/linux"
+ elog "and place it in your DISTDIR directory."
+}
+
+src_install() {
+ exeinto /opt/geekbench5
+ doexe geekbench5 geekbench_x86_64
+
+ insinto /opt/geekbench5
+ doins geekbench.plar
+
+ dodir /opt/bin
+ dosym ../geekbench5/geekbench5 /opt/bin/geekbench5
+}
+
+pkg_postinst() {
+ elog "If you have purchased a commercial license, you can enter"
+ elog "your email address and your license key with the following command:"
+ elog "geekbench5 -r <email address> <license key>"
+}
diff --git a/app-benchmarks/geekbench/geekbench-5.2.0.ebuild b/app-benchmarks/geekbench/geekbench-5.2.0.ebuild
new file mode 100644
index 000000000000..82d4a4a67fbf
--- /dev/null
+++ b/app-benchmarks/geekbench/geekbench-5.2.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="A Cross-Platform Benchmark for Android, iOS, Linux, MacOS and Windows"
+HOMEPAGE="https://www.geekbench.com/"
+SRC_URI="https://cdn.geekbench.com/Geekbench-${PV}-Linux.tar.gz"
+
+KEYWORDS="-* ~amd64"
+LICENSE="geekbench"
+SLOT="5"
+
+RESTRICT="bindist mirror"
+
+S="${WORKDIR}/Geekbench-${PV}-Linux"
+
+QA_PREBUILT="
+ opt/geekbench5/geekbench5
+ opt/geekbench5/geekbench_x86_64
+"
+
+pkg_nofetch() {
+ elog "Please download ${A} from ${HOMEPAGE}/download/linux"
+ elog "and place it in your DISTDIR directory."
+}
+
+src_install() {
+ exeinto /opt/geekbench5
+ doexe geekbench5 geekbench_x86_64
+
+ insinto /opt/geekbench5
+ doins geekbench.plar
+
+ dodir /opt/bin
+ dosym ../geekbench5/geekbench5 /opt/bin/geekbench5
+}
+
+pkg_postinst() {
+ elog "If you have purchased a commercial license, you can enter"
+ elog "your email address and your license key with the following command:"
+ elog "geekbench5 -r <email address> <license key>"
+}
diff --git a/app-benchmarks/geekbench/metadata.xml b/app-benchmarks/geekbench/metadata.xml
new file mode 100644
index 000000000000..44305c0ec4f3
--- /dev/null
+++ b/app-benchmarks/geekbench/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>conikost@gentoo.org</email>
+ <name>Conrad Kostecki</name>
+ </maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-benchmarks/hey/Manifest b/app-benchmarks/hey/Manifest
new file mode 100644
index 000000000000..22acac1f6e93
--- /dev/null
+++ b/app-benchmarks/hey/Manifest
@@ -0,0 +1,3 @@
+DIST github.com-golang-net-cfe3c2a.tar.gz 730931 BLAKE2B 634ce4c6abe4d02aad4eeb673c45986822688d43fa9492f7f139c25a56a3a67bc17e2324d90168824808dfb3eb871433d1a79f8136b164f65e00fed53c548d23 SHA512 d284328842b92341b93394445d457f3c19d4459b0f303158cf656a76adc337f754edd93b95525e76e529c3c510dbb939455377584344bc91e3446679345fef2d
+DIST github.com-rakyll-pb-8d46b8b.tar.gz 4964 BLAKE2B 32208e752d8b676ac967ea8a6d5414ec607e874e62f7b52e94f856e1bda972ecf5d0e81d714c2661ee67ae8778fdf8ff58269f9f5349faad9db505556122cf48 SHA512 d13df436fcc04a98aca298a85b224fb89a00c087d22b862d8b71fc42dac9f6c0a8b68e09ab8802138c32b88f67162d99d30609564c1f61d95da400c32f0c31f8
+DIST hey-0.1_pre20160906.tar.gz 11105 BLAKE2B df6d8c2d5c3ba3de6f18613c67033b009cbc268416a54afd473cb5a94d7f95248e71fcc856a94d71a445ba8646ee727d0f7997b195e47dc42167a7cfea347c56 SHA512 175ee1d155f932a1c28ed2a7d9359f512097c625881cdd7345123aa4d9abc68db9a16d64ea99ae58dcb12090d940615f1922a67fc98a175db87a4a79f5fd1f04
diff --git a/app-benchmarks/hey/hey-0.1_pre20160906.ebuild b/app-benchmarks/hey/hey-0.1_pre20160906.ebuild
new file mode 100644
index 000000000000..d7128e7e976a
--- /dev/null
+++ b/app-benchmarks/hey/hey-0.1_pre20160906.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2020 Go Overlay Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+GOLANG_PKG_IMPORTPATH="github.com/rakyll"
+GOLANG_PKG_VERSION="7ba4a57f7ee020859c0b9c527e145206169b44be"
+GOLANG_PKG_HAVE_TEST=1
+
+GOLANG_PKG_DEPENDENCIES=(
+ "github.com/rakyll/pb:8d46b8b"
+ "github.com/golang/net:cfe3c2a -> golang.org/x"
+)
+
+inherit golang-single
+
+DESCRIPTION="HTTP(S) load generator, ApacheBench (ab) replacement, written in GoLang"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~arm"
+
+DEPEND="!app-benchmarks/boom"
+RDEPEND=">=dev-lang/go-1.7.0"
diff --git a/app-benchmarks/hey/metadata.xml b/app-benchmarks/hey/metadata.xml
new file mode 100644
index 000000000000..2727c597869e
--- /dev/null
+++ b/app-benchmarks/hey/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>toffanin.mauro@gmail.com</email>
+ <name>Mauro Toffanin</name>
+ <description>Maintainer. Assign bugs to him</description>
+ </maintainer>
+ <origin>go-overlay</origin>
+</pkgmetadata>
diff --git a/app-benchmarks/httperf/Manifest b/app-benchmarks/httperf/Manifest
new file mode 100644
index 000000000000..2c7c897714b0
--- /dev/null
+++ b/app-benchmarks/httperf/Manifest
@@ -0,0 +1 @@
+DIST httperf-0.9.1_p20181111.tar.gz 107070 BLAKE2B 044f45b0d4b17bc714a718835be1e713092fe7f6d6573df237ba87791e5783e8f60d1218f29e01473ccdeec3b461d3ab7d35d68a1037ee693865a37fd78b7ea5 SHA512 34cc92f3de6d1dadc3fedc5b5f617538b76787496f9dd28b7800866abaf96c7410765d4bb0989000910bf2b51433292c0a7009fe64ba4fd29889ce96cc4d10fc
diff --git a/app-benchmarks/httperf/files/httperf-0.9.1_p20181111-libressl.patch b/app-benchmarks/httperf/files/httperf-0.9.1_p20181111-libressl.patch
new file mode 100644
index 000000000000..e1c0c90fac07
--- /dev/null
+++ b/app-benchmarks/httperf/files/httperf-0.9.1_p20181111-libressl.patch
@@ -0,0 +1,49 @@
+From 1c4277eb9288c719b009aacb4bd71ca543f51cbd Mon Sep 17 00:00:00 2001
+From: Stefan Strogin <steils@gentoo.org>
+Date: Mon, 3 Jun 2019 16:18:21 +0300
+Subject: [PATCH] Use correct ifdefs for checking TLS 1.3
+
+TLS 1.3 is not ready yet in LibreSSL. Also there is a theoretical
+possibility of OpenSSL >=1.1.1 built without TLS 1.3 support
+
+Upstream-Status: Submitted
+[https://github.com/httperf/httperf/pull/66]
+Signed-off-by: Stefan Strogin <steils@gentoo.org>
+---
+ src/httperf.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/httperf.c b/src/httperf.c
+index af6f568..5dbba07 100755
+--- a/src/httperf.c
++++ b/src/httperf.c
+@@ -687,7 +687,7 @@ main(int argc, char **argv)
+ param.ssl_protocol = 5;
+ else if (strcasecmp (optarg, "TLSv1.2") == 0 || strcasecmp (optarg, "TLSv1_2") == 0)
+ param.ssl_protocol = 6;
+-#if (OPENSSL_VERSION_NUMBER >= 0x10101000L)
++#ifdef TLS1_3_VERSION
+ else if (strcasecmp (optarg, "TLSv1.3") == 0 || strcasecmp (optarg, "TLSv1_3") == 0)
+ param.ssl_protocol = 7;
+ #endif
+@@ -1104,7 +1104,7 @@ main(int argc, char **argv)
+ SSL_CTX_set_options(ssl_ctx, SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3 | SSL_OP_NO_TLSv1 | SSL_OP_NO_TLSv1_1); break;
+ #endif
+
+-#if (OPENSSL_VERSION_NUMBER >= 0x10101000L)
++#ifdef TLS1_3_VERSION
+ /* 7/TLSv1.3 */
+ case 7:
+ ssl_ctx = SSL_CTX_new (TLS_client_method ());
+@@ -1329,7 +1329,7 @@ main(int argc, char **argv)
+ case 4: printf (" --ssl-protocol=TLSv1.0"); break;
+ case 5: printf (" --ssl-protocol=TLSv1.1"); break;
+ case 6: printf (" --ssl-protocol=TLSv1.2"); break;
+-#if (OPENSSL_VERSION_NUMBER >= 0x10101000L)
++#ifdef TLS1_3_VERSION
+ case 7: printf (" --ssl-protocol=TLSv1.3"); break;
+ #endif
+ }
+--
+2.21.0
+
diff --git a/app-benchmarks/httperf/httperf-0.9.1_p20181111-r1.ebuild b/app-benchmarks/httperf/httperf-0.9.1_p20181111-r1.ebuild
new file mode 100644
index 000000000000..d340a5ce8237
--- /dev/null
+++ b/app-benchmarks/httperf/httperf-0.9.1_p20181111-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+COMMIT="00bf5dab6fd284aa559f125964f5fe6dc0f23595"
+inherit autotools
+
+DESCRIPTION="A tool from HP for measuring web server performance"
+HOMEPAGE="https://github.com/httperf/httperf"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+-with-openssl-exception"
+SLOT="0"
+KEYWORDS="~amd64 ~mips ~x86 ~amd64-linux ~x64-macos"
+IUSE="debug idleconn libressl"
+
+DEPEND="
+ idleconn? ( dev-libs/libevent:0= )
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+PATCHES=( "${FILESDIR}"/${P}-libressl.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --bindir="${EPREFIX}"/usr/bin
+ $(use_enable debug)
+ $(use_enable idleconn)
+ )
+
+ econf "${myeconfargs[@]}"
+}
diff --git a/app-benchmarks/httperf/httperf-0.9.1_p20181111.ebuild b/app-benchmarks/httperf/httperf-0.9.1_p20181111.ebuild
new file mode 100644
index 000000000000..f3dc6dda6969
--- /dev/null
+++ b/app-benchmarks/httperf/httperf-0.9.1_p20181111.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+COMMIT="00bf5dab6fd284aa559f125964f5fe6dc0f23595"
+inherit autotools
+
+DESCRIPTION="A tool from HP for measuring web server performance"
+HOMEPAGE="https://github.com/httperf/httperf"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+-with-openssl-exception"
+SLOT="0"
+KEYWORDS="amd64 ~mips x86 ~amd64-linux ~x64-macos"
+IUSE="debug idleconn libressl"
+
+DEPEND="
+ idleconn? ( dev-libs/libevent:0= )
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --bindir="${EPREFIX}"/usr/bin
+ $(use_enable debug)
+ $(use_enable idleconn)
+ )
+
+ econf "${myeconfargs[@]}"
+}
diff --git a/app-benchmarks/httperf/metadata.xml b/app-benchmarks/httperf/metadata.xml
new file mode 100644
index 000000000000..7d094d35d013
--- /dev/null
+++ b/app-benchmarks/httperf/metadata.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gokturk@gentoo.org</email>
+ <name>Göktürk Yüksek</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>zekeby@fastmail.com</email>
+ <name>Taha Göktuğ Yüksek</name>
+ </maintainer>
+ <longdescription lang="en">Httperf is a tool for measuring web server
+ performance. It provides a flexible facility for generating various HTTP
+ workloads and for measuring server performance. The focus of httperf is
+ not on implementing one particular benchmark but on providing a robust,
+ high-performance tool that facilitates the construction of both micro-
+ and macro-level benchmarks. The three distinguishing characteristics of
+ httperf are its robustness, which includes the ability to generate and
+ sustain server overload, support for the HTTP/1.1 and SSL protocols, and
+ its extensibility to new workload generators and performance
+ measurements.</longdescription>
+ <use>
+ <flag name="idleconn">Build with the idleconn program</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">httperf/httperf</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-benchmarks/i7z/Manifest b/app-benchmarks/i7z/Manifest
new file mode 100644
index 000000000000..79422781bfe0
--- /dev/null
+++ b/app-benchmarks/i7z/Manifest
@@ -0,0 +1 @@
+DIST i7z-93_p20131012.tar.gz 879969 BLAKE2B 73b1f2e777cef9799fc9e11d366c989c37f4bad03676409855fdd8229a66d1075805068ad424ab0b46bb9bb4fe62431fb6c79b414fde0c1b1d29935ca4566839 SHA512 ef2dfc36407b18a2081413d423cc3d38c38121e386d9068eee9a794b810232727b3abbd22d3b36bc32206f4dc89dd881a4550df19108c439a91f01369bf74d5a
diff --git a/app-benchmarks/i7z/files/fix-insecure-tempfile.patch b/app-benchmarks/i7z/files/fix-insecure-tempfile.patch
new file mode 100644
index 000000000000..fb027158434b
--- /dev/null
+++ b/app-benchmarks/i7z/files/fix-insecure-tempfile.patch
@@ -0,0 +1,76 @@
+Author: Andreas Beckmann <anbe@debian.org>
+Description: fix insecure temfile usage: /tmp/cpufreq.txt
+ switch from system() + fopen() to popen()
+ disable other insecure tempfiles that may be generated but not used
+Bug-Debian: http://bugs.debian.org/718418
+
+diff --git a/GUI/i7z_GUI.cpp b/GUI/i7z_GUI.cpp
+index 2705e84..60eaeb2 100644
+--- a/GUI/i7z_GUI.cpp
++++ b/GUI/i7z_GUI.cpp
+@@ -171,18 +171,17 @@ MyThread::run ()
+ //CPUINFO is wrong for i7 but correct for the number of physical and logical cores present
+ //If Hyperthreading is enabled then, multiple logical processors will share a common CORE ID
+ //http://www.redhat.com/magazine/022aug06/departments/tips_tricks/
+- system ("cat /proc/cpuinfo |grep MHz|sed 's/cpu\\sMHz\\s*:\\s//'|tail -n 1 > /tmp/cpufreq.txt");
+- system ("grep \"core id\" /proc/cpuinfo |sort -|uniq -|wc -l > /tmp/numPhysical.txt");
+- system ("grep \"processor\" /proc/cpuinfo |sort -|uniq -|wc -l > /tmp/numLogical.txt");
++ //system ("grep \"core id\" /proc/cpuinfo |sort -|uniq -|wc -l > /tmp/numPhysical.txt");
++ //system ("grep \"processor\" /proc/cpuinfo |sort -|uniq -|wc -l > /tmp/numLogical.txt");
+
+
+- //Open the parsed cpufreq file and obtain the cpufreq from /proc/cpuinfo
++ // obtain the cpufreq from /proc/cpuinfo
+ FILE *tmp_file;
+- tmp_file = fopen ("/tmp/cpufreq.txt", "r");
++ tmp_file = popen ("sed -n '/MHz/ { s/cpu\\sMHz\\s*:\\s//p; q }' /proc/cpuinfo", "r");
+ char tmp_str[30];
+ fgets (tmp_str, 30, tmp_file);
++ pclose (tmp_file);
+ double cpu_freq_cpuinfo = atof (tmp_str);
+- fclose (tmp_file);
+
+ unsigned int numPhysicalCores, numLogicalCores;
+ numPhysicalCores = socket_0.num_physical_cores + socket_1.num_physical_cores;
+diff --git a/helper_functions.c b/helper_functions.c
+index 2f8da87..906c298 100644
+--- a/helper_functions.c
++++ b/helper_functions.c
+@@ -531,16 +531,13 @@ double cpufreq_info()
+ //CPUINFO is wrong for i7 but correct for the number of physical and logical cores present
+ //If Hyperthreading is enabled then, multiple logical processors will share a common CORE ID
+ //http://www.redhat.com/magazine/022aug06/departments/tips_tricks/
+- system
+- ("cat /proc/cpuinfo |grep MHz|sed 's/cpu\\sMHz\\s*:\\s//'|tail -n 1 > /tmp/cpufreq.txt");
+
+-
+- //Open the parsed cpufreq file and obtain the cpufreq from /proc/cpuinfo
++ // obtain the cpufreq from /proc/cpuinfo
+ FILE *tmp_file;
+- tmp_file = fopen ("/tmp/cpufreq.txt", "r");
++ tmp_file = popen ("sed -n '/MHz/ { s/cpu\\sMHz\\s*:\\s//p; q }' /proc/cpuinfo", "r");
+ char tmp_str[30];
+ fgets (tmp_str, 30, tmp_file);
+- fclose (tmp_file);
++ pclose (tmp_file);
+ return atof(tmp_str);
+ }
+
+diff --git a/i7z_Single_Socket.c b/i7z_Single_Socket.c
+index 015f154..d0afee0 100644
+--- a/i7z_Single_Socket.c
++++ b/i7z_Single_Socket.c
+@@ -823,10 +823,13 @@ void print_i7z_single ()
+ //CPUINFO is wrong for i7 but correct for the number of physical and logical cores present
+ //If Hyperthreading is enabled then, multiple logical processors will share a common CORE ID
+ //http://www.redhat.com/magazine/022aug06/departments/tips_tricks/
++ERROR INSECURE TMPFILE
+ system
+ ("cat /proc/cpuinfo |grep MHz|sed 's/cpu\\sMHz\\s*:\\s//'|tail -n 1 > /tmp/cpufreq.txt");
++ERROR INSECURE TMPFILE
+ system
+ ("grep \"core id\" /proc/cpuinfo |sort -|uniq -|wc -l > /tmp/numPhysical.txt");
++ERROR INSECURE TMPFILE
+ system
+ ("grep \"processor\" /proc/cpuinfo |sort -|uniq -|wc -l > /tmp/numLogical.txt");
+ //At this step, /tmp/numPhysical contains number of physical cores in machine and
diff --git a/app-benchmarks/i7z/files/fix_cpuid_asm.patch b/app-benchmarks/i7z/files/fix_cpuid_asm.patch
new file mode 100644
index 000000000000..27739a64523e
--- /dev/null
+++ b/app-benchmarks/i7z/files/fix_cpuid_asm.patch
@@ -0,0 +1,21 @@
+Author: Andreas Beckmann <anbe@debian.org>
+Description: fix cpuid inline assembly
+ the old code zeroed the upper half of %rbx
+
+--- a/helper_functions.c
++++ b/helper_functions.c
+@@ -101,13 +101,7 @@ static inline void cpuid (unsigned int i
+ unsigned int *ecx, unsigned int *edx)
+ {
+ unsigned int _eax = info, _ebx, _ecx, _edx;
+- asm volatile ("mov %%ebx, %%edi;" // save ebx (for PIC)
+- "cpuid;"
+- "mov %%ebx, %%esi;" // pass to caller
+- "mov %%edi, %%ebx;" // restore ebx
+- :"+a" (_eax), "=S" (_ebx), "=c" (_ecx), "=d" (_edx)
+- : /* inputs: eax is handled above */
+- :"edi" /* clobbers: we hit edi directly */);
++ asm volatile ("cpuid\n\t" : "+a" (_eax), "=b" (_ebx), "=c" (_ecx), "=d" (_edx) : : );
+ if (eax) *eax = _eax;
+ if (ebx) *ebx = _ebx;
+ if (ecx) *ecx = _ecx;
diff --git a/app-benchmarks/i7z/files/gcc-10.patch b/app-benchmarks/i7z/files/gcc-10.patch
new file mode 100644
index 000000000000..206b2c143402
--- /dev/null
+++ b/app-benchmarks/i7z/files/gcc-10.patch
@@ -0,0 +1,17 @@
+Author: Andreas Beckmann <anbe@debian.org>
+Description: fix FTBFS with gcc-10
+ gcc-10 defaults to -fno-common
+ see https://gcc.gnu.org/gcc-10/porting_to.html
+Bug-Debian: https://bugs.debian.org/957351
+
+--- a/i7z_Dual_Socket.c
++++ b/i7z_Dual_Socket.c
+@@ -37,7 +37,7 @@ float Read_Voltage_CPU(int cpu_num);
+ extern struct program_options prog_options;
+ FILE *fp_log_file;
+
+-struct timespec global_ts;
++extern struct timespec global_ts;
+ extern FILE *fp_log_file_freq_1, *fp_log_file_freq_2;
+
+ extern char* CPU_FREQUENCY_LOGGING_FILE_single;
diff --git a/app-benchmarks/i7z/files/gcc5.patch b/app-benchmarks/i7z/files/gcc5.patch
new file mode 100644
index 000000000000..dd3ed99a1c7b
--- /dev/null
+++ b/app-benchmarks/i7z/files/gcc5.patch
@@ -0,0 +1,40 @@
+diff -Nuar i7z-5023138d7c35c4667c938b853e5ea89737334e92/GUI/i7z_GUI.cpp
+i7z-5023138d7c35c4667c938b853e5ea89737334e92-fixed/GUI/i7z_GUI.cpp
+--- i7z-5023138d7c35c4667c938b853e5ea89737334e92/GUI/i7z_GUI.cpp 2013-10-12 20:59:19.000000000 +0000
++++ i7z-5023138d7c35c4667c938b853e5ea89737334e92-fixed/GUI/i7z_GUI.cpp 2017-03-06 18:27:54.825756111 +0000
+@@ -16,7 +16,7 @@
+ #include <sys/types.h>
+ #include <sys/time.h>
+ #include <time.h>
+-#include <math.h>
++#include <cmath>
+
+ #include <QApplication>
+ #include <QPushButton>
+@@ -382,7 +382,7 @@
+
+ //C1_time[i] -= C3_time[i] + C6_time[i];
+ C1_time[i] = c1_time - (C3_time[i] + C6_time[i]) ;
+- if (!isnan(c1_time) && !isinf(c1_time)) {
++ if (!std::isnan(c1_time) && !std::isinf(c1_time)) {
+ if (C1_time[i] <= 0) {
+ C1_time[i]=0;
+ }
+@@ -642,13 +642,13 @@
+
+ for (i = 0; i < (int)numCPUs; i++)
+ {
+- if ( (mythread->FREQ[i] > Max_Freq_socket0) && (!isnan(mythread->FREQ[i])) &&
+- (!isinf(mythread->FREQ[i])) && (socket_list[i] == socket_0.socket_num) ) {
++ if ( (mythread->FREQ[i] > Max_Freq_socket0) && (!std::isnan(mythread->FREQ[i])) &&
++ (!std::isinf(mythread->FREQ[i])) && (socket_list[i] == socket_0.socket_num) ) {
+ Max_Freq_socket0 = mythread->FREQ[i];
+ num_socket0_cpus++;
+ }
+- if ( (mythread->FREQ[i] > Max_Freq_socket1) && (!isnan(mythread->FREQ[i])) &&
+- (!isinf(mythread->FREQ[i])) && (socket_list[i] == socket_1.socket_num) ) {
++ if ( (mythread->FREQ[i] > Max_Freq_socket1) && (!std::isnan(mythread->FREQ[i])) &&
++ (!std::isinf(mythread->FREQ[i])) && (socket_list[i] == socket_1.socket_num) ) {
+ Max_Freq_socket1 = mythread->FREQ[i];
+ num_socket1_cpus++;
+ }
diff --git a/app-benchmarks/i7z/files/hyphen-used-as-minus-sign.patch b/app-benchmarks/i7z/files/hyphen-used-as-minus-sign.patch
new file mode 100644
index 000000000000..f908b934621e
--- /dev/null
+++ b/app-benchmarks/i7z/files/hyphen-used-as-minus-sign.patch
@@ -0,0 +1,26 @@
+Author: Andreas Beckmann <anbe@debian.org>
+Description: fix hyphen abuse
+
+--- a/doc/i7z.man
++++ b/doc/i7z.man
+@@ -7,15 +7,15 @@
+ i7z runs the i7z, ncurses based, program without any options. i7z will print out the C-states and temperature for i3, i5 and i7 based Core processors from Intel (including Nehalems, Sandy Bridge and Ivy Bridge).
+ .SH OPTIONS
+ .TP
+-\fB-h, --help \fPshow the list of options available with the i7z tool.
++\fB\-h, \-\-help \fPshow the list of options available with the i7z tool.
+ .TP
+-\fB-w [a|l], --write [a,l] \fPLogging of the frequencies can be turned on with this options. Option "-w a" or "--write a" will append to the log file. Option "-w l" or "--write l" will replace the log file.
++\fB\-w [a|l], \-\-write [a,l] \fPLogging of the frequencies can be turned on with this options. Option "\-w a" or "\-\-write a" will append to the log file. Option "\-w l" or "\-\-write l" will replace the log file.
+ .TP
+-\fB-l, --logfile [FILENAME] \fPChange the log file name to the specified FILENAME. Default logging file is cpu_freq_log.txt (single socket) or cpu_freq_log_dual%d.txt (dual socket, %d is either 0, 1).
++\fB\-l, \-\-logfile [FILENAME] \fPChange the log file name to the specified FILENAME. Default logging file is cpu_freq_log.txt (single socket) or cpu_freq_log_dual%d.txt (dual socket, %d is either 0, 1).
+ .TP
+-\fB--socket0 [SOCKETNUM], --socket1 [SOCKETNUM] \fPThe tool can print information for about 2 sockets at once at the most. The top view will be, by default, of the first socket (controlled by --socket0) and the bottom view will be of the second socket (controlled by --socket1). Supply the appropriate value of 0 or 1 or more for SOCKETNUM (if there are more sockets on the machine) to show in the top and bottom view.
++\fB\-\-socket0 [SOCKETNUM], \-\-socket1 [SOCKETNUM] \fPThe tool can print information for about 2 sockets at once at the most. The top view will be, by default, of the first socket (controlled by \-\-socket0) and the bottom view will be of the second socket (controlled by \-\-socket1). Supply the appropriate value of 0 or 1 or more for SOCKETNUM (if there are more sockets on the machine) to show in the top and bottom view.
+ .TP
+-\fB--nogui \fPDisable the GUI. Useful when the only need is logging.
++\fB\-\-nogui \fPDisable the GUI. Useful when the only need is logging.
+ .SH Example
+ To print for two sockets and also change the log file (log to /tmp/logfilei7z)
+
diff --git a/app-benchmarks/i7z/files/i7z-0.27.2-ncurses.patch b/app-benchmarks/i7z/files/i7z-0.27.2-ncurses.patch
new file mode 100644
index 000000000000..d521674af6cc
--- /dev/null
+++ b/app-benchmarks/i7z/files/i7z-0.27.2-ncurses.patch
@@ -0,0 +1,22 @@
+Index: Makefile
+===================================================================
+--- a/Makefile (revision 109)
++++ b/Makefile (working copy)
+@@ -19,7 +19,7 @@
+
+ CC ?= gcc
+
+-LIBS += -lncurses -lpthread -lrt -lm
++LIBS += `$(PKG_CONFIG) --libs ncurses` -lpthread -lrt -lm
+ INCLUDEFLAGS =
+
+ BIN = i7z
+@@ -42,7 +42,7 @@
+
+ #http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=644728 for -ltinfo on debian
+ static-bin: message $(OBJ)
+- $(CC) $(CFLAGS) $(LDFLAGS) -o $(BIN) $(OBJ) -static-libgcc -DNCURSES_STATIC -static -lpthread -lncurses -lrt -lm -ltinfo
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $(BIN) $(OBJ) -static-libgcc -DNCURSES_STATIC -static -lpthread `$(PKG_CONFIG) --static --libs ncurses` -lrt -lm
+
+ # perfmon-bin: message $(OBJ)
+ # $(CC) $(CFLAGS) $(LDFLAGS) -o $(PERFMON-BIN) perfmon-i7z.c helper_functions.c $(LIBS)
diff --git a/app-benchmarks/i7z/files/install-i7z_rw_registers.patch b/app-benchmarks/i7z/files/install-i7z_rw_registers.patch
new file mode 100644
index 000000000000..65c36e9a26f6
--- /dev/null
+++ b/app-benchmarks/i7z/files/install-i7z_rw_registers.patch
@@ -0,0 +1,26 @@
+Author: Andreas Beckmann <anbe@debian.org>
+Description: install the i7z_rw_registers script and fix the hashbang
+
+--- a/i7z_rw_registers.rb
++++ b/i7z_rw_registers.rb
+@@ -1,3 +1,5 @@
++#!/usr/bin/ruby
++
+ #* ----------------------------------------------------------------------- *
+ # *
+ # * Under GPL v3
+@@ -7,7 +9,6 @@
+ # *
+ # * ----------------------------------------------------------------------- */
+
+-#!/usr/bin/ruby
+
+ def print_command_list()
+ print "Do you need help? \n"
+--- a/Makefile
++++ b/Makefile
+@@ -61,3 +61,4 @@
+ install -D -m 755 $(BIN) $(DESTDIR)$(sbindir)$(BIN)
+ install -d $(DESTDIR)$(docdir)
+ install -m 0644 README.txt put_cores_offline.sh put_cores_online.sh MAKEDEV-cpuid-msr $(DESTDIR)$(docdir)
++ install -m 0755 i7z_rw_registers.rb $(DESTDIR)$(sbindir)/i7z_rw_registers
diff --git a/app-benchmarks/i7z/files/nehalem.patch b/app-benchmarks/i7z/files/nehalem.patch
new file mode 100644
index 000000000000..c1b5639779a9
--- /dev/null
+++ b/app-benchmarks/i7z/files/nehalem.patch
@@ -0,0 +1,15 @@
+Author: Andreas Beckmann <anbe@debian.org>
+Description: fix some nehalem detected as haswell, too
+Bug-Debian: https://bugs.debian.org/856806
+
+--- a/helper_functions.c
++++ b/helper_functions.c
+@@ -420,7 +420,7 @@ void Print_Information_Processor(bool* n
+ *nehalem = true;
+ *sandy_bridge = false;
+ *ivy_bridge = false;
+- *haswell = true;
++ *haswell = false;
+
+ } else if (proc_info.extended_model == 0x2) {
+ switch (proc_info.model)
diff --git a/app-benchmarks/i7z/files/qt5.patch b/app-benchmarks/i7z/files/qt5.patch
new file mode 100644
index 000000000000..9e9b162d9e85
--- /dev/null
+++ b/app-benchmarks/i7z/files/qt5.patch
@@ -0,0 +1,13 @@
+diff -Naur a/GUI/i7z_GUI.pro b/GUI/i7z_GUI.pro
+--- a/GUI/i7z_GUI.pro 2013-10-12 21:59:19.000000000 +0100
++++ b/GUI/i7z_GUI.pro 2016-11-05 13:54:30.118655672 +0000
+@@ -3,7 +3,8 @@
+ ######################################################################
+
+ TEMPLATE = app
+-TARGET =
++TARGET = i7z_GUI
++QT += widgets
+ DEPENDPATH += .
+ INCLUDEPATH += .
+ CONFIG += debug
diff --git a/app-benchmarks/i7z/files/typos.patch b/app-benchmarks/i7z/files/typos.patch
new file mode 100644
index 000000000000..9b1f3b952166
--- /dev/null
+++ b/app-benchmarks/i7z/files/typos.patch
@@ -0,0 +1,25 @@
+Author: Andreas Beckmann <anbe@debian.org>
+Description: fix typos found by Lintian
+
+--- a/helper_functions.c
++++ b/helper_functions.c
+@@ -528,7 +528,7 @@ void Test_Or_Make_MSR_DEVICE_FILES()
+ n=`expr $n + 1`; \
+ done; \
+ ");
+- printf ("i7z DEBUG: modprobbing for msr\n");
++ printf ("i7z DEBUG: modprobing for msr\n");
+ system ("modprobe msr");
+ } else {
+ printf ("i7z DEBUG: You DO NOT have root privileges, mknod to create device entries won't work out\n");
+--- a/perfmon-i7z/helper_functions.cpp
++++ b/perfmon-i7z/helper_functions.cpp
+@@ -484,7 +484,7 @@ void Test_Or_Make_MSR_DEVICE_FILES()
+ n=`expr $n + 1`; \
+ done; \
+ ");
+- printf ("i7z DEBUG: modprobbing for msr\n");
++ printf ("i7z DEBUG: modprobing for msr\n");
+ system ("modprobe msr");
+ } else {
+ printf ("i7z DEBUG: You DONOT have root privileges, mknod to create device entries won't work out\n");
diff --git a/app-benchmarks/i7z/files/use_stdbool.patch b/app-benchmarks/i7z/files/use_stdbool.patch
new file mode 100644
index 000000000000..4aa84ac091c9
--- /dev/null
+++ b/app-benchmarks/i7z/files/use_stdbool.patch
@@ -0,0 +1,40 @@
+Author: Andreas Beckmann <anbe@debian.org>
+Description: use a consistent bool type
+Bug-Debian: #749724
+
+--- a/i7z.h
++++ b/i7z.h
+@@ -11,18 +11,13 @@
+ * ----------------------------------------------------------------------- */
+
+ #include <sys/time.h>
++#include <stdbool.h>
+
+ #define i7z_VERSION_INFO "svn-r93-(27-MAY-2013)"
+
+ //structure to store the information about the processor
+ #define proccpuinfo "/proc/cpuinfo"
+
+-#ifndef bool
+-#define bool int
+-#endif
+-#define false 0
+-#define true 1
+-
+ #define MAX_PROCESSORS 128
+ #define MAX_HI_PROCESSORS MAX_PROCESSORS
+ #define MAX_SK_PROCESSORS (MAX_PROCESSORS/4)
+--- a/cpuinfo.c
++++ b/cpuinfo.c
+@@ -2,10 +2,8 @@
+ #include "string.h"
+ #include "stdlib.h"
+ #include "assert.h"
++#include <stdbool.h>
+ #define MAX_PROCESSORS 32
+-#define bool int
+-#define false 0
+-#define true 1
+
+ #define MAX_HI_PROCESSORS MAX_PROCESSORS
+
diff --git a/app-benchmarks/i7z/i7z-93_p20131012-r2.ebuild b/app-benchmarks/i7z/i7z-93_p20131012-r2.ebuild
new file mode 100644
index 000000000000..c2e8656b7af9
--- /dev/null
+++ b/app-benchmarks/i7z/i7z-93_p20131012-r2.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit flag-o-matic qmake-utils toolchain-funcs
+
+COMMIT="5023138d7c35c4667c938b853e5ea89737334e92"
+DESCRIPTION="A better i7 (and now i3, i5) reporting tool for Linux"
+HOMEPAGE="https://github.com/ajaiantilal/i7z"
+SRC_URI="https://github.com/ajaiantilal/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="qt5"
+
+RDEPEND="
+ sys-libs/ncurses:0=
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND=""
+
+PATCHES=(
+ "${FILESDIR}"/i7z-0.27.2-ncurses.patch
+ "${FILESDIR}"/qt5.patch
+ "${FILESDIR}"/gcc5.patch
+
+ # From Debian
+ "${FILESDIR}"/fix-insecure-tempfile.patch
+ "${FILESDIR}"/fix_cpuid_asm.patch
+ "${FILESDIR}"/hyphen-used-as-minus-sign.patch
+ "${FILESDIR}"/install-i7z_rw_registers.patch
+ "${FILESDIR}"/use_stdbool.patch
+ "${FILESDIR}"/nehalem.patch
+ "${FILESDIR}"/gcc-10.patch
+ "${FILESDIR}"/typos.patch
+)
+
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+src_configure() {
+ tc-export CC PKG_CONFIG
+ cd GUI || die
+ use qt5 && eqmake5 ${PN}_GUI.pro
+}
+
+src_compile() {
+ default
+
+ if use qt5; then
+ emake -C GUI clean
+ emake -C GUI
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${ED}" docdir=/usr/share/doc/${PF} install
+
+ if use qt5; then
+ dosbin GUI/i7z_GUI
+ fi
+}
diff --git a/app-benchmarks/i7z/metadata.xml b/app-benchmarks/i7z/metadata.xml
new file mode 100644
index 000000000000..491a2922498d
--- /dev/null
+++ b/app-benchmarks/i7z/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>pacho@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ajaiantilal/i7z</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-benchmarks/interbench/Manifest b/app-benchmarks/interbench/Manifest
new file mode 100644
index 000000000000..1a3e159db559
--- /dev/null
+++ b/app-benchmarks/interbench/Manifest
@@ -0,0 +1 @@
+DIST interbench-0.31.tar.gz 38791 BLAKE2B 8f5605c763be6be0fcb5b240d5022c578af98d470a8bdf61f0ebc2abe56e6439fa37b5ac4e3eae16c7aab902cc08fab25f0cb34a92c0eea05b287b7bef2abbb4 SHA512 ccad7f5a7ea10c3c56809725145bad17970c4fa8aafc4b962e4e79c56bfa05025fee140e5b70ec407158aca59bba47e6bbff14329516d9383801ffe4c0797a23
diff --git a/app-benchmarks/interbench/files/interbench-0.31-makefile.patch b/app-benchmarks/interbench/files/interbench-0.31-makefile.patch
new file mode 100644
index 000000000000..712c54f482c8
--- /dev/null
+++ b/app-benchmarks/interbench/files/interbench-0.31-makefile.patch
@@ -0,0 +1,16 @@
+--- a/Makefile 2016-10-21 04:28:00.000000000 +0200
++++ b/Makefile 2018-11-01 16:56:36.000000000 +0100
+@@ -1,8 +1,9 @@
+-CC=gcc
+-CFLAGS=-W -Wall -g -O2 -s -pipe
+-LDFLAGS=-lrt -lm -pthread
++CC ?= gcc
++CFLAGS+=-W -Wall
++LDFLAGS+=-lrt -lm -pthread
+
+-interbench: interbench.o hackbench.o -lm
++interbench: interbench.o hackbench.o
++ $(CC) $(CFLAGS) -o interbench interbench.o hackbench.o $(LDFLAGS)
+ interbench.o: interbench.c
+ hackbench.o: hackbench.c
+
diff --git a/app-benchmarks/interbench/interbench-0.31.ebuild b/app-benchmarks/interbench/interbench-0.31.ebuild
new file mode 100644
index 000000000000..dfa772bcebbb
--- /dev/null
+++ b/app-benchmarks/interbench/interbench-0.31.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="A Linux interactivity benchmark"
+HOMEPAGE="https://github.com/ckolivas/interbench/"
+SRC_URI="https://github.com/ckolivas/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+KEYWORDS="amd64 x86"
+LICENSE="GPL-2+"
+SLOT="0"
+
+PATCHES=( "${FILESDIR}/${P}-makefile.patch" )
+
+DOCS=(
+ "readme"
+ "readme.interactivity"
+)
+
+src_prepare() {
+ default
+
+ tc-export CC
+}
+
+src_install() {
+ dobin interbench
+ doman interbench.8
+
+ einstalldocs
+}
diff --git a/app-benchmarks/interbench/metadata.xml b/app-benchmarks/interbench/metadata.xml
new file mode 100644
index 000000000000..f92ccf666195
--- /dev/null
+++ b/app-benchmarks/interbench/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>conikost@gentoo.org</email>
+ <name>Conrad Kostecki</name>
+ </maintainer>
+ <longdescription>
+ This benchmark application is designed to benchmark interactivity in Linux.
+ It is designed to measure the effect of changes in Linux kernel design or system
+ configuration changes such as CPU, I/O scheduler and filesystem changes and options.
+ With careful benchmarking, different hardware can be compared.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/ckolivas/interbench/issues</bugs-to>
+ <remote-id type="github">ckolivas/interbench</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-benchmarks/ioping/Manifest b/app-benchmarks/ioping/Manifest
new file mode 100644
index 000000000000..5cddcbf192e9
--- /dev/null
+++ b/app-benchmarks/ioping/Manifest
@@ -0,0 +1,3 @@
+DIST ioping-0.9.tar.gz 23695 BLAKE2B 41b37ad8dabd2c2e16f26798d878807c38e0d03bc4964a001f8800d0f398ba48335b1187e1f04cd235a980c5dce7e864c471fce8d46ca24a65f2022847eb8ebd SHA512 609e19c31a16a5961be0e468255f2853311162ad988d07404a8198042bec1e20cab37e192ad148536a0772efe8034a94d594671ec6fde7d37badee859796de1c
+DIST ioping-1.0.tar.gz 28824 BLAKE2B bb0f28e560419167450b27846650ff131c9cbb23c5df7f518afa8cea6a83bd97142d7ad8920b9ec86754deea0dcbf36af923223c78df6488f3623f2df852b59c SHA512 a6763ac800e98c819a74af80634ac723f413ffa183297918389e1e1f5fc83713b683d53b594f5bd20f11d168c21de5da9d42a215d78531ee8b619aff8b9b0b84
+DIST ioping-1.1.tar.gz 29251 BLAKE2B 2f0ec642c3545b8e603f90187f48bf44e1ef665a99bc04af4d5e6441016c9509875e8e05c1cc8715fd080c8a498c7374cf5db562a3203d7075edbe85683ccdbb SHA512 67802a6ab552ad1fdb8894f4d814601c2f66154f4bfc50fa0001d881694864c1a70882b4ba2d0f50cbd484472dc649a22b312f802a3bacc3317671971bdc0201
diff --git a/app-benchmarks/ioping/files/ioping-0.9-sysmacros.patch b/app-benchmarks/ioping/files/ioping-0.9-sysmacros.patch
new file mode 100644
index 000000000000..837d395201b7
--- /dev/null
+++ b/app-benchmarks/ioping/files/ioping-0.9-sysmacros.patch
@@ -0,0 +1,29 @@
+https://bugs.gentoo.org/579982
+
+From c56a8a442e79a8837074e0e573f6319efa492ba8 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Tue, 19 Apr 2016 02:44:33 -0400
+Subject: [PATCH] ioping: include sys/sysmacros.h for makedev
+
+The makedev prototype is in sys/sysmacros.h, so include it.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ ioping.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/ioping.c b/ioping.c
+index aae4704..80f4bb4 100644
+--- a/ioping.c
++++ b/ioping.c
+@@ -48,6 +48,7 @@
+ #ifdef __linux__
+ # include <sys/ioctl.h>
+ # include <sys/mount.h>
++# include <sys/sysmacros.h>
+ # define HAVE_POSIX_FADVICE
+ # define HAVE_POSIX_MEMALIGN
+ # define HAVE_DIRECT_IO
+--
+2.7.4
+
diff --git a/app-benchmarks/ioping/files/ioping-1.1-netdata.patch b/app-benchmarks/ioping/files/ioping-1.1-netdata.patch
new file mode 100644
index 000000000000..b93a77e36bbf
--- /dev/null
+++ b/app-benchmarks/ioping/files/ioping-1.1-netdata.patch
@@ -0,0 +1,141 @@
+From 43d15a5f7b4e3f03cb3ae2b4efca9442834e2a98 Mon Sep 17 00:00:00 2001
+From: Vladimir Kobal <vlad@prokk.net>
+Date: Thu, 28 Mar 2019 20:36:20 +0200
+Subject: [PATCH 1/1] Add support for netdata
+
+---
+ ioping.1 | 5 ++++-
+ ioping.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++--
+ 2 files changed, 54 insertions(+), 3 deletions(-)
+
+diff --git a/ioping.1 b/ioping.1
+index 9c66997..534fc61 100644
+--- a/ioping.1
++++ b/ioping.1
+@@ -3,7 +3,7 @@
+ ioping \- simple disk I/O latency monitoring tool
+ .SH SYNOPSYS
+ .SY ioping
+-.OP \-ABCDLRWGYykq
++.OP \-ABCDLRWGYykqN
+ .OP \-c count
+ .OP \-i interval
+ .OP \-l speed
+@@ -107,6 +107,9 @@ Keep and reuse temporary working file "ioping.tmp" (only for directory target).
+ .B \-q
+ Suppress periodical human-readable output.
+ .TP
++.B \-N
++Use output format compatible with netdata.
++.TP
+ .B \-h
+ Display help message and exit.
+ .TP
+diff --git a/ioping.c b/ioping.c
+index 1742d96..41790c4 100644
+--- a/ioping.c
++++ b/ioping.c
+@@ -327,6 +327,7 @@ void usage(void)
+ " -y use data sync I/O (O_DSYNC)\n"
+ " -k keep and reuse temporary file (ioping.tmp)\n"
+ " -q suppress human-readable output\n"
++ " -N use output format compatible with netdata\n"
+ " -h display this message and exit\n"
+ " -v display version and exit\n"
+ "\n"
+@@ -487,6 +488,7 @@ int fd;
+ void *buf;
+
+ int quiet = 0;
++int netdata_output = 0;
+ int batch_mode = 0;
+ int direct = 0;
+ int cached = 0;
+@@ -531,7 +533,7 @@ void parse_options(int argc, char **argv)
+ exit(1);
+ }
+
+- while ((opt = getopt(argc, argv, "hvkALRDCWGYBqyi:t:T:w:s:S:c:o:p:P:l:")) != -1) {
++ while ((opt = getopt(argc, argv, "hvkALRDCWGYBNqyi:t:T:w:s:S:c:o:p:P:l:")) != -1) {
+ switch (opt) {
+ case 'h':
+ usage();
+@@ -608,6 +610,9 @@ void parse_options(int argc, char **argv)
+ case 'q':
+ quiet = 1;
+ break;
++ case 'N':
++ netdata_output = 1;
++ break;
+ case 'B':
+ quiet = 1;
+ batch_mode = 1;
+@@ -629,6 +634,19 @@ void parse_options(int argc, char **argv)
+ if (optind < argc-1)
+ errx(1, "more than one destination specified");
+ path = argv[optind];
++
++ if (netdata_output) {
++ if (stop_at_request || custom_deadline || period_request || period_time || custom_deadline || write_read_test)
++ errx(1, "-c, -w, -p, -P, -R, and -G options are incompatible with netdata output (-N)");
++
++ if (interval < NSEC_PER_SEC) {
++ interval = NSEC_PER_SEC;
++ warnx("the minimal interval for netdata is 1 second");
++ } else {
++ interval = roundl(interval / NSEC_PER_SEC) * NSEC_PER_SEC;
++ warnx("round interval to %lld seconds", interval / NSEC_PER_SEC);
++ }
++ }
+ }
+
+ #ifdef __linux__
+@@ -1152,6 +1170,34 @@ static void dump_statistics(struct statistics *s) {
+ (unsigned long)s->load_time);
+ }
+
++void print_netdata(ssize_t ret_size, long long time_now, long long this_time) {
++ static int sent_chart = 0;
++ static long long time_prev = 0;
++
++ fflush(stdout);
++
++ if (!sent_chart) {
++ printf("CHART 'ioping.%s_", path);
++ print_size(ret_size);
++ printf("_%s_latency' '' '%s Latency for %s' microseconds '%s' ioping.latency line 110030 %lld '' ioping.plugin\n"
++ , write_test ? "write" : "read"
++ , write_test ? "Write" : "Read"
++ , path
++ , path
++ , interval / NSEC_PER_SEC);
++ printf("DIMENSION latency '' absolute 1 1000\n");
++ sent_chart = 1;
++ }
++
++ printf("BEGIN 'ioping.%s_", path);
++ print_size(ret_size);
++ printf("_%s_latency' %lld\n", write_test ? "write" : "read", time_prev ? (time_now - time_prev) / 1000 : 0);
++ time_prev = time_now;
++
++ printf("SET latency %lld\n", this_time);
++ printf("END\n");
++}
++
+ int main (int argc, char **argv)
+ {
+ ssize_t ret_size;
+@@ -1391,7 +1437,9 @@ skip_preparation:
+ add_statistics(&part, this_time);
+ }
+
+- if (!quiet) {
++ if (netdata_output) {
++ print_netdata(ret_size, time_now, this_time);
++ } else if (!quiet) {
+ print_size(ret_size);
+ printf(" %s %s (%s %s", write_test ? ">>>" : "<<<",
+ path, fstype, device);
+--
+2.23.0
+
diff --git a/app-benchmarks/ioping/ioping-0.9.ebuild b/app-benchmarks/ioping/ioping-0.9.ebuild
new file mode 100644
index 000000000000..29eae974e711
--- /dev/null
+++ b/app-benchmarks/ioping/ioping-0.9.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Simple disk I/0 latency measuring tool"
+HOMEPAGE="https://github.com/koct9i/ioping"
+SRC_URI="https://github.com/koct9i/ioping/releases/download/v${PV}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+PATCHES=( "${FILESDIR}"/${P}-sysmacros.patch )
+
+src_prepare() {
+ default
+ sed \
+ -e 's: -g : :g' \
+ -e 's: $(LDFLAGS) : :g' \
+ -e 's: -o : $(LDFLAGS) -o :g' \
+ -e 's:-s -m:-m:g' \
+ -e 's:LICENSE::g' \
+ -e 's:-O2.*::g' \
+ -i Makefile || die
+}
+
+src_compile() {
+ emake \
+ CC="$(tc-getCC)" \
+ PREFIX="${EPREFIX}/usr"
+}
+
+src_install() {
+ emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install
+}
diff --git a/app-benchmarks/ioping/ioping-1.0.ebuild b/app-benchmarks/ioping/ioping-1.0.ebuild
new file mode 100644
index 000000000000..3a9d7324601c
--- /dev/null
+++ b/app-benchmarks/ioping/ioping-1.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Simple disk I/0 latency measuring tool"
+HOMEPAGE="https://github.com/koct9i/ioping"
+SRC_URI="https://github.com/koct9i/ioping/archive/v1.0.tar.gz -> ${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+src_prepare() {
+ default
+ sed \
+ -e 's:LICENSE::g' \
+ -i Makefile || die
+}
+
+src_compile() {
+ emake \
+ CFLAGS="${CFLAGS}" \
+ CC="$(tc-getCC)" \
+ PREFIX="${EPREFIX}/usr"
+}
+
+src_install() {
+ emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install
+}
diff --git a/app-benchmarks/ioping/ioping-1.1.ebuild b/app-benchmarks/ioping/ioping-1.1.ebuild
new file mode 100644
index 000000000000..a5dbab3ab635
--- /dev/null
+++ b/app-benchmarks/ioping/ioping-1.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="Simple disk I/0 latency measuring tool"
+HOMEPAGE="https://github.com/koct9i/ioping"
+SRC_URI="https://github.com/koct9i/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="netdata"
+
+src_prepare() {
+ use netdata && eapply "${FILESDIR}/${P}-netdata.patch"
+ eapply_user
+}
+
+src_configure() {
+ tc-export CC
+}
+
+src_install() {
+ emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install
+
+ dodoc changelog README.md
+}
diff --git a/app-benchmarks/ioping/metadata.xml b/app-benchmarks/ioping/metadata.xml
new file mode 100644
index 000000000000..ed5982206b50
--- /dev/null
+++ b/app-benchmarks/ioping/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <maintainer type="project">
+ <email>shell-tools@gentoo.org</email>
+ <name>Gentoo Shell Tools Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="google-code">ioping</remote-id>
+ <remote-id type="github">koct9i/ioping</remote-id>
+ </upstream>
+ <use>
+ <flag name="netdata">Add support for netdata</flag>
+ </use>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-benchmarks/iozone/Manifest b/app-benchmarks/iozone/Manifest
new file mode 100644
index 000000000000..312115badbdd
--- /dev/null
+++ b/app-benchmarks/iozone/Manifest
@@ -0,0 +1,4 @@
+DIST iozone3_471.tar 1853440 BLAKE2B 280c821a439ad1bacbd749278385481678d644a59c14395482c8a088b0578285f389f376fb32ce3c3abde598f50d693fb0c7c9a3d6597765547a71c76d21ea1c SHA512 c61b2b8b5af3dccdb99b26aef8a0a4f2f5f467fc3985ac72ed4bb4fb36e4b7684ca6dbaa5bbc05ae0a4e73852e048e9fd2495eda9313f5abc4e631499d683aec
+DIST iozone3_484.tar 1863680 BLAKE2B 72d3d3125aec2dfc504bb00684ef325e85edffe0d6efcd519cd692cfa2b9b792a44c00313dc96eabbbb3ab850a7a440b3ca3d5b955c4f6092b08f92ebe5c332b SHA512 bb1ac0c1724a5d3c20e90c56c0b4a438b4aa50384cddc76f4b77f2c465f052fd3fae9217b77688a2c6caf5e90611123a97ea0cd8074b3678068a90e6dd7857b7
+DIST iozone3_487.tar 1873920 BLAKE2B f27edb85ebfd19e55dea239a4e5d595a84981c0249ec57148efdcce90a85a5cbf1e17f319de820a06410c66390ddd38efe1b90b31ed98c3bf979eea6fb25ccc7 SHA512 2f3a9d259ca531e45124e8ad55358706e2f9615f50fbf434e786b832622aa5f673dbed1b2706c6450c200e0af7f7374e40402e0b06ad116d5f2a0704a6156a1a
+DIST iozone3_488.tar 1873920 BLAKE2B 60e97d588a273c1af7a8c83ec207593fcf43766f92171774b974aa04a8df690a1a84aae4b448e4a6f9e4e9c7dc3cd98ad327a0ea196779e6dbe3a88326314eaf SHA512 033f9e6e7395fe84ae6f4ae8737544e399ac0f16e82ba95eed2a2d0df52b7efcbe0c9282abc68d3c5b53d859073c74bff2e8c34bc35e1e1cc887ed36ad5d840b
diff --git a/app-benchmarks/iozone/files/iozone-3.488-gcc10-fno-common.patch b/app-benchmarks/iozone/files/iozone-3.488-gcc10-fno-common.patch
new file mode 100644
index 000000000000..e990040efb67
--- /dev/null
+++ b/app-benchmarks/iozone/files/iozone-3.488-gcc10-fno-common.patch
@@ -0,0 +1,13 @@
+Bug: https://bugs.gentoo.org/706232
+
+--- a/src/current/iozone.c
++++ b/src/current/iozone.c
+@@ -1676,7 +1676,7 @@
+
+ char pit_hostname[40];
+ char pit_service[8];
+-int junk;
++extern int junk;
+
+ /*
+ * Host ports used to listen, and handle errors.
diff --git a/app-benchmarks/iozone/iozone-3.471.ebuild b/app-benchmarks/iozone/iozone-3.471.ebuild
new file mode 100644
index 000000000000..ec2ae511bdc3
--- /dev/null
+++ b/app-benchmarks/iozone/iozone-3.471.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# TODO
+# -> linux-arm (32bit) <-
+# -> linux-AMD64 (64bit) <-
+# -> linux-ia64 (64bit) <-
+# -> linux-powerpc (32bit) <-
+# -> linux-powerpc64 (64bit) <-
+# -> linux-S390 (32bit) <-
+# -> linux-S390X (64bit) <-
+#
+# -> freebsd (32bit) <-
+# -> macosx (32bit) <-
+# -> netbsd (32bit) <-
+# -> openbsd (32bit) <-
+# -> openbsd-threads (32bit) <-
+#
+# ~ia64 ~s390 alpha(?) x86-fbsd
+
+inherit toolchain-funcs
+
+DESCRIPTION="Filesystem benchmarking program"
+HOMEPAGE="http://www.iozone.org/"
+SRC_URI="http://www.iozone.org/src/current/${PN}${PV/./_}.tar"
+
+LICENSE="freedist"
+SLOT="0"
+KEYWORDS="amd64 arm ~ia64 ppc ppc64 ~sparc x86"
+IUSE=""
+
+S=${WORKDIR}/${PN}${PV/./_}
+
+src_prepare() {
+ default
+
+ # Options FIX
+ sed -i -e "s:CC =.*:CC =$(tc-getCC):g" \
+ -e "s:-O3:${CFLAGS}:g" src/current/makefile || die
+}
+
+src_configure() {
+ case ${ARCH} in
+ x86|alpha) PLATFORM="linux";;
+ arm) PLATFORM="linux-arm";;
+ ppc) PLATFORM="linux-powerpc";;
+ ppc64) PLATFORM="linux-powerpc64";;
+ amd64) PLATFORM="linux-AMD64";;
+ ia64) PLATFORM="linux-ia64";;
+ s390) PLATFORM="linux-S390";;
+ x86-fbsd) PLATFORM="freebsd";;
+ *) PLATFORM="linux-${ARCH}";;
+ esac
+}
+
+src_compile() {
+ emake -C src/current ${PLATFORM}
+}
+
+src_test() {
+ cd "${T}" || die
+ "${S}"/src/current/iozone testfile || die "self test failed"
+}
+
+src_install() {
+ dosbin src/current/{iozone,fileop}
+
+ dodoc docs/I* docs/Run_rules.doc src/current/Changes.txt
+ doman docs/iozone.1
+ cd src/current || die
+ dodoc Generate_Graphs Gnuplot.txt gengnuplot.sh gnu3d.dem
+}
diff --git a/app-benchmarks/iozone/iozone-3.484.ebuild b/app-benchmarks/iozone/iozone-3.484.ebuild
new file mode 100644
index 000000000000..cc8b0d30da97
--- /dev/null
+++ b/app-benchmarks/iozone/iozone-3.484.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+# TODO
+# -> linux-arm (32bit) <-
+# -> linux-AMD64 (64bit) <-
+# -> linux-ia64 (64bit) <-
+# -> linux-powerpc (32bit) <-
+# -> linux-powerpc64 (64bit) <-
+# -> linux-S390 (32bit) <-
+# -> linux-S390X (64bit) <-
+#
+# -> freebsd (32bit) <-
+# -> macosx (32bit) <-
+# -> netbsd (32bit) <-
+# -> openbsd (32bit) <-
+# -> openbsd-threads (32bit) <-
+#
+# ~ia64 ~s390 alpha(?) x86-fbsd
+
+inherit toolchain-funcs
+
+DESCRIPTION="Filesystem benchmarking program"
+HOMEPAGE="http://www.iozone.org/"
+SRC_URI="http://www.iozone.org/src/current/${PN}${PV/./_}.tar"
+
+LICENSE="freedist"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+S=${WORKDIR}/${PN}${PV/./_}
+
+src_prepare() {
+ default
+
+ # Options FIX
+ sed -i -e "s:CC =.*:CC =$(tc-getCC):g" \
+ -e "s:-O3:${CFLAGS}:g" src/current/makefile || die
+}
+
+src_configure() {
+ case ${ARCH} in
+ x86|alpha) PLATFORM="linux";;
+ arm) PLATFORM="linux-arm";;
+ ppc) PLATFORM="linux-powerpc";;
+ ppc64) PLATFORM="linux-powerpc64";;
+ amd64) PLATFORM="linux-AMD64";;
+ ia64) PLATFORM="linux-ia64";;
+ s390) PLATFORM="linux-S390";;
+ x86-fbsd) PLATFORM="freebsd";;
+ *) PLATFORM="linux-${ARCH}";;
+ esac
+}
+
+src_compile() {
+ emake -C src/current ${PLATFORM}
+}
+
+src_test() {
+ cd "${T}" || die
+ "${S}"/src/current/iozone testfile || die "self test failed"
+}
+
+src_install() {
+ dosbin src/current/{iozone,fileop}
+
+ # decompress pre-compressed file to make QA check happy
+ gzip -d docs/Iozone_ps.gz || die
+
+ dodoc docs/I* docs/Run_rules.doc src/current/Changes.txt
+ doman docs/iozone.1
+ cd src/current || die
+ dodoc Generate_Graphs Gnuplot.txt gengnuplot.sh gnu3d.dem
+}
diff --git a/app-benchmarks/iozone/iozone-3.487.ebuild b/app-benchmarks/iozone/iozone-3.487.ebuild
new file mode 100644
index 000000000000..0706eaef996f
--- /dev/null
+++ b/app-benchmarks/iozone/iozone-3.487.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+# TODO
+# -> linux-arm (32bit) <-
+# -> linux-AMD64 (64bit) <-
+# -> linux-ia64 (64bit) <-
+# -> linux-powerpc (32bit) <-
+# -> linux-powerpc64 (64bit) <-
+# -> linux-S390 (32bit) <-
+# -> linux-S390X (64bit) <-
+#
+# -> freebsd (32bit) <-
+# -> macosx (32bit) <-
+# -> netbsd (32bit) <-
+# -> openbsd (32bit) <-
+# -> openbsd-threads (32bit) <-
+#
+# ~ia64 ~s390 alpha(?) x86-fbsd
+
+inherit toolchain-funcs
+
+DESCRIPTION="Filesystem benchmarking program"
+HOMEPAGE="http://www.iozone.org/"
+SRC_URI="http://www.iozone.org/src/current/${PN}${PV/./_}.tar"
+
+LICENSE="freedist"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+S=${WORKDIR}/${PN}${PV/./_}
+
+src_prepare() {
+ default
+
+ # Options FIX
+ sed -i -e "s:CC =.*:CC =$(tc-getCC):g" \
+ -e "s:-O3:${CFLAGS}:g" src/current/makefile || die
+}
+
+src_configure() {
+ case ${ARCH} in
+ x86|alpha) PLATFORM="linux";;
+ arm) PLATFORM="linux-arm";;
+ ppc) PLATFORM="linux-powerpc";;
+ ppc64) PLATFORM="linux-powerpc64";;
+ amd64) PLATFORM="linux-AMD64";;
+ ia64) PLATFORM="linux-ia64";;
+ s390) PLATFORM="linux-S390";;
+ x86-fbsd) PLATFORM="freebsd";;
+ *) PLATFORM="linux-${ARCH}";;
+ esac
+}
+
+src_compile() {
+ emake -C src/current ${PLATFORM}
+}
+
+src_test() {
+ cd "${T}" || die
+ "${S}"/src/current/iozone testfile || die "self test failed"
+}
+
+src_install() {
+ dosbin src/current/{iozone,fileop}
+
+ # decompress pre-compressed file to make QA check happy
+ gzip -d docs/Iozone_ps.gz || die
+
+ dodoc docs/I* docs/Run_rules.doc src/current/Changes.txt
+ doman docs/iozone.1
+ cd src/current || die
+ dodoc Generate_Graphs Gnuplot.txt gengnuplot.sh gnu3d.dem
+}
diff --git a/app-benchmarks/iozone/iozone-3.488.ebuild b/app-benchmarks/iozone/iozone-3.488.ebuild
new file mode 100644
index 000000000000..3f6941869e61
--- /dev/null
+++ b/app-benchmarks/iozone/iozone-3.488.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="Filesystem benchmarking program"
+HOMEPAGE="http://www.iozone.org/"
+SRC_URI="http://www.iozone.org/src/current/${PN}${PV/./_}.tar"
+
+LICENSE="freedist"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+
+S="${WORKDIR}/${PN}${PV/./_}"
+
+PATCHES=( "${FILESDIR}"/${PN}-3.488-gcc10-fno-common.patch )
+
+src_prepare() {
+ default
+
+ # Options FIX
+ sed -e '/CC =.*/d' \
+ -e '/CFLAGS =.*/d' \
+ -e 's:-O[23]:$(CFLAGS):g' \
+ -e 's:-Dlinux:$(LDFLAGS) -Dlinux:g' \
+ -i src/current/makefile || die
+}
+
+src_configure() {
+ tc-export CC
+
+ case ${ARCH} in
+ x86|alpha) PLATFORM="linux";;
+ arm) PLATFORM="linux-arm";;
+ ppc) PLATFORM="linux-powerpc";;
+ ppc64) PLATFORM="linux-powerpc64";;
+ amd64) PLATFORM="linux-AMD64";;
+ ia64) PLATFORM="linux-ia64";;
+ s390) PLATFORM="linux-S390";;
+ *) PLATFORM="linux-${ARCH}";;
+ esac
+}
+
+src_compile() {
+ emake -C src/current ${PLATFORM}
+}
+
+src_test() {
+ cd "${T}" || die
+ "${S}"/src/current/iozone testfile || die "self test failed"
+}
+
+src_install() {
+ dosbin src/current/{iozone,fileop}
+
+ # decompress pre-compressed file to make QA check happy
+ gunzip docs/Iozone_ps.gz || die
+
+ dodoc docs/I* docs/Run_rules.doc src/current/Changes.txt
+ doman docs/iozone.1
+ cd src/current || die
+ dodoc Generate_Graphs Gnuplot.txt gengnuplot.sh gnu3d.dem
+}
diff --git a/app-benchmarks/iozone/metadata.xml b/app-benchmarks/iozone/metadata.xml
new file mode 100644
index 000000000000..b4098eb1d43d
--- /dev/null
+++ b/app-benchmarks/iozone/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+</maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-benchmarks/libc-bench/Manifest b/app-benchmarks/libc-bench/Manifest
new file mode 100644
index 000000000000..90b7995b5b0f
--- /dev/null
+++ b/app-benchmarks/libc-bench/Manifest
@@ -0,0 +1 @@
+DIST libc-bench-20110206.tar.gz 3135 BLAKE2B f8c6b028e080695772f3275667dfc3ea6167eda47506dd32813a4942fc9f213317c0eafe6b08d1fd9a574301b74cf5ef1600cc4b12414245c6c85ca3b02e9013 SHA512 72f68616ab189f39f766c98afbb83bf3470a4e14ccb1dfe139a9006227262197546897da8f360bf48ba2c8854730aa385ca16270ec2e6cf2b531205550726f38
diff --git a/app-benchmarks/libc-bench/files/respect-flags.patch b/app-benchmarks/libc-bench/files/respect-flags.patch
new file mode 100644
index 000000000000..19958fd1c91b
--- /dev/null
+++ b/app-benchmarks/libc-bench/files/respect-flags.patch
@@ -0,0 +1,23 @@
+diff -Naur libc-bench-20110206.orig//Makefile libc-bench-20110206/Makefile
+--- libc-bench-20110206.orig//Makefile 2011-01-31 02:13:00.000000000 -0500
++++ libc-bench-20110206/Makefile 2012-08-09 22:12:24.000000000 -0400
+@@ -2,8 +2,7 @@
+ SRCS = $(sort $(wildcard *.c))
+ OBJS = $(SRCS:.c=.o)
+
+-CFLAGS = -Os
+-LDFLAGS = -static
++LDFLAGS += -static
+ LIBS = -lpthread -lrt -lpthread
+
+
+@@ -12,9 +11,6 @@
+ clean:
+ rm -f $(OBJS) libc-bench
+
+-test: all
+- ./libc-bench
+-
+ libc-bench: $(OBJS)
+ $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
+
diff --git a/app-benchmarks/libc-bench/libc-bench-20110206.ebuild b/app-benchmarks/libc-bench/libc-bench-20110206.ebuild
new file mode 100644
index 000000000000..72efbc992efa
--- /dev/null
+++ b/app-benchmarks/libc-bench/libc-bench-20110206.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Time and memory-efficiency tests of various C/POSIX standard library functions"
+HOMEPAGE="http://www.etalabs.net/libc-bench.html http://git.musl-libc.org/cgit/libc-bench/"
+SRC_URI="http://www.etalabs.net/releases/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+src_prepare() {
+ epatch "${FILESDIR}"/respect-flags.patch
+}
+
+src_configure() {
+ tc-export CC
+ CFLAGS+=" ${CPPFLAGS}"
+}
+
+src_install() {
+ dobin libc-bench
+}
diff --git a/app-benchmarks/libc-bench/metadata.xml b/app-benchmarks/libc-bench/metadata.xml
new file mode 100644
index 000000000000..81622a95785d
--- /dev/null
+++ b/app-benchmarks/libc-bench/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>blueness@gentoo.org</email>
+ <name>Anthony G. Basile</name>
+ </maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-benchmarks/metadata.xml b/app-benchmarks/metadata.xml
new file mode 100644
index 000000000000..c7ff9093b3ee
--- /dev/null
+++ b/app-benchmarks/metadata.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<catmetadata>
+ <longdescription lang="en">
+ The app-benchmarks category contains benchmarking software.
+ </longdescription>
+ <longdescription lang="es">
+ La categoría app-benchmarks contiene programas para pruebas.
+ </longdescription>
+ <longdescription lang="de">
+ Die Kategorie app-benchmarks enthält Benchmark-Software.
+ </longdescription>
+ <longdescription lang="ja">
+ app-benchmarksカテゴリにはベンチマークソフトウェアが含まれます。
+ </longdescription>
+ <longdescription lang="nl">
+ De app-benchmarks categorie bevat benchmarking applicaties.
+ </longdescription>
+ <longdescription lang="vi">
+ Nhóm app-benchmarks chứa các ứng dụng benchmark.
+ </longdescription>
+ <longdescription lang="it">
+ La categoria app-benchmarks contiene programmi per l'analisi delle prestazioni.
+ </longdescription>
+ <longdescription lang="pt">
+ A categoria app-benchmarks contém programas para benchmarking.
+ </longdescription>
+ <longdescription lang="pl">
+ Kategoria app-benchmarks zawiera oprogramowanie służące do testowania
+ wydajności.
+ </longdescription>
+</catmetadata>
+
diff --git a/app-benchmarks/nbench/Manifest b/app-benchmarks/nbench/Manifest
new file mode 100644
index 000000000000..3f5f77e19e05
--- /dev/null
+++ b/app-benchmarks/nbench/Manifest
@@ -0,0 +1 @@
+DIST nbench-byte-2.2.3.tar.gz 111791 BLAKE2B 83b602f582af32fbf8e2440cf597e8fb605fba5e0c7e5ae070e4e759ad00ee86022123c7a8a5957382a03bb4c7450aa1a2633e8d98fc86d03ea52e7a8f2895ce SHA512 68ae34c083e2e01f0114e6ff9ce04df41d70facbb05533b4cb9432fd9856048fde28e5c024d92f202e5f2de10fe223fdb46570873b1e2f69b2c847779645dec8
diff --git a/app-benchmarks/nbench/files/nbench-2.2.3-Makefile.patch b/app-benchmarks/nbench/files/nbench-2.2.3-Makefile.patch
new file mode 100644
index 000000000000..b853fc7b65ad
--- /dev/null
+++ b/app-benchmarks/nbench/files/nbench-2.2.3-Makefile.patch
@@ -0,0 +1,77 @@
+--- a/Makefile
++++ b/Makefile
+@@ -19,10 +19,10 @@
+ # You should leave -static in the CFLAGS so that your sysinfo can be
+ # compiled into the executable.
+
+-CC = gcc
++#CC = gcc
+
+ # generic options for gcc
+-CFLAGS = -s -static -Wall -O3
++#CFLAGS = -s -static -Wall -O3
+
+ # if your gcc lets you do it, then try this one
+ #CFLAGS = -s -static -Wall -O3 -fomit-frame-pointer -funroll-loops
+@@ -96,10 +96,10 @@
+ ##########################################################################
+ # For LINUX-like systems with gcc
+ sysinfoc.c: Makefile
+- ./sysinfo.sh $(CC) $(MACHINE) $(DEFINES) $(CFLAGS)
++ ./sysinfo.sh $(CC) $(MACHINE) $(DEFINES) $(CFLAGS) $(CPPFLAGS)
+
+ sysinfo.c: Makefile
+- ./sysinfo.sh $(CC) $(MACHINE) $(DEFINES) $(CFLAGS)
++ ./sysinfo.sh $(CC) $(MACHINE) $(DEFINES) $(CFLAGS) $(CPPFLAGS)
+
+ ##########################################################################
+ # For non-LINUX systems
+@@ -107,39 +107,39 @@
+ # and take sysinfo.c and sysinfoc.c out of the dependencies for nbench0.o
+
+ hardware.o: hardware.c hardware.h Makefile
+- $(CC) $(MACHINE) $(DEFINES) $(CFLAGS)\
++ $(CC) $(MACHINE) $(DEFINES) $(CFLAGS) $(CPPFLAGS)\
+ -c hardware.c
+
+ nbench0.o: nbench0.h nbench0.c nmglobal.h pointer.h hardware.h\
+ Makefile sysinfo.c sysinfoc.c
+- $(CC) $(MACHINE) $(DEFINES) $(CFLAGS)\
++ $(CC) $(MACHINE) $(DEFINES) $(CFLAGS) $(CPPFLAGS)\
+ -c nbench0.c
+
+ emfloat.o: emfloat.h emfloat.c nmglobal.h pointer.h Makefile
+- $(CC) $(MACHINE) $(DEFINES) $(CFLAGS)\
++ $(CC) $(MACHINE) $(DEFINES) $(CFLAGS) $(CPPFLAGS)\
+ -c emfloat.c
+
+ pointer.h: pointer Makefile
+- $(CC) $(MACHINE) $(DEFINES) $(CFLAGS)\
++ $(CC) $(MACHINE) $(DEFINES) $(CFLAGS) $(CPPFLAGS)\
+ -o pointer pointer.c
+ rm -f pointer.h
+ if [ "4" = `./pointer` ] ; then touch pointer.h ;\
+ else echo "#define LONG64" >pointer.h ; fi
+
+-misc.o: misc.h misc.c Makefile
+- $(CC) $(MACHINE) $(DEFINES) $(CFLAGS)\
++misc.o: misc.h misc.c pointer.h Makefile
++ $(CC) $(MACHINE) $(DEFINES) $(CFLAGS) $(CPPFLAGS)\
+ -c misc.c
+
+ nbench1.o: nbench1.h nbench1.c wordcat.h nmglobal.h pointer.h Makefile
+- $(CC) $(MACHINE) $(DEFINES) $(CFLAGS)\
++ $(CC) $(MACHINE) $(DEFINES) $(CFLAGS) $(CPPFLAGS)\
+ -c nbench1.c
+
+ sysspec.o: sysspec.h sysspec.c nmglobal.h pointer.h Makefile
+- $(CC) $(MACHINE) $(DEFINES) $(CFLAGS)\
++ $(CC) $(MACHINE) $(DEFINES) $(CFLAGS) $(CPPFLAGS)\
+ -c sysspec.c
+
+ nbench: emfloat.o misc.o nbench0.o nbench1.o sysspec.o hardware.o
+- $(CC) $(MACHINE) $(DEFINES) $(CFLAGS) $(LINKFLAGS)\
++ $(CC) $(MACHINE) $(DEFINES) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)\
+ emfloat.o misc.o nbench0.o nbench1.o sysspec.o hardware.o\
+ -o nbench -lm
+
diff --git a/app-benchmarks/nbench/metadata.xml b/app-benchmarks/nbench/metadata.xml
new file mode 100644
index 000000000000..2695ba11eb3d
--- /dev/null
+++ b/app-benchmarks/nbench/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>jer@gentoo.org</email>
+ <name>Jeroen Roovers</name>
+ </maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-benchmarks/nbench/nbench-2.2.3-r1.ebuild b/app-benchmarks/nbench/nbench-2.2.3-r1.ebuild
new file mode 100644
index 000000000000..7a02dfbc8f62
--- /dev/null
+++ b/app-benchmarks/nbench/nbench-2.2.3-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs
+
+MY_P="${PN}-byte-${PV}"
+
+DESCRIPTION="Linux/Unix of release 2 of BYTE Magazine's BYTEmark benchmark"
+HOMEPAGE="http://www.tux.org/~mayer/linux/bmark.html"
+SRC_URI="http://www.tux.org/~mayer/linux/${MY_P}.tar.gz"
+
+LICENSE="freedist"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm hppa ~mips ppc ppc64 sparc x86"
+IUSE=""
+
+S=${WORKDIR}/${MY_P}
+PATCHES=( "${FILESDIR}/${P}-Makefile.patch" )
+
+src_prepare() {
+ default
+
+ sed \
+ -e 's:$compiler -v\( 2>&1 | sed -e "/version/!d"\|\):$compiler -dumpversion:' \
+ -i sysinfo.sh || die "patching sysinfo.sh failed"
+ sed -e 's:inpath="NNET.DAT":inpath="/usr/share/nbench/NNET.DAT":' \
+ -i nbench1.h || die "patching nbench1.h failed"
+}
+
+src_configure() {
+ tc-export CC
+}
+
+src_install() {
+ dobin nbench
+ dodoc Changes README* bdoc.txt
+
+ insinto /usr/share/nbench
+ doins NNET.DAT
+}
diff --git a/app-benchmarks/pipebench/Manifest b/app-benchmarks/pipebench/Manifest
new file mode 100644
index 000000000000..ca78ee565df3
--- /dev/null
+++ b/app-benchmarks/pipebench/Manifest
@@ -0,0 +1 @@
+DIST pipebench-0.40.tar.gz 11542 BLAKE2B b024ad8066a0adb2c1c9e1de1de93d9a9e91104380a1d955852b6281f1b4506be3b03240ed238766590c643c1d93060da43c523e773da738adb8bab333894247 SHA512 bace18d73425cf56bc3fd95eea4db47b3010cc82c16d9b433390d0ee4593046ab10101ce73df451596b34ace89fa92e93a92bb625286edb9cdfb809e630788cd
diff --git a/app-benchmarks/pipebench/files/pipebench-0.40-fix-build-system.patch b/app-benchmarks/pipebench/files/pipebench-0.40-fix-build-system.patch
new file mode 100644
index 000000000000..2d79d80ef7bc
--- /dev/null
+++ b/app-benchmarks/pipebench/files/pipebench-0.40-fix-build-system.patch
@@ -0,0 +1,21 @@
+--- a/Makefile
++++ b/Makefile
+@@ -1,16 +1,11 @@
+ # $Id: Makefile,v 1.2 2002/12/15 19:58:36 marvin Exp $
+
+-CC=gcc
+-CFLAGS=-Wall -w -pedantic
+
+ all: pipebench
+ doc: pipebench.1
+ install: pipebench
+- cp pipebench /usr/local/bin/
+- cp pipebench.1 /usr/local/man/man1/
+-
+-pipebench: pipebench.c
+- $(CC) $(CFLAGS) -o pipebench pipebench.c
++ mkdir -p $(DESTDIR)$(EPREFIX)/usr/bin && cp pipebench $(DESTDIR)$(EPREFIX)/usr/bin/
++ mkdir -p $(DESTDIR)$(EPREFIX)/usr/share/man/man1 && cp pipebench.1 $(DESTDIR)$(EPREFIX)/usr/share/man/man1/
+
+ pipebench.1: pipebench.yodl
+ yodl2man -o pipebench.1 pipebench.yodl
diff --git a/app-benchmarks/pipebench/metadata.xml b/app-benchmarks/pipebench/metadata.xml
new file mode 100644
index 000000000000..d85b4252fc33
--- /dev/null
+++ b/app-benchmarks/pipebench/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-benchmarks/pipebench/pipebench-0.40-r2.ebuild b/app-benchmarks/pipebench/pipebench-0.40-r2.ebuild
new file mode 100644
index 000000000000..6058d8d81f6a
--- /dev/null
+++ b/app-benchmarks/pipebench/pipebench-0.40-r2.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="Measures the speed of stdin/stdout communication"
+HOMEPAGE="http://www.habets.pp.se/synscan/programs.php?prog=pipebench"
+SRC_URI="ftp://ftp.habets.pp.se/pub/synscan/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 ppc ppc64 x86 ~x86-linux"
+IUSE=""
+
+PATCHES=( "${FILESDIR}"/${PN}-0.40-fix-build-system.patch )
+
+src_configure() {
+ append-cflags -Wall -w -pedantic
+ tc-export CC
+}
diff --git a/app-benchmarks/ramspeed/Manifest b/app-benchmarks/ramspeed/Manifest
new file mode 100644
index 000000000000..d0f24178eb18
--- /dev/null
+++ b/app-benchmarks/ramspeed/Manifest
@@ -0,0 +1 @@
+DIST ramsmp-3.5.0.tar.gz 79481 BLAKE2B 2bc3e12bf9e33c1a696743d8efa4a80ddcc2503dde2574a51a78d7f8927cbea08837be8a9ca0f9fc66865db5879785f86715afdc4c096aff326c9a462eab45c0 SHA512 175cd2e568e4efdb1225e3c5319950376c4834633dd618324cf4268c762213733ed67ea94b4e5835b0259483e88afd2e9d9a3fde63515b8b25e5ec0b51f16b0e
diff --git a/app-benchmarks/ramspeed/metadata.xml b/app-benchmarks/ramspeed/metadata.xml
new file mode 100644
index 000000000000..2dd2c69a6676
--- /dev/null
+++ b/app-benchmarks/ramspeed/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <use>
+ <flag name="pic">Force shared libraries to be built as PIC (this is slower)</flag>
+ </use>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-benchmarks/ramspeed/ramspeed-3.5.0-r2.ebuild b/app-benchmarks/ramspeed/ramspeed-3.5.0-r2.ebuild
new file mode 100644
index 000000000000..01310ac9a2f3
--- /dev/null
+++ b/app-benchmarks/ramspeed/ramspeed-3.5.0-r2.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit flag-o-matic toolchain-funcs
+
+MY_PN="ramsmp"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Benchmarking for memory and cache"
+HOMEPAGE="http://www.alasir.com/software/ramspeed/"
+SRC_URI="http://www.alasir.com/software/${PN}/${MY_P}.tar.gz"
+
+LICENSE="Alasir"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="cpu_flags_x86_sse pic"
+
+S="${WORKDIR}/${MY_P}"
+
+src_configure() {
+ local obj
+ local arch_prefix=./
+
+ use x86 && arch_prefix=i386/
+ use amd64 && arch_prefix=amd64/
+
+ tc-export CC AS
+
+ #fix the stack
+ append-ldflags -Wl,-z,noexecstack
+ obj=( ramsmp.o ${arch_prefix}{fltmark,fltmem,intmark,intmem}.o )
+
+ use pic && append-ldflags -nopie
+
+ if use amd64; then
+ sed -i \
+ -e 's/call.*free/call\tfree@PLT/' \
+ -e 's/call.*gettimeofday/call\tgettimeofday@PLT/' \
+ -e 's/call.*malloc/call\tmalloc@PLT/' \
+ ${arch_prefix}/*.s || die
+ fi
+
+ use x86 && obj+=( ${arch_prefix}{cpuinfo/cpuinfo_main,cpuinfo/cpuinfo_ext}.o )
+
+ if use cpu_flags_x86_sse; then
+ use x86 && append-flags "-DLINUX -DI386_ASM"
+ use amd64 && append-flags "-DLINUX -DAMD64_ASM"
+ obj+=( ${arch_prefix}{mmxmark,mmxmem,ssemark,ssemem}.o )
+ fi
+
+ echo "ramsmp: ${obj[@]}" > Makefile
+}
+
+src_install() {
+ dobin ramsmp
+ dosym ramsmp /usr/bin/ramspeed
+ dodoc HISTORY README
+}
diff --git a/app-benchmarks/siege/Manifest b/app-benchmarks/siege/Manifest
new file mode 100644
index 000000000000..27492dd43e86
--- /dev/null
+++ b/app-benchmarks/siege/Manifest
@@ -0,0 +1,2 @@
+DIST siege-4.0.4.tar.gz 523102 BLAKE2B 2d69dd37fea7ff35e05b41d500d4efb5b4fe60d9389b7bd98ec360148af781a24b6ebaa213b59ffc36cfcc8421efea14d8ec9f5742a53e019b2221584b5af17e SHA512 a8361ac0e2514626d794e7e4a345b178462409a1f3b53a9318adf171b511c408508acdb07652ad38f34021ac4a614dc5e6d2ea3c6a4ffd261ceef36d3226e573
+DIST siege-4.0.5.tar.gz 525122 BLAKE2B 6d7410255d9682eeb6755bbf2eb6fd189d1c6e5e4c8bf4ed430e0ad4157ee6af9148a1bfe554167b74a6250b4897a3d34eb1c6c10cc91ff2352419769b9db975 SHA512 61f1b0a9fb4f9738f51932d5203a0ee6435aa413975dc3f5c7afafd74ec206e1ec20f5134171f740f55465e6c015df8bdac1775bc04be50bb10d0516e1a62d53
diff --git a/app-benchmarks/siege/files/siege.bash-completion b/app-benchmarks/siege/files/siege.bash-completion
new file mode 100644
index 000000000000..cc100e5ee6a1
--- /dev/null
+++ b/app-benchmarks/siege/files/siege.bash-completion
@@ -0,0 +1,24 @@
+# siege completion
+
+_siege() {
+ local cur prev opts
+ COMPREPLY=()
+ cur="${COMP_WORDS[COMP_CWORD]}"
+ prev="${COMP_WORDS[COMP_CWORD-1]}"
+ opts="-V --version -h --help -C --config -v --verbose -g --get \
+ -c --concurrent -i --internet -d --delay -b --benchmark -r --reps \
+ -t --time -l --log -m --mark -H --header -R --rc -f --file -u --url"
+
+ if [[ "${cur}" == -* ]] || [ ${COMP_CWORD} -eq 1 ]; then
+ COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
+ fi
+
+ case "${prev}" in
+ -R|--rc|-f|--file)
+ COMPREPLY=($(compgen -o filenames -A file -- ${cur}))
+ ;;
+ esac
+}
+complete -F _siege siege
+
+# vim: set ft=sh tw=80 ts=4 sw=4 :
diff --git a/app-benchmarks/siege/metadata.xml b/app-benchmarks/siege/metadata.xml
new file mode 100644
index 000000000000..6f69cc3a3732
--- /dev/null
+++ b/app-benchmarks/siege/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>andreacerisara@gmail.com</email>
+ <name>Andrea Cerisara</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ Siege is an http load testing and benchmarking utility. It was designed to let
+ web developers measure their code under duress, to see how it will stand up to load on the internet.
+ Siege supports basic authentication, cookies, HTTP, HTTPS and FTP protocols.
+ It lets its user hit a server with a configurable number of simulated clients.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">JoeDog/siege</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-benchmarks/siege/siege-4.0.4.ebuild b/app-benchmarks/siege/siege-4.0.4.ebuild
new file mode 100644
index 000000000000..ebd14cfce9e5
--- /dev/null
+++ b/app-benchmarks/siege/siege-4.0.4.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools bash-completion-r1
+
+DESCRIPTION="A HTTP regression testing and benchmarking utility"
+HOMEPAGE="https://www.joedog.org/siege-home/"
+SRC_URI="http://download.joedog.org/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+KEYWORDS="amd64 ~arm ~hppa ~mips ppc x86 ~x64-macos"
+SLOT="0"
+IUSE="libressl ssl"
+
+RDEPEND="ssl? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )"
+DEPEND="${RDEPEND}
+ sys-devel/libtool"
+
+src_prepare() {
+ default
+ # bundled macros break recent libtool
+ sed -i -e '/AC_PROG_SHELL/d' configure.ac || die
+ rm *.m4 || die "failed to remove bundled macros"
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ $(use_with ssl ssl "${EPREFIX}/usr")
+ )
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ dodoc AUTHORS ChangeLog INSTALL README* doc/siegerc doc/urls.txt
+
+ newbashcomp "${FILESDIR}"/${PN}.bash-completion ${PN}
+}
+
+pkg_postinst() {
+ elog "An example ~/.siegerc file has been installed in"
+ elog "${EPREFIX}/usr/share/doc/${PF}/"
+}
diff --git a/app-benchmarks/siege/siege-4.0.5.ebuild b/app-benchmarks/siege/siege-4.0.5.ebuild
new file mode 100644
index 000000000000..57c3d85b8fec
--- /dev/null
+++ b/app-benchmarks/siege/siege-4.0.5.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools bash-completion-r1
+
+DESCRIPTION="A HTTP regression testing and benchmarking utility"
+HOMEPAGE="https://www.joedog.org/siege-home https://github.com/JoeDog/siege"
+SRC_URI="http://download.joedog.org/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+KEYWORDS="~amd64 ~arm ~hppa ~mips ~ppc ~x86 ~x64-macos"
+SLOT="0"
+IUSE="libressl ssl"
+
+RDEPEND="ssl? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ default
+ # bundled macros break recent libtool
+ sed -i -e '/AC_PROG_SHELL/d' configure.ac || die
+ rm *.m4 || die "failed to remove bundled macros"
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ $(use_with ssl ssl "${EPREFIX}/usr")
+ )
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ dodoc AUTHORS ChangeLog INSTALL README* doc/siegerc doc/urls.txt
+
+ newbashcomp "${FILESDIR}"/${PN}.bash-completion ${PN}
+}
+
+pkg_postinst() {
+ elog "An example ~/.siegerc file has been installed in"
+ elog "${EPREFIX}/usr/share/doc/${PF}/"
+}
diff --git a/app-benchmarks/stress-ng/Manifest b/app-benchmarks/stress-ng/Manifest
new file mode 100644
index 000000000000..c797b3b3e025
--- /dev/null
+++ b/app-benchmarks/stress-ng/Manifest
@@ -0,0 +1 @@
+DIST stress-ng-0.11.10.tar.xz 443208 BLAKE2B 273d98c8e8a7664e2ecd6431f0988b417980d9faf05550a80a0a90505907eec24eae5f717f4bd813f128f22870343861472bc1157373deb0aaef365b85de44fa SHA512 ae83fa107d17fe55c27429d4b0763db2b56c83d5ab88f4738f9b0be74a34c8adbb6d1dd7a5417ff1399c394c9a18c900265705f21c1cf123e0cc8361cb8214fe
diff --git a/app-benchmarks/stress-ng/files/stress-ng-0.11.02-makefile.patch b/app-benchmarks/stress-ng/files/stress-ng-0.11.02-makefile.patch
new file mode 100644
index 000000000000..bce1907d139d
--- /dev/null
+++ b/app-benchmarks/stress-ng/files/stress-ng-0.11.02-makefile.patch
@@ -0,0 +1,64 @@
+Always respect users CFLAGS, enable verbose output when compiling
+and don't install compressed man pages.
+
+--- a/Makefile
++++ b/Makefile
+@@ -21,7 +21,7 @@
+ # Codename "synthetic system strainer"
+ #
+
+-CFLAGS += -Wall -Wextra -DVERSION='"$(VERSION)"' -O2 -std=gnu99
++CFLAGS += -Wall -Wextra -DVERSION='"$(VERSION)"' -std=gnu99
+
+ #
+ # Pedantic flags
+@@ -357,12 +357,10 @@
+ .o: stress-ng.h Makefile
+
+ .c.o: stress-ng.h Makefile $(SRC)
+- @echo "CC $<"
+- @$(CC) $(CFLAGS) -c -o $@ $<
++ $(CC) $(CFLAGS) -c -o $@ $<
+
+ stress-ng: $(OBJS)
+- @echo "LD $@"
+- @$(CC) $(CPPFLAGS) $(CFLAGS) $(OBJS) -lm $(LDFLAGS) -o $@
++ $(CC) $(CPPFLAGS) $(CFLAGS) $(OBJS) -lm $(LDFLAGS) -o $@
+ @sync
+
+ makeconfig:
+@@ -383,7 +381,7 @@
+ sed '$$ s/.$$//' >> apparmor-data.c
+ @echo "};" >> apparmor-data.c
+ @echo "const size_t g_apparmor_data_len = sizeof(g_apparmor_data);" >> apparmor-data.c
+- @echo "CC $<"
++ echo "CC $<"
+ @$(CC) -c apparmor-data.c -o apparmor-data.o
+ @rm -rf apparmor-data.c apparmor-data.bin
+
+@@ -399,12 +397,12 @@
+ core-perf.o: core-perf.c core-perf-event.c
+ @$(CC) $(CFLAGS) -E core-perf-event.c | grep "PERF_COUNT" | sed 's/,/ /' | \
+ awk {'print "#define _SNG_" $$1 " (1)"'} > core-perf-event.h
+- @echo CC $<
+- @$(CC) $(CFLAGS) -c -o $@ $<
++ echo CC $<
++ $(CC) $(CFLAGS) -c -o $@ $<
+
+ stress-vecmath.o: stress-vecmath.c
+- @echo CC $<
+- @$(CC) $(CFLAGS) -fno-builtin -c -o $@ $<
++ echo CC $<
++ $(CC) $(CFLAGS) -fno-builtin -c -o $@ $<
+ @touch stress-ng.c
+
+ $(OBJS): stress-ng.h Makefile
+@@ -453,7 +451,7 @@
+ mkdir -p ${DESTDIR}${BINDIR}
+ cp stress-ng ${DESTDIR}${BINDIR}
+ mkdir -p ${DESTDIR}${MANDIR}
+- cp stress-ng.1.gz ${DESTDIR}${MANDIR}
++ cp stress-ng.1 ${DESTDIR}${MANDIR}
+ mkdir -p ${DESTDIR}${JOBDIR}
+ cp -rp example-jobs/*.job ${DESTDIR}${JOBDIR}
+ mkdir -p ${DESTDIR}${BASHDIR}
diff --git a/app-benchmarks/stress-ng/metadata.xml b/app-benchmarks/stress-ng/metadata.xml
new file mode 100644
index 000000000000..78e44d568878
--- /dev/null
+++ b/app-benchmarks/stress-ng/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>conikost@gentoo.org</email>
+ <name>Conrad Kostecki</name>
+ </maintainer>
+ <longdescription>
+ Stress-ng will stress test a computer system in various selectable ways.
+ It was designed to exercise various physical subsystems of a computer
+ as well as the various operating system kernel interfaces.
+ It features 200 stress tests, 70 CPU specific stress tests,
+ that exercise floating point, integer, bit manipulation and control flow
+ and over 20 virtual memory stress tests.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/ColinIanKing/stress-ng/issues</bugs-to>
+ <remote-id type="github">ColinIanKing/stress-ng</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-benchmarks/stress-ng/stress-ng-0.11.10.ebuild b/app-benchmarks/stress-ng/stress-ng-0.11.10.ebuild
new file mode 100644
index 000000000000..b2cfc3fbc768
--- /dev/null
+++ b/app-benchmarks/stress-ng/stress-ng-0.11.10.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="Stress test for a computer system with various selectable ways"
+HOMEPAGE="https://kernel.ubuntu.com/~cking/stress-ng/"
+SRC_URI="https://kernel.ubuntu.com/~cking/tarballs/${PN}/${P}.tar.xz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+DEPEND="
+ dev-libs/libaio
+ dev-libs/libbsd
+ dev-libs/libgcrypt:0=
+ net-misc/lksctp-tools
+ sys-apps/attr
+ sys-apps/keyutils:=
+ sys-libs/libapparmor
+ sys-libs/libcap
+ sys-libs/zlib
+"
+
+RDEPEND="${DEPEND}"
+
+DOCS=( "README" "README.Android" "TODO" "syscalls.txt" )
+
+PATCHES=( "${FILESDIR}/${PN}-0.11.02-makefile.patch" )
+
+src_compile() {
+ tc-export CC
+
+ default
+}
diff --git a/app-benchmarks/stress/Manifest b/app-benchmarks/stress/Manifest
new file mode 100644
index 000000000000..5669caef088c
--- /dev/null
+++ b/app-benchmarks/stress/Manifest
@@ -0,0 +1 @@
+DIST stress-1.0.4-r1.tar.gz 191800 BLAKE2B 560065d963823e734bb706840908998a58c07c82b21ab579f7a0fd5163e7a8591ca0f6abe430bba058bafd9a2dac1fcf33f011663cd6c3d2fdefb221a49e5e8f SHA512 623a7d9585828bed4b7673e19fb0cfdda904552cd56353d74106047b64249299d5f8da892ec135f1781ec3984c7d5835dcc6c0d8e659e06c8a1e4fb2af9fd9c4
diff --git a/app-benchmarks/stress/metadata.xml b/app-benchmarks/stress/metadata.xml
new file mode 100644
index 000000000000..c54c6e6581d2
--- /dev/null
+++ b/app-benchmarks/stress/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>conikost@gentoo.org</email>
+ <name>Conrad Kostecki</name>
+ </maintainer>
+ <longdescription>
+ Stress is a deliberately simple workload generator for POSIX systems.
+ It imposes a configurable amount of CPU, memory, I/O, and disk stress on the system.
+ </longdescription>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-benchmarks/stress/stress-1.0.4-r2.ebuild b/app-benchmarks/stress/stress-1.0.4-r2.ebuild
new file mode 100644
index 000000000000..0ccec3030783
--- /dev/null
+++ b/app-benchmarks/stress/stress-1.0.4-r2.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+DESCRIPTION="A deliberately simple workload generator for POSIX systems"
+HOMEPAGE="https://people.seas.harvard.edu/~apw/stress"
+SRC_URI="https://people.seas.harvard.edu/~apw/${PN}/${P}.tar.gz -> ${P}-r1.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 arm ~mips ppc ppc64 sparc x86"
+IUSE="static"
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable static)
+ )
+
+ econf "${myeconfargs[@]}"
+}
diff --git a/app-benchmarks/sysbench/Manifest b/app-benchmarks/sysbench/Manifest
new file mode 100644
index 000000000000..3e90424065d3
--- /dev/null
+++ b/app-benchmarks/sysbench/Manifest
@@ -0,0 +1,2 @@
+DIST sysbench-1.0.15.tar.gz 1507930 BLAKE2B d4f18b08a122b8574b916b5ddadf69dd37718ac94642fb8d31582c79788569190a26fad3b3cccaadb695a65a3b9efda59943e32947a709918b3fb6d80aee6cac SHA512 ff68ad15c037006a2a49e3d59062611062336860205816ca6d9cdd20832fc55b631960411caa718dff881e926196046a7317b33e803061868e524a819569d3a2
+DIST sysbench-1.0.19.tar.gz 1509412 BLAKE2B ac52c22bad2e7fb38ac53dbcf8df10c8aa2e1ab30cafa4ec747ad7442ed519c15e693314ae60371b2f4d8a9fe455047982121465fe54c3d02524934daca3e387 SHA512 1e88cb8dc679fa2b71dc3310fe058bcce7a154bcbc9d5e9b1936d61a11a27e4b6784157cefb1e3540f6abac5142aad4bbf4b470941cf4f1c6d55a967262c07be
diff --git a/app-benchmarks/sysbench/metadata.xml b/app-benchmarks/sysbench/metadata.xml
new file mode 100644
index 000000000000..546393d87c3d
--- /dev/null
+++ b/app-benchmarks/sysbench/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>hydrapolic@gmail.com</email>
+ <name>Tomáš Mózes</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <use>
+ <flag name="aio">Enable libaio support</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">akopytov/sysbench</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-benchmarks/sysbench/sysbench-1.0.15-r1.ebuild b/app-benchmarks/sysbench/sysbench-1.0.15-r1.ebuild
new file mode 100644
index 000000000000..0b38fa7ccf3c
--- /dev/null
+++ b/app-benchmarks/sysbench/sysbench-1.0.15-r1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools pax-utils
+
+DESCRIPTION="System performance benchmark"
+HOMEPAGE="https://github.com/akopytov/sysbench"
+SRC_URI="https://github.com/akopytov/sysbench/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="aio mysql postgres test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="aio? ( dev-libs/libaio )
+ mysql? ( dev-db/mysql-connector-c:= )
+ postgres? ( dev-db/postgresql:= )
+ dev-lang/luajit:="
+DEPEND="${RDEPEND}
+ dev-libs/concurrencykit
+ dev-libs/libxslt
+ sys-devel/libtool
+ virtual/pkgconfig
+ test? ( dev-util/cram )"
+
+src_prepare() {
+ default
+
+ # remove bundled libs
+ rm -r third_party/luajit/luajit third_party/concurrency_kit/ck third_party/cram || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable aio)
+ $(use_with mysql)
+ $(use_with postgres pgsql)
+ --without-attachsql
+ --without-drizzle
+ --without-oracle
+ --with-system-luajit
+ --with-system-ck
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ emake check test
+}
+
+src_install() {
+ default
+
+ pax-mark m "${ED%/}"/usr/bin/${PN}
+}
diff --git a/app-benchmarks/sysbench/sysbench-1.0.19.ebuild b/app-benchmarks/sysbench/sysbench-1.0.19.ebuild
new file mode 100644
index 000000000000..bad79a67a164
--- /dev/null
+++ b/app-benchmarks/sysbench/sysbench-1.0.19.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools pax-utils
+
+DESCRIPTION="System performance benchmark"
+HOMEPAGE="https://github.com/akopytov/sysbench"
+SRC_URI="https://github.com/akopytov/sysbench/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="aio mysql postgres test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="aio? ( dev-libs/libaio )
+ mysql? ( dev-db/mysql-connector-c:= )
+ postgres? ( dev-db/postgresql:= )
+ dev-lang/luajit:2"
+DEPEND="${RDEPEND}
+ dev-libs/concurrencykit
+ dev-libs/libxslt
+ test? ( dev-util/cram )"
+BDEPEND="sys-devel/libtool
+ virtual/pkgconfig"
+
+src_prepare() {
+ default
+
+ # remove bundled libs
+ rm -r third_party/luajit/luajit third_party/concurrency_kit/ck third_party/cram || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable aio)
+ $(use_with mysql)
+ $(use_with postgres pgsql)
+ --without-attachsql
+ --without-drizzle
+ --without-oracle
+ --with-system-luajit
+ --with-system-ck
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ emake check test
+}
+
+src_install() {
+ default
+
+ pax-mark m "${ED}"/usr/bin/${PN}
+}
diff --git a/app-benchmarks/sysbench/sysbench-9999.ebuild b/app-benchmarks/sysbench/sysbench-9999.ebuild
new file mode 100644
index 000000000000..20702594cf13
--- /dev/null
+++ b/app-benchmarks/sysbench/sysbench-9999.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools git-r3 pax-utils
+
+DESCRIPTION="System performance benchmark"
+HOMEPAGE="https://github.com/akopytov/sysbench"
+EGIT_REPO_URI="https://github.com/akopytov/sysbench.git"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS=""
+IUSE="aio mysql postgres test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="aio? ( dev-libs/libaio )
+ mysql? ( dev-db/mysql-connector-c:= )
+ postgres? ( dev-db/postgresql:= )
+ dev-lang/luajit:="
+DEPEND="${RDEPEND}
+ dev-libs/concurrencykit
+ dev-libs/libxslt
+ sys-devel/libtool
+ virtual/pkgconfig
+ test? ( dev-util/cram )"
+
+src_prepare() {
+ default
+
+ # remove bundled libs
+ rm -r third_party/luajit/luajit third_party/concurrency_kit/ck third_party/cram || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable aio)
+ $(use_with mysql)
+ $(use_with postgres pgsql)
+ --with-system-luajit
+ --with-system-ck
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ emake check test
+}
+
+src_install() {
+ default
+
+ pax-mark m "${ED}"/usr/bin/${PN}
+}
diff --git a/app-benchmarks/tiobench/Manifest b/app-benchmarks/tiobench/Manifest
new file mode 100644
index 000000000000..2321aa9ff082
--- /dev/null
+++ b/app-benchmarks/tiobench/Manifest
@@ -0,0 +1 @@
+DIST tiobench-0.4.2.tar.gz 32182 BLAKE2B f3c0f78daac0dc8c38de2049f8edfce7443fb43a6aacf31a0b5c12abf80ec0ae4c03b1bd25f954db261027c16dfb73fdffe970a730a853caf25763579c2e7170 SHA512 02e82d86ee889a366c1a00d4fb49f63d926e44ba6e2f297212479a5c13abe008b62c12d44483de7e971b5ebf875d5c07847f1d69dd11b2e87a050e27d8f9f09f
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
new file mode 100644
index 000000000000..9e682ad70276
--- /dev/null
+++ b/app-benchmarks/tiobench/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>alicef@gentoo.org</email>
+ <name>Alice Ferrazzi</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">mkuoppal/tiobench</remote-id>
+ <remote-id type="sourceforge">tiobench</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</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..339da5860de9
--- /dev/null
+++ b/app-benchmarks/tiobench/tiobench-0.4.2.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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
+}
diff --git a/app-benchmarks/vegeta/Manifest b/app-benchmarks/vegeta/Manifest
new file mode 100644
index 000000000000..62e67b05d432
--- /dev/null
+++ b/app-benchmarks/vegeta/Manifest
@@ -0,0 +1,4 @@
+DIST github.com-bmizerany-perks-d9a9656a3a.tar.gz 9615 BLAKE2B 219318a3d05c8ef6d28deb70e31921fab01b1509ff1742ed4d947199a50c6ff5e97cf4898f3c697c169d037fc6eaea7d3beb54d43a5ea973368521ad1ef28dbf SHA512 850c3bb64b3f956e1b6c8efafe11e5ac819fa6d87e83f5cddb886aca968aa9c17525a0df9d634b7fca1096c37579856307a2a6e29c0d4260bd0d96453be70d7d
+DIST github.com-golang-net-35028a4.tar.gz 727658 BLAKE2B 775e953e03971e63a38aa368c2752387223bd8d14b5cac68c61dcd47181e20a0b2de78dbe2c80ef19bd4cb004a3cfbcc09c148514d578b9e606f9f475f37a705 SHA512 78896cf0320cc23dd23cbded65f87f0f99154725f4eb8af69df89371b53d77e5ae2fdc6aaa6ef826be72918440b7be82476cb903198aa6fe32c6714a4e02d2aa
+DIST github.com-streadway-quantile-b0c5887.tar.gz 4868 BLAKE2B 08991d1180c3913fe9b802d89128ec96d2dc64acfed2fa4b4b78e0564c0248fe7c68fa96e85152e1f60b1febdf5eb687c529fe8764fc7665705daacf22622d17 SHA512 dda85e63560244a9b96fe0d5400b76592852f2e305109f2d29791169532ef9025e8e27449694ca54e20856555ae41bb234be0a61a5337c0808622cfd57dddc92
+DIST vegeta-6.1.1.tar.gz 110579 BLAKE2B 28f11deb1fad4876e271e6955d95c4c2ce1d71eed31eea54eee180762bb9baf259a41a028c21ef07a325e0a599fee39820f8fa72df053e3c245dd376d9bbf9ef SHA512 e8f119c30bc557b2be11beba4f7b74bc98c73852b6c4d2ad32257c23b4b9c21d25c8b6bc7f198a8d9165371ded76569e4c744cf4ee898d7d5aca0bfc3896bcde
diff --git a/app-benchmarks/vegeta/metadata.xml b/app-benchmarks/vegeta/metadata.xml
new file mode 100644
index 000000000000..2727c597869e
--- /dev/null
+++ b/app-benchmarks/vegeta/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>toffanin.mauro@gmail.com</email>
+ <name>Mauro Toffanin</name>
+ <description>Maintainer. Assign bugs to him</description>
+ </maintainer>
+ <origin>go-overlay</origin>
+</pkgmetadata>
diff --git a/app-benchmarks/vegeta/vegeta-6.1.1.ebuild b/app-benchmarks/vegeta/vegeta-6.1.1.ebuild
new file mode 100644
index 000000000000..9681414889bd
--- /dev/null
+++ b/app-benchmarks/vegeta/vegeta-6.1.1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2020 Go Overlay Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+GOLANG_PKG_IMPORTPATH="github.com/tsenart"
+GOLANG_PKG_ARCHIVEPREFIX="v"
+GOLANG_PKG_LDFLAGS="-X main.Version=v${PV}"
+
+GOLANG_PKG_DEPENDENCIES=(
+ "github.com/bmizerany/perks:d9a9656a3a"
+ "github.com/streadway/quantile:b0c5887"
+ "github.com/golang/net:35028a4 -> golang.org/x"
+)
+
+inherit golang-single
+
+DESCRIPTION="HTTP load testing tool and library written in GoLang."
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86 arm"
diff --git a/app-benchmarks/wrk/Manifest b/app-benchmarks/wrk/Manifest
new file mode 100644
index 000000000000..71e1020fd8db
--- /dev/null
+++ b/app-benchmarks/wrk/Manifest
@@ -0,0 +1 @@
+DIST wrk-4.1.0.tar.gz 6478125 BLAKE2B d64c172819a32b874e5351ef1088a66af7eb76ae34421577f817f14797a5711665adb8074e90a80e511139a889d4c960dc91caa5855bbd67038229307ef93ed2 SHA512 2c8d05f8e40c3a6234bc1c2862157764532a39046860210fe512c260c2b940e1e3120b831d0721c936c7bca474574600cda1f4c949b53738199d98102e32cb1a
diff --git a/app-benchmarks/wrk/files/wrk-4.1.0-r1-makefile.patch b/app-benchmarks/wrk/files/wrk-4.1.0-r1-makefile.patch
new file mode 100644
index 000000000000..6e7dd317b8fb
--- /dev/null
+++ b/app-benchmarks/wrk/files/wrk-4.1.0-r1-makefile.patch
@@ -0,0 +1,37 @@
+--- a/Makefile 2018-01-21 07:00:58.000000000 +0100
++++ b/Makefile 2018-11-09 11:58:57.000000000 +0100
+@@ -1,4 +1,4 @@
+-CFLAGS += -std=c99 -Wall -O2 -D_REENTRANT
++CFLAGS += -std=c99 -Wall -D_REENTRANT
+ LIBS := -lpthread -lm -lssl -lcrypto
+
+ TARGET := $(shell uname -s | tr '[A-Z]' '[a-z]' 2>/dev/null || echo unknown)
+@@ -24,7 +24,7 @@
+
+ ODIR := obj
+ OBJ := $(patsubst %.c,$(ODIR)/%.o,$(SRC)) $(ODIR)/bytecode.o $(ODIR)/version.o
+-LIBS := -lluajit-5.1 $(LIBS)
++LIBS := $(shell pkg-config luajit --libs) $(LIBS)
+
+ DEPS :=
+ CFLAGS += -I$(ODIR)/include
+@@ -51,8 +51,7 @@
+ $(RM) -rf $(BIN) obj/*
+
+ $(BIN): $(OBJ)
+- @echo LINK $(BIN)
+- @$(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
++ $(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
+
+ $(OBJ): config.h Makefile $(DEPS) | $(ODIR)
+
+@@ -67,8 +66,7 @@
+ @echo 'const char *VERSION="$(VER)";' | $(CC) -xc -c -o $@ -
+
+ $(ODIR)/%.o : %.c
+- @echo CC $<
+- @$(CC) $(CFLAGS) -c -o $@ $<
++ $(CC) $(CFLAGS) -c -o $@ $<
+
+ # Dependencies
+
diff --git a/app-benchmarks/wrk/metadata.xml b/app-benchmarks/wrk/metadata.xml
new file mode 100644
index 000000000000..c388e3210eff
--- /dev/null
+++ b/app-benchmarks/wrk/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>conikost@gentoo.org</email>
+ <name>Conrad Kostecki</name>
+ </maintainer>
+ <longdescription>
+ WRK is a modern HTTP benchmarking tool capable of generating
+ significant load when run on a single multi-core CPU.
+ It combines a multithreaded design with scalable event
+ notification systems such as epoll and kqueue.
+ An optional LuaJIT script can perform HTTP request generation,
+ response processing, and custom reporting.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://www.github.com/wg/wrk/issues</bugs-to>
+ <remote-id type="github">wg/wrk</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/app-benchmarks/wrk/wrk-4.1.0-r2.ebuild b/app-benchmarks/wrk/wrk-4.1.0-r2.ebuild
new file mode 100644
index 000000000000..23ba20045cbb
--- /dev/null
+++ b/app-benchmarks/wrk/wrk-4.1.0-r2.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="A HTTP benchmarking tool"
+HOMEPAGE="https://www.github.com/wg/wrk"
+SRC_URI="https://www.github.com/wg/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+KEYWORDS="amd64 x86"
+LICENSE="Apache-2.0 BSD MIT"
+SLOT="0"
+IUSE="libressl"
+
+CBUILD="dev-lang/luajit:2"
+
+DEPEND="
+ dev-lang/lua:0
+ libressl? ( dev-libs/libressl:0= )
+ !libressl? ( dev-libs/openssl:0= )
+"
+
+RDEPEND="
+ ${CBUILD}
+ ${RDEPEND}
+"
+
+BDEPEND="
+ ${CBUILD}
+ virtual/pkgconfig
+"
+
+DOCS=(
+ "CHANGES"
+ "NOTICE"
+ "README.md"
+ "SCRIPTING"
+)
+
+PATCHES=( "${FILESDIR}/${P}-r1-makefile.patch" )
+
+src_compile() {
+ myemakeargs=(
+ CC="$(tc-getCC)"
+ VER="${PV}"
+ WITH_LUAJIT="/usr"
+ WITH_OPENSSL="/usr"
+ )
+
+ emake "${myemakeargs[@]}"
+}
+
+src_install() {
+ dobin wrk
+
+ insinto /usr/share/wrk
+ doins -r scripts
+
+ einstalldocs
+}