From a66b703f94e80215a46b10bbd613ae9c8d9d74ec Mon Sep 17 00:00:00 2001 From: Rok Garbas Date: Fri, 16 Dec 2016 16:34:25 +0100 Subject: firefox-bin/thunderbird-bin: reuse the same updateScript for both --- .../networking/browsers/firefox-bin/update.nix | 78 ++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 pkgs/applications/networking/browsers/firefox-bin/update.nix (limited to 'pkgs/applications/networking/browsers/firefox-bin/update.nix') diff --git a/pkgs/applications/networking/browsers/firefox-bin/update.nix b/pkgs/applications/networking/browsers/firefox-bin/update.nix new file mode 100644 index 000000000000..d32f4dfcf5b0 --- /dev/null +++ b/pkgs/applications/networking/browsers/firefox-bin/update.nix @@ -0,0 +1,78 @@ +{ name +, writeScript +, xidel +, coreutils +, gnused +, gnugrep +, curl +, baseName ? "firefox" +, basePath ? "pkgs/applications/networking/browsers/firefox-bin" +, baseUrl ? "http://archive.mozilla.org/pub/firefox/releases/" +}: + +let + version = (builtins.parseDrvName name).version; + isBeta = builtins.stringLength version + 1 == builtins.stringLength (builtins.replaceStrings ["b"] ["bb"] version); +in writeScript "update-${baseName}-bin" '' + PATH=${coreutils}/bin:${gnused}/bin:${gnugrep}/bin:${xidel}/bin:${curl}/bin + + pushd ${basePath} + + tmpfile=`mktemp` + url=${baseUrl} + + # retriving latest released version + # - extracts all links from the $url + # - removes . and .. + # - this line remove everything not starting with a number + # - this line sorts everything with semver in mind + # - we remove lines that are mentioning funnelcake + # - this line removes beta version if we are looking for final release + # versions or removes release versions if we are looking for beta + # versions + # - this line pick up latest release + version=`xidel -q $url --extract "//a" | \ + sed s"/.$//" | \ + grep "^[0-9]" | \ + sort --version-sort | \ + grep -v "funnelcake" | \ + grep -e "${if isBeta then "b" else ""}\([[:digit:]]\|[[:digit:]][[:digit:]]\)$" | ${if isBeta then "" else "grep -v \"b\" |"} \ + tail -1` + + # this is a list of sha512 and tarballs for both arches + shasums=`curl --silent $url$version/SHA512SUMS` + + cat > $tmpfile <> $tmpfile <> $tmpfile <