aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix
diff options
context:
space:
mode:
authorKatharina Fey <kookie@spacekookie.de>2020-04-19 14:57:25 +0200
committerKatharina Fey <kookie@spacekookie.de>2020-04-19 14:57:25 +0200
commit0ca211d4ec600fa7b3cc701e4997cd1e8d38ebdc (patch)
tree4f9b09ca5d55e44710f020bcf6621daa4fd6b73a /nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix
parent1c2ef52230ed2c8b2529c47ce6a857bdde46c7c7 (diff)
parentb61999e4ad60c351b4da63ae3ff43aae3c0bbdfb (diff)
Merge commit 'b61999e4ad60c351b4da63ae3ff43aae3c0bbdfb'
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 32f50b6fd63..e9a795b59cd 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" ];