mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2025-01-08 14:40:07 +03:00
Merge pull request #231127 from Aleksanaa/unixbench
unixbench: init at unstable-2023-04-12
This commit is contained in:
commit
43f5efa493
108
pkgs/development/tools/misc/unixbench/common.patch
Normal file
108
pkgs/development/tools/misc/unixbench/common.patch
Normal file
@ -0,0 +1,108 @@
|
||||
diff --git a/UnixBench/Run b/UnixBench/Run
|
||||
index 34d2c72..130b56e 100755
|
||||
--- a/UnixBench/Run
|
||||
+++ b/UnixBench/Run
|
||||
@@ -81,23 +81,23 @@ my $longIterCount = 10;
|
||||
my $shortIterCount = 3;
|
||||
|
||||
# C compiler to use in compilation tests.
|
||||
-my $cCompiler = 'gcc';
|
||||
+my $cCompiler = 'cc -w';
|
||||
|
||||
# Establish full paths to directories. These need to be full pathnames
|
||||
# (or do they, any more?). They can be set in env.
|
||||
# variable names are the first parameter to getDir() below.
|
||||
|
||||
# Directory where the test programs live.
|
||||
-my $BINDIR = getDir('UB_BINDIR', $FindBin::Bin . "/pgms");
|
||||
+my $BINDIR = getDir('UB_BINDIR', '@out@/libexec/pgms');
|
||||
|
||||
# Temp directory, for temp files.
|
||||
-my $TMPDIR = getDir('UB_TMPDIR', $FindBin::Bin . "/tmp");
|
||||
+my $TMPDIR = getDir('UB_TMPDIR', "$ENV{'PWD'}/unixbench/temp");
|
||||
|
||||
# Directory to put results in.
|
||||
-my $RESULTDIR = getDir('UB_RESULTDIR', $FindBin::Bin . "/results");
|
||||
+my $RESULTDIR = getDir('UB_RESULTDIR', "$ENV{'PWD'}/unixbench/results");
|
||||
|
||||
# Directory where the tests are executed.
|
||||
-my $TESTDIR = getDir('UB_TESTDIR', $FindBin::Bin . "/testdir");
|
||||
+my $TESTDIR = getDir('UB_TESTDIR', '@out@/share/testdir');
|
||||
|
||||
|
||||
############################################################################
|
||||
@@ -330,19 +330,19 @@ my $testParams = {
|
||||
"logmsg" => "Shell Scripts (1 concurrent)",
|
||||
"cat" => 'system',
|
||||
"prog" => "${BINDIR}/looper",
|
||||
- "options" => "60 \"${BINDIR}/multi.sh\" 1",
|
||||
+ "options" => "60 \"${BINDIR}/multi.sh\" 1 ${TMPDIR} ${TESTDIR}",
|
||||
},
|
||||
"shell8" => {
|
||||
"logmsg" => "Shell Scripts (8 concurrent)",
|
||||
"cat" => 'system',
|
||||
"prog" => "${BINDIR}/looper",
|
||||
- "options" => "60 \"${BINDIR}/multi.sh\" 8",
|
||||
+ "options" => "60 \"${BINDIR}/multi.sh\" 8 ${TMPDIR} ${TESTDIR}",
|
||||
},
|
||||
"shell16" => {
|
||||
"logmsg" => "Shell Scripts (16 concurrent)",
|
||||
"cat" => 'system',
|
||||
"prog" => "${BINDIR}/looper",
|
||||
- "options" => "60 \"${BINDIR}/multi.sh\" 16",
|
||||
+ "options" => "60 \"${BINDIR}/multi.sh\" 16 ${TMPDIR} ${TESTDIR}",
|
||||
},
|
||||
|
||||
##########################
|
||||
@@ -434,7 +434,7 @@ my $testParams = {
|
||||
"logmsg" => "C Compiler Throughput ($cCompiler)",
|
||||
"cat" => 'misc',
|
||||
"prog" => "${BINDIR}/looper",
|
||||
- "options" => "60 $cCompiler cctest.c",
|
||||
+ "options" => "60 $cCompiler $TESTDIR/cctest.c -o $TMPDIR/cctest",
|
||||
},
|
||||
"arithoh" => {
|
||||
"logmsg" => "Arithoh",
|
||||
@@ -873,16 +873,6 @@ sub preChecks {
|
||||
# Set the language.
|
||||
$ENV{'LANG'} = $language;
|
||||
|
||||
- # Check that the required files are in the proper places.
|
||||
- my $make = $ENV{MAKE} || "make";
|
||||
- system("$make check");
|
||||
- if ($? != 0) {
|
||||
- system("$make all");
|
||||
- if ($? != 0) {
|
||||
- abortRun("\"$make all\" failed");
|
||||
- }
|
||||
- }
|
||||
-
|
||||
# Create a script to kill this run.
|
||||
system("echo \"kill -9 $$\" > \"${TMPDIR}/kill_run\"");
|
||||
chmod(0755, $TMPDIR . "/kill_run");
|
||||
@@ -923,7 +913,10 @@ sub parseArgs {
|
||||
$params->{'copies'} = [ ];
|
||||
}
|
||||
push(@{$params->{'copies'}}, shift(@words));
|
||||
- } else {
|
||||
+ } elsif ($word eq "--help" || $word eq "-h") {
|
||||
+ print "Run: please see ubench(1) for available options\n";
|
||||
+ exit 0;
|
||||
+ }else {
|
||||
die("Run: unknown option $word\n");
|
||||
}
|
||||
}
|
||||
diff --git a/UnixBench/pgms/multi.sh b/UnixBench/pgms/multi.sh
|
||||
index 72e8716..d2f5f48 100755
|
||||
--- a/UnixBench/pgms/multi.sh
|
||||
+++ b/UnixBench/pgms/multi.sh
|
||||
@@ -15,7 +15,8 @@
|
||||
###############################################################################
|
||||
ID="@(#)multi.sh:3.4 -- 5/15/91 19:30:24";
|
||||
instance=1
|
||||
-sort_src=sort.src
|
||||
+sort_src=$3/sort.src
|
||||
+cd $2
|
||||
work_factor=${MULTI_SH_WORK_FACTOR:-1}
|
||||
if [ $work_factor -gt 1 ]; then
|
||||
inputs=
|
109
pkgs/development/tools/misc/unixbench/default.nix
Normal file
109
pkgs/development/tools/misc/unixbench/default.nix
Normal file
@ -0,0 +1,109 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, makeWrapper
|
||||
, pandoc
|
||||
, installShellFiles
|
||||
, perl
|
||||
, xorg
|
||||
, libGL
|
||||
, coreutils
|
||||
, unixtools
|
||||
, targetPackages
|
||||
, gnugrep
|
||||
, gawk
|
||||
, withGL? true
|
||||
, withX11perf? true
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "unixbench";
|
||||
version = "unstable-2023-02-27";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kdlucas";
|
||||
repo = "byte-unixbench";
|
||||
rev = "a07fcc03264915c624f0e4818993c5b4df3fa703";
|
||||
hash = "sha256-gmRWAqE9/HBb0S9rK0DXoaCoiGbtat0gmdeozhbv0NI=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./common.patch
|
||||
];
|
||||
|
||||
patchFlags = [ "-p2" ];
|
||||
|
||||
sourceRoot = "source/UnixBench";
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace Makefile \
|
||||
--replace "-Wa,-q" ""
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
pandoc
|
||||
installShellFiles
|
||||
];
|
||||
|
||||
buildInputs = [ perl ] ++ lib.optionals withGL [
|
||||
xorg.libX11
|
||||
xorg.libXext
|
||||
libGL
|
||||
];
|
||||
|
||||
runtimeDependencies = [
|
||||
coreutils
|
||||
unixtools.nettools
|
||||
unixtools.locale
|
||||
targetPackages.stdenv.cc
|
||||
gnugrep
|
||||
gawk
|
||||
] ++ lib.optionals withX11perf [
|
||||
xorg.x11perf
|
||||
];
|
||||
|
||||
makeFlags = [
|
||||
"CC=${stdenv.cc.targetPrefix}cc"
|
||||
] ++ lib.optionals withGL [
|
||||
"GRAPHIC_TESTS=defined"
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/{bin,libexec,share}
|
||||
install -D Run $out/bin/ubench
|
||||
cp -r pgms $out/libexec/
|
||||
cp -r testdir $out/share/
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
substituteInPlace USAGE \
|
||||
--replace 'Run"' 'ubench"' \
|
||||
--replace './Run' 'ubench' \
|
||||
--replace 'Run ' 'ubench '
|
||||
pandoc -f rst -t man USAGE -o ubench.1
|
||||
installManPage ubench.1
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
substituteInPlace $out/libexec/pgms/multi.sh \
|
||||
--replace '/bin/sh "$' '${targetPackages.runtimeShell} "$'
|
||||
|
||||
substituteInPlace $out/bin/ubench \
|
||||
--subst-var out
|
||||
|
||||
wrapProgram $out/bin/ubench \
|
||||
--prefix PATH : ${lib.makeBinPath runtimeDependencies}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A basic indicator of the performance of a Unix-like system";
|
||||
homepage = "https://github.com/kdlucas/byte-unixbench";
|
||||
license = licenses.gpl2Plus;
|
||||
mainProgram = "ubench";
|
||||
maintainers = with maintainers; [ aleksana ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
@ -13290,6 +13290,8 @@ with pkgs;
|
||||
|
||||
unfs3 = callPackage ../servers/unfs3 { };
|
||||
|
||||
unixbench = callPackage ../development/tools/misc/unixbench { };
|
||||
|
||||
unoconv = callPackage ../tools/text/unoconv { };
|
||||
|
||||
unrtf = callPackage ../tools/text/unrtf { };
|
||||
|
Loading…
Reference in New Issue
Block a user