diff options
| author | éclairevoyant <848000+eclairevoyant@users.noreply.github.com> | 2024-05-22 14:28:02 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-22 14:28:02 +0000 |
| commit | ffb9257caa8c9f1a74cc6761bbe5f6b80dd2ead5 (patch) | |
| tree | 79dfc74724a0e77f3ee3171ddb1a22be2abd575d | |
| parent | Merge pull request #313649 from f2k1de/graylog-5.1.13 (diff) | |
| parent | furmark: init at 2.3.0.0 (diff) | |
| download | nixpkgs-ffb9257caa8c9f1a74cc6761bbe5f6b80dd2ead5.tar.gz | |
Merge pull request #290458 from surfaceflinger/furmark-init
furmark: init at 2.3.0.0
| -rw-r--r-- | pkgs/by-name/fu/furmark/package.nix | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/pkgs/by-name/fu/furmark/package.nix b/pkgs/by-name/fu/furmark/package.nix new file mode 100644 index 000000000000..89aad3bdb2af --- /dev/null +++ b/pkgs/by-name/fu/furmark/package.nix @@ -0,0 +1,107 @@ +{ + autoPatchelfHook, + copyDesktopItems, + fetchzip, + lib, + libGL, + libGLU, + libxcrypt-legacy, + makeDesktopItem, + makeWrapper, + stdenv, + testers, + vulkan-loader, +}: + +let + description = "OpenGL and Vulkan Benchmark and Stress Test"; + + versions = { + "x86_64-linux" = "2.3.0.0"; + "aarch64-linux" = "2.3.0.0"; + "i686-linux" = "2.0.16"; + }; + + sources = { + "x86_64-linux" = { + url = "https://gpumagick.com/downloads/files/2024/furmark2/FurMark_${versions.x86_64-linux}_linux64.zip"; + hash = "sha256-9xwnOo8gh6XlX2uTwvEorXsx9FafaeCyCPPPJLJGeuE="; + }; + "aarch64-linux" = { + url = "https://gpumagick.com/downloads/files/2024/furmark2/FurMark_${versions.x86_64-linux}_rpi64.zip"; + hash = "sha256-az4prQbg9I+6rt2y1OTy3t21/VHyZS++57r4Ahe3fcQ="; + }; + "i686-linux" = { + url = "https://gpumagick.com/downloads/files/2024/furmark2/FurMark_${versions.i686-linux}_linux32.zip"; + hash = "sha256-yXd90FgL3WbTga5x0mXT40BonA2NQtqLzRVzn4s4lLc="; + }; + }; +in +stdenv.mkDerivation (finalAttrs: { + pname = "furmark"; + version = versions.${stdenv.hostPlatform.system}; + + src = fetchzip sources.${stdenv.hostPlatform.system}; + + nativeBuildInputs = [ + autoPatchelfHook + copyDesktopItems + makeWrapper + ]; + + buildInputs = [ + libGL + libGLU + ] ++ lib.optionals stdenv.isAarch64 [ libxcrypt-legacy ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/furmark + cp -rp * $out/share/furmark + + mkdir -p $out/bin + for i in $(find $out/share/furmark -maxdepth 1 -type f -executable); do + ln -s "$i" "$out/bin/$(basename "$i")" + done + + runHook postInstall + ''; + + appendRunpaths = [ (lib.makeLibraryPath [ vulkan-loader ]) ]; + + desktopItems = [ + (makeDesktopItem rec { + name = "FurMark"; + exec = "FurMark_GUI"; + comment = description; + desktopName = name; + genericName = name; + categories = [ + "System" + "Monitor" + ]; + }) + ]; + + passthru = { + tests.version = testers.testVersion { + package = finalAttrs.finalPackage; + command = "furmark --version"; + }; + }; + + meta = { + homepage = "https://www.geeks3d.com/furmark/v2/"; + license = lib.licenses.unfree; + mainProgram = "FurMark_GUI"; + maintainers = with lib.maintainers; [ surfaceflinger ]; + platforms = [ + "aarch64-linux" + "i686-linux" + "x86_64-linux" + ]; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + inherit description; + }; +}) |
