Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 73 lines 1.7 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchurl, 5 autoPatchelfHook, 6 addDriverRunpath, 7 makeWrapper, 8 ocl-icd, 9 vulkan-loader, 10}: 11 12let 13 inherit (stdenv.hostPlatform.uname) processor; 14 version = "5.5.1"; 15 sources = { 16 "x86_64-linux" = { 17 url = "https://cdn.geekbench.com/Geekbench-${version}-Linux.tar.gz"; 18 hash = "sha256-MgN+VcPcjzYP4Wt/uxiNMTh+p1mA5I2M8CgzDjI5xAQ="; 19 }; 20 "aarch64-linux" = { 21 url = "https://cdn.geekbench.com/Geekbench-${version}-LinuxARMPreview.tar.gz"; 22 hash = "sha256-nrPKnsMqvw6+HGQAKxkQi/6lPEEca1VrDCaJUUuMvW8="; 23 }; 24 }; 25in 26stdenv.mkDerivation { 27 inherit version; 28 pname = "geekbench"; 29 30 src = fetchurl ( 31 sources.${stdenv.system} or (throw "unsupported system ${stdenv.hostPlatform.system}") 32 ); 33 34 dontConfigure = true; 35 dontBuild = true; 36 37 nativeBuildInputs = [ 38 autoPatchelfHook 39 makeWrapper 40 ]; 41 42 buildInputs = [ (lib.getLib stdenv.cc.cc) ]; 43 44 installPhase = '' 45 runHook preInstall 46 47 mkdir -p $out/bin 48 cp -r geekbench.plar geekbench5 geekbench_${processor} $out/bin 49 50 for f in geekbench5 geekbench_${processor} ; do 51 wrapProgram $out/bin/$f \ 52 --prefix LD_LIBRARY_PATH : "${ 53 lib.makeLibraryPath [ 54 addDriverRunpath.driverLink 55 ocl-icd 56 vulkan-loader 57 ] 58 }" 59 done 60 61 runHook postInstall 62 ''; 63 64 meta = with lib; { 65 description = "Cross-platform benchmark"; 66 homepage = "https://geekbench.com/"; 67 sourceProvenance = with sourceTypes; [ binaryNativeCode ]; 68 license = licenses.unfree; 69 maintainers = [ maintainers.michalrus ]; 70 platforms = builtins.attrNames sources; 71 mainProgram = "geekbench5"; 72 }; 73}