about summary refs log tree commit diff
path: root/pkgs/applications/networking/browsers/firefox-bin/default.nix
diff options
context:
space:
mode:
authorRok Garbas <rok@garbas.si>2016-12-16 16:34:25 +0100
committerRok Garbas <rok@garbas.si>2016-12-18 16:45:33 +0100
commita66b703f94e80215a46b10bbd613ae9c8d9d74ec (patch)
tree52e5df000a3b4a4ad3d6bc56fa407c8d2c9b6b5b /pkgs/applications/networking/browsers/firefox-bin/default.nix
parent56cb5b7609f97e07bf4633ba5d59d230193a0248 (diff)
downloadnixlib-a66b703f94e80215a46b10bbd613ae9c8d9d74ec.tar
nixlib-a66b703f94e80215a46b10bbd613ae9c8d9d74ec.tar.gz
nixlib-a66b703f94e80215a46b10bbd613ae9c8d9d74ec.tar.bz2
nixlib-a66b703f94e80215a46b10bbd613ae9c8d9d74ec.tar.lz
nixlib-a66b703f94e80215a46b10bbd613ae9c8d9d74ec.tar.xz
nixlib-a66b703f94e80215a46b10bbd613ae9c8d9d74ec.tar.zst
nixlib-a66b703f94e80215a46b10bbd613ae9c8d9d74ec.zip
firefox-bin/thunderbird-bin: reuse the same updateScript for both
Diffstat (limited to 'pkgs/applications/networking/browsers/firefox-bin/default.nix')
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/default.nix72
1 files changed, 3 insertions, 69 deletions
diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix
index c640266539a1..0b9ff9db219c 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -172,75 +172,9 @@ stdenv.mkDerivation {
     '';
 
   passthru.ffmpegSupport = true;
-  passthru.updateScript =
-    let
-      version = (builtins.parseDrvName name).version;
-      isBeta = builtins.stringLength version + 1 == builtins.stringLength (builtins.replaceStrings ["b"] ["bb"] version);
-    in
-      writeScript "update-firefox-bin" ''
-        PATH=${coreutils}/bin:${gnused}/bin:${gnugrep}/bin:${xidel}/bin:${curl}/bin
-
-        pushd pkgs/applications/networking/browsers/firefox-bin
-
-        tmpfile=`mktemp`
-        url=http://archive.mozilla.org/pub/firefox/releases/
-
-        # 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 <<EOF
-        {
-          version = "$version";
-          sources = [
-        EOF
-        for arch in linux-x86_64 linux-i686; do
-          # retriving a list of all tarballs for each arch
-          #  - only select tarballs for current arch
-          #  - only select tarballs for current version
-          #  - rename space with colon so that for loop doesnt
-          #  - inteprets sha and path as 2 lines
-          for line in `echo "$shasums" | \
-                       grep $arch | \
-                       grep "firefox-$version.tar.bz2$" | \
-                       tr " " ":"`; do
-            # create an entry for every locale
-            cat >> $tmpfile <<EOF
-            { url = "$url$version/`echo $line | cut -d":" -f3`";
-              locale = "`echo $line | cut -d":" -f3 | sed "s/$arch\///" | sed "s/\/.*//"`";
-              arch = "$arch";
-              sha512 = "`echo $line | cut -d":" -f1`";
-            }
-        EOF
-          done
-        done
-        cat >> $tmpfile <<EOF
-            ];
-        }
-        EOF
-
-        mv $tmpfile ${if isBeta then "beta_" else ""}sources.nix
-
-        popd
-      '';
-
+  passthru.updateScript = import ./update.nix {
+    inherit name writeScript xidel coreutils gnused gnugrep curl;
+  };
   meta = with stdenv.lib; {
     description = "Mozilla Firefox, free web browser (binary package)";
     homepage = http://www.mozilla.org/firefox/;