diff options
author | Rok Garbas <rok@garbas.si> | 2016-12-16 16:34:25 +0100 |
---|---|---|
committer | Rok Garbas <rok@garbas.si> | 2016-12-18 16:45:33 +0100 |
commit | a66b703f94e80215a46b10bbd613ae9c8d9d74ec (patch) | |
tree | 52e5df000a3b4a4ad3d6bc56fa407c8d2c9b6b5b /pkgs/applications/networking/browsers/firefox-bin/default.nix | |
parent | 56cb5b7609f97e07bf4633ba5d59d230193a0248 (diff) | |
download | nixlib-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.nix | 72 |
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/; |