Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{
2 lib,
3 stdenvNoCC,
4 fetchzip,
5 autoPatchelfHook,
6 makeWrapper,
7 makeDesktopItem,
8 copyDesktopItems,
9 wrapGAppsHook3,
10 gobject-introspection,
11 gdk-pixbuf,
12 jre,
13 android-tools,
14}:
15
16stdenvNoCC.mkDerivation rec {
17 pname = "agi";
18 version = "3.3.1";
19
20 src = fetchzip {
21 url = "https://github.com/google/agi/releases/download/${version}/agi-${version}-linux.zip";
22 sha256 = "sha256-Yawl6InBYSWNw3clHyGAeC2PVfXEzWmbd6vcYrqAPO0=";
23 };
24
25 nativeBuildInputs = [
26 wrapGAppsHook3
27 gdk-pixbuf
28 gobject-introspection
29 autoPatchelfHook
30 copyDesktopItems
31 makeWrapper
32 ];
33
34 installPhase = ''
35 runHook preInstall
36
37 mkdir -p $out/bin
38 cp ./{agi,gapis,gapir,gapit,device-info} $out/bin
39 cp -r lib $out
40
41 for i in 16 32 48 64 96 128 256 512 1024; do
42 install -D ${src}/icon.png $out/share/icons/hicolor/''${i}x$i/apps/agi.png
43 done
44
45 runHook postInstall
46 '';
47
48 dontWrapGApps = true;
49
50 preFixup = ''
51 wrapProgram $out/bin/agi \
52 --add-flags "--vm ${jre}/bin/java" \
53 --add-flags "--adb ${android-tools}/bin/adb" \
54 --add-flags "--jar $out/lib/gapic.jar" \
55 "''${gappsWrapperArgs[@]-}"
56 '';
57
58 desktopItems = lib.toList (makeDesktopItem {
59 name = "agi";
60 desktopName = "Android GPU Inspector";
61 exec = "agi";
62 icon = "agi";
63 categories = [
64 "Development"
65 "Debugger"
66 "Graphics"
67 "3DGraphics"
68 ];
69 });
70
71 meta = {
72 description = "Android GPU Inspector";
73 homepage = "https://gpuinspector.dev";
74 changelog = "https://github.com/google/agi/releases/tag/v${version}";
75 platforms = [ "x86_64-linux" ];
76 license = lib.licenses.asl20;
77 maintainers = with lib.maintainers; [ kashw2 ];
78 sourceProvenance = with lib.sourceTypes; [
79 binaryBytecode
80 binaryNativeCode
81 ];
82 };
83}