anvil-editor: init at 0.4
[NixPkgs.git] / pkgs / development / tools / rgp / default.nix
blob85c04d53e80132157eb6a38b40d170f0e55d87b4
1 { lib
2 , stdenv
3 , makeWrapper
4 , fetchurl
5 , autoPatchelfHook
6 , dbus
7 , fontconfig
8 , freetype
9 , glib
10 , libdrm
11 , libGLU
12 , libglvnd
13 , libICE
14 , libkrb5
15 , libSM
16 , libX11
17 , libxcb
18 , libXi
19 , libxkbcommon
20 , ncurses
21 , wayland
22 , zlib
25 let
26   buildNum = "2024-09-26-1411";
28 stdenv.mkDerivation {
29   pname = "rgp";
30   version = "2.3";
32   src = fetchurl {
33     url = "https://gpuopen.com/download/radeon-developer-tool-suite/RadeonDeveloperToolSuite-${buildNum}.tgz";
34     hash = "sha256-mgIFDStgat4E+67TaSLrcwgWTu7zLf7Nkn6zBlgeVcQ=";
35   };
37   nativeBuildInputs = [ makeWrapper autoPatchelfHook ];
39   buildInputs = [
40     dbus
41     fontconfig
42     freetype
43     glib
44     libdrm
45     libGLU
46     libglvnd
47     libICE
48     libkrb5
49     libSM
50     libX11
51     libxcb
52     libXi
53     libxkbcommon
54     ncurses
55     wayland
56     zlib
57   ];
59   installPhase = ''
60     mkdir -p $out/opt/rgp $out/bin
61     cp -r . $out/opt/rgp/
63     chmod +x $out/opt/rgp/scripts/*
64     patchShebangs $out/opt/rgp/scripts
66     for prog in RadeonDeveloperPanel RadeonDeveloperService RadeonDeveloperServiceCLI RadeonGPUAnalyzer RadeonGPUProfiler RadeonMemoryVisualizer RadeonRaytracingAnalyzer rga rtda; do
67       # makeWrapper is needed so that executables are started from the opt
68       # directory, where qt.conf and other tools are.
69       # Unset Qt theme, it does not work if the nixos Qt version is different from the packaged one.
70       makeWrapper \
71         $out/opt/rgp/$prog \
72         $out/bin/$prog \
73         --unset QT_QPA_PLATFORMTHEME \
74         --unset QT_STYLE_OVERRIDE \
75         --prefix LD_LIBRARY_PATH : $out/opt/rgp/lib
76     done
77   '';
79   meta = with lib; {
80     description = "Tool from AMD that allows for deep inspection of GPU workloads";
81     homepage = "https://gpuopen.com/rgp/";
82     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
83     license = licenses.unfree;
84     platforms = [ "x86_64-linux" ];
85     maintainers = with maintainers; [ Flakebi ];
86   };