biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / applications / graphics / unigine-tropics / default.nix
blob6053db7a3f6e67049ddf62b746440a16db46bace
1 { lib
2 , stdenv
3 , fetchurl
4 , makeWrapper
5 , autoPatchelfHook
6 , libX11
7 , libXext
8 , libXrandr
9 , libXinerama
10 , libglvnd
11 , openal
12 , glibc
13 , makeDesktopItem
14 , copyDesktopItems
15 , imagemagick
17 let
18   version = "1.3";
20 stdenv.mkDerivation {
21   pname = "unigine-tropics";
22   inherit version;
24   src = fetchurl {
25     url = "https://assets.unigine.com/d/Unigine_Tropics-${version}.run";
26     sha256 = "sha256-/eA1i42/PMcoBbUJIGS66j7QpZ13oPkOi1Y6Q27TikU=";
27   };
29   libPath = lib.makeLibraryPath [
30     libglvnd
31     openal
32     glibc
33   ];
35   installPhase = ''
36     bash $src --target $name
38     install -D -m 0755 $name/bin/libUnigine_x86.so $out/lib/unigine/tropics/bin/libUnigine_x86.so
39     install -D -m 0755 $name/bin/Tropics $out/lib/unigine/tropics/bin/Tropics
40     install -D -m 0755 $name/1024x768_windowed.sh $out/bin/Tropics
42     cp -R $name/data $out/lib/unigine/tropics
44     wrapProgram $out/bin/Tropics \
45       --prefix LD_LIBRARY_PATH : $libPath:$out/lib/unigine/tropics/bin \
46       --run "cd $out/lib/unigine/tropics"
48     convert -size 256x256 xc:Transparent -fill gradient:'dodgerblue-white' -stroke Transparent -draw "roundrectangle 0,0 256,256 50,50"  $name/icon.png
49     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
51     for RES in 16 24 32 48 64 128 256
52     do
53         mkdir -p $out/share/icons/hicolor/"$RES"x"$RES"/apps
54         convert $name/icon.png -resize "$RES"x"$RES" $out/share/icons/hicolor/"$RES"x"$RES"/apps/Tropics.png
55     done
56     convert $name/icon.png -resize 128x128 $out/share/icons/Tropics.png
58     runHook postInstall
59   '';
61   desktopItems = [
62     (makeDesktopItem {
63       name = "Tropics";
64       exec = "Tropics";
65       genericName = "A GPU Stress test tool from the UNIGINE";
66       icon = "Tropics";
67       desktopName = "Tropics Benchmark";
68     })
69   ];
71   nativeBuildInputs = [
72     autoPatchelfHook
73     makeWrapper
74     imagemagick
75     copyDesktopItems
76   ];
78   buildInputs = [
79     stdenv.cc.cc
80     libX11
81     libXext
82     libXrandr
83     libXinerama
84   ];
86   dontUnpack = true;
88   meta = {
89     description = "Unigine Heaven GPU benchmarking tool";
90     homepage = "https://benchmark.unigine.com/tropics";
91     sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
92     license = lib.licenses.unfree;
93     maintainers = [ lib.maintainers.BarinovMaxim ];
94     platforms = [ "x86_64-linux" "i686-linux" ];
95     mainProgram = "Tropics";
96   };