From 84d18ac49f4e2b5c4524bc0420dd394c252534d5 Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Thu, 26 Mar 2020 23:13:14 +0100 Subject: [PATCH 1/2] slack: 4.2.0 -> 4.4.0 * 4.4.1 on Darwin * remove dark-theme, it's now included in the release --- .../instant-messengers/slack/dark-theme.nix | 19 ---- .../instant-messengers/slack/default.nix | 102 ++++++++++-------- .../instant-messengers/slack/update.sh | 19 ---- 3 files changed, 56 insertions(+), 84 deletions(-) delete mode 100644 pkgs/applications/networking/instant-messengers/slack/dark-theme.nix delete mode 100755 pkgs/applications/networking/instant-messengers/slack/update.sh diff --git a/pkgs/applications/networking/instant-messengers/slack/dark-theme.nix b/pkgs/applications/networking/instant-messengers/slack/dark-theme.nix deleted file mode 100644 index 903d8e60d6d5..000000000000 --- a/pkgs/applications/networking/instant-messengers/slack/dark-theme.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ stdenv, fetchgit }: - -stdenv.mkDerivation rec { - rev = "f760176c6e133667ce73aeecba8b0c0eb8822941"; - version = "2019-09-11"; - pname = "slack-theme-black"; - - src = fetchgit { inherit rev; - url = "https://github.com/laCour/slack-night-mode"; - sha256 = "1kx8nx7mhrabs5wxqgvy86s5smy5hw49gv6yc95yxwx6ymwpgbzj"; - }; - - dontUnpack = true; - - buildCommand = '' - mkdir $out - cp $src/css/raw/black.css $out/theme.css - ''; -} diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix index 32f50b6fd638..712d45e2b199 100644 --- a/pkgs/applications/networking/instant-messengers/slack/default.nix +++ b/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; 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 - libnotify - libxcb libappindicator-gtk3 + libnotify + libpulseaudio + libuuid + libxcb 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 <> $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" ]; diff --git a/pkgs/applications/networking/instant-messengers/slack/update.sh b/pkgs/applications/networking/instant-messengers/slack/update.sh deleted file mode 100755 index 6a15298c4e7d..000000000000 --- a/pkgs/applications/networking/instant-messengers/slack/update.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env nix-shell -#!nix-shell -i bash -p curl common-updater-scripts jq - -set -eu -o pipefail - -oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion slack-theme-black" | tr -d '"')" -latestSha="$(curl -L -s https://api.github.com/repos/laCour/slack-night-mode/commits\?sha\=master\&since\=${oldVersion} | jq -r '.[0].sha')" - -if [ ! "null" = "${latestSha}" ]; then - latestDate="$(curl -L -s https://api.github.com/repos/laCour/slack-night-mode/commits/${latestSha} | jq '.commit.author.date' | sed 's|"\(.*\)T.*|\1|g')" - update-source-version slack-theme-black "${latestSha}" --version-key=rev - update-source-version slack-theme-black "${latestDate}" --ignore-same-hash - nixpkgs="$(git rev-parse --show-toplevel)" - default_nix="$nixpkgs/pkgs/applications/networking/instant-messengers/slack/dark-theme.nix" - git add "${default_nix}" - git commit -m "slack-theme-black: ${oldVersion} -> ${latestDate}" -else - echo "slack-theme-black is already up-to-date" -fi From 9a4358799846d28e5b37fee6c995197e7c9292dc Mon Sep 17 00:00:00 2001 From: Marek Mahut Date: Fri, 27 Mar 2020 10:02:00 +0100 Subject: [PATCH 2/2] slack-dark: alias to slack --- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 66fa444e0e7a..d1a7543ac15b 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -421,6 +421,7 @@ mapAliases ({ skrooge2 = skrooge; # added 2017-02-18 skype = skypeforlinux; # added 2017-07-27 skydive = throw "skydive has been removed from nixpkgs (2019-09-10)"; + slack-dark = slack; # added 2020-03-27 slic3r-prusa3d = prusa-slicer; # added 2019-05-21 slurm-llnl = slurm; # renamed July 2017 slurm-llnl-full = slurm-full; # renamed July 2017 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d3fac637ca8d..783c36cb1fd1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20045,8 +20045,6 @@ in }); slack = callPackage ../applications/networking/instant-messengers/slack { }; - slack-theme-black = callPackage ../applications/networking/instant-messengers/slack/dark-theme.nix { }; - slack-dark = pkgs.slack.override { theme = slack-theme-black; }; slack-cli = callPackage ../tools/networking/slack-cli { };