sublime3{,-dev}: fix updateScript

The HTML page changed and the update script was no longer finding the latest version.
I changed it to query for the latest version using dedicated URL:

https://forum.sublimetext.com/t/fixed-download-url-for-latest-version/23763/7

Also terminated the update sooner if we detect no update available.
update-source-version handles that normally but we are cleaning the version
so that we can update both platforms at the same time.
This commit is contained in:
Jan Tojnar 2020-05-14 08:37:26 +02:00
parent a33eb1a0e4
commit 794a08ca8e
No known key found for this signature in database
GPG Key ID: 7FAB2A15F7A607A4

View File

@ -13,7 +13,7 @@ let
primaryBinary = "sublime_text";
primaryBinaryAliases = [ "subl" "sublime" "sublime3" ];
downloadUrl = "https://download.sublimetext.com/sublime_text_3_build_${buildVersion}_${arch}.tar.bz2";
versionUrl = "https://www.sublimetext.com/${if dev then "3dev" else "3"}";
versionUrl = "https://download.sublimetext.com/latest/${if dev then "dev" else "stable"}";
versionFile = builtins.toString ./packages.nix;
archSha256 =
if stdenv.hostPlatform.system == "i686-linux" then
@ -133,7 +133,12 @@ in stdenv.mkDerivation (rec {
set -o errexit
PATH=${stdenv.lib.makeBinPath [ common-updater-scripts curl gnugrep ]}
latestVersion=$(curl -s ${versionUrl} | grep -Po '(?<=<p class="latest"><i>Version:</i> Build )([0-9]+)')
latestVersion=$(curl -s ${versionUrl})
if [[ "${buildVersion}" = "$latestVersion" ]]; then
echo "The new version same as the old version."
exit 0
fi
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