summaryrefslogtreecommitdiffstats
path: root/pkgs/applications/editors/sublime
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2019-03-02 22:39:27 +0100
committerJan Tojnar <jtojnar@gmail.com>2019-03-02 23:03:04 +0100
commita5cdac3d7c35454c3db52bcf03e250a95436b536 (patch)
tree8c9050488134abf712999fcdd0777d82740cad6d /pkgs/applications/editors/sublime
parent01050586980a81e525428eb9e571a8b040f96b26 (diff)
sublime3: Add updateScript
Diffstat (limited to 'pkgs/applications/editors/sublime')
-rw-r--r--pkgs/applications/editors/sublime/3/common.nix23
-rw-r--r--pkgs/applications/editors/sublime/3/packages.nix1
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 937764f0ab8b..8f304524dffa 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 2d214f18e9f6..6d4b511e5983 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";
} {};