hoarder: 0.21.0 -> 0.22.0
[NixPkgs.git] / pkgs / by-name / mu / multiviewer-for-f1 / package.nix
blobe77069a76c5477bcf1f8e249540074171e72c6a3
2   stdenvNoCC,
3   fetchurl,
4   lib,
5   makeWrapper,
6   autoPatchelfHook,
7   dpkg,
8   alsa-lib,
9   at-spi2-atk,
10   cairo,
11   cups,
12   dbus,
13   expat,
14   ffmpeg,
15   glib,
16   gtk3,
17   libdrm,
18   libudev0-shim,
19   libxkbcommon,
20   libgbm,
21   nspr,
22   nss,
23   pango,
24   xorg,
26 let
27   id = "203624820";
29 stdenvNoCC.mkDerivation rec {
30   pname = "multiviewer-for-f1";
31   version = "1.36.2";
33   src = fetchurl {
34     url = "https://releases.multiviewer.dev/download/${id}/multiviewer-for-f1_${version}_amd64.deb";
35     sha256 = "sha256-b9Sx5Zcn+zQ9yFwrosHp1bTENByhBUU3VJfZA2HPoPU=";
36   };
38   nativeBuildInputs = [
39     dpkg
40     makeWrapper
41     autoPatchelfHook
42   ];
44   buildInputs = [
45     alsa-lib
46     at-spi2-atk
47     cairo
48     cups
49     dbus
50     expat
51     ffmpeg
52     glib
53     gtk3
54     libdrm
55     libxkbcommon
56     libgbm
57     nspr
58     nss
59     pango
60     xorg.libX11
61     xorg.libXcomposite
62     xorg.libxcb
63     xorg.libXdamage
64     xorg.libXext
65     xorg.libXfixes
66     xorg.libXrandr
67   ];
69   dontBuild = true;
70   dontConfigure = true;
72   unpackPhase = ''
73     runHook preUnpack
75     # The deb file contains a setuid binary, so 'dpkg -x' doesn't work here
76     dpkg --fsys-tarfile $src | tar --extract
78     runHook postUnpack
79   '';
81   installPhase = ''
82     runHook preInstall
84     mkdir -p $out/bin $out/share
85     mv -t $out/share usr/share/* usr/lib/multiviewer-for-f1
87     makeWrapper "$out/share/multiviewer-for-f1/MultiViewer for F1" $out/bin/multiviewer-for-f1 \
88       --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \
89       --prefix LD_LIBRARY_PATH : "${
90         lib.makeLibraryPath [ libudev0-shim ]
91       }:\"$out/share/Multiviewer for F1\""
93     runHook postInstall
94   '';
96   meta = with lib; {
97     description = "Unofficial desktop client for F1 TVĀ®";
98     homepage = "https://multiviewer.app";
99     downloadPage = "https://multiviewer.app/download";
100     license = licenses.unfree;
101     maintainers = with maintainers; [ babeuh ];
102     platforms = [ "x86_64-linux" ];
103     mainProgram = "multiviewer-for-f1";
104   };