From e5ca3bbc0a2116528f2a58c2bffb8bbb151aa1cf Mon Sep 17 00:00:00 2001 From: barinov274 Date: Fri, 8 Apr 2022 20:38:05 +1000 Subject: [PATCH] unigine-tropics: init at 1.3 --- .../graphics/unigine-tropics/default.nix | 95 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 97 insertions(+) create mode 100644 pkgs/applications/graphics/unigine-tropics/default.nix diff --git a/pkgs/applications/graphics/unigine-tropics/default.nix b/pkgs/applications/graphics/unigine-tropics/default.nix new file mode 100644 index 000000000000..1057c2fa6cad --- /dev/null +++ b/pkgs/applications/graphics/unigine-tropics/default.nix @@ -0,0 +1,95 @@ +{ lib +, stdenv +, fetchurl +, makeWrapper +, autoPatchelfHook +, libX11 +, libXext +, libXrandr +, libXinerama +, libglvnd +, openal +, glibc +, makeDesktopItem +, copyDesktopItems +, imagemagick +}: +let + version = "1.3"; +in +stdenv.mkDerivation { + pname = "unigine-tropics"; + inherit version; + + src = fetchurl { + url = "http://m12-assets.unigine.com/d/Unigine_Tropics-${version}.run"; + sha256 = "0icasdp46fjnic7gk83pknjx0gpap9j202dm0llcfg5zin5kbq7x"; + }; + + libPath = lib.makeLibraryPath [ + libglvnd + openal + glibc + ]; + + installPhase = '' + bash $src --target $name + + install -D -m 0755 $name/bin/libUnigine_x86.so $out/lib/unigine/tropics/bin/libUnigine_x86.so + install -D -m 0755 $name/bin/Tropics $out/lib/unigine/tropics/bin/Tropics + install -D -m 0755 $name/1024x768_windowed.sh $out/bin/Tropics + + cp -R $name/data $out/lib/unigine/tropics + + wrapProgram $out/bin/Tropics \ + --prefix LD_LIBRARY_PATH : $libPath:$out/lib/unigine/tropics/bin \ + --run "cd $out/lib/unigine/tropics" + + convert -size 256x256 xc:Transparent -fill gradient:'dodgerblue-white' -stroke Transparent -draw "roundrectangle 0,0 256,256 50,50" $name/icon.png + convert $name/icon.png -fill white -stroke white -draw "polygon 69.2564,84.1261 117.9,84.1261 117.9,206.56 138.1,206.56 138.1,84.1261 186.744,84.1261 186.744,65.9877 69.2564,65.9877 69.2564,84.1261" $name/icon.png + + for RES in 16 24 32 48 64 128 256 + do + mkdir -p $out/share/icons/hicolor/"$RES"x"$RES"/apps + convert $name/icon.png -resize "$RES"x"$RES" $out/share/icons/hicolor/"$RES"x"$RES"/apps/Tropics.png + done + convert $name/icon.png -resize 128x128 $out/share/icons/Tropics.png + + runHook postInstall + ''; + + desktopItems = [ + (makeDesktopItem { + name = "Tropics"; + exec = "Tropics"; + genericName = "A GPU Stress test tool from the UNIGINE"; + icon = "Tropics"; + desktopName = "Tropics Benchmark"; + }) + ]; + + nativeBuildInputs = [ + autoPatchelfHook + makeWrapper + imagemagick + copyDesktopItems + ]; + + buildInputs = [ + stdenv.cc.cc + libX11 + libXext + libXrandr + libXinerama + ]; + + dontUnpack = true; + + meta = { + description = "The Unigine Heaven GPU benchmarking tool"; + homepage = "https://benchmark.unigine.com/tropics"; + license = lib.licenses.unfree; + maintainers = [ lib.maintainers.BarinovMaxim ]; + platforms = [ "x86_64-linux" "i686-linux" ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 93670a15f35a..7062b1f09d0a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -29677,6 +29677,8 @@ with pkgs; unigine-heaven = callPackage ../applications/graphics/unigine-heaven { }; + unigine-tropics = pkgsi686Linux.callPackage ../applications/graphics/unigine-tropics { }; + unigine-superposition = libsForQt5.callPackage ../applications/graphics/unigine-superposition { }; unipicker = callPackage ../applications/misc/unipicker { };