biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / applications / video / multiviewer-for-f1 / default.nix
blob9078a4dc7ef912531e87fc869242d1983a9b13df
1 { stdenvNoCC
2 , fetchurl
3 , lib
4 , makeWrapper
5 , autoPatchelfHook
6 , dpkg
7 , alsa-lib
8 , at-spi2-atk
9 , cairo
10 , cups
11 , dbus
12 , expat
13 , ffmpeg
14 , glib
15 , gtk3
16 , libdrm
17 , libudev0-shim
18 , libxkbcommon
19 , mesa
20 , nspr
21 , nss
22 , pango
23 , xorg
25 let
26   id = "180492850";
28 stdenvNoCC.mkDerivation rec {
29   pname = "multiviewer-for-f1";
30   version = "1.35.2";
32   src = fetchurl {
33     url = "https://releases.multiviewer.dev/download/${id}/multiviewer-for-f1_${version}_amd64.deb";
34     sha256 = "sha256-V1+kMgfbgDS47YNIotmzrh2Hry5pvdQvrzWwuKJY1oM=";
35   };
37   nativeBuildInputs = [
38     dpkg
39     makeWrapper
40     autoPatchelfHook
41   ];
43   buildInputs = [
44     alsa-lib
45     at-spi2-atk
46     cairo
47     cups
48     dbus
49     expat
50     ffmpeg
51     glib
52     gtk3
53     libdrm
54     libxkbcommon
55     mesa
56     nspr
57     nss
58     pango
59     xorg.libX11
60     xorg.libXcomposite
61     xorg.libxcb
62     xorg.libXdamage
63     xorg.libXext
64     xorg.libXfixes
65     xorg.libXrandr
66   ];
68   dontBuild = true;
69   dontConfigure = true;
71   unpackPhase = ''
72     runHook preUnpack
74     # The deb file contains a setuid binary, so 'dpkg -x' doesn't work here
75     dpkg --fsys-tarfile $src | tar --extract
77     runHook postUnpack
78   '';
80   installPhase = ''
81     runHook preInstall
83     mkdir -p $out/bin $out/share
84     mv -t $out/share usr/share/* usr/lib/multiviewer-for-f1
86     makeWrapper "$out/share/multiviewer-for-f1/MultiViewer for F1" $out/bin/multiviewer-for-f1 \
87       --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland --enable-features=WaylandWindowDecorations}}" \
88       --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libudev0-shim ]}:\"$out/share/Multiviewer for F1\""
90     runHook postInstall
91   '';
93   meta = with lib; {
94     description = "Unofficial desktop client for F1 TVĀ®";
95     homepage = "https://multiviewer.app";
96     downloadPage = "https://multiviewer.app/download";
97     license = licenses.unfree;
98     maintainers = with maintainers; [ babeuh ];
99     platforms = [ "x86_64-linux" ];
100     mainProgram = "multiviewer-for-f1";
101   };