{ lib , stdenv , fetchurl , curl , unzip , ncurses5 , dmidecode , coreutils , util-linux , autoPatchelfHook , makeWrapper }: let sources = { "x86_64-linux" = { url = "https://web.archive.org/web/20231205092714/https://www.passmark.com/downloads/pt_linux_x64.zip"; hash = "sha256-q9H+/V4fkSwJJEp+Vs+MPvndi5DInx5MQCzAv965IJg="; }; "aarch64-linux" = { url = "https://web.archive.org/web/20231205092807/https://www.passmark.com/downloads/pt_linux_arm64.zip"; hash = "sha256-7fmd2fukJ56e0BJFJe3SitGlordyIFbNjIzQv+u6Zuw="; }; }; in stdenv.mkDerivation rec { version = "11.0.1002"; pname = "passmark-performancetest"; src = fetchurl (sources.${stdenv.system} or (throw "Unsupported system for PassMark performance test")); dontConfigure = true; dontBuild = true; nativeBuildInputs = [ unzip autoPatchelfHook makeWrapper ]; buildInputs = [ stdenv.cc.cc.lib curl ncurses5 ]; installPhase = '' runHook preInstall install -Dm555 pt_linux_* "$out/bin/performancetest" runHook postInstall ''; # Prefix since program will call sudo postFixup = '' wrapProgram $out/bin/performancetest \ --prefix PATH ":" ${lib.makeBinPath [ dmidecode coreutils util-linux ]} ''; meta = with lib; { description = "Software tool that allows everybody to quickly assess the performance of their computer and compare it to a number of standard 'baseline' computer systems"; homepage = "https://www.passmark.com"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; maintainers = with maintainers; [ neverbehave ]; platforms = builtins.attrNames sources; mainProgram = "performancetest"; }; }