Unverified Commit eaae0777 authored by Jörg Thalheim's avatar Jörg Thalheim Committed by GitHub
Browse files

Merge pull request #199546 from ercao/add-figma

figma-linux: init at 0.10.0
parents 03af1b55 a25c3c56
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -4158,6 +4158,15 @@
    githubId = 147284;
    name = "Jason Felice";
  };
  ercao = {
    email = "vip@ercao.cn";
    github = "ercao";
    githubId = 51725284;
    name = "ercao";
    keys = [{
      fingerprint = "F3B0 36F7 B0CB 0964 3C12  D3C7 FFAB D125 7ECF 0889";
    }];
  };
  erdnaxe = {
    email = "erdnaxe@crans.org";
    github = "erdnaxe";
+77 −0
Original line number Diff line number Diff line
{ pkgs
, lib
, stdenv
, fetchurl
, autoPatchelfHook
, dpkg
, ...
}:
with lib;
stdenv.mkDerivation rec {
  pname = "figma-linux";
  version = "0.10.0";

  src = fetchurl {
    url = "https://github.com/Figma-Linux/figma-linux/releases/download/v${version}/figma-linux_${version}_linux_amd64.deb";
    sha256 = "sha256-+xiXEwSSxpt1/Eu9g57/L+Il/Av+a/mgGBQl/4LKR74=";
  };

  nativeBuildInputs = [ autoPatchelfHook dpkg ];

  buildInputs = with pkgs;[
    alsa-lib
    at-spi2-atk
    cairo
    cups.lib
    dbus.lib
    expat
    gdk-pixbuf
    glib
    gtk3
    libdrm
    libxkbcommon
    mesa
    nspr
    nss
    pango
  ] ++ (with pkgs.xorg; [
    libX11
    libXcomposite
    libXdamage
    libXext
    libXfixes
    libXrandr
    libxcb
    libxshmfence
  ]);

  runtimeDependencies = with pkgs; [ eudev ];

  unpackCmd = "dpkg -x $src .";

  sourceRoot = ".";

  installPhase = ''
    runHook preInstall

    mkdir -p $out/lib && cp -r opt/figma-linux/* $_
    mkdir -p $out/bin && ln -s $out/lib/figma-linux $_/figma-linux

    cp -r usr/* $out

    runHook postInstall
  '';

  postFixup = ''
    substituteInPlace $out/share/applications/figma-linux.desktop \
          --replace "Exec=/opt/figma-linux/figma-linux" "Exec=$out/bin/${pname}"
  '';

  meta = {
    description = "unofficial Electron-based Figma desktop app for Linux";
    homepage = "https://github.com/Figma-Linux/figma-linux";
    platforms = [ "x86_64-linux" ];
    license = licenses.gpl2;
    maintainers = with maintainers; [ ercao ];
  };
}
+2 −0
Original line number Diff line number Diff line
@@ -482,6 +482,8 @@ with pkgs;
  expressvpn = callPackage ../applications/networking/expressvpn { };
  figma-linux = callPackage ../applications/graphics/figma-linux {};
  firefly-desktop = callPackage ../applications/misc/firefly-desktop { };
  frece = callPackage ../development/tools/frece { };