nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 python3Packages,
4 fetchFromGitHub,
5
6 # nativeBuildInputs
7 gobject-introspection,
8 meson,
9 ninja,
10 pkg-config,
11 wrapGAppsHook4,
12
13 # buildInputs
14 gdk-pixbuf,
15 gtk4,
16 libadwaita,
17 vulkan-tools,
18
19 # wrapper
20 python3,
21 clinfo,
22 lsb-release,
23 mesa-demos,
24 vdpauinfo,
25
26 # passthru
27 nix-update-script,
28}:
29
30python3Packages.buildPythonApplication rec {
31 pname = "gpu-viewer";
32 version = "3.23";
33 pyproject = false;
34
35 src = fetchFromGitHub {
36 owner = "arunsivaramanneo";
37 repo = "gpu-viewer";
38 tag = "v${version}";
39 hash = "sha256-+x+e/GCNBpZTpExVwY6gm+/20pU5dg34+qMQIDWEf0E=";
40 };
41
42 nativeBuildInputs = [
43 gobject-introspection
44 meson
45 ninja
46 pkg-config
47 wrapGAppsHook4
48 ];
49
50 buildInputs = [
51 gdk-pixbuf
52 gtk4
53 libadwaita
54 vulkan-tools
55 ];
56
57 pythonPath = with python3Packages; [
58 click
59 pygobject3
60 ];
61
62 # Prevent double wrapping
63 dontWrapGApps = true;
64
65 postFixup = ''
66 makeWrapper ${python3.interpreter} $out/bin/gpu-viewer \
67 --prefix PATH : "${
68 lib.makeBinPath [
69 clinfo
70 lsb-release
71 mesa-demos
72 vdpauinfo
73 vulkan-tools
74 ]
75 }" \
76 --add-flags "$out/share/gpu-viewer/Files/gpu_viewer.py" \
77 --prefix PYTHONPATH : "$PYTHONPATH" \
78 --chdir "$out/share/gpu-viewer/Files" \
79 ''${makeWrapperArgs[@]} \
80 ''${gappsWrapperArgs[@]}
81 '';
82
83 passthru = {
84 updateScript = nix-update-script { };
85 };
86
87 meta = {
88 homepage = "https://github.com/arunsivaramanneo/GPU-Viewer";
89 description = "Front-end to glxinfo, vulkaninfo, clinfo and es2_info";
90 changelog = "https://github.com/arunsivaramanneo/GPU-Viewer/releases/tag/v${version}";
91 maintainers = with lib.maintainers; [ GaetanLepage ];
92 license = lib.licenses.gpl3;
93 platforms = lib.platforms.linux;
94 mainProgram = "gpu-viewer";
95 };
96}