From a5cdac3d7c35454c3db52bcf03e250a95436b536 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sat, 2 Mar 2019 22:39:27 +0100 Subject: [PATCH] sublime3: Add updateScript --- .../applications/editors/sublime/3/common.nix | 23 ++++++++++++++++--- .../editors/sublime/3/packages.nix | 1 + 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/editors/sublime/3/common.nix b/pkgs/applications/editors/sublime/3/common.nix index 937764f0ab8..8f304524dff 100644 --- a/pkgs/applications/editors/sublime/3/common.nix +++ b/pkgs/applications/editors/sublime/3/common.nix @@ -1,8 +1,9 @@ -{buildVersion, x32sha256, x64sha256}: +{buildVersion, x32sha256, x64sha256, dev ? false}: { fetchurl, stdenv, glib, xorg, cairo, gtk2, gtk3, pango, makeWrapper, wrapGAppsHook, openssl, bzip2, runtimeShell, pkexecPath ? "/run/wrappers/bin/pkexec", libredirect, - gksuSupport ? false, gksu, unzip, zip, bash}: + gksuSupport ? false, gksu, unzip, zip, bash, + writeScript, common-updater-scripts, curl, gnugrep}: assert gksuSupport -> gksu != null; @@ -26,7 +27,7 @@ in let # package with just the binaries sublime = stdenv.mkDerivation { - name = "sublimetext3-${buildVersion}-bin"; + name = "sublimetext3-bin-${buildVersion}"; src = fetchurl { name = "sublimetext-${buildVersion}.tar.bz2"; @@ -127,6 +128,22 @@ in stdenv.mkDerivation (rec { ln -s $sublime/Icon/256x256/ $out/share/icons ''; + passthru.updateScript = writeScript "sublime3-update-script" '' + #!${stdenv.shell} + set -o errexit + PATH=${stdenv.lib.makeBinPath [ common-updater-scripts curl gnugrep ]} + + latestVersion=$(curl https://www.sublimetext.com/3${stdenv.lib.optionalString dev "dev"} | grep -Po '(?<=

Version: Build )([0-9]+)') + + for platform in ${stdenv.lib.concatStringsSep " " meta.platforms}; do + package=sublime3${stdenv.lib.optionalString dev "-dev"} + # 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 ''${package}.sublime 0 0000000000000000000000000000000000000000000000000000000000000000 --file=pkgs/applications/editors/sublime/3/packages.nix --version-key=buildVersion --system=$platform + update-source-version ''${package}.sublime $latestVersion --file=pkgs/applications/editors/sublime/3/packages.nix --version-key=buildVersion --system=$platform + done + ''; + meta = with stdenv.lib; { description = "Sophisticated text editor for code, markup and prose"; homepage = https://www.sublimetext.com/; diff --git a/pkgs/applications/editors/sublime/3/packages.nix b/pkgs/applications/editors/sublime/3/packages.nix index 2d214f18e9f..6d4b511e598 100644 --- a/pkgs/applications/editors/sublime/3/packages.nix +++ b/pkgs/applications/editors/sublime/3/packages.nix @@ -6,6 +6,7 @@ in rec { sublime3-dev = common { buildVersion = "3184"; + dev = true; x32sha256 = "1b6f1fid75g5z247dbnyyj276lrlv99scrdk1vvfcr6vyws77vzr"; x64sha256 = "03127jhfjr17ai96p3axh5b5940fds8jcw6vkid8y6dmvd2dpylz"; } {};