summary refs log tree commit diff
path: root/pkgs/applications/misc
diff options
context:
space:
mode:
authorSandro <sandro.jaeckel@gmail.com>2021-01-18 20:28:45 +0100
committerGitHub <noreply@github.com>2021-01-18 20:28:45 +0100
commit7422b1e84390d3dd1d636f006becf47cd5c4d9ae (patch)
treeb56f61ed991f967647333453741bbfd4f0815f60 /pkgs/applications/misc
parent503e529dd345700a43ac15ed1aa4104f042afdfd (diff)
parent7716818520b8e3f2cbe6901f1887f97900c0fb17 (diff)
Merge pull request #104993 from SamirHafez/rescuetime-updateScript-multiPlatform
rescuetime: add multiPlatform updateScript
Diffstat (limited to 'pkgs/applications/misc')
-rw-r--r--pkgs/applications/misc/rescuetime/default.nix18
1 files changed, 12 insertions, 6 deletions
diff --git a/pkgs/applications/misc/rescuetime/default.nix b/pkgs/applications/misc/rescuetime/default.nix
index fcdab3ddbc481..ddb99c35d05f0 100644
--- a/pkgs/applications/misc/rescuetime/default.nix
+++ b/pkgs/applications/misc/rescuetime/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, dpkg, patchelf, qt5, libXtst, libXext, libX11, mkDerivation, makeWrapper, libXScrnSaver, writeScript }:
+{ stdenv, lib, fetchurl, dpkg, patchelf, qt5, libXtst, libXext, libX11, mkDerivation, makeWrapper, libXScrnSaver, writeScript, common-updater-scripts, curl, pup }:
 
 let
   version = "2.16.4.2";
@@ -12,7 +12,7 @@ let
       url = "https://www.rescuetime.com/installers/rescuetime_${version}_amd64.deb";
       sha256 = "03bmnkxhip1wilnfqs8akmy1hppahxrmnm8gasnmw5s922vn06cv";
     };
-in mkDerivation {
+in mkDerivation rec {
   # https://www.rescuetime.com/updates/linux_release_notes.html
   inherit version;
   pname = "rescuetime";
@@ -35,12 +35,18 @@ in mkDerivation {
       $out/bin/rescuetime
   '';
 
-  passthru.updateScript = writeScript "rescuetime-updater" ''
-    #!/usr/bin/env nix-shell
-    #!nix-shell -i bash -p curl pup common-updater-scripts
+  passthru.updateScript = writeScript "${pname}-updater" ''
+    #!${stdenv.shell}
     set -eu -o pipefail
+    PATH=${stdenv.lib.makeBinPath [curl pup common-updater-scripts]}:$PATH
     latestVersion="$(curl -sS https://www.rescuetime.com/release-notes/linux | pup '.release:first-of-type h2 strong text{}' | tr -d '\n')"
-    update-source-version rescuetime "$latestVersion"
+
+    for platform in ${stdenv.lib.concatStringsSep " " meta.platforms}; do
+      # The script will not perform an update when the version attribute is up to date from previous platform run
+      # We need to clear it before each run
+      update-source-version ${pname} 0 $(yes 0 | head -64 | tr -d "\n") --system=$platform
+      update-source-version ${pname} "$latestVersion" --system=$platform
+    done
   '';
 
   meta = with lib; {