nixos-riscv/pkgs/spec-cpu/mini.nix

56 lines
1.2 KiB
Nix

{
stdenv
, spec-cpu
}:
stdenv.mkDerivation rec {
pname = "spec-cpu-mini";
version = spec-cpu.version;
src = null;
unpackPhase = "true";
# Select only a subset of the benchmarks:
# https://www.spec.org/cpu2017/Docs/#benchdocs
benchList = [
# -- SPECspeed 2017 Integer --
"600.perlbench_s"
"602.gcc_s"
"605.mcf_s"
"620.omnetpp_s"
#"623.xalancbmk_s" # Big
#"625.x264_s" # Big
"631.deepsjeng_s"
"641.leela_s"
"648.exchange2_s"
"657.xz_s"
];
dontConfigure = true;
buildPhase = ''
pwd
mkdir -p benchspec/CPU
for bench in $benchList; do
cp -r ${spec-cpu}/benchspec/CPU/$bench benchspec/CPU/
done
# Make writable
chmod -R +w benchspec
# Remove environment
find benchspec -name '*.cmd' | xargs sed -i '/^-E/d'
# Remove compare script as it refers to spec-cpu-tools
find benchspec -name 'compare.cmd' -delete
'';
installPhase = ''
pwd
mkdir -p $out
cp -r benchspec/ $out
mkdir -p $out/bin
echo -e "#!$SHELL\necho $out" > $out/bin/spec-cpu-mini
chmod +x $out/bin/spec-cpu-mini
'';
enableParallelBuilding = false;
hardeningDisable = [ "all" ];
dontStrip = true;
}