evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / fi / figma-linux / package.nix
blob29fd84f2f33875852a594d89e95a54a28dfb2eaa
1 { pkgs
2 , lib
3 , stdenv
4 , fetchurl
5 , autoPatchelfHook
6 , dpkg
7 , makeWrapper
8 , wrapGAppsHook3
9 , ...
11 stdenv.mkDerivation (finalAttrs: {
12   pname = "figma-linux";
13   version = "0.11.5";
15   src = fetchurl {
16     url = "https://github.com/Figma-Linux/figma-linux/releases/download/v${finalAttrs.version}/figma-linux_${finalAttrs.version}_linux_amd64.deb";
17     hash = "sha256-6lFeiecliyuTdnUCCbLpoQWiu5k3OPHxb+VF17GtERo=";
18   };
20   nativeBuildInputs = [
21     autoPatchelfHook
22     dpkg
23     makeWrapper
24     wrapGAppsHook3
25   ];
27   buildInputs = with pkgs;[
28     alsa-lib
29     at-spi2-atk
30     cairo
31     cups.lib
32     dbus.lib
33     expat
34     gdk-pixbuf
35     glib
36     gtk3
37     libdrm
38     libxkbcommon
39     mesa
40     nspr
41     nss
42     pango
43   ] ++ (with pkgs.xorg; [
44     libX11
45     libXcomposite
46     libXdamage
47     libXext
48     libXfixes
49     libXrandr
50     libxcb
51     libxshmfence
52   ]);
54   runtimeDependencies = with pkgs; [ eudev ];
56   unpackCmd = "dpkg -x $src .";
58   sourceRoot = ".";
60   # Instead of double wrapping the binary, simply pass the `gappsWrapperArgs`
61   # to `makeWrapper` directly
62   dontWrapGApps = true;
64   installPhase = ''
65     runHook preInstall
67     mkdir -p $out/lib && cp -r opt/figma-linux/* $_
68     mkdir -p $out/bin && ln -s $out/lib/figma-linux $_/figma-linux
70     cp -r usr/* $out
72     wrapProgramShell $out/bin/figma-linux \
73       "''${gappsWrapperArgs[@]}" \
74       --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland}}"
76     runHook postInstall
77   '';
79   postFixup = ''
80     substituteInPlace $out/share/applications/figma-linux.desktop \
81           --replace "Exec=/opt/figma-linux/figma-linux" "Exec=$out/bin/${finalAttrs.pname}"
82   '';
84   meta = with lib; {
85     description = "Unofficial Electron-based Figma desktop app for Linux";
86     homepage = "https://github.com/Figma-Linux/figma-linux";
87     platforms = [ "x86_64-linux" ];
88     license = licenses.gpl2Plus;
89     maintainers = with maintainers; [ ercao kashw2 ];
90     mainProgram = "figma-linux";
91   };