about summary refs log tree commit diff
path: root/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix
blob: a9ce8a96f9700e87036a7c26f27d32a7d119860c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
{ stdenv, lib, fetchurl, gnome2, gtk2, pango, atk, cairo, gdk_pixbuf, glib,
freetype, fontconfig, dbus, libX11, xorg, libXi, libXcursor, libXdamage,
libXrandr, libXcomposite, libXext, libXfixes, libXrender, libXtst,
libXScrnSaver, nss, nspr, alsaLib, cups, expat, udev }:
let
  rpath = lib.makeLibraryPath [
    alsaLib
    atk
    cairo
    cups
    dbus
    expat
    fontconfig
    freetype
    gdk_pixbuf
    glib
    gnome2.GConf
    gtk2
    pango
    libX11
    libXScrnSaver
    libXcomposite
    libXcursor
    libXdamage
    libXext
    libXfixes
    libXi
    libXrandr
    libXrender
    libXtst
    nspr
    nss
    stdenv.cc.cc
    udev
    xorg.libxcb
  ];

in
  stdenv.mkDerivation rec {
    name = "mattermost-desktop-${version}";
    version = "4.1.2";

    src =
      if stdenv.system == "x86_64-linux" then
        fetchurl {
          url = "https://releases.mattermost.com/desktop/${version}/${name}-linux-x64.tar.gz";
          sha256 = "16dn6870bs1nfl2082ym9gwvmqb3i5sli48qprap80p7riph6k9s";
        }
      else if stdenv.system == "i686-linux" then
        fetchurl {
          url = "https://releases.mattermost.com/desktop/${version}/${name}-linux-ia32.tar.gz";
          sha256 = "145zb1l37fa2slfrrlprlwzcc5km3plxs374yhgix25mlg2afkqr";
        }
      else
        throw "Mattermost-Desktop is not currently supported on ${stdenv.system}";

    phases = [ "unpackPhase" "installPhase" ];
    installPhase = ''
      mkdir -p $out
      cp -R . $out

      patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
               --set-rpath ${rpath}:$out $out/mattermost-desktop

      patchShebangs $out/create_desktop_file.sh
      $out/create_desktop_file.sh

      mkdir -p $out/{bin,share/applications}
      cp Mattermost.desktop $out/share/applications/Mattermost.desktop
      ln -s $out/mattermost-desktop $out/bin/mattermost-desktop
    '';

    meta = {
      description = "Mattermost Desktop client";
      homepage    = https://about.mattermost.com/;
      license     = lib.licenses.asl20;
      platforms   = [
        "x86_64-linux" "i686-linux"
      ];
    };
  }