about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix')
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix102
1 files changed, 56 insertions, 46 deletions
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix
index 32f50b6fd638..e9a795b59cdc 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix
@@ -1,35 +1,60 @@
-{ theme ? null, stdenv, fetchurl, dpkg, makeWrapper , alsaLib, atk, cairo,
-cups, curl, dbus, expat, fontconfig, freetype, glib , gnome2, gtk3, gdk-pixbuf,
-libappindicator-gtk3, libnotify, libxcb, nspr, nss, pango , systemd, xorg,
-at-spi2-atk, at-spi2-core, libuuid, nodePackages, libpulseaudio, xdg_utils
+{ stdenv
+, fetchurl
+, dpkg
+, makeWrapper
+, nodePackages
+, alsaLib
+, at-spi2-atk
+, at-spi2-core
+, atk
+, cairo
+, cups
+, curl
+, dbus
+, expat
+, fontconfig
+, freetype
+, gdk-pixbuf
+, glib
+, gnome2
+, gtk3
+, libappindicator-gtk3
+, libnotify
+, libpulseaudio
+, libuuid
+, libxcb
+, nspr
+, nss
+, pango
+, systemd
+, xdg_utils
+, xorg
 }:
 
 let
 
-  version = "4.2.0";
+  pname = "slack";
 
   inherit (stdenv.hostPlatform) system;
 
   throwSystem = throw "Unsupported system: ${system}";
 
-  pname = "slack";
-
   sha256 = {
-    x86_64-darwin = "0947a98m7yz4hldjvcqnv9s17dpvlsk9sflc1zc99hf500zck0w1";
-    x86_64-linux = "01b2klhky04fijdqcpfafgdqx2c5nh2fpnzvzgvz10hv7h16cinv";
+    x86_64-darwin = "05xsbiviikrwfayjr6rvvfkm70681x2an6mgcg1cxw1fsi4sr6fd";
+    x86_64-linux = "0h2rfgx92yq9a6dqsv9a0r8a6m5xfrywkljjk5w9snw49b0r1p12";
   }.${system} or throwSystem;
 
-
   meta = with stdenv.lib; {
     description = "Desktop client for Slack";
-    homepage = https://slack.com;
+    homepage = "https://slack.com";
     license = licenses.unfree;
-    maintainers = [ maintainers.mmahut ];
+    maintainers = with maintainers; [ mmahut ];
     platforms = [ "x86_64-darwin" "x86_64-linux" ];
   };
 
   linux = stdenv.mkDerivation rec {
-    inherit pname version meta;
+    inherit pname meta;
+    version = "4.4.0";
     src = fetchurl {
       url = "https://downloads.slack-edge.com/linux_releases/slack-desktop-${version}-amd64.deb";
       inherit sha256;
@@ -47,23 +72,22 @@ let
       expat
       fontconfig
       freetype
+      gdk-pixbuf
       glib
       gnome2.GConf
-      gdk-pixbuf
       gtk3
-      pango
+      libappindicator-gtk3
       libnotify
+      libpulseaudio
+      libuuid
       libxcb
-      libappindicator-gtk3
       nspr
       nss
+      pango
       stdenv.cc.cc
       systemd
-      libuuid
-      libpulseaudio
-  
-      xorg.libxkbfile
       xorg.libX11
+      xorg.libXScrnSaver
       xorg.libXcomposite
       xorg.libXcursor
       xorg.libXdamage
@@ -73,65 +97,51 @@ let
       xorg.libXrandr
       xorg.libXrender
       xorg.libXtst
-      xorg.libXScrnSaver
+      xorg.libxkbfile
     ] + ":${stdenv.cc.cc.lib}/lib64";
 
     buildInputs = [
       gtk3  # needed for GSETTINGS_SCHEMAS_PATH
     ];
-  
+
     nativeBuildInputs = [ dpkg makeWrapper nodePackages.asar ];
-  
+
     dontUnpack = true;
     dontBuild = true;
     dontPatchELF = true;
-  
+
     installPhase = ''
       # The deb file contains a setuid binary, so 'dpkg -x' doesn't work here
       dpkg --fsys-tarfile $src | tar --extract
       rm -rf usr/share/lintian
-  
+
       mkdir -p $out
       mv usr/* $out
-  
+
       # Otherwise it looks "suspicious"
       chmod -R g-w $out
-  
+
       for file in $(find $out -type f \( -perm /0111 -o -name \*.so\* \) ); do
         patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$file" || true
         patchelf --set-rpath ${rpath}:$out/lib/slack $file || true
       done
-  
+
       # Replace the broken bin/slack symlink with a startup wrapper
       rm $out/bin/slack
       makeWrapper $out/lib/slack/slack $out/bin/slack \
         --prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH \
         --prefix PATH : ${xdg_utils}/bin
-  
+
       # Fix the desktop link
       substituteInPlace $out/share/applications/slack.desktop \
         --replace /usr/bin/ $out/bin/ \
         --replace /usr/share/ $out/share/
-    '' + stdenv.lib.optionalString (theme != null) ''
-      asar extract $out/lib/slack/resources/app.asar $out/lib/slack/resources/app.asar.unpacked
-      cat <<EOF >> $out/lib/slack/resources/app.asar.unpacked/dist/ssb-interop.bundle.js
-  
-      var fs = require('fs');
-      document.addEventListener('DOMContentLoaded', function() {
-        fs.readFile('${theme}/theme.css', 'utf8', function(err, css) {
-          let s = document.createElement('style');
-          s.type = 'text/css';
-          s.innerHTML = css;
-          document.head.appendChild(s);
-        });
-      });
-      EOF
-      asar pack $out/lib/slack/resources/app.asar.unpacked $out/lib/slack/resources/app.asar
     '';
   };
 
-  darwin = stdenv.mkDerivation {
-    inherit pname version meta;
+  darwin = stdenv.mkDerivation rec {
+    inherit pname meta;
+    version = "4.4.1";
 
     phases = [ "installPhase" ];