diff options
author | Jan Tojnar <jtojnar@gmail.com> | 2019-03-02 22:39:27 +0100 |
---|---|---|
committer | Jan Tojnar <jtojnar@gmail.com> | 2019-03-02 23:03:04 +0100 |
commit | a5cdac3d7c35454c3db52bcf03e250a95436b536 (patch) | |
tree | 8c9050488134abf712999fcdd0777d82740cad6d /pkgs/applications/editors/sublime/3 | |
parent | 01050586980a81e525428eb9e571a8b040f96b26 (diff) |
sublime3: Add updateScript
Diffstat (limited to 'pkgs/applications/editors/sublime/3')
-rw-r--r-- | pkgs/applications/editors/sublime/3/common.nix | 23 | ||||
-rw-r--r-- | pkgs/applications/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 937764f0ab8bc..8f304524dffab 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 '(?<=<p class="latest"><i>Version:</i> 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 2d214f18e9f60..6d4b511e59831 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"; } {}; |