summary refs log tree commit diff
diff options
context:
space:
mode:
authorAristid Breitkreuz <aristidb@gmail.com>2016-12-20 14:05:30 +0100
committerAristid Breitkreuz <aristidb@gmail.com>2016-12-20 14:05:30 +0100
commitbb18e10ba0431bf9b8685d3b589f0ef262d5184d (patch)
treee2d54d2369993eab14429946770f8cdee154b39d
parent3a0f1975b09c4e0c7c68e4231b5c988a34af1ac5 (diff)
parenta02bb00156086b45e68c1112008db506734f8649 (diff)
downloadnixlib-bb18e10ba0431bf9b8685d3b589f0ef262d5184d.tar
nixlib-bb18e10ba0431bf9b8685d3b589f0ef262d5184d.tar.gz
nixlib-bb18e10ba0431bf9b8685d3b589f0ef262d5184d.tar.bz2
nixlib-bb18e10ba0431bf9b8685d3b589f0ef262d5184d.tar.lz
nixlib-bb18e10ba0431bf9b8685d3b589f0ef262d5184d.tar.xz
nixlib-bb18e10ba0431bf9b8685d3b589f0ef262d5184d.tar.zst
nixlib-bb18e10ba0431bf9b8685d3b589f0ef262d5184d.zip
Merge remote-tracking branch 'origin/master' into staging
-rw-r--r--doc/languages-frameworks/beam.xml2
-rw-r--r--lib/maintainers.nix2
-rwxr-xr-xmaintainers/scripts/update.nix (renamed from update.nix)17
-rw-r--r--nixos/doc/manual/release-notes/rl-1703.xml11
-rw-r--r--nixos/lib/build-vms.nix3
-rw-r--r--nixos/lib/testing.nix4
-rw-r--r--nixos/modules/installer/tools/nixos-rebuild.sh6
-rw-r--r--nixos/modules/services/databases/mysql.nix4
-rw-r--r--nixos/modules/services/hardware/brltty.nix2
-rw-r--r--nixos/modules/services/mail/rmilter.nix2
-rw-r--r--nixos/modules/system/boot/systemd-unit-options.nix16
-rw-r--r--nixos/modules/system/boot/systemd.nix16
-rw-r--r--nixos/modules/testing/test-instrumentation.nix3
-rw-r--r--nixos/modules/virtualisation/qemu-vm.nix22
-rw-r--r--nixos/tests/kde5.nix2
-rw-r--r--nixos/tests/sddm.nix2
-rw-r--r--pkgs/applications/audio/audacious/qt-5.nix89
-rw-r--r--pkgs/applications/audio/spotify/default.nix4
-rw-r--r--pkgs/applications/editors/fte/default.nix29
-rw-r--r--pkgs/applications/editors/neovim/default.nix24
-rw-r--r--pkgs/applications/editors/neovim/ruby_provider/Gemfile3
-rw-r--r--pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock15
-rw-r--r--pkgs/applications/editors/neovim/ruby_provider/gemset.nix19
-rw-r--r--pkgs/applications/graphics/tesseract/default.nix58
-rw-r--r--pkgs/applications/misc/electrum/default.nix9
-rw-r--r--pkgs/applications/misc/keepass-plugins/keefox/default.nix5
-rw-r--r--pkgs/applications/misc/octoprint/default.nix1
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix1113
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/default.nix72
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/sources.nix182
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/update.nix78
-rw-r--r--pkgs/applications/networking/browsers/vivaldi/default.nix10
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix14
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix703
-rw-r--r--pkgs/applications/networking/remote/teamviewer/default.nix8
-rw-r--r--pkgs/applications/office/mendeley/default.nix4
-rw-r--r--pkgs/applications/office/paperwork/default.nix78
-rw-r--r--pkgs/applications/office/zim/default.nix1
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix5
-rw-r--r--pkgs/applications/virtualization/xhyve/default.nix20
-rw-r--r--pkgs/desktops/kde-5/applications/akonadi-contacts.nix19
-rw-r--r--pkgs/desktops/kde-5/applications/akonadi-mime.nix15
-rw-r--r--pkgs/desktops/kde-5/applications/akonadi.nix20
-rw-r--r--pkgs/desktops/kde-5/applications/default.nix9
-rw-r--r--pkgs/desktops/kde-5/applications/fetch.sh2
-rw-r--r--pkgs/desktops/kde-5/applications/kcontacts.nix15
-rw-r--r--pkgs/desktops/kde-5/applications/kdegraphics-mobipocket.nix (renamed from pkgs/desktops/kde-5/applications/gpgmepp.nix)8
-rw-r--r--pkgs/desktops/kde-5/applications/kgpg.nix18
-rw-r--r--pkgs/desktops/kde-5/applications/kmime.nix15
-rw-r--r--pkgs/desktops/kde-5/applications/l10n.nix5
-rw-r--r--pkgs/desktops/kde-5/applications/okular.nix41
-rw-r--r--pkgs/desktops/kde-5/applications/srcs.nix2256
-rw-r--r--pkgs/development/compilers/ghc/7.4.2-binary.nix3
-rw-r--r--pkgs/development/compilers/ghc/8.0.1.nix2
-rw-r--r--pkgs/development/compilers/ghc/8.0.2.nix2
-rw-r--r--pkgs/development/compilers/ghc/head.nix2
-rw-r--r--pkgs/development/compilers/teyjus/default.nix10
-rw-r--r--pkgs/development/compilers/teyjus/fix-lex-to-flex.patch22
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml73
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix1284
-rw-r--r--pkgs/development/interpreters/gnu-apl/default.nix11
-rw-r--r--pkgs/development/libraries/boost/1.62.nix12
-rw-r--r--pkgs/development/libraries/fmod/default.nix41
-rw-r--r--pkgs/development/libraries/grantlee/5.x.nix12
-rw-r--r--pkgs/development/libraries/kde-frameworks/kpackage/default.nix26
-rw-r--r--pkgs/development/libraries/kde-frameworks/srcs.nix8
-rw-r--r--pkgs/development/libraries/liborc/default.nix17
-rw-r--r--pkgs/development/libraries/libvirt/default.nix4
-rw-r--r--pkgs/development/libraries/poppler/default.nix11
-rw-r--r--pkgs/development/libraries/qtstyleplugins/default.nix27
-rw-r--r--pkgs/development/libraries/rocksdb/default.nix3
-rw-r--r--pkgs/development/ruby-modules/gem-config/default.nix6
-rw-r--r--pkgs/development/tools/misc/luarocks/default.nix2
-rw-r--r--pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix38
-rw-r--r--pkgs/development/tools/ocaml/omake/warn.patch10
-rw-r--r--pkgs/development/tools/vagrant/default.nix10
-rw-r--r--pkgs/games/gzdoom/default.nix53
-rw-r--r--pkgs/games/zandronum/default.nix30
-rw-r--r--pkgs/games/zandronum/fmod.nix (renamed from pkgs/development/libraries/fmod/4.24.16.nix)0
-rw-r--r--pkgs/games/zdoom/default.nix65
-rw-r--r--pkgs/misc/screensavers/light-locker/default.nix25
-rw-r--r--pkgs/misc/screensavers/light-locker/systemd.patch13
-rw-r--r--pkgs/os-specific/darwin/apple-sdk/default.nix26
-rw-r--r--pkgs/os-specific/darwin/apple-sdk/frameworks.nix3
-rw-r--r--pkgs/os-specific/linux/batman-adv/alfred.nix4
-rw-r--r--pkgs/os-specific/linux/batman-adv/batctl.nix4
-rw-r--r--pkgs/os-specific/linux/batman-adv/default.nix4
-rw-r--r--pkgs/os-specific/linux/kexectools/arm.patch28
-rw-r--r--pkgs/os-specific/linux/kexectools/default.nix2
-rw-r--r--pkgs/os-specific/linux/tp_smapi/default.nix19
-rw-r--r--pkgs/os-specific/linux/tp_smapi/update.json5
-rw-r--r--pkgs/os-specific/linux/tp_smapi/update.nix23
-rw-r--r--pkgs/servers/matrix-synapse/default.nix21
-rw-r--r--pkgs/servers/matrix-synapse/matrix-synapse.patch8
-rw-r--r--pkgs/servers/nosql/riak-cs/2.1.1.nix10
-rw-r--r--pkgs/servers/nosql/riak-cs/stanchion.nix10
-rw-r--r--pkgs/servers/squid/default.nix31
-rw-r--r--pkgs/shells/oh-my-zsh/default.nix6
-rw-r--r--pkgs/tools/admin/google-cloud-sdk/default.nix6
-rw-r--r--pkgs/tools/archivers/p7zip/default.nix2
-rw-r--r--pkgs/tools/archivers/p7zip/setup-hook.sh5
-rw-r--r--pkgs/tools/misc/goaccess/default.nix4
-rw-r--r--pkgs/tools/misc/kdecoration-viewer/default.nix27
-rw-r--r--pkgs/tools/misc/parted/default.nix5
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix4
-rw-r--r--pkgs/tools/security/tor/default.nix4
-rw-r--r--pkgs/tools/system/ior/default.nix29
-rw-r--r--pkgs/top-level/all-packages.nix37
-rw-r--r--pkgs/top-level/ocaml-packages.nix2
-rw-r--r--pkgs/top-level/python-packages.nix312
110 files changed, 5289 insertions, 2255 deletions
diff --git a/doc/languages-frameworks/beam.xml b/doc/languages-frameworks/beam.xml
index 2dc5aa63e458..efb2e60cf3aa 100644
--- a/doc/languages-frameworks/beam.xml
+++ b/doc/languages-frameworks/beam.xml
@@ -248,7 +248,7 @@ $ nix-env -f &quot;&lt;nixpkgs&gt;&quot; -iA beamPackages.ibrowse
       development. Many times we need to create a
       <literal>shell.nix</literal> file and do our development inside
       of the environment specified by that file. This file looks a lot
-      like the packageing described above. The main difference is that
+      like the packaging described above. The main difference is that
       <literal>src</literal> points to project root and we call the
       package directly.
     </para>
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index a1a61f97e299..f88cd1212fb0 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -293,6 +293,7 @@
   mingchuan = "Ming Chuan <ming@culpring.com>";
   mirdhyn = "Merlin Gaillard <mirdhyn@gmail.com>";
   mirrexagon = "Andrew Abbott <mirrexagon@mirrexagon.com>";
+  mjanczyk = "Marcin Janczyk <m@dragonvr.pl>";
   mlieberman85 = "Michael Lieberman <mlieberman85@gmail.com>";
   modulistic = "Pablo Costa <modulistic@gmail.com>";
   mog = "Matthew O'Gorman <mog-lists@rldn.net>";
@@ -482,6 +483,7 @@
   vlstill = "Vladimír Štill <xstill@fi.muni.cz>";
   vmandela = "Venkateswara Rao Mandela <venkat.mandela@gmail.com>";
   volhovm = "Mikhail Volkhov <volhovm.cs@gmail.com>";
+  volth = "Jaroslavas Pocepko <jaroslavas@volth.com>";
   vozz = "Oliver Hunt <oliver.huntuk@gmail.com>";
   vrthra = "Rahul Gopinath <rahul@gopinath.org>";
   wedens = "wedens <kirill.wedens@gmail.com>";
diff --git a/update.nix b/maintainers/scripts/update.nix
index e1c9886a78bd..2035950da3e3 100755
--- a/update.nix
+++ b/maintainers/scripts/update.nix
@@ -6,7 +6,7 @@
 
 let
 
-  pkgs = import ./default.nix { };
+  pkgs = import ./../../default.nix { };
 
   packagesWith = cond: return: set:
     pkgs.lib.flatten
@@ -16,7 +16,7 @@ let
             result = builtins.tryEval (
               if pkgs.lib.isDerivation pkg && cond name pkg
                 then [(return name pkg)]
-              else if pkg.recurseForFerivations or false || pkg.recureseForRelease or false
+              else if pkg.recurseForDerivations or false || pkg.recurseForRelease or false
                 then packagesWith cond return pkg
               else []
             );
@@ -48,12 +48,15 @@ let
                    pkgs;
 
   packageByName = name:
-      if ! builtins.hasAttr name pkgs then
+    let
+        package = pkgs.lib.attrByPath (pkgs.lib.splitString "." name) null pkgs;
+    in
+      if package == null then
         builtins.throw "Package with an attribute name `${name}` does not exists."
-      else if ! builtins.hasAttr "updateScript" (builtins.getAttr name pkgs) then
+      else if ! builtins.hasAttr "updateScript" package then
         builtins.throw "Package with an attribute name `${name}` does have an `passthru.updateScript` defined."
       else
-        builtins.getAttr name pkgs;
+        package;
 
   packages =
     if package != null then
@@ -66,12 +69,12 @@ let
   helpText = ''
     Please run:
 
-        % nix-shell update.nix --argstr maintainer garbas
+        % nix-shell maintainers/scripts/update.nix --argstr maintainer garbas
 
     to run all update scripts for all packages that lists \`garbas\` as a maintainer
     and have \`updateScript\` defined, or:
 
-        % nix-shell update.nix --argstr package garbas
+        % nix-shell maintainers/scripts/update.nix --argstr package garbas
 
     to run update script for specific package.
   '';
diff --git a/nixos/doc/manual/release-notes/rl-1703.xml b/nixos/doc/manual/release-notes/rl-1703.xml
index a133630e1464..d8b0ae01e333 100644
--- a/nixos/doc/manual/release-notes/rl-1703.xml
+++ b/nixos/doc/manual/release-notes/rl-1703.xml
@@ -77,6 +77,17 @@ following incompatible changes:</para>
      or attribute sets as specified in parsoid's documentation.
     </para>
   </listitem>
+
+  <listitem>
+    <para>
+     <literal>Ntpd</literal> was replaced by
+     <literal>systemd-timesyncd</literal> as the default service to synchronize
+     system time with a remote NTP server. The old behavior can be restored by
+     setting <literal>services.ntp.enable</literal> to <literal>true</literal>.
+     Upstream time servers for all NTP implementations are now configured using
+     <literal>networking.timeServers</literal>.
+   </para>
+  </listitem>
 </itemizedlist>
 
 
diff --git a/nixos/lib/build-vms.nix b/nixos/lib/build-vms.nix
index 4e044deca217..1a17a080ba45 100644
--- a/nixos/lib/build-vms.nix
+++ b/nixos/lib/build-vms.nix
@@ -9,6 +9,8 @@ rec {
 
   inherit pkgs;
 
+  qemu = pkgs.qemu_test;
+
 
   # Build a virtual network from an attribute set `{ machine1 =
   # config1; ... machineN = configN; }', where `machineX' is the
@@ -27,6 +29,7 @@ rec {
         [ ../modules/virtualisation/qemu-vm.nix
           ../modules/testing/test-instrumentation.nix # !!! should only get added for automated test runs
           { key = "no-manual"; services.nixosManual.enable = false; }
+          { key = "qemu"; system.build.qemu = qemu; }
         ] ++ optional minimal ../modules/testing/minimal-kernel.nix;
       extraArgs = { inherit nodes; };
     };
diff --git a/nixos/lib/testing.nix b/nixos/lib/testing.nix
index 7fad5cbc3cd9..c1cb5072acad 100644
--- a/nixos/lib/testing.nix
+++ b/nixos/lib/testing.nix
@@ -29,7 +29,7 @@ rec {
         cp ${./test-driver/Logger.pm} $libDir/Logger.pm
 
         wrapProgram $out/bin/nixos-test-driver \
-          --prefix PATH : "${lib.makeBinPath [ qemu_kvm vde2 netpbm coreutils ]}" \
+          --prefix PATH : "${lib.makeBinPath [ qemu vde2 netpbm coreutils ]}" \
           --prefix PERL5LIB : "${with perlPackages; lib.makePerlPath [ TermReadLineGnu XMLWriter IOTty FileSlurp ]}:$out/lib/perl5/site_perl"
       '';
   };
@@ -93,7 +93,7 @@ rec {
 
       vms = map (m: m.config.system.build.vm) (lib.attrValues nodes);
 
-      ocrProg = tesseract.override { enableLanguages = [ "eng" ]; };
+      ocrProg = tesseract;
 
       # Generate onvenience wrappers for running the test driver
       # interactively with the specified network, and for starting the
diff --git a/nixos/modules/installer/tools/nixos-rebuild.sh b/nixos/modules/installer/tools/nixos-rebuild.sh
index 36700d2bf566..8e55a4f525f9 100644
--- a/nixos/modules/installer/tools/nixos-rebuild.sh
+++ b/nixos/modules/installer/tools/nixos-rebuild.sh
@@ -126,9 +126,9 @@ targetHostCmd() {
 copyToTarget() {
     if ! [ "$targetHost" = "$buildHost" ]; then
         if [ -z "$targetHost" ]; then
-            NIX_SSHOPTS=$SSH_OPTS nix-copy-closure --from "$buildHost" "$1"
+            NIX_SSHOPTS=$SSHOPTS nix-copy-closure --from "$buildHost" "$1"
         elif [ -z "$buildHost" ]; then
-            NIX_SSHOPTS=$SSH_OPTS nix-copy-closure --to "$targetHost" "$1"
+            NIX_SSHOPTS=$SSHOPTS nix-copy-closure --to "$targetHost" "$1"
         else
             buildHostCmd nix-copy-closure --to "$targetHost" "$1"
         fi
@@ -169,7 +169,7 @@ nixBuild() {
 
         local drv="$(nix-instantiate "${instArgs[@]}" "${extraBuildFlags[@]}")"
         if [ -a "$drv" ]; then
-            NIX_SSHOPTS=$SSH_OPTS nix-copy-closure --to "$buildHost" "$drv"
+            NIX_SSHOPTS=$SSHOPTS nix-copy-closure --to "$buildHost" "$drv"
             buildHostCmd nix-store -r "$drv" "${buildArgs[@]}"
         else
             echo "nix-instantiate failed"
diff --git a/nixos/modules/services/databases/mysql.nix b/nixos/modules/services/databases/mysql.nix
index 1180531248f9..fcf1f123cfb5 100644
--- a/nixos/modules/services/databases/mysql.nix
+++ b/nixos/modules/services/databases/mysql.nix
@@ -52,9 +52,7 @@ in
 
       package = mkOption {
         type = types.package;
-        default = pkgs.mysql;
-        defaultText = "pkgs.mysql";
-        example = literalExample "pkgs.mysql55";
+        example = literalExample "pkgs.mysql";
         description = "
           Which MySQL derivation to use.
         ";
diff --git a/nixos/modules/services/hardware/brltty.nix b/nixos/modules/services/hardware/brltty.nix
index b416ba332222..1266e8f81e5b 100644
--- a/nixos/modules/services/hardware/brltty.nix
+++ b/nixos/modules/services/hardware/brltty.nix
@@ -39,6 +39,8 @@ in {
         ProtectSystem = "full";
         SystemCallArchitectures = "native";
       };
+      wants = [ "systemd-udev-settle.service" ];
+      after = [ "local-fs.target" "systemd-udev-settle.service" ];
       before = [ "sysinit.target" ];
       wantedBy = [ "sysinit.target" ];
     };
diff --git a/nixos/modules/services/mail/rmilter.nix b/nixos/modules/services/mail/rmilter.nix
index e27b38bc0e2e..8f18b929c114 100644
--- a/nixos/modules/services/mail/rmilter.nix
+++ b/nixos/modules/services/mail/rmilter.nix
@@ -203,7 +203,7 @@ milter_default_action = accept
         PermissionsStartOnly = true;
         Restart = "always";
         RuntimeDirectory = "rmilter";
-        RuntimeDirectoryPermissions="0755";
+        RuntimeDirectoryMode = "0755";
       };
 
     };
diff --git a/nixos/modules/system/boot/systemd-unit-options.nix b/nixos/modules/system/boot/systemd-unit-options.nix
index 4c3fc30358c1..69af23981485 100644
--- a/nixos/modules/system/boot/systemd-unit-options.nix
+++ b/nixos/modules/system/boot/systemd-unit-options.nix
@@ -465,4 +465,20 @@ in rec {
 
   targetOptions = commonUnitOptions;
 
+  sliceOptions = commonUnitOptions // {
+
+    sliceConfig = mkOption {
+      default = {};
+      example = { MemoryMax = "2G"; };
+      type = types.attrsOf unitOption;
+      description = ''
+        Each attribute in this set specifies an option in the
+        <literal>[Slice]</literal> section of the unit.  See
+        <citerefentry><refentrytitle>systemd.slice</refentrytitle>
+        <manvolnum>5</manvolnum></citerefentry> for details.
+      '';
+    };
+
+  };
+
 }
diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix
index d1f3f923e5e3..a2ee51669715 100644
--- a/nixos/modules/system/boot/systemd.nix
+++ b/nixos/modules/system/boot/systemd.nix
@@ -375,6 +375,15 @@ let
         '';
     };
 
+  sliceToUnit = name: def:
+    { inherit (def) wantedBy requiredBy enable;
+      text = commonUnitText def +
+        ''
+          [Slice]
+          ${attrsToSection def.sliceConfig}
+        '';
+    };
+
 in
 
 {
@@ -458,6 +467,12 @@ in
       '';
     };
 
+    systemd.slices = mkOption {
+      default = {};
+      type = with types; attrsOf (submodule [ { options = sliceOptions; } unitConfig] );
+      description = "Definition of slice configurations.";
+    };
+
     systemd.generators = mkOption {
       type = types.attrsOf types.path;
       default = {};
@@ -748,6 +763,7 @@ in
       // mapAttrs' (n: v: nameValuePair "${n}.socket" (socketToUnit n v)) cfg.sockets
       // mapAttrs' (n: v: nameValuePair "${n}.timer" (timerToUnit n v)) cfg.timers
       // mapAttrs' (n: v: nameValuePair "${n}.path" (pathToUnit n v)) cfg.paths
+      // mapAttrs' (n: v: nameValuePair "${n}.slice" (sliceToUnit n v)) cfg.slices
       // listToAttrs (map
                    (v: let n = escapeSystemdPath v.where;
                        in nameValuePair "${n}.mount" (mountToUnit n v)) cfg.mounts)
diff --git a/nixos/modules/testing/test-instrumentation.nix b/nixos/modules/testing/test-instrumentation.nix
index 206df50a4207..099ead3d846c 100644
--- a/nixos/modules/testing/test-instrumentation.nix
+++ b/nixos/modules/testing/test-instrumentation.nix
@@ -119,9 +119,6 @@ let kernel = config.boot.kernelPackages.kernel; in
 
     networking.usePredictableInterfaceNames = false;
 
-    # Make sure we use a patched QEMU that ignores file ownership.
-    virtualisation.qemu.program = "${pkgs.qemu_test}/bin/qemu-kvm";
-
     # Make it easy to log in as root when running the test interactively.
     users.extraUsers.root.initialHashedPassword = mkOverride 150 "";
 
diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix
index 05fe13ba7c71..6423432c78b6 100644
--- a/nixos/modules/virtualisation/qemu-vm.nix
+++ b/nixos/modules/virtualisation/qemu-vm.nix
@@ -13,6 +13,8 @@ with lib;
 
 let
 
+  qemu = config.system.build.qemu or pkgs.qemu_test;
+
   vmName =
     if config.networking.hostName == ""
     then "noname"
@@ -32,7 +34,7 @@ let
       NIX_DISK_IMAGE=$(readlink -f ''${NIX_DISK_IMAGE:-${config.virtualisation.diskImage}})
 
       if ! test -e "$NIX_DISK_IMAGE"; then
-          ${pkgs.qemu_kvm}/bin/qemu-img create -f qcow2 "$NIX_DISK_IMAGE" \
+          ${qemu}/bin/qemu-img create -f qcow2 "$NIX_DISK_IMAGE" \
             ${toString config.virtualisation.diskSize}M || exit 1
       fi
 
@@ -47,7 +49,7 @@ let
       ${if cfg.useBootLoader then ''
         # Create a writable copy/snapshot of the boot disk.
         # A writable boot disk can be booted from automatically.
-        ${pkgs.qemu_kvm}/bin/qemu-img create -f qcow2 -b ${bootDisk}/disk.img $TMPDIR/disk.img || exit 1
+        ${qemu}/bin/qemu-img create -f qcow2 -b ${bootDisk}/disk.img $TMPDIR/disk.img || exit 1
 
         ${if cfg.useEFIBoot then ''
           # VM needs a writable flash BIOS.
@@ -63,14 +65,14 @@ let
       extraDisks=""
       ${flip concatMapStrings cfg.emptyDiskImages (size: ''
         if ! test -e "empty$idx.qcow2"; then
-            ${pkgs.qemu_kvm}/bin/qemu-img create -f qcow2 "empty$idx.qcow2" "${toString size}M"
+            ${qemu}/bin/qemu-img create -f qcow2 "empty$idx.qcow2" "${toString size}M"
         fi
         extraDisks="$extraDisks -drive index=$idx,file=$(pwd)/empty$idx.qcow2,if=${cfg.qemu.diskInterface},werror=report"
         idx=$((idx + 1))
       '')}
 
       # Start QEMU.
-      exec ${cfg.qemu.program} \
+      exec ${qemu}/bin/qemu-kvm \
           -name ${vmName} \
           -m ${toString config.virtualisation.memorySize} \
           ${optionalString (pkgs.stdenv.system == "x86_64-linux") "-cpu kvm64"} \
@@ -121,7 +123,7 @@ let
               mkdir $out
               diskImage=$out/disk.img
               bootFlash=$out/bios.bin
-              ${pkgs.qemu_kvm}/bin/qemu-img create -f qcow2 $diskImage "40M"
+              ${qemu}/bin/qemu-img create -f qcow2 $diskImage "40M"
               ${if cfg.useEFIBoot then ''
                 cp ${pkgs.OVMF-CSM}/FV/OVMF.fd $bootFlash
                 chmod 0644 $bootFlash
@@ -272,7 +274,7 @@ in
 
     virtualisation.writableStore =
       mkOption {
-        default = false;
+        default = true; # FIXME
         description =
           ''
             If enabled, the Nix store in the VM is made writable by
@@ -299,14 +301,6 @@ in
       };
 
     virtualisation.qemu = {
-      program = mkOption {
-        type = types.path;
-        default = "${pkgs.qemu_kvm}/bin/qemu-kvm";
-        defaultText = "\${pkgs.qemu_kvm}/bin/qemu-kvm";
-        example = literalExample "\${pkgs.qemu_test}/bin/qemu-kvm";
-        description = "The QEMU variant used to start the VM.";
-      };
-
       options =
         mkOption {
           type = types.listOf types.unspecified;
diff --git a/nixos/tests/kde5.nix b/nixos/tests/kde5.nix
index 30a0d09d18bb..30db316dba5e 100644
--- a/nixos/tests/kde5.nix
+++ b/nixos/tests/kde5.nix
@@ -20,8 +20,6 @@ import ./make-test.nix ({ pkgs, ...} :
     services.xserver.desktopManager.kde5.enable = true;
   };
 
-  enableOCR = true;
-
   testScript = { nodes, ... }:
   let xdo = "${pkgs.xdotool}/bin/xdotool"; in
    ''
diff --git a/nixos/tests/sddm.nix b/nixos/tests/sddm.nix
index 22a9e1bd2c7c..041d88fbeae6 100644
--- a/nixos/tests/sddm.nix
+++ b/nixos/tests/sddm.nix
@@ -19,8 +19,6 @@ import ./make-test.nix ({ pkgs, ...} : {
     services.xserver.desktopManager.default = "none";
   };
 
-  enableOCR = true;
-
   testScript = { nodes, ... }: ''
     startAll;
     $machine->waitForFile("/home/alice/.Xauthority");
diff --git a/pkgs/applications/audio/audacious/qt-5.nix b/pkgs/applications/audio/audacious/qt-5.nix
new file mode 100644
index 000000000000..b86efe7eb97e
--- /dev/null
+++ b/pkgs/applications/audio/audacious/qt-5.nix
@@ -0,0 +1,89 @@
+{
+  stdenv, lib, fetchurl,
+  gettext, makeQtWrapper, pkgconfig,
+  qtbase,
+  alsaLib, curl, faad2, ffmpeg, flac, fluidsynth, gdk_pixbuf, lame, libbs2b,
+  libcddb, libcdio082, libcue, libjack2, libmad, libmcs, libmms, libmodplug,
+  libmowgli, libnotify, libogg, libpulseaudio, libsamplerate, libsidplayfp,
+  libsndfile, libvorbis, libxml2, lirc, mpg123, neon, qtmultimedia, soxr,
+  wavpack
+}:
+
+let
+  version = "3.8.1";
+  sources = {
+    "audacious-${version}" = fetchurl {
+      url = "http://distfiles.audacious-media-player.org/audacious-${version}.tar.bz2";
+      sha256 = "1k9blmgqia0df18l39bd2bbcwmjfxak6bd286vcd9zzmjhqs4qdc";
+    };
+
+    "audacious-plugins-${version}" = fetchurl {
+      url = "http://distfiles.audacious-media-player.org/audacious-plugins-${version}.tar.bz2";
+      sha256 = "0f16ivcp8nd83r781hnw1qgbs9hi2b2v22zwv7c3sw3jq1chb70h";
+    };
+  };
+in
+
+stdenv.mkDerivation {
+  inherit version;
+  name = "audacious-${version}";
+
+  sourceFiles = lib.attrValues sources;
+  sourceRoots = lib.attrNames sources;
+
+  nativeBuildInputs = [
+    gettext makeQtWrapper pkgconfig
+  ];
+
+  buildInputs = [
+    # Core dependencies
+    qtbase
+
+    # Plugin dependencies
+    alsaLib curl faad2 ffmpeg flac fluidsynth gdk_pixbuf lame libbs2b libcddb
+    libcdio082 libcue libjack2 libmad libmcs libmms libmodplug libmowgli
+    libnotify libogg libpulseaudio libsamplerate libsidplayfp libsndfile
+    libvorbis libxml2 lirc mpg123 neon qtmultimedia soxr wavpack
+  ];
+
+  configureFlags = [ "--enable-qt" "--disable-gtk" ];
+
+  # Here we build both audacious and audacious-plugins in one
+  # derivations, since they really expect to be in the same prefix.
+  # This is slighly tricky.
+  builder = builtins.toFile "builder.sh" ''
+    sourceFiles=( $sourceFiles )
+    sourceRoots=( $sourceRoots )
+    for (( i=0 ; i < ''${#sourceFiles[*]} ; i++ )); do
+
+      (
+        src=''${sourceFiles[$i]}
+        sourceRoot=''${sourceRoots[$i]}
+        source $stdenv/setup
+        genericBuild
+      )
+
+      if [ $i == 0 ]; then
+        nativeBuildInputs="$out $nativeBuildInputs"
+      fi
+
+    done
+
+    source $stdenv/setup
+    wrapQtProgram $out/bin/audacious
+    wrapQtProgram $out/bin/audtool
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Audio player";
+    homepage = http://audacious-media-player.org/;
+    maintainers = with maintainers; [ ttuegel ];
+    platforms = with platforms; linux;
+    license = with licenses; [
+      bsd2 bsd3 #https://github.com/audacious-media-player/audacious/blob/master/COPYING
+      gpl2 gpl3 lgpl2Plus #http://redmine.audacious-media-player.org/issues/46
+    ];
+  };
+}
diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix
index 0ff4e2c1cbc3..a1a4d26e2a03 100644
--- a/pkgs/applications/audio/spotify/default.nix
+++ b/pkgs/applications/audio/spotify/default.nix
@@ -6,7 +6,7 @@ assert stdenv.system == "x86_64-linux";
 
 let
   # Please update the stable branch!
-  version = "1.0.43.125.g376063c5-91";
+  version = "1.0.45.182.gbbd5909f-72";
 
   deps = [
     alsaLib
@@ -51,7 +51,7 @@ stdenv.mkDerivation {
   src =
     fetchurl {
       url = "http://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb";
-      sha256 = "1qkyfqi6dy8sggq8kakl6y03l6w2fcxb22ya3kxb4d468bifss3v";
+      sha256 = "0vpwwla5vrx5ryx434a486l8vcgr1vxh28ri6ab4f28xrz16ipys";
     };
 
   buildInputs = [ dpkg makeWrapper ];
diff --git a/pkgs/applications/editors/fte/default.nix b/pkgs/applications/editors/fte/default.nix
new file mode 100644
index 000000000000..d32a3fb5f1b5
--- /dev/null
+++ b/pkgs/applications/editors/fte/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, unzip, perl, libX11, libXpm, gpm, ncurses, slang }:
+
+stdenv.mkDerivation rec {
+  name = "fte-0.50.02";
+
+  buildInputs = [ unzip perl libX11 libXpm gpm ncurses slang ];
+
+  ftesrc = fetchurl {
+    url = "mirror://sourceforge/fte/fte-20110708-src.zip";
+    sha256 = "17j9akr19w19myglw5mljjw2g3i2cwxiqrjaln82h3rz5ma1qcfn";
+  };
+  ftecommon = fetchurl {
+    url = "mirror://sourceforge/fte/fte-20110708-common.zip";
+    sha256 = "1xva4kh0674sj2b9rhf2amlr37yxmsvjkgyj89gpcn0rndw1ahaq";
+  };
+  src = [ ftesrc ftecommon ];
+
+  buildFlags = "PREFIX=$(out)";
+
+  installFlags = "PREFIX=$(out) INSTALL_NONROOT=1";
+
+  meta = with stdenv.lib; {
+    description = "A free text editor for developers";
+    homepage = http://fte.sourceforge.net/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.volth ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix
index e76683aa1807..354aaf6db546 100644
--- a/pkgs/applications/editors/neovim/default.nix
+++ b/pkgs/applications/editors/neovim/default.nix
@@ -5,6 +5,7 @@
 , withPython ? true, pythonPackages, extraPythonPackages ? []
 , withPython3 ? true, python3Packages, extraPython3Packages ? []
 , withJemalloc ? true, jemalloc
+, withRuby ? true, bundlerEnv
 
 , withPyGUI ? false
 , vimAlias ? false
@@ -44,6 +45,14 @@ let
     };
   };
 
+  rubyEnv = bundlerEnv {
+    name = "neovim-ruby-env";
+    gemdir = ./ruby_provider;
+  };
+
+  rubyWrapper = ''--suffix PATH : \"${rubyEnv}/bin\" '' +
+                ''--suffix GEM_HOME : \"${rubyEnv}/${rubyEnv.ruby.gemPath}\" '';
+
   pythonEnv = pythonPackages.python.buildEnv.override {
     extraLibs = (
         if withPyGUI
@@ -52,11 +61,17 @@ let
       ) ++ extraPythonPackages;
     ignoreCollisions = true;
   };
+  pythonWrapper = ''--cmd \"let g:python_host_prog='$out/bin/nvim-python'\" '';
 
   python3Env = python3Packages.python.buildEnv.override {
     extraLibs = [ python3Packages.neovim ] ++ extraPython3Packages;
     ignoreCollisions = true;
   };
+  python3Wrapper = ''--cmd \"let g:python3_host_prog='$out/bin/nvim-python3'\" '';
+  pythonFlags = optionalString (withPython || withPython3) ''--add-flags "${
+    (optionalString withPython pythonWrapper) +
+    (optionalString withPython3 python3Wrapper)
+  }"'';
 
   neovim = stdenv.mkDerivation rec {
     name = "neovim-${version}";
@@ -124,13 +139,8 @@ let
         --prefix PATH : "$out/bin"
     '' + optionalString withPython3 ''
       ln -s ${python3Env}/bin/python3 $out/bin/nvim-python3
-    '' + optionalString (withPython || withPython3) ''
-        wrapProgram $out/bin/nvim --add-flags "${
-          (optionalString withPython
-            ''--cmd \"let g:python_host_prog='$out/bin/nvim-python'\" '') +
-          (optionalString withPython3
-            ''--cmd \"let g:python3_host_prog='$out/bin/nvim-python3'\" '')
-        }"
+    '' + optionalString (withPython || withPython3 || withRuby) ''
+      wrapProgram $out/bin/nvim ${rubyWrapper + pythonFlags}
     '';
 
     meta = {
diff --git a/pkgs/applications/editors/neovim/ruby_provider/Gemfile b/pkgs/applications/editors/neovim/ruby_provider/Gemfile
new file mode 100644
index 000000000000..eebecf2906fb
--- /dev/null
+++ b/pkgs/applications/editors/neovim/ruby_provider/Gemfile
@@ -0,0 +1,3 @@
+source 'https://rubygems.org'
+
+gem 'neovim'
diff --git a/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock b/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock
new file mode 100644
index 000000000000..88100b2e8f87
--- /dev/null
+++ b/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock
@@ -0,0 +1,15 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    msgpack (1.0.2)
+    neovim (0.3.1)
+      msgpack (~> 1.0)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  neovim
+
+BUNDLED WITH
+   1.12.5
diff --git a/pkgs/applications/editors/neovim/ruby_provider/gemset.nix b/pkgs/applications/editors/neovim/ruby_provider/gemset.nix
new file mode 100644
index 000000000000..c3ed45a78481
--- /dev/null
+++ b/pkgs/applications/editors/neovim/ruby_provider/gemset.nix
@@ -0,0 +1,19 @@
+{
+  msgpack = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1fb2my91j08plsbbry5kilsrh7slmzgbbf6f55zy6xk28p9036lg";
+      type = "gem";
+    };
+    version = "1.0.2";
+  };
+  neovim = {
+    dependencies = ["msgpack"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "018mk4vqaxzbk4anq558h2rgj8prbn2rmi777iwrg3n0v8k5nxqw";
+      type = "gem";
+    };
+    version = "0.3.1";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/graphics/tesseract/default.nix b/pkgs/applications/graphics/tesseract/default.nix
index 375b09995488..1f1da9a389f2 100644
--- a/pkgs/applications/graphics/tesseract/default.nix
+++ b/pkgs/applications/graphics/tesseract/default.nix
@@ -1,53 +1,31 @@
-{ stdenv, fetchurl, autoconf, automake, libtool, leptonica, libpng, libtiff
-, enableLanguages ? null
+{ stdenv, fetchFromGitHub, pkgconfig, leptonica, libpng, libtiff
+, icu, pango, opencl-headers
 }:
 
-with stdenv.lib;
-
-let
-  majVersion = "3.02";
-  version = "${majVersion}.02";
-
-  mkLang = lang: sha256: let
-    src = fetchurl {
-      url = "http://tesseract-ocr.googlecode.com/files/tesseract-ocr-${majVersion}.${lang}.tar.gz";
-      inherit sha256;
-    };
-  in "tar xfvz ${src} -C $out/share/ --strip=1";
-
-  wantLang = name: const (enableLanguages == null || elem name enableLanguages);
-
-  extraLanguages = mapAttrsToList mkLang (filterAttrs wantLang {
-    cat = "0d1smiv1b3k9ay2s05sl7q08mb3ln4w5iiiymv2cs8g8333z8jl9";
-    rus = "059336mkhsj9m3hwfb818xjlxkcdpy7wfgr62qwz65cx914xl709";
-    spa = "1c9iza5mbahd9pa7znnq8yv09v5kz3gbd2sarcgcgc1ps1jc437l";
-    nld = "162acxp1yb6gyki2is3ay2msalmfcsnrlsd9wml2ja05k94m6bjy";
-    eng = "1y5xf794n832s3lymzlsdm2s9nlrd2v27jjjp0fd9xp7c2ah4461";
-    slv = "0rqng43435cly32idxm1lvxkcippvc3xpxbfizwq5j0155ym00dr";
-    jpn = "07v8pymd0iwyzh946lxylybda20gsw7p4fsb09jw147955x49gq9";
-  });
-in
-
 stdenv.mkDerivation rec {
   name = "tesseract-${version}";
+  version = "3.04.01";
 
-  src = fetchurl {
-    url = "http://tesseract-ocr.googlecode.com/files/tesseract-ocr-${version}.tar.gz";
-    sha256 = "0g81m9y4iydp7kgr56mlkvjdwpp3mb01q385yhdnyvra7z5kkk96";
+  src = fetchFromGitHub {
+    owner = "tesseract-ocr";
+    repo = "tesseract";
+    rev = version;
+    sha256 = "0h1x4z1h86n2gwknd0wck6gykkp99bmm02lg4a47a698g4az6ybv";
   };
 
-  buildInputs = [ autoconf automake libtool leptonica libpng libtiff ];
+  tessdata = fetchFromGitHub {
+    owner = "tesseract-ocr";
+    repo = "tessdata";
+    rev = "3cf1e2df1fe1d1da29295c9ef0983796c7958b7d";
+    sha256 = "1v4b63v5nzcxr2y3635r19l7lj5smjmc9vfk0wmxlryxncb4vpg7";
+  };
 
-  hardeningDisable = [ "format" ];
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ leptonica libpng libtiff icu pango opencl-headers ];
 
-  preConfigure = ''
-      ./autogen.sh
-      substituteInPlace "configure" \
-        --replace 'LIBLEPT_HEADERSDIR="/usr/local/include /usr/include"' \
-                  'LIBLEPT_HEADERSDIR=${leptonica}/include'
-  '';
+  LIBLEPT_HEADERSDIR = "${leptonica}/include";
 
-  postInstall = concatStringsSep "; " extraLanguages;
+  postInstall = "cp -Rt \"$out/share/tessdata\" \"$tessdata/\"*";
 
   meta = {
     description = "OCR engine";
diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix
index 2ec212d493b8..e0d426e99b62 100644
--- a/pkgs/applications/misc/electrum/default.nix
+++ b/pkgs/applications/misc/electrum/default.nix
@@ -36,6 +36,15 @@ python2Packages.buildPythonApplication rec {
   preBuild = ''
     sed -i 's,usr_share = .*,usr_share = "'$out'/share",g' setup.py
     pyrcc4 icons.qrc -o gui/qt/icons_rc.py
+    # Recording the creation timestamps introduces indeterminism to the build
+    sed -i '/Created: .*/d' gui/qt/icons_rc.py
+  '';
+
+  postInstall = ''
+    # Despite setting usr_share above, these files are installed under
+    # $out/nix ...
+    mv $out/lib/python2.7/site-packages/nix/store/*/share $out
+    rm -rf $out/lib/python2.7/site-packages/nix
   '';
 
   doInstallCheck = true;
diff --git a/pkgs/applications/misc/keepass-plugins/keefox/default.nix b/pkgs/applications/misc/keepass-plugins/keefox/default.nix
index cb48ff22bef0..0215c5a71c2f 100644
--- a/pkgs/applications/misc/keepass-plugins/keefox/default.nix
+++ b/pkgs/applications/misc/keepass-plugins/keefox/default.nix
@@ -1,12 +1,12 @@
 { stdenv, buildEnv, fetchurl, mono, unzip }:
 
 let
-  version = "1.6.3";
+  version = "1.6.4";
   drv = stdenv.mkDerivation {
     name = "keefox-${version}";
     src = fetchurl {
       url    = "https://github.com/luckyrat/KeeFox/releases/download/v${version}/${version}.xpi";
-      sha256 = "dc26c51a6b3690d4bec527c3732a72f67a85b804c60db5e699260552e2dd2bd9";
+      sha256 = "0nj4l9ssyfwbl1pxgxvd2h9q0mqhx7i0yzm4a2xjqlqwam534d1w";
     };
 
     meta = {
@@ -14,6 +14,7 @@ let
       homepage    = http://keefox.org;
       platforms   = with stdenv.lib.platforms; linux;
       license     = stdenv.lib.licenses.gpl2;
+      maintainers = [ stdenv.lib.maintainers.mjanczyk ];
     };
 
     buildInputs = [ unzip ];
diff --git a/pkgs/applications/misc/octoprint/default.nix b/pkgs/applications/misc/octoprint/default.nix
index 71705b005453..aecea732a23e 100644
--- a/pkgs/applications/misc/octoprint/default.nix
+++ b/pkgs/applications/misc/octoprint/default.nix
@@ -70,6 +70,7 @@ in pythonPackages.buildPythonApplication rec {
       -e 's,Flask-Login>=[^"]*,Flask-Login,g' \
       -e 's,rsa>=[^"]*,rsa,g' \
       -e 's,PyYAML>=[^"]*,PyYAML,g' \
+      -e 's,flask>=[^"]*,flask,g' \
       setup.py
   '';
 
diff --git a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
index bf45e30eb455..fec1665f8b7c 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
@@ -1,194 +1,925 @@
-# This file is generated from generate_sources.rb. DO NOT EDIT.
-# Execute the following command to update the file.
-#
-# ruby generate_sources.rb 46.0.1 > sources.nix
-
 {
-  version = "51.0b6";
+  version = "51.0b8";
   sources = [
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/ach/firefox-51.0b6.tar.bz2"; locale = "ach"; arch = "linux-i686"; sha512 = "9922d61aca30e0b95209010be736dd144c3c65986c08852798997cf3cf8e4969f815565bcdf1f0d82a81bbaecf3f4cf478cda66a2cd757f36043717ddce3385d"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/ach/firefox-51.0b6.tar.bz2"; locale = "ach"; arch = "linux-x86_64"; sha512 = "de99e6e07ea084406927551ccbb549bfe583e21e16873707124d897c38dc04b183476eb620f5d457e19375df51a19d3b57bc3afe344efa07d7832ac973ea30eb"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/af/firefox-51.0b6.tar.bz2"; locale = "af"; arch = "linux-i686"; sha512 = "cbd0e1e659c0568ee66004664cb5277b1df291747fa22d5dd2b0c68edc59ee9efd3bdb14c6ad60509dc613e80e955314c50b589a5aa9ab52dcfb7efeb8a0772b"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/af/firefox-51.0b6.tar.bz2"; locale = "af"; arch = "linux-x86_64"; sha512 = "e4a653eec075b975f3a3d6f73874909f61a82bfded01935ea152d56b7249e726099ae873a347adff4d6fa82f73a267415711483a56845980d199fbebe57a9c23"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/an/firefox-51.0b6.tar.bz2"; locale = "an"; arch = "linux-i686"; sha512 = "c6705fbd66a251d3427da98d1efa67d7a3f8683f166b7daab8902480c009b4ab183ff1d4f2242628ce3c11a828b74c605d5c17322234cb7972930174a070bd41"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/an/firefox-51.0b6.tar.bz2"; locale = "an"; arch = "linux-x86_64"; sha512 = "cf5df1e60d2ee8387c173e5ea73699b29ba80251d2497b4e3cb25cfb37fe2bf8967f8d39be091ae5adea2d30cb8c911124bd4272c92e9d0ee811f36d13c62efe"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/ar/firefox-51.0b6.tar.bz2"; locale = "ar"; arch = "linux-i686"; sha512 = "d6c91653320898857096b209f2572454351edd4aa4778e8bc91a6628870ca476f80ed48bd17b651e4dcbdd75013dac2b325cfe4e9aab6e62fbeec16f7013e8c8"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/ar/firefox-51.0b6.tar.bz2"; locale = "ar"; arch = "linux-x86_64"; sha512 = "0e128e4c2edde6b9090e1278b5da9bfcf6fc6cd57c739fdad86084bc0e64637b6d9ce1fd31b1da53b85f460f26d9a02b7c95bd427de08dc46415e35dfa381b1c"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/as/firefox-51.0b6.tar.bz2"; locale = "as"; arch = "linux-i686"; sha512 = "1fcd00eaf90603969e1e57ab486c088d7ca769c67382398caf1d0217134d6a814200f4c64a6ef8a5a58647e3cb0d45cacb6cf2cf64d7139443077905e4ceca72"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/as/firefox-51.0b6.tar.bz2"; locale = "as"; arch = "linux-x86_64"; sha512 = "fa223a00223abe964d6515e195dc4bef25a420ffbdc3131d13210ff70c584707757dfd44e53d2a3ca062cbe860ff3df590cf423fad5dff5dfdb1721f321a5b98"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/ast/firefox-51.0b6.tar.bz2"; locale = "ast"; arch = "linux-i686"; sha512 = "0314d493a15bd8069a6fcd4c86036e300ca7391f9b881d355065ebc248f9a4242787cfed6f5d13c7de828340c9013a325f011995b9544610aa93ade607334e99"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/ast/firefox-51.0b6.tar.bz2"; locale = "ast"; arch = "linux-x86_64"; sha512 = "835c02a80228fc317d8bc81429fa6331a5381e5ce26b7cf315c30d05e7bf8a29197d4105335bf8b32b0a9e2b65acd8c9c617afee5af3339777a0e23558dd92c9"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/az/firefox-51.0b6.tar.bz2"; locale = "az"; arch = "linux-i686"; sha512 = "a63c05959fc74bca79f6760a31ce0be0ab19ebf372a83fcfb5b2e1807e025462f4fd6236f8848bc2f6066048862cdf6b68fa66de0aa3a0b0d7c65ccca097d9d6"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/az/firefox-51.0b6.tar.bz2"; locale = "az"; arch = "linux-x86_64"; sha512 = "dbf48a762de944e8ffd39d65d4b94f67e4b2d3bf91ed0763e44f32343af0dc1183087421d0c6f737c6826e94fb205772cd6d484bfb45b19755948d602d02ae91"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/bg/firefox-51.0b6.tar.bz2"; locale = "bg"; arch = "linux-i686"; sha512 = "a514ee7d9acdb0dcb95a5c02c8d786481b1d66b8d7de2c8c05793a330d711dc5b0136a822dacc6cf81e338a9e3eca93ff9a25fef457739c5767bd01ec10458f2"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/bg/firefox-51.0b6.tar.bz2"; locale = "bg"; arch = "linux-x86_64"; sha512 = "6bac773ce99d25062f188a01c3006689ff7441af29a80da323e7ebe09c678a426cc3938f0a1a83051bb0efe791e4779a92b6cd09a23c676ee3629ca2d8a43da7"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/bn-BD/firefox-51.0b6.tar.bz2"; locale = "bn-BD"; arch = "linux-i686"; sha512 = "2738e2e97d52003b4f9b55e8912bceecc86a23c4e1db432db9e9d552e91c33bf0e523a924fc1011e45887b9432af801fab93574d808cfa1dbe77a0ae6056a2cc"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/bn-BD/firefox-51.0b6.tar.bz2"; locale = "bn-BD"; arch = "linux-x86_64"; sha512 = "2648c10bddde134ee699c0b26be5520a8a47d2cd0ebe99fa114b2ed7f19ba7fddd0696585732d154db67099795e6aec922d49f9871a24eda571bd6e0c24dea35"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/bn-IN/firefox-51.0b6.tar.bz2"; locale = "bn-IN"; arch = "linux-i686"; sha512 = "c88648df222958a1c3c9ac71e54f2b248625a6637e46c2f39419ca3c57215f5af8ce16f4662326d24712f4cdf0b5f533e48a4bfd903e5cba66b579384d3bc7c0"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/bn-IN/firefox-51.0b6.tar.bz2"; locale = "bn-IN"; arch = "linux-x86_64"; sha512 = "b97ba8c5bf7f282a323ad3a4e423e85cb9122b470a94eeca91df3c00c6ab3331e02bf36ad7e87684ae3f73770c213ba19ae7179117228ac7808ad2fbe5d99145"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/br/firefox-51.0b6.tar.bz2"; locale = "br"; arch = "linux-i686"; sha512 = "a5b160f8776b396dd837cc574cb4ae625e58afa0443ae12ccf857d52b5d5e16d21bea6dcfe7a77e52db6c038541f01efc78d4da0de74625992e3d833f84f0b94"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/br/firefox-51.0b6.tar.bz2"; locale = "br"; arch = "linux-x86_64"; sha512 = "a03eb659b54067721861a89d578b3fca086b02c8013e7e05b724caaa020f301a4015d81e4d9f2dcd69223930c94b4e0e7f12d4e0de4b2fe271bf903b75ba9ca2"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/bs/firefox-51.0b6.tar.bz2"; locale = "bs"; arch = "linux-i686"; sha512 = "18cb9436347d690aa1c7900f8eeaaccfcdc585c3ffe921cd77860596cb8cde01174d709d03489483b5867fb9d647baa9885673b983037656f020d245f4159da2"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/bs/firefox-51.0b6.tar.bz2"; locale = "bs"; arch = "linux-x86_64"; sha512 = "c64e5146ea1bdcd65b46dca33c8ac772d4c82ad49dc01fb4f1e51a56595e68167f7e4c8ecbe0fa3df258eb6f1ad6c2d9d0eb281e5c7b92831a03f7fbf8e2ddd0"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/ca/firefox-51.0b6.tar.bz2"; locale = "ca"; arch = "linux-i686"; sha512 = "db8c8aaebf6679bd28d615e1e2304285ed0848906f93425a255171f48d6c75aa40fb2d88f71cf85eff3410d199032ff152585e277efe78c69440778705ef3b26"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/ca/firefox-51.0b6.tar.bz2"; locale = "ca"; arch = "linux-x86_64"; sha512 = "8c27b06059b07d2c915fa11ec7d57c7519093a9480dac97cd6c4a024777a79d64687cd3d0c48d0c723aa10ee533164c4f67be9ad6d1379bffac98755a4a3a980"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/cak/firefox-51.0b6.tar.bz2"; locale = "cak"; arch = "linux-i686"; sha512 = "47cbf1f054fa5820ce1f8f769ce90ac26758f99ad300069e3a6c029e01115c3b12b08c812ebe1309667c17c1640d6cb2e7174fc6e050db8f013003436b7845aa"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/cak/firefox-51.0b6.tar.bz2"; locale = "cak"; arch = "linux-x86_64"; sha512 = "94ffb85f667d4a39c0de3d4b0853e72e9ad2d60822e7224110aefb187aea5ece6c0be0e82ec4d4f686c6ad710b73c54c70cae10282ec0b48ca6623d3d7558444"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/cs/firefox-51.0b6.tar.bz2"; locale = "cs"; arch = "linux-i686"; sha512 = "8c5f82a831e31c42629f5e6c6406d5a1ecee37506b89cad845abb110b0f2b5a809ce3e81e8a70915f993fa96891fca4a5e36ff778bd45d23d2671ab55da9f874"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/cs/firefox-51.0b6.tar.bz2"; locale = "cs"; arch = "linux-x86_64"; sha512 = "2523492cbcd990a0204dca79f393b7e034d1337e9ff81398de78575d2a98c806680cc363f7339514d9f57308bfe4cd863c8710f6bb6373487b584aa1e8de4077"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/cy/firefox-51.0b6.tar.bz2"; locale = "cy"; arch = "linux-i686"; sha512 = "77080af629015197663e1e3de1feb76da0ccba3ce1341cf7592ef8d6d0b477f1349d944762d1e810d1cc3c8a0eb23bf44f73e7c00d07d1e9c2a0bc2e2c1692eb"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/cy/firefox-51.0b6.tar.bz2"; locale = "cy"; arch = "linux-x86_64"; sha512 = "3c4f972e53540ba28be94bdc1e0b67b6c744a20f0ce2c6bfa7a1a92ab20ba806a73f39c5c0afb0e83ed5c822dfb42ea7c0c2806b91cd889070e148de8e5d47a0"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/da/firefox-51.0b6.tar.bz2"; locale = "da"; arch = "linux-i686"; sha512 = "d082549257e17392f75485548b1ed8062e155687c3d2f0a3287ec5139e6ad1db9cb4a8a449ed2ce18650e07719b03a3dbe1ac25589102c322727767a6d663dd9"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/da/firefox-51.0b6.tar.bz2"; locale = "da"; arch = "linux-x86_64"; sha512 = "8b268c1d9e35a91e2a71623404fead75966d39d893944c311ceb572e02673a06c61ef0e08b9c0ba246e6fcd23772e94e7531be535b69c27840478ee1ce3cbe6f"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/de/firefox-51.0b6.tar.bz2"; locale = "de"; arch = "linux-i686"; sha512 = "0b58e025fc3490c6b94df2f60c722edf909bccec3264bb9f618e54391cfbee8800a6ae1a2c625f68b975daae73596464bb53ffebbedd545bd4a79e77c1d9ca33"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/de/firefox-51.0b6.tar.bz2"; locale = "de"; arch = "linux-x86_64"; sha512 = "c2fb608c2c71412f192b1b910ffc7b270fb8d02b52c76af26fafe362c0cdb282086e902fe1e9eb3bc9d2d022e474816c45092480d199fe3b039083f0de94a3e0"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/dsb/firefox-51.0b6.tar.bz2"; locale = "dsb"; arch = "linux-i686"; sha512 = "4f0633677c15ce3b9a4d3bade50c5d4e18c76b898cf82a6169213674220d4b82132912947aefdc2ff90e6e639224d76f3508242d664d051475366efeb4adf84d"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/dsb/firefox-51.0b6.tar.bz2"; locale = "dsb"; arch = "linux-x86_64"; sha512 = "d7d7ec0004bf4712082c57f30e069cbcde9c70cd10d412979228f18fe2056cbab9c741cfda76c8cf5ffaa3086320dd4fede0e140fcc88fe200944e2f407f7606"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/el/firefox-51.0b6.tar.bz2"; locale = "el"; arch = "linux-i686"; sha512 = "089054405ee749b30895a8c6cd83a630399ef9cc493dd4f50d0654241ab35ee63c989ce03996f0921820ae701e90bd7af7b6a0058ecba25aa5272ba151da9f02"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/el/firefox-51.0b6.tar.bz2"; locale = "el"; arch = "linux-x86_64"; sha512 = "2fc754b1d951b4d008d9d7a0cfd2555e394e09f8a28adf00334fa780532d8694a78c19831500fda3aa1e85bbc649b7156400d659de45ac4d4ecc3dac3c642124"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/en-GB/firefox-51.0b6.tar.bz2"; locale = "en-GB"; arch = "linux-i686"; sha512 = "4c4ec11a0642efe15b82991e8e3d614a239dab86866773b2ad966c45d928a0b6cba73c65bddbd0233cce0bcec7489ee2899115a8e38f02db1490a5a9814a5c30"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/en-GB/firefox-51.0b6.tar.bz2"; locale = "en-GB"; arch = "linux-x86_64"; sha512 = "6dcc54ba099ea5c6845b109eb98cee58dff6bf2dbf442723a3369bd673d43ffa01c7656011d6280f5588e4ee49e8214de327ac3d7fd92ea0cf10fc9a00a3ccd6"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/en-US/firefox-51.0b6.tar.bz2"; locale = "en-US"; arch = "linux-i686"; sha512 = "7c53368377d6b4258ba5a64fe16af394b514abcf516d04551c7fb22ff09ccd4fa37b0e16a21af179329f78c8970179b4d66b2882ede54960e9a7524403f7e7ab"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/en-US/firefox-51.0b6.tar.bz2"; locale = "en-US"; arch = "linux-x86_64"; sha512 = "d3c8f949401e6b9ade7e620e0c0f9324d1440a313521d385d7ed038d16628c70762a90a46c45eb74c6880ff35c3ac856e3a083317c016ece2d4bc8e740fd6aec"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/en-ZA/firefox-51.0b6.tar.bz2"; locale = "en-ZA"; arch = "linux-i686"; sha512 = "f774c2c8803789dfd335dd6bdcab442eaffb2b7bdc1a3a59509060af8e1baf57e56bbca17224038fbadef1168ae20063cae8e6f98912ee35f031870ab65155b8"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/en-ZA/firefox-51.0b6.tar.bz2"; locale = "en-ZA"; arch = "linux-x86_64"; sha512 = "802e89998c068af3712daebe727d7e865446189b436823175dceb325ea4c3aad8a0b4786961cd28013fa892d9b94d3bafd967bc8d3ebb40bd7d97a76a7c5bcef"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/eo/firefox-51.0b6.tar.bz2"; locale = "eo"; arch = "linux-i686"; sha512 = "103dc2a263d1eeb0bea61e3ddff6d16e399501c59a61045b5821654af7804bac571ce6fceb1e6616da44384d910005cacf44e515028e5da8ad58f1804298c0be"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/eo/firefox-51.0b6.tar.bz2"; locale = "eo"; arch = "linux-x86_64"; sha512 = "0204acc897416b13938127b4fcf57eae2abd50f4cead0124f3422efd4e9122c8d3861be6fc5da0d996260205b938e36cbd064d4f2fde48b1e6afcb2dc3f92f1e"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/es-AR/firefox-51.0b6.tar.bz2"; locale = "es-AR"; arch = "linux-i686"; sha512 = "dc3f7f830ede78340d323f5062edc564fec3bca2eee32bd88d729227e8b7cda4739e56dca54fd7d8a7856778843012b3c52acf4d773ab53249ea8c186896b7ab"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/es-AR/firefox-51.0b6.tar.bz2"; locale = "es-AR"; arch = "linux-x86_64"; sha512 = "1a35ab3546f2358d8c3dcfe85528bb42142fa44a565b0d6dedbbff95d230e25ee5627753de50d7868617de5086e8ff0d668626b17cf8f47c320865e1c5a4a3f2"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/es-CL/firefox-51.0b6.tar.bz2"; locale = "es-CL"; arch = "linux-i686"; sha512 = "ae16ef4d94c2b75bf57f425aa670ab71525655a1a092d7151a513c783c7b4967f5b7e0726e4aad676615165d84551f8ec59b7cc8ad18570834e9abb1089fca6a"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/es-CL/firefox-51.0b6.tar.bz2"; locale = "es-CL"; arch = "linux-x86_64"; sha512 = "9f389f9e5bbc30be888942f62dc35360d01d195cba416066321c5f2153f9aa8c7d02f52452ecf1f5d0d290c246066b9fb19f93141ffa0dbced4624495ac3c515"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/es-ES/firefox-51.0b6.tar.bz2"; locale = "es-ES"; arch = "linux-i686"; sha512 = "cebede3a4d5750f5b7160dfb8609faf7c73892689da08c7b93b87b6cf159184e04016b3ae92a49bfb8d40c50ac45a8806ac45c30b436a466875cedf4a0270994"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/es-ES/firefox-51.0b6.tar.bz2"; locale = "es-ES"; arch = "linux-x86_64"; sha512 = "b58dc439dc2186bb23e5e401db162717fa0adb90517660516cda553f00100120da2db07e5de8aefea2159537408217825efe1e8d843b75175848f1cfc88f6151"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/es-MX/firefox-51.0b6.tar.bz2"; locale = "es-MX"; arch = "linux-i686"; sha512 = "3a263de75799e50ec08961b0f25c3e5366129aff7e466f9dcd8820f1f455cf1ec959ac9a4388ae8edd92f3f5a1647068cd699b809f1e4de9ea9f3dd25b4a4e4c"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/es-MX/firefox-51.0b6.tar.bz2"; locale = "es-MX"; arch = "linux-x86_64"; sha512 = "1d466f5c2c2f557fee8b9997fb9f17bedcdc3287a3cf972cb963e47cbf6cd3a440296ffe60d93a45394f83603445a31338f055835f965a09fe4f32839b628ada"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/et/firefox-51.0b6.tar.bz2"; locale = "et"; arch = "linux-i686"; sha512 = "70f2d3009b715e27b350bcedd6503a311db8a2c6c75fa29eacdf13a8ea7fcc674680f59dfd18bc2b0440dd528d8e63bd885ee5ff3dfc88361efd3fb137ff3903"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/et/firefox-51.0b6.tar.bz2"; locale = "et"; arch = "linux-x86_64"; sha512 = "c9c51ca82cfc0062576a230a0f78900a62a188724f7eecd3786e78e37c4ba410dcef2953cbb5ffb4eb4c9f750bfc70ea0aeafdd75378b51bdaa825521db0f862"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/eu/firefox-51.0b6.tar.bz2"; locale = "eu"; arch = "linux-i686"; sha512 = "8cfcd9b768bb83978697db322ead6afe39b6dfee7c05b1b4291f2acc9f84e450c79f419b3a158e3e9757c36d739ecb4325ac51d129015309999b5b0cf8f53df0"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/eu/firefox-51.0b6.tar.bz2"; locale = "eu"; arch = "linux-x86_64"; sha512 = "cda51c8a34b72ee822542da864f9de3d43a7448d5db77ca775eb7cdbbbc99c432918bd397f53a284cc30257793f1cf50d80de4621e53af99f61b2e6542a27751"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/fa/firefox-51.0b6.tar.bz2"; locale = "fa"; arch = "linux-i686"; sha512 = "470b4d9545479ed1f97059d4af318c7f38aca6bd80754c0e56c78912164244b4ebcb9aa697a653d608bd26919f76fe0a12dcd02423315570d91aa4b822ef2e76"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/fa/firefox-51.0b6.tar.bz2"; locale = "fa"; arch = "linux-x86_64"; sha512 = "dbe302146776542e63f0b98149ad72f514195f7c3f7589a14d9bd96b36d60710bfb2df8a8a931122e58ff75909832a6d26366b171bcb2c78c08c17073726d8fe"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/ff/firefox-51.0b6.tar.bz2"; locale = "ff"; arch = "linux-i686"; sha512 = "725c8f4e6ee92877635993bdc83b5d6098531274239e74399cf94c156dd0193b900564a6a1c99b2b57c896f43b9769ccac1d6f280f5338e407a07a740ee4ed2e"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/ff/firefox-51.0b6.tar.bz2"; locale = "ff"; arch = "linux-x86_64"; sha512 = "7e5c390195258b50f5e9a43def66550b11c1f410b21e69e141bc5903ff0cd6b9329a5927249078d64de31edfc8f711f6616f8d9e2432e5e1a03d4472ead43bc6"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/fi/firefox-51.0b6.tar.bz2"; locale = "fi"; arch = "linux-i686"; sha512 = "8ce26856aafb9b496b703c5446a9aced0edafd21c321496021da83efb57514c38ec4065e0f3bbc79342eaab524a4592fe7d5757867bc7af778717857d1701b45"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/fi/firefox-51.0b6.tar.bz2"; locale = "fi"; arch = "linux-x86_64"; sha512 = "152c5c7721c373a1d618adb8b89e47365a5e45d621c1dde7070c57ba34091a31c712920d465dbfe3b4fa4c92547249ea4cd296b1524e774d151d512b8931ccbb"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/fr/firefox-51.0b6.tar.bz2"; locale = "fr"; arch = "linux-i686"; sha512 = "3b5a92eb7c1871551b16a4374713df0db4d9af2d288e4a1b4851ad805076c7f4359d164ea1079ea6a48dd42f6496bab748037c7fa2f3be338823279552726f87"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/fr/firefox-51.0b6.tar.bz2"; locale = "fr"; arch = "linux-x86_64"; sha512 = "cad55002d699a0791496f4b839899d1c3ed312765e62f4c02fd9886b349f7b2bc9a531003c97be3ff75838d011cef2b82b7ff3a2d41f84a2189d098a8557577e"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/fy-NL/firefox-51.0b6.tar.bz2"; locale = "fy-NL"; arch = "linux-i686"; sha512 = "807180c0e71c13ed5e9081c135b9de19b0f9ce60998b43d6c22364a6f07d9b8e835993e5a12d8c81f3090d48e53bdf84d43f0a1c5829e0e88b273e4e1eb92f1c"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/fy-NL/firefox-51.0b6.tar.bz2"; locale = "fy-NL"; arch = "linux-x86_64"; sha512 = "6e6e2efa9b4a5b9ddb745a2a037ac83838a6038f4f97a4784cdc9421cf8b673b51d1c814ab0b5e6114b27bb19ac3b32a42f15e9b0db052025246de53268b40b1"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/ga-IE/firefox-51.0b6.tar.bz2"; locale = "ga-IE"; arch = "linux-i686"; sha512 = "a7e2fa69e0a9eddb019874c450a9874c9b302084872c536f04012990898e7a9fabe0eeaa1052a1888dc21bff54bb0872c3bce9c4df6c0026caaf93e1ee8fa533"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/ga-IE/firefox-51.0b6.tar.bz2"; locale = "ga-IE"; arch = "linux-x86_64"; sha512 = "da861b0bbfabc6dfaf46f9b45038794da940023d0428b97957f220f8287d081972e2e97383c7e3d31e4af53ad769ef23490f451929c9ab2bb58f3eddd1f02c5f"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/gd/firefox-51.0b6.tar.bz2"; locale = "gd"; arch = "linux-i686"; sha512 = "9d61356a39ca08c751668969268fd219ee35428d9353f2cb8862d9552403dbe8c05ef961e0694eadaa82de9207e90fe5b349dc27a4d50981c6eb83f59617af85"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/gd/firefox-51.0b6.tar.bz2"; locale = "gd"; arch = "linux-x86_64"; sha512 = "54c1e3c396859376c7d95808f39b564380a875abda74ca7eed9ee96947f4afff3088b30d6b7c70de830bca81a8abca9c0379733130be4617e6e44218a96ea3e7"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/gl/firefox-51.0b6.tar.bz2"; locale = "gl"; arch = "linux-i686"; sha512 = "d72a791e014c7c5a6f6304f35c74f572de4ab68f514598fe076d6218b152bd12f2a764262888faeac397f802849920adfe5e97a3b7d4331e43e4ce2de75aa31f"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/gl/firefox-51.0b6.tar.bz2"; locale = "gl"; arch = "linux-x86_64"; sha512 = "38981f59e6499e1f0d7cfb88a0a62ea0b3874a5b956442da0c9a2852a8c35e6885ba467084c74b482b1bec80513c37835a9dbc5372898ec4500f4de9afb5a71b"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/gn/firefox-51.0b6.tar.bz2"; locale = "gn"; arch = "linux-i686"; sha512 = "c44d87a70e45d31412f38d0ba0a25a1b58d661d91c7a9b6deae19ec40c88da4a480933ba257cb83fea4120d31c3f959ce9c5ad0da4c10247b5fa2c68fdee6aca"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/gn/firefox-51.0b6.tar.bz2"; locale = "gn"; arch = "linux-x86_64"; sha512 = "fcc6c0432e61b90c7cf8983846d89fcd89c7b9a87eae2c6421194a8c26a4210e2dd7ec87be25e3ee291163fc70ea7703f26adc73137d4adc7ec09b09c152b071"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/gu-IN/firefox-51.0b6.tar.bz2"; locale = "gu-IN"; arch = "linux-i686"; sha512 = "a782a9bc8a2008a37feb74b4acbbb679eb406fa04745d38196f16304275727cf2215e301f3f25df443430684dffe800534e6f7bd7d35effb2f051895b8426825"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/gu-IN/firefox-51.0b6.tar.bz2"; locale = "gu-IN"; arch = "linux-x86_64"; sha512 = "eb59334967705f215d5ab445e829ed1d1c53859589b08610d349cf2bdf28a36bc1ebb1bb18afcb8279790ebcbc6dab032bbc0389020959709d46e3e23eae08c2"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/he/firefox-51.0b6.tar.bz2"; locale = "he"; arch = "linux-i686"; sha512 = "e0cbf0607d45cf2f079ca2d138d26866bc2d0a65be9e64514417f77ecb89a0228ae228b876af56fce712d9e47aaa41f93c3c908ded27e2a8a1224b2100919f92"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/he/firefox-51.0b6.tar.bz2"; locale = "he"; arch = "linux-x86_64"; sha512 = "1202568d873164c3bd104ccccdde7e201a7e15b88aed1ea6f1fc76099df98fb074a99f3f3fddcbd46992c603a7009ce6dc769641737cac82755c0d2e5c410a38"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/hi-IN/firefox-51.0b6.tar.bz2"; locale = "hi-IN"; arch = "linux-i686"; sha512 = "9d05eff13dfecee6f488d7748c3d109ae6d441760a5fe385011fe1a9d7cea2e4c1a8e3fad8fa8216a45af2d8f99ec8467d588f8fae410eb52f71d408dbbd03b6"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/hi-IN/firefox-51.0b6.tar.bz2"; locale = "hi-IN"; arch = "linux-x86_64"; sha512 = "a35c3679d390ee6bc1ace19a07dd3e96b4bac7147d698ebec42f1fb800c9f9f259c194140ff821a8fd84c0ba8171c5aea01257987b051a07a705c82b60ac1f34"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/hr/firefox-51.0b6.tar.bz2"; locale = "hr"; arch = "linux-i686"; sha512 = "fe1a5472ce390b5f6825a40176e3e3e13d79931cf44447da06bf08fa8c483368f95877b848302e7e9cb0c4a8b7e13db03fb7bf895c78b8b5ac6e707dc2ac5979"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/hr/firefox-51.0b6.tar.bz2"; locale = "hr"; arch = "linux-x86_64"; sha512 = "f3ee08747a0b209681d53fcb82b139bc75797f0c7b60bf35e55c2b702213fc99e99133d9be0df74a4b925d706583f545bd33d99b96ad5eba2e7d7308c4bec318"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/hsb/firefox-51.0b6.tar.bz2"; locale = "hsb"; arch = "linux-i686"; sha512 = "a2d170a74de204d24a883cb0be93f9c55eaec4d8872a85e59be3005df7b6f78f02d95bcc0cf24e9b9ee6f6b9e301acec7e692d259b98718b4088b84c56ae0347"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/hsb/firefox-51.0b6.tar.bz2"; locale = "hsb"; arch = "linux-x86_64"; sha512 = "22ae95d23ac80add17200e042e03830cd1e9e709d34e5906217abacdd626533e1e1c359e1312b2dcf44d0dc184e0d9c523dc870c04a759c7c8d7f42abc05391b"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/hu/firefox-51.0b6.tar.bz2"; locale = "hu"; arch = "linux-i686"; sha512 = "dede1498aae89a5cf2e78ce927efd801d058fa0a7cfcda6d2aca816b913206e39b78581f48100b2ecde4d9408be30f221e66cdb7d1d1b4e9a86d5a8beed372b5"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/hu/firefox-51.0b6.tar.bz2"; locale = "hu"; arch = "linux-x86_64"; sha512 = "552c6398313ac5e8d49373ac8959b3e39281a067ecceceef8d3d26c53ec276a8fcde181dc96072cd82aac8e952f81a821f87349a58a9f43c4ee41410bfc955c8"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/hy-AM/firefox-51.0b6.tar.bz2"; locale = "hy-AM"; arch = "linux-i686"; sha512 = "2d3b69d793ae4483dd73bd205f6692f86254735a885609033994e697b6df0b843612a10df0c227af280b94d1435555b3caebaa7ce0d229e3960f1d219d1ba180"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/hy-AM/firefox-51.0b6.tar.bz2"; locale = "hy-AM"; arch = "linux-x86_64"; sha512 = "760b31298a9f7ee58035089581742e3a855aeffa4ba7a2b34d927e52834a684329f8849201f348395f3224e60aed6540cdb76ca3c5a8fcb0d34c343317423917"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/id/firefox-51.0b6.tar.bz2"; locale = "id"; arch = "linux-i686"; sha512 = "be01e48d71ffcfd99973e1d34d3c8779cd79c13a16f325f9e760ca282d7ccf1582e3ee33eecec2f4146ad4001ecf9d8c91a6dd433918c4993e5920fd743ad50f"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/id/firefox-51.0b6.tar.bz2"; locale = "id"; arch = "linux-x86_64"; sha512 = "98bda73d7c1cbcccd64b186747e5cbd9a798704c731bf76f05710be945be08a0f6538d1cbf9a839d939371e57428a3be66feabf06cc6166aba27541599748dcc"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/is/firefox-51.0b6.tar.bz2"; locale = "is"; arch = "linux-i686"; sha512 = "45c337a8c734778f20ed5199911c24b92dcd24d27d4213b9932be675b215fcca39953e914c0ad4ffd35b4401f8debc89cd0d28e5c3b980c94e9f6d1d59f8b105"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/is/firefox-51.0b6.tar.bz2"; locale = "is"; arch = "linux-x86_64"; sha512 = "f28cc5822333bd4497a7d5f5e494e551baba9b7c73f7eb303bc7fc3b907333ebf759ad7e05c0e1b85eec178795ecad4803d0dd872470ac6a55ec4f3856e6596e"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/it/firefox-51.0b6.tar.bz2"; locale = "it"; arch = "linux-i686"; sha512 = "62e5bc1312904866c09a82ac1a237e0c6b58ddb43f5ba154162ba5d4f51b0df5c54b92f4d6cb0be76f6d5aa5308ad2cca079bdfdcf1893d03f470898d4524015"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/it/firefox-51.0b6.tar.bz2"; locale = "it"; arch = "linux-x86_64"; sha512 = "fa7c0cee7be57b9dbc48785a9320597d03a68508578be7dc0e0d465d30c0d6fc54f330b2f65bf21be0c99c9355daf93f53a7a3b0dc25eda2dd109ef7fd04368e"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/ja/firefox-51.0b6.tar.bz2"; locale = "ja"; arch = "linux-i686"; sha512 = "14d190cd8b483af4d9d7c97441e9fb198c1f675e4cc8878e692d940366ad83a48a279957270a4022ca056e0bc28b0c8de625bc81025bef4db1d5e39942376747"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/ja/firefox-51.0b6.tar.bz2"; locale = "ja"; arch = "linux-x86_64"; sha512 = "d62906737f20a0e886800f883fb671ac798b3cfa04303d364ce513040be3decac3da828578c8fb971908e14cfe07b82021d33f9c24216dc2869524fa2923955b"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/ka/firefox-51.0b6.tar.bz2"; locale = "ka"; arch = "linux-i686"; sha512 = "417ae8fca27325c1a1f20b3ee88845db8f03350287869986c6665bd64970bb3f828ebbb516d36c5b9048d848c65f767c539198ee5aa29047cf145851b3a1148c"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/ka/firefox-51.0b6.tar.bz2"; locale = "ka"; arch = "linux-x86_64"; sha512 = "c4d445c52a0579bb6e38e1919a47e7cb26667a1e9b7c54a3d581d56cb55e810fc44cfaba17a89e65aff214d1ad22bb43141a2a776f86a9e068ccc0743c9dc202"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/kab/firefox-51.0b6.tar.bz2"; locale = "kab"; arch = "linux-i686"; sha512 = "64b677faaf6550dedc968116a86342facc92d7b2aaff8e2f47256a9151bb834e79fc08597808f37541b303eda283d9b8138972547db614a07ab87ea339f44df7"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/kab/firefox-51.0b6.tar.bz2"; locale = "kab"; arch = "linux-x86_64"; sha512 = "51971dab1d818c0360e351738f96083ebfc493397eb48e39ea2ff129c155bbabe50b591180f32ff6464c66fecaa8fd8b872e206846450ae8e6c76da21c538f8e"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/kk/firefox-51.0b6.tar.bz2"; locale = "kk"; arch = "linux-i686"; sha512 = "3674f209fd4b80daf47319a5ae6014490a9cfc3a64c548d84439dfdb14a3f2053c94cc5e47285924e21409fbaae03cd1f2fbcec02bf5fadf1567379d172cae2c"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/kk/firefox-51.0b6.tar.bz2"; locale = "kk"; arch = "linux-x86_64"; sha512 = "a7621c7f77f3315bbfac9c3587f05f726a65ba8711071f4f48bdb0e7cfa866f08f7c8bdc71b02a35ef47ed6572d899ad8c5a81977361c9e3845c4ccb84fe4f89"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/km/firefox-51.0b6.tar.bz2"; locale = "km"; arch = "linux-i686"; sha512 = "e9358288bd40d66ed2f27676cf92974e1c54f098f8a7978bc8d914a5e045bf94c68efa25674e42f4d976dfbdc1ad23b44d1174f0310e798f1cb1c7c8c1b93349"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/km/firefox-51.0b6.tar.bz2"; locale = "km"; arch = "linux-x86_64"; sha512 = "f5748497701c5c66fcf9fd508664c6846eda0c353782a259c58ddb0852f49dee6bf1b067ea87be53047d31debcc3cd242692bfc831a8b30b6aa01303d9b0a243"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/kn/firefox-51.0b6.tar.bz2"; locale = "kn"; arch = "linux-i686"; sha512 = "e8f8331ff3d638955d087d2b75ffe7fa04426b6f72a35e1b0e194c92948793fc25e25ae927f03f119dac01a6cbd30f944f5022c32ff933b15a8dbe67245f310c"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/kn/firefox-51.0b6.tar.bz2"; locale = "kn"; arch = "linux-x86_64"; sha512 = "bc82153cc0a490be1c0e8197c3bb5d69bfb3799cabf4ef55650ea9164ce68c94e846b129fe8988c5cfc9699141b6313add4caff4bba2dff48dc17af2e173cedc"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/ko/firefox-51.0b6.tar.bz2"; locale = "ko"; arch = "linux-i686"; sha512 = "58437f794e59333093bbd5a4d673d1a3149ca3468ef9a31bb0fdb4c40773faa6ed688b7636191223021e9bc7bfc09726dc45ad627e4f731f19ee78cd782ecc08"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/ko/firefox-51.0b6.tar.bz2"; locale = "ko"; arch = "linux-x86_64"; sha512 = "e3528d611eaab0313edd3def0753ddad32a624136c32ea181807b0efd63f5205002a689d5b9ebadc4dfca8059dc4ecb236709b9c64d4743989c9a590a326698b"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/lij/firefox-51.0b6.tar.bz2"; locale = "lij"; arch = "linux-i686"; sha512 = "80c30dc8064a0a075613c6720b976379b3a9fc4ca05db2c727a4bf1e4abbd4f6f44b45eba42bc3633c164cc3c15ef756b85d638d3ab857bd0e6d21d9e6f640fd"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/lij/firefox-51.0b6.tar.bz2"; locale = "lij"; arch = "linux-x86_64"; sha512 = "22daba4493e91d7ee15e7f9a0849f73dcde985ad909d3a8502b30a6e350cf04dc98fe2728068d2f3d8b7b5106d57caaaadb2fae70d49d50d893854b99a926485"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/lt/firefox-51.0b6.tar.bz2"; locale = "lt"; arch = "linux-i686"; sha512 = "fd4ce4207ea3eebda966881ab9f113688122322d16a2c9a205b17d7c73ae0de4fd5a48789e01c96392ac5c84a59a790269329ddd9686b9cfa64c787a817101bd"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/lt/firefox-51.0b6.tar.bz2"; locale = "lt"; arch = "linux-x86_64"; sha512 = "8dc6e28946a238db81695080f73b3502e0f88bdb2d835c88574f79ab25896162c84b9184a37142c8ca1fe3b28f42d87be9e88b59233dde36287d5b05371824eb"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/lv/firefox-51.0b6.tar.bz2"; locale = "lv"; arch = "linux-i686"; sha512 = "57877344c135ad47073e992a06e5568a4564209f2a79c2b1851d69b2fff6c9c32d96cf3278e1bba4d91fc001765f4d65d6d4b730603ac0a5cc28d2520fac2d60"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/lv/firefox-51.0b6.tar.bz2"; locale = "lv"; arch = "linux-x86_64"; sha512 = "f289cda83f46ae3d2343f66bcd007d99862768ee48220a92e79f2b7941a2b2a56ea000cfa1986283e2fc9ceac749f264f122503f1bf71676888473bac9841d47"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/mai/firefox-51.0b6.tar.bz2"; locale = "mai"; arch = "linux-i686"; sha512 = "07a87e16e68b9089c7aa58048ae4b41e15bc267d9810a218c9473f0d1082ac935fa5adb759a9ac43c0bf2a6e79e830c6344943cb7b61b73746911dbd66a7fdaf"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/mai/firefox-51.0b6.tar.bz2"; locale = "mai"; arch = "linux-x86_64"; sha512 = "34aec0414161df6ab435b7518f1d522c4bce6eff415f3ff103d31e9ae6099ff6b3be03099a0f5a21754daebdfff852193e2bb93ee52d622d26644aea94d72aee"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/mk/firefox-51.0b6.tar.bz2"; locale = "mk"; arch = "linux-i686"; sha512 = "8e4a61d4f20c17f1dc2748568d731f8e9f9050741896f98ec761d551a0c9bf0836731ba9049684819d71f6eabae7f2d1e93e0add593661d882d619783fb996ce"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/mk/firefox-51.0b6.tar.bz2"; locale = "mk"; arch = "linux-x86_64"; sha512 = "10696ef0643af2ed0a7681f6679c6eaef375ef1e193b0b0e315d0ff4aeedb373235ec4e8d26fc562887361ce659a85163c276ed1fd4d4563dc945c7281786298"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/ml/firefox-51.0b6.tar.bz2"; locale = "ml"; arch = "linux-i686"; sha512 = "f2300cfbce84cf49b434f56b262c34e734eb2ed47abd5b318b9ac9197252869c80b77a7e0617a61f8a1d06a7e6c083479833865b5f1a0e3172102c07d8b9d878"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/ml/firefox-51.0b6.tar.bz2"; locale = "ml"; arch = "linux-x86_64"; sha512 = "ac0a334c3beb163351b4fc7eb42ea8363ba9667a52cb14c59f32c404bc362da957f22a44d49f09299c73971a737685d8a93c1fe4eb456489fcab2eab1be1b6b8"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/mr/firefox-51.0b6.tar.bz2"; locale = "mr"; arch = "linux-i686"; sha512 = "e8536f0786bf5a49536f7703ac50fbaf31db932c1c855988c192d495365e677f674f1d84bdd5b5d07ae0b04c6498262a29d11949f4ee172d1ed97c3708e2e0e9"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/mr/firefox-51.0b6.tar.bz2"; locale = "mr"; arch = "linux-x86_64"; sha512 = "b7d89ca6b79661098ee64cbf945a7080b76a8557f9a2b33fb18b8166bd9cab9cf4c775e3460bb4637121c6ae2159786e185c33cd8eb819410edf71d8d962ae6b"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/ms/firefox-51.0b6.tar.bz2"; locale = "ms"; arch = "linux-i686"; sha512 = "c3d6c1772f2d53e6e3928d9c680e737a03cba9fb22fcfe051c49afe147502c6b458832c735ecefd29a06a22fd91ec13f98f0590f386c5331d6faefb83afc64a7"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/ms/firefox-51.0b6.tar.bz2"; locale = "ms"; arch = "linux-x86_64"; sha512 = "8f44e7510675d691a4735d13169c529414942b8a18c8106dc220b53f4d85f9c1284314279ef5cd1d59543baa60803f117796f2fd2d55ecc01a6b67314b1e23a9"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/nb-NO/firefox-51.0b6.tar.bz2"; locale = "nb-NO"; arch = "linux-i686"; sha512 = "2d42ede2a1232c48068bbde4c9401e495b82ebc356cee2490e8282e7a50e7ebdaf235e5d109a6ad1e30bb4773b81a75dd8d8f338738db499a8bc910a435fcde9"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/nb-NO/firefox-51.0b6.tar.bz2"; locale = "nb-NO"; arch = "linux-x86_64"; sha512 = "05ff88244ec7c715e642c62a2f71980e94346624db05b35fe35a605f8c9bf0fb661cd0aad8ffc7a290a3507711053f7d31573d4e7e82482de63db3492197a7b1"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/nl/firefox-51.0b6.tar.bz2"; locale = "nl"; arch = "linux-i686"; sha512 = "3f7d57fd1a64f4c99a573c6c2272999bb9bed78648a1476ae3d1d843ae7407612a750b07b6730c0c326b57e16c87df374049c49f8e9e2fe9ca7d14860af983a3"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/nl/firefox-51.0b6.tar.bz2"; locale = "nl"; arch = "linux-x86_64"; sha512 = "26ba18dee36247d64447b7aaed71795e582e86e333e0feb95f1085b26508299044a970fd535bf57f38e0caedd116e10a3eceba05c5f1cf92649553d6ad95d1d5"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/nn-NO/firefox-51.0b6.tar.bz2"; locale = "nn-NO"; arch = "linux-i686"; sha512 = "649a79569ca51e418101d013061bb7ae977d80e0ca4854c03e256e214e4a0c2373caf994fb1d41db6beb4816524e4ba76d434b7a2942b20cd628b42f409792b2"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/nn-NO/firefox-51.0b6.tar.bz2"; locale = "nn-NO"; arch = "linux-x86_64"; sha512 = "61a99b54b807e518e62813e76606111737904c20afb73c12e5ae866476f829a177365a4c8c9d36bd5fa2a355f512f556fbc9bbc7d1fdb962535dbd6340907b04"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/or/firefox-51.0b6.tar.bz2"; locale = "or"; arch = "linux-i686"; sha512 = "68a761c18b24f5ab5ee511f635653d1c3e798239f82a120c2bce73d5f0e706b5b8dad2540ece11361c0652f34b00f767c6be2c700c69a0d0eb08c35bfec29fcc"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/or/firefox-51.0b6.tar.bz2"; locale = "or"; arch = "linux-x86_64"; sha512 = "4640280e8645f2ac9ec96a5b02a2705bcc96f2bd3d25c6456a5d4b0a45100f264afbf618dcd8e5b211b2c8186a2ed8bd0e306d95b118e52bd6548caf5f32d58d"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/pa-IN/firefox-51.0b6.tar.bz2"; locale = "pa-IN"; arch = "linux-i686"; sha512 = "2d57687e8fbf53cf2bd8b0bc6780dffdfe1284b47fbef20ab9fa591e2eefec00e097bdd24159a28700d47f02273395f32fcabb401d0f5f3e13cce75481b9cd7c"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/pa-IN/firefox-51.0b6.tar.bz2"; locale = "pa-IN"; arch = "linux-x86_64"; sha512 = "0898c9577c92d92e51026948fdd1b201e989ca1b0ef0515f3a22a9ab2fc0932b99d859c90ca0137a8bbd913c2d5f873a77b75fdbf01c330064ed2f854fc58dcb"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/pl/firefox-51.0b6.tar.bz2"; locale = "pl"; arch = "linux-i686"; sha512 = "afaef3a9d125774454adf37f83447600536db9abd7bf388a2a9e9024ee46f67269f122c39041b5537be23b19af39e8efc27cf142064fdfcb5cd3f404792b1383"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/pl/firefox-51.0b6.tar.bz2"; locale = "pl"; arch = "linux-x86_64"; sha512 = "350c67a48d318bb19cf4885718d336f3242a648b40e0f79096214f4fd6254882ff1af2a50111424a00d2396fd1c481a9ba1125f098794296899cf306269993cd"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/pt-BR/firefox-51.0b6.tar.bz2"; locale = "pt-BR"; arch = "linux-i686"; sha512 = "c3a34e85cde018ef1323786e373e8842cb6c590cc8db64441e99d5a092d87ca7cd935dd238b30a2752393515fd5455100e97a98e08b395b4082d09e800e25846"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/pt-BR/firefox-51.0b6.tar.bz2"; locale = "pt-BR"; arch = "linux-x86_64"; sha512 = "3d986e9e932156db8db994484f19519dd5dad00e4edd04d5d2510e1aa1c9360e0cb01f9369705861e806796cbe246c1c79882320caf91a59fd400b439bb4db8a"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/pt-PT/firefox-51.0b6.tar.bz2"; locale = "pt-PT"; arch = "linux-i686"; sha512 = "2aa6b07f64b83287aeee048edf436632737da32188ce650ea2e323fa5587457cbceb05356b3917b75bcd1927bb9cf1da89e23fdebc3db2096bd4598ce8cc714d"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/pt-PT/firefox-51.0b6.tar.bz2"; locale = "pt-PT"; arch = "linux-x86_64"; sha512 = "87614bfa16f6bc89180775331a52054a597ab54232a92af0062ea47b8a1c348d9f20b5802e2cb74f1619120eed56ed02bdc705e81f5944798ea2261384764d1c"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/rm/firefox-51.0b6.tar.bz2"; locale = "rm"; arch = "linux-i686"; sha512 = "1e774ec46f28bc561bc5dbc9af3c0c5a198485f5da7a7fc7d5d1ef920b54227ddc9b0168b7cce30cc30cd606513aaec317369335deb945bcf94fb49bf29367dd"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/rm/firefox-51.0b6.tar.bz2"; locale = "rm"; arch = "linux-x86_64"; sha512 = "24239e55efc9ec3979a0ae64cc977ebf853817b358c39266099bf892fc6cff7bc4e3adbc927684a95b4abb9ffd08877c5f25b2e579884ca93e0dad8a717a79d8"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/ro/firefox-51.0b6.tar.bz2"; locale = "ro"; arch = "linux-i686"; sha512 = "3d449880c97442f60aee98be29abd097330b95acd9f121a57744d5694f5471afffc337239b2d3e527b2dc709daf0607b73ba664ddd466eab6236f3d842ee93f2"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/ro/firefox-51.0b6.tar.bz2"; locale = "ro"; arch = "linux-x86_64"; sha512 = "90c0cdc6d9fae3620770455b80db01920685abe7514b2b112af32ee7554d0896e4877f2f9ad38f827ad8cea9fc8f9f0c6b97c049d7e98cdf20612a50018bbcc8"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/ru/firefox-51.0b6.tar.bz2"; locale = "ru"; arch = "linux-i686"; sha512 = "42d9d4e4f2fe48e1c7db8395eb22737bd42b7a771bf8bb0f69b210fc4a2fafed421e22f498d68d1ab3e1661a3e828c1e21e096d655f47d6c6216c6c8bf4a38e8"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/ru/firefox-51.0b6.tar.bz2"; locale = "ru"; arch = "linux-x86_64"; sha512 = "8456ce7fe9ec9ae2c8e4ee74ceaa75417d33559e84277350ae058a109f3b8cb7bcc52e35684bb343f8cd3f020df31c26ff15d4e6bfbe4d89733bbd4cefb307ab"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/si/firefox-51.0b6.tar.bz2"; locale = "si"; arch = "linux-i686"; sha512 = "4d0132f95f13076df9cc4fc6e6fe6912d16aa3c71fd18a6dc81f4ba9dc53842b7cb4a3fb4da62436fe6d9e4061e90b8c02ec686644020437b7da78ea5ab09479"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/si/firefox-51.0b6.tar.bz2"; locale = "si"; arch = "linux-x86_64"; sha512 = "5947c45892fcb7f1d0beb429ef12448242631c14e568495d6c3a1e21d01cc44e316ada5c9d9099e8835e2abfd286589622b25eb8730ef2fce9ac18c6b854dd01"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/sk/firefox-51.0b6.tar.bz2"; locale = "sk"; arch = "linux-i686"; sha512 = "93eabc3dfdff6089ba9ca7ec7210ebf174fd548d4c5e3076551470a27b0b7f19ab8d4b6813aeaf7206ea8bde863cccc2e34f447e4f09a3b0b0f632dfe5c1bf05"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/sk/firefox-51.0b6.tar.bz2"; locale = "sk"; arch = "linux-x86_64"; sha512 = "8b4a24c9eecfc02ef1dd297e98590471ec3a9ee37abc248f06ee69e0b822537765fa1d6dc255c9424e996af27f1cf6f45f50728d2c2be52b8e58ed3e8c1cef7d"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/sl/firefox-51.0b6.tar.bz2"; locale = "sl"; arch = "linux-i686"; sha512 = "ee064cabe643fce46242fed3292e3067159ce0dc57f08d8af67658f37b7cefe80082609be57e024b939054cda80f7573ca6715bdd4f084bb847e32776267394f"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/sl/firefox-51.0b6.tar.bz2"; locale = "sl"; arch = "linux-x86_64"; sha512 = "a8207ba7d7606e93f6f39ca9e05320181353d8bd05f519196a20cbe335aba825edaa1403488c539ae9c622949d6b9c81bf5a711cc1118963e8a66a12e2bc5133"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/son/firefox-51.0b6.tar.bz2"; locale = "son"; arch = "linux-i686"; sha512 = "3a5c3ac7b1482fac457a5e537d743f14eb99b6d139ed840cc5c1fa4020e7c4950957b9cafc19dda8ec21741b48698a91dbe3dd455c9b002af407eb68a29cc8e6"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/son/firefox-51.0b6.tar.bz2"; locale = "son"; arch = "linux-x86_64"; sha512 = "c3b34c6e958344acb66101712d4ddddf4041e060e45037aed5e35b8006d37bc92d88c9478538a2e3ba0dd14f78ef0027a3a4f569038ba3fd06ce3c2438c48a34"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/sq/firefox-51.0b6.tar.bz2"; locale = "sq"; arch = "linux-i686"; sha512 = "00782a5b28cc04a1fe58309503bb984b29c6842e4ebd9c8e43d8965d9041b3a676208134307d3b8f04637458e052dce8c3d5fcb593d48ef93a71fe3bccffb684"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/sq/firefox-51.0b6.tar.bz2"; locale = "sq"; arch = "linux-x86_64"; sha512 = "27ea36701359e9baf447434d34cd4e4615f4e4d1d1a82cf93e79390320b0f76ced36784d66fda6354fe5bd5eed8bb6c74306c922880b8d42097abbb34bb0b6f2"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/sr/firefox-51.0b6.tar.bz2"; locale = "sr"; arch = "linux-i686"; sha512 = "b32b88641024c0f263bf8e190ab0bd8e3d2d6091aa38733971cb8f00ad1c776859d5b037ef6f2b6d220f93629b39c8730f99bba654bc3791e767b3f7182ca758"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/sr/firefox-51.0b6.tar.bz2"; locale = "sr"; arch = "linux-x86_64"; sha512 = "06b188b1dd9113a51d2cd369721919ff6132cceb108304b485c9d42898cc7b20d821ac201102af4652f157ea56cd7e17b5bd09ec645243df7ef8e2030b003d2a"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/sv-SE/firefox-51.0b6.tar.bz2"; locale = "sv-SE"; arch = "linux-i686"; sha512 = "08a713dda121e0df1131dfb50c5196c2b2e4ca58823a56453c23955d94f53b877f737c5f5d805f1203a4c9361f25d0f8e8327cfbefe9fdc32d2ddd5dda359e14"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/sv-SE/firefox-51.0b6.tar.bz2"; locale = "sv-SE"; arch = "linux-x86_64"; sha512 = "b1d35953186b4fe3a1a823cec5a399f81ffcbbb2379e488805de10751614300994e4ae6f5e68396d2d45b72ba2cde0874690a8c7d47ab224d1e653a3ff380294"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/ta/firefox-51.0b6.tar.bz2"; locale = "ta"; arch = "linux-i686"; sha512 = "b8986fe3919db0386ed411c1269aba0f38fa6c01a36b24544e91e382e3f22a72b5cccebcbd59e21a1573910b9f4b838cd482e588a92153b3932835bbb87b8061"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/ta/firefox-51.0b6.tar.bz2"; locale = "ta"; arch = "linux-x86_64"; sha512 = "a98aa3c2ef28ece7ef2866af5f0044f195ddf56152131d608320dc211f5eb4d5f5be0a95e138598e32d4160baf29281219e6bbc38349ca374289144dbfbf94a5"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/te/firefox-51.0b6.tar.bz2"; locale = "te"; arch = "linux-i686"; sha512 = "4f040903bf00eb129adb0aa431921bd39754815b8a789b9e8118ecd87bd6923ae02faff7791f17e326dfb844745b1b12ecdf8978c814be0964825dbdacad146f"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/te/firefox-51.0b6.tar.bz2"; locale = "te"; arch = "linux-x86_64"; sha512 = "b2e54cb4ff6421923e20be26db7ef302715a29f49c4c0723191096aad9a910e3f68291d932bee6f5a26fb3f85252a2cb89434dbf8acc2ff19860123bb00ee18b"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/th/firefox-51.0b6.tar.bz2"; locale = "th"; arch = "linux-i686"; sha512 = "b2868ea454d231e87e1389005d5ed7863865e708ac2b99075f08644875323427e4dc92a245be4de90f4d5e3791b352a27e26e3ab2c08e6f3dd8377225af70a00"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/th/firefox-51.0b6.tar.bz2"; locale = "th"; arch = "linux-x86_64"; sha512 = "e3682094081d4131e68a9fb4bab81a5430fe4bd8cc1903f24c48e110313d3489e338d58dcd6719a28d5363bb35c734144a695c3e81d1a805a0f20679a52ff645"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/tr/firefox-51.0b6.tar.bz2"; locale = "tr"; arch = "linux-i686"; sha512 = "dfa63ee5ba94400175f1252c06bbc1070579a3fc9395f55528cfe6a0a99bc6a654708ffb930efa4153322c76532d201863206b14f07973bf6713c90b297898b8"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/tr/firefox-51.0b6.tar.bz2"; locale = "tr"; arch = "linux-x86_64"; sha512 = "29c9efc3253770b953634e6f2d09cf82245c9b580a43103a28a14adc795ae307644edf3dee65ad4d7248efde6562485750f1d976eebd413f339044774b9660fc"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/uk/firefox-51.0b6.tar.bz2"; locale = "uk"; arch = "linux-i686"; sha512 = "43157bfb4bca885e830035e525ef2642795e9f22e582c486f28a99acf462dcb09142b9e1fc35f014f800e5f30365d6bc76b0c4b7caeebbd9e2e3fb4bfeb780c7"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/uk/firefox-51.0b6.tar.bz2"; locale = "uk"; arch = "linux-x86_64"; sha512 = "33790606f02644a0b99b43a3e7d9df77dfbea8404d8ea2ad34ab81090fba6fe4553fdce83425e27a5816f8af0725f598efa0cefba755af537f1d0a953eafe8af"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/uz/firefox-51.0b6.tar.bz2"; locale = "uz"; arch = "linux-i686"; sha512 = "0ce3bcd1bd6c7aa9d363ca869d9f1638f930b5df7a7e22b88b12300dba8cc0ebb9e7e1b61318b49e9452f21f1855dd3e0b38448f4067d2a0683b6aaae39e90ae"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/uz/firefox-51.0b6.tar.bz2"; locale = "uz"; arch = "linux-x86_64"; sha512 = "24ad9eb31144e51e69653c50501ad2c8e8a5c40d13464da3ab8af464cbeda9fc37a47401987f48157603f679ff281728ebb10e686659f1cce8db764a4c0b3216"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/vi/firefox-51.0b6.tar.bz2"; locale = "vi"; arch = "linux-i686"; sha512 = "c68aae839b6438ef934953c419d99921378bd81aa08da9653299a3410d2e102ad9890870e99ff9541477a0dcf779d8e80905b6741b8f40faf4fa9b7fa8fcf86c"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/vi/firefox-51.0b6.tar.bz2"; locale = "vi"; arch = "linux-x86_64"; sha512 = "1b5263078040636fa3dda434ab9433c96e7ba4d10460174de5d5abc1f05de8faa930ee1fe24dd9f8dc05bc20d6087d7657bef390725d446a4ad292e2cd06ab7a"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/xh/firefox-51.0b6.tar.bz2"; locale = "xh"; arch = "linux-i686"; sha512 = "c4422a3f38d47cf9caea2ea93f5eb4c402461a76fbd8285f8894bbf3d4ae0bb484be20f0761425ac9139facb1fca12ca4122efef47391b988d4dc4118482d660"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/xh/firefox-51.0b6.tar.bz2"; locale = "xh"; arch = "linux-x86_64"; sha512 = "97ecde3e48e7f3cabe8b80db7c74b34946407831aebecc87fe5913a8622b866914d2a6bcba8166c4d8e85b35eec43eec337a2389a9856d9ca48f4694d61838e3"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/zh-CN/firefox-51.0b6.tar.bz2"; locale = "zh-CN"; arch = "linux-i686"; sha512 = "5cefa5a67a1d468c017294884b04d3ae412f1f3bce56fb96e72919266ba697b46430460334d3593608d08238921517b9972435bd76fdf012ff3fec51bc64de82"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/zh-CN/firefox-51.0b6.tar.bz2"; locale = "zh-CN"; arch = "linux-x86_64"; sha512 = "e37d07897665c195648c7b96ad47487bbe1671f9aedb06e9e5ca415dfc0484b7a13171b217866af1ab29b2e3376c45bf382e9d9bd804d57030ab401eb083560d"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-i686/zh-TW/firefox-51.0b6.tar.bz2"; locale = "zh-TW"; arch = "linux-i686"; sha512 = "485a9f5184722c59a4a60a8f02c0c10d4f8fed359083a70701462a311caf652170625f06eabd5baa9f8b5312ca978c48c4da01a4de49c35f52a8c8c6a2d738bd"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/51.0b6/linux-x86_64/zh-TW/firefox-51.0b6.tar.bz2"; locale = "zh-TW"; arch = "linux-x86_64"; sha512 = "5c1a87b1a96149f67c3213315c13524cda3d29b47ae078e22c04685de4f961c3a9bfd77a79c48e3ae619cf2bee7f035c725e480337d7e3491d48abab1bff1aaf"; }
-  ];
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ach/firefox-51.0b8.tar.bz2";
+      locale = "ach";
+      arch = "linux-x86_64";
+      sha512 = "c251fe3e50d7bb85a46e86afb9d041b161061e6718cbfe6114172a098f35eedaa2f221a3f7bcdb2ebe210a5ebb5cc33fb50b1dd04da5256cb32646678d722b28";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/af/firefox-51.0b8.tar.bz2";
+      locale = "af";
+      arch = "linux-x86_64";
+      sha512 = "ff8af74fdf27e72169193a81e62b99ce831bc466e50ef2d843dda03894fe3cc764ba69021c839ee09ab48b7b3a6140f1ed01c045efb01f75342bcbc333158a49";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/an/firefox-51.0b8.tar.bz2";
+      locale = "an";
+      arch = "linux-x86_64";
+      sha512 = "20b5965b70cc773eb2226608fef18efdc24fe22f2feea43f39fe9d09afcb89db15caa8149a908bbca3f26e8d6b4f3651d164fb97f2dd2ee67e33b8e43635871e";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ar/firefox-51.0b8.tar.bz2";
+      locale = "ar";
+      arch = "linux-x86_64";
+      sha512 = "b1816f401757634f618e1d9929c2a341adfdfad42bcefa8673c7d8c511c46267054352558f3a83d399c68e7f80faa1c2cea519ac24618479828c37b4067f8e78";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/as/firefox-51.0b8.tar.bz2";
+      locale = "as";
+      arch = "linux-x86_64";
+      sha512 = "049a8f3782a34d8432204ef6119a2909ca4e6eba83f760c8f35f1be86595483e47823088e508a1389d68ee366e14431686db7edc44d1fd5934f887aaed85bc4d";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ast/firefox-51.0b8.tar.bz2";
+      locale = "ast";
+      arch = "linux-x86_64";
+      sha512 = "b2c48f6009e01924e75d7671a819b4af51b87a3a08576812bc7f89b2273d047a3ca914147b519dcc50f1deb21acebeeebb05fc306fbbe016f12e3fbaa885bf16";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/az/firefox-51.0b8.tar.bz2";
+      locale = "az";
+      arch = "linux-x86_64";
+      sha512 = "315e47d4e4d6d985f4390d8a40cb736ec871ecb30ab76db9235bb040eac9b73c3a1e709d783db2363c97f6ca91e3281c4c88e10c4d9fc62131fd8c105d7269ee";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/bg/firefox-51.0b8.tar.bz2";
+      locale = "bg";
+      arch = "linux-x86_64";
+      sha512 = "b31bf59b6546741ab005c5ca11115f1557923f467e801f16049e83881deb8a8f6b775b425a8fc2a608b51170fa00a4b464c9e60e306267fb50b2144b23948613";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/bn-BD/firefox-51.0b8.tar.bz2";
+      locale = "bn-BD";
+      arch = "linux-x86_64";
+      sha512 = "5683955a4d1e678d9893554d9cc534a61f2cb0242e2ac068424eba238f1ce89e58692cdb35e43d58cdd71c0c0683a5d61920089ffd100416e6a2448ce43f2004";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/bn-IN/firefox-51.0b8.tar.bz2";
+      locale = "bn-IN";
+      arch = "linux-x86_64";
+      sha512 = "0220a226f53b7a99d123a1e72a6db88e726748c9d3e0ed46a51ab36b2ba5213dbf2cdef55b8a8892c97ee656905f01920563e344a412142993c719f15cb0bc43";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/br/firefox-51.0b8.tar.bz2";
+      locale = "br";
+      arch = "linux-x86_64";
+      sha512 = "046d7c42a294fe636cbdbd13da8fccb879595ebda6353ed91981ecae39f670f1650f33b1ce0d3705158a437a22a718d5d381bbc37583702253941abe25ebc477";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/bs/firefox-51.0b8.tar.bz2";
+      locale = "bs";
+      arch = "linux-x86_64";
+      sha512 = "a2e0df77bdb46f501e2760df79589ebec8e1bfb85e07ddee1d89c797a34781efd57e1790127d6cb38199bbe01680e5b04208f2c06b22a9bc684c87042f825267";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ca/firefox-51.0b8.tar.bz2";
+      locale = "ca";
+      arch = "linux-x86_64";
+      sha512 = "e8a4a37a55a882ce638e51ad5d4a08ac815fb5cd556d0e8db3982501ee2f9c0ec141132ffb0eebbdae47be78f74dec7fba730638c8ebe38ce82ecdcfb570adb6";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/cak/firefox-51.0b8.tar.bz2";
+      locale = "cak";
+      arch = "linux-x86_64";
+      sha512 = "aefda93ce59fdf238c2b957e45463c6f75e511a4331596bafaa4e8a99139f17ad2facc22befcf2fbe105651e9b003447bb62c3c2c6ffe4681816baa400f68a6f";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/cs/firefox-51.0b8.tar.bz2";
+      locale = "cs";
+      arch = "linux-x86_64";
+      sha512 = "9eeeab75b2963959db947165f46443f686760f655dedae4de3d174a340c88830fbfcc0fd1df23740e6abe6d7f4552f06630c93f28246ff907fe6eebc1437d943";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/cy/firefox-51.0b8.tar.bz2";
+      locale = "cy";
+      arch = "linux-x86_64";
+      sha512 = "659ea6606bb307893448b0352c175761e6bae90246ce157eb2cb9373b923ffede18eb8526330391396f9998fdade7db135a54f8aa14c4f52daeb9cddc44f344e";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/da/firefox-51.0b8.tar.bz2";
+      locale = "da";
+      arch = "linux-x86_64";
+      sha512 = "22647561d07e92d82be5bcd2c5f2e7a08d6491ea582464f64a8ba686496b0267eab6c07db49ae189f996b8cac9d0c4c7789c3230003d05dbc5fa8319acabc4fb";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/de/firefox-51.0b8.tar.bz2";
+      locale = "de";
+      arch = "linux-x86_64";
+      sha512 = "313446d8dd7764b98eba2284d71d8abb47568577f312718f02a73bdbee4938477ed407d3d638fee4dfacbb43d4125806c882e0c96cda43c9fc5b09e7fc6656d3";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/dsb/firefox-51.0b8.tar.bz2";
+      locale = "dsb";
+      arch = "linux-x86_64";
+      sha512 = "4e0bec424f15dec37ed21a46c79f9672d380f9d59e3109afd4debbda2cfe58bf8b17f75d905babcbf7bce5cb8f7f3312bd938ad945e163d3e11be42b9dee2fca";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/el/firefox-51.0b8.tar.bz2";
+      locale = "el";
+      arch = "linux-x86_64";
+      sha512 = "c10b58b13a85bc1cee23ed23ab8f62dc79247d025ead6efbc4165895568c6d369574fed7cd2d294bbbdec56e7673928ffa4db77720d871011b7757aa90789e18";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/en-GB/firefox-51.0b8.tar.bz2";
+      locale = "en-GB";
+      arch = "linux-x86_64";
+      sha512 = "1cfe32620ca3a3fc5cce03ba13c6acb174567f99879fac86705e10d0036eea35c912064827676fe5dd0ba3da5bbc624795c3f7bde7546f15246b1acc1cbfbcda";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/en-US/firefox-51.0b8.tar.bz2";
+      locale = "en-US";
+      arch = "linux-x86_64";
+      sha512 = "c8504535fc15bad6fdcf5aeb11a54ef26ef56d14076ac6fe06cfb530c1952118b957fc3cc6ea2c046af3a5ca90dc87655ae67d7baf66e46064382ba529045362";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/en-ZA/firefox-51.0b8.tar.bz2";
+      locale = "en-ZA";
+      arch = "linux-x86_64";
+      sha512 = "80b40ea103d5691cff9df8373231acb151e6bda0526d27d59bf226f24e8287eae335b1224429b61676c8c9f3021ba77a31cfd3bfc68948d6553978fc570ac6f0";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/eo/firefox-51.0b8.tar.bz2";
+      locale = "eo";
+      arch = "linux-x86_64";
+      sha512 = "a9809ec0e031e7e127441c11003bc81d8dc701e3acc45f137e7e68bbf1ebdcb5cf40267e9f8e7431e62506678cac04f732e73978ad566cd51597a1cb45eb0ac7";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/es-AR/firefox-51.0b8.tar.bz2";
+      locale = "es-AR";
+      arch = "linux-x86_64";
+      sha512 = "18851295d00c2204b75c8e3d2d07a12ecdb9456d8ce41606178054b64ea5b7e9ebd3832db76412d2d5a26941494936c811084216525c56e4f017063734d7ca44";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/es-CL/firefox-51.0b8.tar.bz2";
+      locale = "es-CL";
+      arch = "linux-x86_64";
+      sha512 = "9a7dabef38bb5f0909f033950f4e0424fc2c0119f4bbc0de85bf76f29413b2984e0d56522f900055cd9e79916397791f0597229a19d2d6fe0f8850c09f9bf3f2";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/es-ES/firefox-51.0b8.tar.bz2";
+      locale = "es-ES";
+      arch = "linux-x86_64";
+      sha512 = "52b87c75267dc27aa9acb9a49ce9e59bf989f76827c078acb8d9166f60f0d86f6a0e937aba324e8e9e9ab5e0c721f75f0330199e16540809d0e8e9c068826406";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/es-MX/firefox-51.0b8.tar.bz2";
+      locale = "es-MX";
+      arch = "linux-x86_64";
+      sha512 = "e57f22ee791acab3792cce3f52823d5fdcced5befb2808cc717d0da4a876a517d52b2e22f4558c33ecbbff01a799d70e2e67ead9140630a0111d73ffa5e54de9";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/et/firefox-51.0b8.tar.bz2";
+      locale = "et";
+      arch = "linux-x86_64";
+      sha512 = "572a6f67b10f1a4981d7f0f131bfb9900a20a094f34cb3eee717d7694e3c1b2a949dbe262a10b6ed22cdc97c3a99ef885a4f34d15268c6aacdc7cd28ceb16f8a";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/eu/firefox-51.0b8.tar.bz2";
+      locale = "eu";
+      arch = "linux-x86_64";
+      sha512 = "8ce7450a27a26954701585a2d55616d98658295c122071641209274a2555e0bd45e57e17be715cd69e00187169501f7c8fdf419a3e1626c4a1e5636f36be26b9";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/fa/firefox-51.0b8.tar.bz2";
+      locale = "fa";
+      arch = "linux-x86_64";
+      sha512 = "f42a0effb6ff4210707371f6693e2bb25119f7535581c488760c237a3019e58fa270543f6981348f609c776bee54e76a220c449b7169d7032b2817ea1255eacf";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ff/firefox-51.0b8.tar.bz2";
+      locale = "ff";
+      arch = "linux-x86_64";
+      sha512 = "7718bb71ff031975bae785130c86c1fe007698177b04d55008a5175074f9ba33841e3939f80dd76034680d7409ba281162540757b4365c03e10fdc21317b3df4";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/fi/firefox-51.0b8.tar.bz2";
+      locale = "fi";
+      arch = "linux-x86_64";
+      sha512 = "9f5cb2d9ad20d788d715eae64406abc5fdf9229125f8a88f44de574c836af2943a7844ddbd96eb6770a5e011c5e239009aaf022ae6c0a14fc1c01dd2a9283b1f";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/fr/firefox-51.0b8.tar.bz2";
+      locale = "fr";
+      arch = "linux-x86_64";
+      sha512 = "d9098b1b61bdfa82db7acc0f24fdd8e248f9fc0ae1c044829a27c45ed99c933fe7e8eded84cce9d454dd544b0645b2e871a00f3677868aa4efc00bd82dbeaf5b";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/fy-NL/firefox-51.0b8.tar.bz2";
+      locale = "fy-NL";
+      arch = "linux-x86_64";
+      sha512 = "146b24d3670822394130e270b851beb3a4017818004ad5d6699b8424ca5d4dda16788668addb7f42b21980a6dd39a2c3546bc36d5bf2298b831fa83e957beefb";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ga-IE/firefox-51.0b8.tar.bz2";
+      locale = "ga-IE";
+      arch = "linux-x86_64";
+      sha512 = "b1b38c876e9226abe24cc4379ae8a0d489db7f91f332560f922b3998d0c564f42730ab568277f4159bce95c1024634f20c918b97e84fa7915e4b841f9d0b760d";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/gd/firefox-51.0b8.tar.bz2";
+      locale = "gd";
+      arch = "linux-x86_64";
+      sha512 = "e3b3191298f2a08ff52314aaf9ff9689e8ea83128f43010fa90ad8a24caf340e24223c8f5109fec2286a68c699bcfa98fbdca0c10f62956dfd768a473e0a77a6";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/gl/firefox-51.0b8.tar.bz2";
+      locale = "gl";
+      arch = "linux-x86_64";
+      sha512 = "024747e36d569e323964b9e0c3a3922563c94c5679774a9cfade272d8378dfed987c291bc55554b0e0273938a3cf65f48b5924549f6962dfffb51caeb053b64c";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/gn/firefox-51.0b8.tar.bz2";
+      locale = "gn";
+      arch = "linux-x86_64";
+      sha512 = "e0487d5ac3730b09315f1b5b486fdd8359c78ed7a741ead18ab7d4951f9e079b80c1066a54f2b86988bcc8edab62971f0cc99e7d7cbaa97122d90e4fdc08298f";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/gu-IN/firefox-51.0b8.tar.bz2";
+      locale = "gu-IN";
+      arch = "linux-x86_64";
+      sha512 = "e9ceb5eea20eb9881c87e47700dddca0060628c28f7a8bee4df1be45d7b0f9f7ced122e7bd1b16468853512f759691072a455c13ab98e642c94f2f8794ca6b3c";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/he/firefox-51.0b8.tar.bz2";
+      locale = "he";
+      arch = "linux-x86_64";
+      sha512 = "68ef5903758f59df5e3bad14903734d470ee19cf7e3f34f112ff5be5d11b28e19cbb55331552a7437ba3bfea1d03d527690d0efecf0ca9e824c12fd2c5992269";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/hi-IN/firefox-51.0b8.tar.bz2";
+      locale = "hi-IN";
+      arch = "linux-x86_64";
+      sha512 = "c0bb9bab0b5ff7571af336febf1ecb07427400ef72d6a49fed3958a48fdb63a5cc8174b4365fbbecc11d4f7b646ef32d2204241d2c17290dda4b99bb971a1dc7";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/hr/firefox-51.0b8.tar.bz2";
+      locale = "hr";
+      arch = "linux-x86_64";
+      sha512 = "16e07aaaf4bcbe83dbe40ab688e4f40d02792e3793afa1fdbc90be6d7cce87ca3c8ebce27585eb24e899348f6bfcf3b471c73a0f09d0007c62e224710bbdf538";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/hsb/firefox-51.0b8.tar.bz2";
+      locale = "hsb";
+      arch = "linux-x86_64";
+      sha512 = "6968bcc314f05af065a7a8dff0723579c760d979db7186e0c6dd7a1ddd5c5135673ff940ec471b57f2eee550e5c357342115a2799f1dd48c2120d3404c5e0510";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/hu/firefox-51.0b8.tar.bz2";
+      locale = "hu";
+      arch = "linux-x86_64";
+      sha512 = "498823b2075e70459b71b60560ce7e458a8619e249fce237d91cdfa2a3992e279223586d82af35c2804eddb05544602f06925c8d24c76f9dc8aa37f8c5fa40b6";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/hy-AM/firefox-51.0b8.tar.bz2";
+      locale = "hy-AM";
+      arch = "linux-x86_64";
+      sha512 = "3b86b1efc5b958b999303de303df07967d4a51f5b8853663bf3e07c19762cc273cb26c073d8bfafb873f09399e6299472a210148d6dca2494580f727fcb7ce35";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/id/firefox-51.0b8.tar.bz2";
+      locale = "id";
+      arch = "linux-x86_64";
+      sha512 = "27a7574ff31cb8bafec7d2882b19d944829ff1508810118dc4053c602313c7f5ead2dc6328c14313c8b687fb5bc369be0aa5bef78193251ade7461f178ed466b";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/is/firefox-51.0b8.tar.bz2";
+      locale = "is";
+      arch = "linux-x86_64";
+      sha512 = "d990e47ddbfda4c4a22a1c9f60b0aee13cad35de496c50c13d6f33fb6624e948a0c94a1f883a8f6ab94f0310fd3d3db1554b502c4faed8e05844c06f84d7bc23";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/it/firefox-51.0b8.tar.bz2";
+      locale = "it";
+      arch = "linux-x86_64";
+      sha512 = "faedb800d78be5cda15858df073099767d521bbd71915733cb8558deb2fe3a6e90a203ae946795ce6f55ad7a6d35fa0acd016c3466286548e3d198a499d24bd9";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ja/firefox-51.0b8.tar.bz2";
+      locale = "ja";
+      arch = "linux-x86_64";
+      sha512 = "3063eb49a6076153cabf57d7006c6e41306c652573a4d037ccba721fc4069b9fe7a3ec1f65ac8b8f596a4b7493209b8b46f9338f4eb3141793caaa47dbf7e821";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ka/firefox-51.0b8.tar.bz2";
+      locale = "ka";
+      arch = "linux-x86_64";
+      sha512 = "24defb6af2daaeb42c850d876feff49504e3e93ef2e1a4c3d1b85a8a86c4e8cedbfdb86693bf7bf7e4bd2e096f6ad53ea877b6c1505842b731ff2cfe7a75c134";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/kab/firefox-51.0b8.tar.bz2";
+      locale = "kab";
+      arch = "linux-x86_64";
+      sha512 = "0c41c51f725e02e1fae284723547911cac5958352bf36f2382a8f293001d086e2667722e06fe7aa3ddfcdb24f60e6307b9f050eb15d4d58b7a9e0ef9e7a89b37";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/kk/firefox-51.0b8.tar.bz2";
+      locale = "kk";
+      arch = "linux-x86_64";
+      sha512 = "82cc8c6063359fa1a28d84a56500a0aea2fe7735dc695e0bb5c57445284e0d4a4b0cb76cd78e399023af83fbc00bfd20f0b17098a264aa6a230d925b5453112a";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/km/firefox-51.0b8.tar.bz2";
+      locale = "km";
+      arch = "linux-x86_64";
+      sha512 = "a2a4d80aa6e9096cc8d11c101128e712079f3b6d3da9da3a9268e6e433274ebac4b0adb07da1fc63f57673dacf16ba91efce38bdfa3db9c4b4d1454fa4ecfb63";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/kn/firefox-51.0b8.tar.bz2";
+      locale = "kn";
+      arch = "linux-x86_64";
+      sha512 = "5c202454bc5e221f14aa1ddcb04df9d489e1c036538a747315848b238ab8a8e569fa35b27e906bbbfa00b4502bb0f6a64d317744d5d3e82b430f2c0f28ee3d60";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ko/firefox-51.0b8.tar.bz2";
+      locale = "ko";
+      arch = "linux-x86_64";
+      sha512 = "88f96e25f721e005acd51512e5f5323eadaaeb0fed0bc5c0e919661109e8800c3b940ba131fc788a82a8e6a35be37f9c7111c189b2e9d1ed4ba1a5a3503748ad";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/lij/firefox-51.0b8.tar.bz2";
+      locale = "lij";
+      arch = "linux-x86_64";
+      sha512 = "9b5bd55794df871bb7a622ded9bfe3b85d2edcff1a1a4bf5237f17dba98e3af53f70de48636c0bbcba68c5c19fac08873607094492d03bcfbd7550cbae9e4178";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/lt/firefox-51.0b8.tar.bz2";
+      locale = "lt";
+      arch = "linux-x86_64";
+      sha512 = "be075ac4bda511c2bd81e726003f4ee680f35022e84365fccae090305c45dcc586162428dad944bd59b7e3c1f836e8b07a2a78e5a28d0eabb6aa44877398650c";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/lv/firefox-51.0b8.tar.bz2";
+      locale = "lv";
+      arch = "linux-x86_64";
+      sha512 = "0bd623b3203c1403ca187a3b25abe0e438ddda0c6f5d4f947c0643ae3f492c649cf830002f7211853050b15e179a482677898ef0d93d32c5afe34ad6e7040cff";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/mai/firefox-51.0b8.tar.bz2";
+      locale = "mai";
+      arch = "linux-x86_64";
+      sha512 = "b406ea5ddf4169961cb11104186a809ca7c8a69b124e85e796703326a37ee18473e4f0b430d5da2dfbbc38f7ec370951a5dd0c73be4f9bf48da771bb603bf38d";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/mk/firefox-51.0b8.tar.bz2";
+      locale = "mk";
+      arch = "linux-x86_64";
+      sha512 = "ae182c6ffd7fcb3acd396e8d9f4b2baa65942d78498acf7a0f3efff69cce62812c2e60c937611c29116a45c5799625891f39e25ff499b7d3e4f453f790d8e8ce";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ml/firefox-51.0b8.tar.bz2";
+      locale = "ml";
+      arch = "linux-x86_64";
+      sha512 = "9dfe1593bdbedb6262e7cf50857036a624a3ae13bfcc853dd91fd800d74f831665d8c89832b5727a9bd2bae3b4123104dbaaae1bdd39918f2c06be2fdf0a5c0e";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/mr/firefox-51.0b8.tar.bz2";
+      locale = "mr";
+      arch = "linux-x86_64";
+      sha512 = "2744d4fb88f2713b956efdb6d56fa1ef7e003013cb9a526ab2f9e8cfeb915fa3651978a3d863cc3c4dd62a447bb8cdde402483701b38cb206b99eff5fe5272c8";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ms/firefox-51.0b8.tar.bz2";
+      locale = "ms";
+      arch = "linux-x86_64";
+      sha512 = "4a313418db320dff4f91f817cba054fb65b5e97a434a6150d4f3373bb788b18bc02b194fc8349e5f41e1b8ebee94f0874431759fe79ed32fe7f5645f25c4e297";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/nb-NO/firefox-51.0b8.tar.bz2";
+      locale = "nb-NO";
+      arch = "linux-x86_64";
+      sha512 = "41085294ea372990b058e61942de5f2c972511bb22a1719e92275e4258d6c0c0a71ada6ab21475c1b32021fddf5b149f1dccb469a948050d901b2ddfb91886f2";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/nl/firefox-51.0b8.tar.bz2";
+      locale = "nl";
+      arch = "linux-x86_64";
+      sha512 = "45ed2265c4d6a66142bfe117794bd950e56821d377a5437c9d0cb8405e7605de617cad3e92ec6aa71129117690591fc95ba5c4d9e662fafa408c3e018845e40e";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/nn-NO/firefox-51.0b8.tar.bz2";
+      locale = "nn-NO";
+      arch = "linux-x86_64";
+      sha512 = "1c981c33bea1ecea733db9c278d92ef42809a4dcc0ce8f9064e08b303a56970099b4f3591103fe262a777c4ded9948d9cedcca6d2046512851544c8da774a250";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/or/firefox-51.0b8.tar.bz2";
+      locale = "or";
+      arch = "linux-x86_64";
+      sha512 = "3c67ad9f3ae800cd2e0665f35cbe92f17337c5f2568b057b9c9baa7aa8c91ba4f5b1e7718f288a2cc982ecfa43241e992e35c798e833fa56c636f8c7296d5a55";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/pa-IN/firefox-51.0b8.tar.bz2";
+      locale = "pa-IN";
+      arch = "linux-x86_64";
+      sha512 = "9778843430f504faae4f8e138490a92c14f5f0f1c47c642f7f1f81c90a37c4cdf0660ad5b134429d6a86f61bbbed0f285a41ba315b9c318799a90f3208cc4a3e";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/pl/firefox-51.0b8.tar.bz2";
+      locale = "pl";
+      arch = "linux-x86_64";
+      sha512 = "336a3afddebd687f62753f0bfd6b7e57884cbcb4c536de2d2a85e9ab22a696bda55795d5511ce299d34eac20abe91032450ddac97fd2be9c4b8db6b4b0fe6c6e";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/pt-BR/firefox-51.0b8.tar.bz2";
+      locale = "pt-BR";
+      arch = "linux-x86_64";
+      sha512 = "1908080393d171ea86a05277a4a0d67c0c054fdbc60c5a9ba76fdc92071e45ffa57750bca8b1f56c65a4a45d296399c1cf3e9c0db8593ae57e7b8b53a6969171";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/pt-PT/firefox-51.0b8.tar.bz2";
+      locale = "pt-PT";
+      arch = "linux-x86_64";
+      sha512 = "eaec79b2cf363f613cefb2cbbeb3a5b607ab608d7e82ac21aaf4b591475a85374f49f34c912b569ae3fb8224f19b93d753298ef8f6db820fdb84a70b306b16d2";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/rm/firefox-51.0b8.tar.bz2";
+      locale = "rm";
+      arch = "linux-x86_64";
+      sha512 = "f6fa58d42c155552546b7500d6a0081b3c02c3cd300c0744e4a964b97970f1a87e9754e126de346880447b6af9853a91f157ef5285a2db1a8fd677c46cd0f347";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ro/firefox-51.0b8.tar.bz2";
+      locale = "ro";
+      arch = "linux-x86_64";
+      sha512 = "876be7fb744a6887890671e00d84387c71e5c77ece611646e721eda3659654760094e39544a2bd3b6e80b075e7d24acfe1d7e86dcb4003efd867b2e7b81e3366";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ru/firefox-51.0b8.tar.bz2";
+      locale = "ru";
+      arch = "linux-x86_64";
+      sha512 = "52f58ee2af336e18640b1edeb54f2c632104a1cd40952509b512af5dc838deda531e850e0b56d605bfad046af34db1158dbd69bb25380b80a178f32083d148dd";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/si/firefox-51.0b8.tar.bz2";
+      locale = "si";
+      arch = "linux-x86_64";
+      sha512 = "0b36230b9d214793cbd75f282f537e73e28ed37efc9f17e4aa0f5dbb3bdaee5b5569708d99f4cff772767e074a2b85a7079e48acf7aa31e955e6ae6658a779d6";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/sk/firefox-51.0b8.tar.bz2";
+      locale = "sk";
+      arch = "linux-x86_64";
+      sha512 = "6595aa0a2601005b0488e8ad02f0f5a8b96c4419beaf9a88660e111bb6e932cc98dfa16e511e0af2622360635e2139a8007bea5fd61708f4558576ad54da17dc";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/sl/firefox-51.0b8.tar.bz2";
+      locale = "sl";
+      arch = "linux-x86_64";
+      sha512 = "56fd9bb355c5dfc680a7a91a1686285a32e147b1b0a72787106fca5244277238948ce9635f97b7c3ccd59d7999c794d4224bf4172384bcf2a02e0aa9d4716633";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/son/firefox-51.0b8.tar.bz2";
+      locale = "son";
+      arch = "linux-x86_64";
+      sha512 = "6475248c31a1d5199d6a4dcba9c98eb3a0c4bdd57ef37c5fb611ec68807658ff9de9056c0a5ad9e016e55d8ccc3ba7987948b2b2f47d6c3061e3f4d13051cf27";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/sq/firefox-51.0b8.tar.bz2";
+      locale = "sq";
+      arch = "linux-x86_64";
+      sha512 = "41b602396bf33e36974c97ec25f120ee7452df5d26caed74a10835f0fa7a9302aa87d0fe09fafc2e6670d8ce859a8757a7e7c70657b29a7154b1501e478510a5";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/sr/firefox-51.0b8.tar.bz2";
+      locale = "sr";
+      arch = "linux-x86_64";
+      sha512 = "dbc7df70483246003f27acd833c881b3ae6ddaa9e93c7e612334923e63a1a4bcf35c082d355d67425fcb72123039ee4b33a5ce5f75909ea6cc3990d76dc21c41";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/sv-SE/firefox-51.0b8.tar.bz2";
+      locale = "sv-SE";
+      arch = "linux-x86_64";
+      sha512 = "082f21155e8c68f8e1f786a3bfc3f832637813bda06881f1b6ebe8a1be85bfeff03100d4a9f311ea8bd6ec802e55bbb674eddcd9551db6a26ae32a6a97535bd4";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ta/firefox-51.0b8.tar.bz2";
+      locale = "ta";
+      arch = "linux-x86_64";
+      sha512 = "51bf00c2014222e0d1b30d83a483882930d87d5f281d6b33712616769060dd4b1c5ffa92d30e0e61effe2392490dee43e1d49cd6e28c28bd3b94ef005b87846d";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/te/firefox-51.0b8.tar.bz2";
+      locale = "te";
+      arch = "linux-x86_64";
+      sha512 = "83a879a6d9b96963e3370068961559cd530695cfd7db200fb8bff7d79ed01de0357e211454f9735b667a1c65ad7338da913646709d9c212704f2dad0486b3d24";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/th/firefox-51.0b8.tar.bz2";
+      locale = "th";
+      arch = "linux-x86_64";
+      sha512 = "d49d76980c091d354638a2c887cef68e762ddcf9d2a7c1ef74d1d735791949928a6fafa270711a0f776e51410b35c9b396015288ceb5992969af88dd3dea990b";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/tr/firefox-51.0b8.tar.bz2";
+      locale = "tr";
+      arch = "linux-x86_64";
+      sha512 = "642a6be0577f16c0c4ede21a82cf6c3866011c3b663f7ce7c15961eec7f01133fca8bebd46dc2cb9b91116ab7cb1060f04e9b4e208eaf6a1ddb3e64219a2d5c0";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/uk/firefox-51.0b8.tar.bz2";
+      locale = "uk";
+      arch = "linux-x86_64";
+      sha512 = "bd72d88ff7f82b195f6ce44ab8d9b7541e0564ae7b6cc6bb9676a38a9bb2a2e23561f07006749de5598da1c6aadc1e90d0ad2a5eb1be0f998b4d36534a075afb";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/uz/firefox-51.0b8.tar.bz2";
+      locale = "uz";
+      arch = "linux-x86_64";
+      sha512 = "242b5367c7e78f0c753ebf4f8a4b1d1fd42e236f7417a3dc441a9e72c071fbb9488b226214cc14991f5d12c514e53b35de3c903ddbe5fd4aad31e53f1a6516cb";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/vi/firefox-51.0b8.tar.bz2";
+      locale = "vi";
+      arch = "linux-x86_64";
+      sha512 = "d2cf85b0592b3116de4848665c5726f40d3ee2e7b92c808a7a41f0760041fb5aee1d61b626d9fc427a8b0bbf697828ed86741a1d319e27694b51dde630afff8d";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/xh/firefox-51.0b8.tar.bz2";
+      locale = "xh";
+      arch = "linux-x86_64";
+      sha512 = "c865f0b18d427aa364f512b0e5cf02c126f156bffc4db2ab50f32fe9d28a949644fc672fae9a651a28ce6119191b6b0cbf7dfef3e102266b790fd0290d3ecdcf";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/zh-CN/firefox-51.0b8.tar.bz2";
+      locale = "zh-CN";
+      arch = "linux-x86_64";
+      sha512 = "20fb7a5ed74e3badb56038ef16064b1fb92c6bf274341db0aed52427e313558846f34372cd019730ba0593439e6fb127241ec02906a76b5a7139c7ac45960783";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/zh-TW/firefox-51.0b8.tar.bz2";
+      locale = "zh-TW";
+      arch = "linux-x86_64";
+      sha512 = "955bc613dfe9a968bd298b6cf038bf7db615ce456de31da656fb54c7f3e8126391154b49b1948a95871ddec04d03a51b543b9248498b661a998d40249f6e8bd0";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ach/firefox-51.0b8.tar.bz2";
+      locale = "ach";
+      arch = "linux-i686";
+      sha512 = "cbceeff2ef8fa20f18ae5106a6cec638bb064c7b32fdd9bca83776bd58f3a579babd2a6e933e0cee9d0ff2e553358e136ea478b629317a1892f62c4c52f47e22";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/af/firefox-51.0b8.tar.bz2";
+      locale = "af";
+      arch = "linux-i686";
+      sha512 = "76c6eff9a98743a64d387f3a58830b7583510444fff7bcec5daac6fbe56f068925491fb2c8114302f862ddee3d4bce7df4a1dfd1057a918f584de4774da7ebc5";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/an/firefox-51.0b8.tar.bz2";
+      locale = "an";
+      arch = "linux-i686";
+      sha512 = "6152904cf2cb33e6fe63b3c573bfabed1915b538d028be9fcf7ad3c169c98899becee772bb803a2b6830457a0d93bbacd49e8c0b962fd1898e8225463387e092";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ar/firefox-51.0b8.tar.bz2";
+      locale = "ar";
+      arch = "linux-i686";
+      sha512 = "a83ab8633fa7658669daf271db339ed5812d0a85a9eaf313165671f11ae6d50ac92cdd8414945dc6b374a8a46b68df241812e8c8396e9256521ab81949969b6a";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/as/firefox-51.0b8.tar.bz2";
+      locale = "as";
+      arch = "linux-i686";
+      sha512 = "2a76a7eb0b3015eced2a4a83965d314753e44232bc333cccdacc8a0c207b5113aeb7b97fa972dfdaf6e79eda03d8e18f4d8daa6ae3f8059d75e1245ff5618173";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ast/firefox-51.0b8.tar.bz2";
+      locale = "ast";
+      arch = "linux-i686";
+      sha512 = "91d8801a2fffaadee3635643a813d588650b318d9e074ce3284f97795408a9d513ccdc573fb083e523959470095ffabb8023f250e7b3abf7f94853f126ff42d7";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/az/firefox-51.0b8.tar.bz2";
+      locale = "az";
+      arch = "linux-i686";
+      sha512 = "abdaf4dcaf3ed2813b389fb91adee89f796d30152374110bab10b6aa1b328a406cf9e572b2d41b5ad9827928f8d5249c9d6abaea5b0698ff2840f66ffb71b656";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/bg/firefox-51.0b8.tar.bz2";
+      locale = "bg";
+      arch = "linux-i686";
+      sha512 = "65a76933c06f7d8bb71ab24e28f6e755090f8eef8cb7ac741d37c8532d20aa35eb119dcc0f7e28a97dec34a3720b79f869f8adda079b49dd270227bdc081d1ae";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/bn-BD/firefox-51.0b8.tar.bz2";
+      locale = "bn-BD";
+      arch = "linux-i686";
+      sha512 = "e6cb0cf7469a125da031b2e9bb4d2dfa90df169e6a61f03d482e44e9beb19744a038eb1922ac31812732d0e72419211894bd5029e16091741aaf45c00e72c14b";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/bn-IN/firefox-51.0b8.tar.bz2";
+      locale = "bn-IN";
+      arch = "linux-i686";
+      sha512 = "4018dd322a92660780cd4e9ef9c8631593c34717d2d1ccee1a340e34c8465ea7a5fb196f39292c3f502f7458bd4790971a443cd9c16f28e1112417c8eed35bed";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/br/firefox-51.0b8.tar.bz2";
+      locale = "br";
+      arch = "linux-i686";
+      sha512 = "31f75272fa7a747031697505505f8362589f46986f840fc8325fb95c0009356d4fbeccd33e20e923c49df91d7af40c948ebdbf35e6d2d48b734055e33b1a19de";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/bs/firefox-51.0b8.tar.bz2";
+      locale = "bs";
+      arch = "linux-i686";
+      sha512 = "888c6b2e2d79071710d580da39e33dbfa4392b9995bdfbe16a7c4377f54e7b9c81cdd4864fdd05d2f376e1d6650dcfb5dc94fe67e3bbbca55471ce2f62cc4589";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ca/firefox-51.0b8.tar.bz2";
+      locale = "ca";
+      arch = "linux-i686";
+      sha512 = "87971a8c4bcf96a67fc370778274e2c35356b6239db4104740c16b281a45d45b03e4c8627c14f1c6f3ac5702784134c743f07998f3db2b2a8d4a2e6cf9c0b97b";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/cak/firefox-51.0b8.tar.bz2";
+      locale = "cak";
+      arch = "linux-i686";
+      sha512 = "047e10a19ac8fae5474820ae26429711efff76e84d9f58b0f4b8a36d7f5c45fad6c46402448c454c32b3466de3618e2b2a392bd186361466f7e87717fcda4108";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/cs/firefox-51.0b8.tar.bz2";
+      locale = "cs";
+      arch = "linux-i686";
+      sha512 = "7d7b4583e3c6c4e906cde2cea8cb7bda2ce4cd007640b3e681608651e6f414675b7039c1ff13678947d617607cef407382feefd44ec1fe1534b9abb0b1dd0d7e";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/cy/firefox-51.0b8.tar.bz2";
+      locale = "cy";
+      arch = "linux-i686";
+      sha512 = "768429d9772d8e39d4230fac01c4bc6fbe20c7c2efd326e78cdcdf74382e3a38bee9bda90a1d97b61035cb35b5be8f337fd80d15d4f185a6a668f68afd3b67af";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/da/firefox-51.0b8.tar.bz2";
+      locale = "da";
+      arch = "linux-i686";
+      sha512 = "a6e435be5ac73d683ade3dc29bd6d5e0c4ebea30f8521036650981b510d4df014891f8eb65a5a6a39855fcf5e45d1b393617d7c16071812952c635725bf206ee";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/de/firefox-51.0b8.tar.bz2";
+      locale = "de";
+      arch = "linux-i686";
+      sha512 = "7ea17df3c926546f1eb7ec0880f7b0b63cc8201044b444280b31d2646999ad36ac10ce74e19794ba7c1a026f860c79e83ce6ead339865fe31a021bccd85f04b9";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/dsb/firefox-51.0b8.tar.bz2";
+      locale = "dsb";
+      arch = "linux-i686";
+      sha512 = "0e75929ba5879fbbc269d1fe8e18627ba54c5f74edd3179360998c9aefbf21d1f3c3cb0860990e7b1b0a5f5037ce9a4779c3edb64912f4f13c80501e579cfa3b";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/el/firefox-51.0b8.tar.bz2";
+      locale = "el";
+      arch = "linux-i686";
+      sha512 = "b682e47f225a270ab421b3642f7c28085d9f2f1de1e68867ba09e69fed3d9b5908909be46bfaac6e9d0d1243eaad3cfe2bbeeeae6a5b9696b0ffb901a98db50b";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/en-GB/firefox-51.0b8.tar.bz2";
+      locale = "en-GB";
+      arch = "linux-i686";
+      sha512 = "aeac6a542c1a4f91ee6bf01d4c916f8da4628b36550d80a166dc46c5c9b1a010b5201c87613e4d59640bdf9d2f9d029d0112bf8b62c7707e99b928c4ec18babe";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/en-US/firefox-51.0b8.tar.bz2";
+      locale = "en-US";
+      arch = "linux-i686";
+      sha512 = "1315208cd55f48ee05fcfc98c92891307442dc0bb34bb636e14a88701a1fef2229a62a0e8eb00e8028f460518c95c1369a198666cf67c4b09a0e69c2b76c75b9";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/en-ZA/firefox-51.0b8.tar.bz2";
+      locale = "en-ZA";
+      arch = "linux-i686";
+      sha512 = "891b4a076239132976a4cc51a3a374fe244b6a9119f76303253d6ec9d62b8230ac9c04b657bc741b13ca291a9b75a7b38a4aa25471e4faa6f34f06000a7f2fb8";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/eo/firefox-51.0b8.tar.bz2";
+      locale = "eo";
+      arch = "linux-i686";
+      sha512 = "f805e9bb3d2241a366026354433670c2792c16c74ab2f5d3691081f682639b23c4e6d1e91e5e81719601c571e74270d8b5bc4f24e7babfc77ee435c6a2125ba2";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/es-AR/firefox-51.0b8.tar.bz2";
+      locale = "es-AR";
+      arch = "linux-i686";
+      sha512 = "df78b4626f41afaba10331cc8921dc8f196aa2c8669366ae286a75e8850a647e7288964a8a323c742926d7661aa122072dcad592654dead9f57b8c008b61f7e6";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/es-CL/firefox-51.0b8.tar.bz2";
+      locale = "es-CL";
+      arch = "linux-i686";
+      sha512 = "71a340f8b004f3907eb763bcd817338be19955ef447241a6a680381823591324df9b9771425255693b49513a8f4475fa1ed8558e5a510bcd370bd225469a5f69";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/es-ES/firefox-51.0b8.tar.bz2";
+      locale = "es-ES";
+      arch = "linux-i686";
+      sha512 = "a34dc5ceef8875bd5d15c61ed9ada2f62b52cbe42636675cfb6a3df694a0fcbbb3b0dd61c3a0ed5b18e7ec427dfbf58887b91a0ada596dca04b3d2cd066123a9";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/es-MX/firefox-51.0b8.tar.bz2";
+      locale = "es-MX";
+      arch = "linux-i686";
+      sha512 = "a178599eb6454eb9a463fea5704b49c720cd2f9df033bd6f271322c75a5f2f52e82661c82f9ff9097af28ba617e2393979b28209758df3710ecdf72d0304c5f9";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/et/firefox-51.0b8.tar.bz2";
+      locale = "et";
+      arch = "linux-i686";
+      sha512 = "20e3af6d1f7fb7f154e366ee5e031889f3f24e04691a3d2915f4405f33e7220dae91e6e635ae98451048c254b7a08900851f013e7979c013f84b643635ecfebd";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/eu/firefox-51.0b8.tar.bz2";
+      locale = "eu";
+      arch = "linux-i686";
+      sha512 = "d13833a0eeb5b4c37baf6d1f85adcb3502b67219aef6ac5b5d25914fae90cf78284830acba0e8d6c76d8ceef7fbe3332d673be125325b9bf53f24d4b070e6998";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/fa/firefox-51.0b8.tar.bz2";
+      locale = "fa";
+      arch = "linux-i686";
+      sha512 = "fc4a1d2c1e635de2094a8fdf3b082c0407bb937f089ae33c0f429e0c0bb41a7c0cc3158fdd1d01e81cbd01213b452301e2ba83a9dce1810c8d7c8adb035ba903";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ff/firefox-51.0b8.tar.bz2";
+      locale = "ff";
+      arch = "linux-i686";
+      sha512 = "1e4626d053e7abf236fc795f59e7dfd8053048fa1d0d8f4585efe7ea872a99511f9053e9bd6a1ae1af22cb3ff399d16d33c1b45a7b3c6557bda49062d1c672cf";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/fi/firefox-51.0b8.tar.bz2";
+      locale = "fi";
+      arch = "linux-i686";
+      sha512 = "dd8ea8dea6f76f3c5dee63abdc187f69e949e0b6b11126d4219b38d1314ba6ac77cc789e0923fe9efb26167200187cb236a783f7aadde64f20798d44839236ef";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/fr/firefox-51.0b8.tar.bz2";
+      locale = "fr";
+      arch = "linux-i686";
+      sha512 = "9124a3c541879fa6f886555c93b1e07f431eef0d0b864cf414d2bf5d3cd749e30c65db4fb85a16072260f656598066cb8957d667aebf07f9067646e11fa09ad1";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/fy-NL/firefox-51.0b8.tar.bz2";
+      locale = "fy-NL";
+      arch = "linux-i686";
+      sha512 = "2ff6aed7c4b172b5dd801d180a7b7e945a4f39b8b8001e673bfb16b868a2079a2c741ea1a0b44c6588468546e883c6057fc4787eac64ca9b10860b7d538fd72f";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ga-IE/firefox-51.0b8.tar.bz2";
+      locale = "ga-IE";
+      arch = "linux-i686";
+      sha512 = "163994a889e92bc84999e0c827f7ed0d162b43b1046a0391a851bd826730ce1199fa54a0e5dd549b3f30e197a8535ac5b4e1cb99f7f7a8706f7ecdd5bc125cff";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/gd/firefox-51.0b8.tar.bz2";
+      locale = "gd";
+      arch = "linux-i686";
+      sha512 = "324c856b4f0505bf5481ee57a2549594739dcec8b2a57ff32156c724adc001dfaaa2202b0b66a30565061f4ad8719bebb382ac5961c960f4991e9ab6488f2195";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/gl/firefox-51.0b8.tar.bz2";
+      locale = "gl";
+      arch = "linux-i686";
+      sha512 = "1b055c927c318d09ade13b64e50cb6ed03e10676535c9171ff3867200e8c79bd175b08b89377a4ef86f92f91977cd8a6cbeb48ac8beaf6576707d14743299227";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/gn/firefox-51.0b8.tar.bz2";
+      locale = "gn";
+      arch = "linux-i686";
+      sha512 = "7ef12effe16f92e87d98c71cde4f3f7303674b124a41d174e57a9a4bbca0c6cd33cf8f39bbf72fc693355b5a054fc8c6ef15228751eef52a1599b280c9a17801";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/gu-IN/firefox-51.0b8.tar.bz2";
+      locale = "gu-IN";
+      arch = "linux-i686";
+      sha512 = "6437e9fc0e171f48c335fc7c6b7ba327dd9419dcd293449ecabef1a6a6546dc70c38099abdd42e5f087290a256362170fec02ca53ee33e8883f4c654c9382e29";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/he/firefox-51.0b8.tar.bz2";
+      locale = "he";
+      arch = "linux-i686";
+      sha512 = "ed8e6b961458652c273e443a29f4640b230044ca03d6da22a374704c800bbf8df4f7e984e9d3ec936153263cf29ee066c4fb6578ffdecf9955b7f65f10c26828";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/hi-IN/firefox-51.0b8.tar.bz2";
+      locale = "hi-IN";
+      arch = "linux-i686";
+      sha512 = "091595a3b68c6951357f1a8e417a8ebed56c41fc1548c8aabe846980c4e3a769795fc0fc7e4cb1af47be2f4bf77b691269018d8ac2052f5acc5111b752fbafb0";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/hr/firefox-51.0b8.tar.bz2";
+      locale = "hr";
+      arch = "linux-i686";
+      sha512 = "4dd4646bedeffd0219e1577e61f4e17f5c2b67b78cd8f8001d033dd7d4f906d0ac8d3e6d5500fa8a4aa049be0f7aeed967909d6cfa13b97fd1b9f93ac7d7b687";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/hsb/firefox-51.0b8.tar.bz2";
+      locale = "hsb";
+      arch = "linux-i686";
+      sha512 = "8cc10487146e89e1728529271b6a9e3e6ce6260d495ad0a013c5489da06425ff9adb88bb521ce8bb90c0ac5e21ba126147d23cefe716b2708bf084d39d70c800";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/hu/firefox-51.0b8.tar.bz2";
+      locale = "hu";
+      arch = "linux-i686";
+      sha512 = "5c15c474ce885c88d863f1f22e73d300e0defeaf61009b939ea6c2e62f16a6fb3693a3dafdf264e83c618263153d3dd81bfcacbe5c9f701a28530d17b38d8189";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/hy-AM/firefox-51.0b8.tar.bz2";
+      locale = "hy-AM";
+      arch = "linux-i686";
+      sha512 = "fdd30dbeeb08a07822de29eb0e6ccb9df895675546054c75b4bfb0cf1f427488cfad9e2a1f541894cf366ddd1bb03e8eb4a75c318a1f80b2cc967a5b4ded8b39";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/id/firefox-51.0b8.tar.bz2";
+      locale = "id";
+      arch = "linux-i686";
+      sha512 = "54734428db8860a7ae9c1543c341a5dd53f6e966f290a176e69f4fa66c2a4bcdd25075c5ec5f311adc033abb85e525b2b7426e113743632ebed07abaf31dba4c";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/is/firefox-51.0b8.tar.bz2";
+      locale = "is";
+      arch = "linux-i686";
+      sha512 = "6ee38f9506403f3cb57c6b7f971c599ea1a2e77cbd5424bae209390a20b322f0b527ea4a0be93bac8976cadb5080d22e262d6797b4e9257aec232e768909c235";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/it/firefox-51.0b8.tar.bz2";
+      locale = "it";
+      arch = "linux-i686";
+      sha512 = "71a1d593554466db36e09aed429d07ac9ed563af33959c899319e96e7d757e8dfe912a8d18b52cc198a0c4a1c45226406bb56996bc199b67f79c6a3aaea7f6b9";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ja/firefox-51.0b8.tar.bz2";
+      locale = "ja";
+      arch = "linux-i686";
+      sha512 = "7d38e749f69ee99bcb546291b09a0a2b51b969bd4fcea50dc4f386cb951ab8a025c2ae8746c9e1d6398024d7904b63497421fc16f4f061babd0efafd17ea52af";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ka/firefox-51.0b8.tar.bz2";
+      locale = "ka";
+      arch = "linux-i686";
+      sha512 = "813069de2be9e1b299bbead6e2078d86d3a382bf6d502c5f96a9c10c9571f4dc79127b450760d994e8fe41b3afd966fc70cea60e798432c7b8aa900d3d715bb6";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/kab/firefox-51.0b8.tar.bz2";
+      locale = "kab";
+      arch = "linux-i686";
+      sha512 = "e1c562cf189a60b15c94fdd681007b4a64fe3e275900c3c78d492854fa28eb61ff30ab65ce7d3537170f28d51ad543e1b306b94d1ef6280b0b03b466fae9edf3";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/kk/firefox-51.0b8.tar.bz2";
+      locale = "kk";
+      arch = "linux-i686";
+      sha512 = "be54a4085ecccf9d2dbb8894872d73d3d261a8a75c755fbb91ac4c1d8bd3ab696b95a25c87f0d509ab250b53470b20aad3255d128296928c591d45b2786c1cf3";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/km/firefox-51.0b8.tar.bz2";
+      locale = "km";
+      arch = "linux-i686";
+      sha512 = "6369eb361d1ee31d33b9780072c1c49926fc4314168e5883ca71cf864765d7758d51db55f5ccda231e24ed4b65d2665b5fde7a3fcb1524a04e7057490e8b2308";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/kn/firefox-51.0b8.tar.bz2";
+      locale = "kn";
+      arch = "linux-i686";
+      sha512 = "671165858cedd7f4ba9173cabe9532f08de780c967f6af085e73e3ac97f156b39000b3b672bb690cc40691d3b9b6b9d20c08883a1f2a1da689a71093096642a1";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ko/firefox-51.0b8.tar.bz2";
+      locale = "ko";
+      arch = "linux-i686";
+      sha512 = "04cd3b277dc483cddcf6fbb79687b3ec170d33b0eee46717d645358df0f224c86f36723442e4d28e4460e663b3357f3d3c7a7aa1ec594013a8d91d030e08313a";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/lij/firefox-51.0b8.tar.bz2";
+      locale = "lij";
+      arch = "linux-i686";
+      sha512 = "e62b1481001d5d63b65e07b527dbfc29b435f659db7237b411105711a601d9117d62f71dd93849b5ebb8dd0dd4e5981ffe9f318aff2e74485580471f672d5b6c";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/lt/firefox-51.0b8.tar.bz2";
+      locale = "lt";
+      arch = "linux-i686";
+      sha512 = "f7cb9819f955f7b32439a7ffaf0cb57351bc25be579646d00f945f04152f64c9174bb49c99ec49b2d5c053634c73872a5b4a9615fd66744d0b5c650c9bbc67d9";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/lv/firefox-51.0b8.tar.bz2";
+      locale = "lv";
+      arch = "linux-i686";
+      sha512 = "e7cfab908f9ea12c77ff0a76d2283e205c9b3751eb16a5dc06171e2cc3315193c6010faca943341e1a6496b48b3d90520308c53d85677cc18014fb8560f7714a";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/mai/firefox-51.0b8.tar.bz2";
+      locale = "mai";
+      arch = "linux-i686";
+      sha512 = "6088910c06e1310097d09c6bd582e20928de56fddec03d7338faa9b9651900919315c15cffc601a0e4878ef7c8821d40d5e4d7e6998786b1cd50f21ca0e2dfc6";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/mk/firefox-51.0b8.tar.bz2";
+      locale = "mk";
+      arch = "linux-i686";
+      sha512 = "d4ab8618c7945843cd0c9234ffa68dc61adfc3759a99bd174f66456038614497e3b389b0af452b3958c12e9b2755ddbed33e098c9e4c07110daf0bc5c4b874cb";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ml/firefox-51.0b8.tar.bz2";
+      locale = "ml";
+      arch = "linux-i686";
+      sha512 = "05d3de5e0565316ccad5ad407299f6c31071d48edf1ec44492e61b8764040f22a6b23230b74f256554f313575084c9d79504d3ef85451c9f73c12edd663c57a4";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/mr/firefox-51.0b8.tar.bz2";
+      locale = "mr";
+      arch = "linux-i686";
+      sha512 = "1ba2e3529f379c8e77941ce42a0100cef1f2daab31d8b1a0b23bed898ce0bdc4cb3a873aae71c1c3f5789f35edf7ffd88e11902154a3aa4f3117ba1ba782b0c6";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ms/firefox-51.0b8.tar.bz2";
+      locale = "ms";
+      arch = "linux-i686";
+      sha512 = "7fe116ab0d79e7de3faeeebcdaedebbfba94ce6320b563ad79de7f3d5459cc113a1f10b6b2fb3c3b074d4a027f0cff9106e078c2945a62e5f3b828459c1e8d83";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/nb-NO/firefox-51.0b8.tar.bz2";
+      locale = "nb-NO";
+      arch = "linux-i686";
+      sha512 = "9625821a4ce710ba5f1b5f7416086d4e33c67037e40dc0ad9a5d57049b4fd5bef9fd1b1c4c02cf6910465c641242a5ab9e596c962f5f4ace66b07cf4f0f85405";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/nl/firefox-51.0b8.tar.bz2";
+      locale = "nl";
+      arch = "linux-i686";
+      sha512 = "5ff420c38ec644f622aed733c599a505498bde48f2a573492d647745d7f7c5cee44b009eaccb8de458af813260bd19f9baa7f9f1e2dd946cde48f09510a885cf";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/nn-NO/firefox-51.0b8.tar.bz2";
+      locale = "nn-NO";
+      arch = "linux-i686";
+      sha512 = "12ccce434da504753b38449959c97952767fa5af7aa2b0f58777f8775e4dac94d55d67e8d575f68e55e084bc65cdae101ad92b4654bcf345782bbe914d01f655";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/or/firefox-51.0b8.tar.bz2";
+      locale = "or";
+      arch = "linux-i686";
+      sha512 = "3b456b222d39b5a69761da7cd33504fc64ee76d5d8e6e4ca26be158f562bad27a3322604a6542195aed1181f578a650b05200b1ba75d5d8a05e400014bf25660";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/pa-IN/firefox-51.0b8.tar.bz2";
+      locale = "pa-IN";
+      arch = "linux-i686";
+      sha512 = "3472c5eb75dd40b68995bfed8542546a9f35e04ca8a7fe17465a99a94846ea696d1cfedcca2d59a47082de6d2261f1701950be3295f063e69846cc90d531f5e0";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/pl/firefox-51.0b8.tar.bz2";
+      locale = "pl";
+      arch = "linux-i686";
+      sha512 = "0a883e16dc997c748a6d76e32455473ffea6612dcb88446f331e43f9d247f01ae93e49827b1e222a2990e54e201c58aed2150e800080fa47b222daaa69154bd9";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/pt-BR/firefox-51.0b8.tar.bz2";
+      locale = "pt-BR";
+      arch = "linux-i686";
+      sha512 = "34e6870557e30a75838bcac1e268796f670b8f5dc4e49cdbcc6e34cab5f8c3e4996cc73149d13a5178ebadd1f052ac5c2eaecbaaf0d3f4245080e71f8b86c856";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/pt-PT/firefox-51.0b8.tar.bz2";
+      locale = "pt-PT";
+      arch = "linux-i686";
+      sha512 = "932291baa2091d12d9832483d14a6e05568fa8d1d1c41f42d066c5efc13d7e511afcb953945334b9e7a573776bd2263c9e38a64f73cb44f4f8a32509e5fe5119";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/rm/firefox-51.0b8.tar.bz2";
+      locale = "rm";
+      arch = "linux-i686";
+      sha512 = "7258b1c4a865d593e820220f5b48bfd1a8b9c4a7bdeac9b15208f5060ca501e03b72914b2b53b65164d2db606b092252f0abd6fd83f781ef0f330d4bb487dbb5";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ro/firefox-51.0b8.tar.bz2";
+      locale = "ro";
+      arch = "linux-i686";
+      sha512 = "5fedc4a3dee59bcd804eee04ba07ee4b862e6ea8198d1a5c3383cf36667e2f15ef728f21138868b84c15f59c7b11760fb5fe293e8545840d1e5c98945f404eb7";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ru/firefox-51.0b8.tar.bz2";
+      locale = "ru";
+      arch = "linux-i686";
+      sha512 = "8e6a4f786d5db808ac5c63d4abbe4a53b941845a48fe2fb8dfbefb46e01e1053d591aa8bda63ee83785ef3cdc481593c86c804e4683455a2e27fe594b96a650b";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/si/firefox-51.0b8.tar.bz2";
+      locale = "si";
+      arch = "linux-i686";
+      sha512 = "39c0c3487242a54287af42c9457ebe8882112954dec168630b8914896e3900e9799691bb88147927328c4c5f4b2078bf68e623e09ca2f62a4b7efb4e625bb283";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/sk/firefox-51.0b8.tar.bz2";
+      locale = "sk";
+      arch = "linux-i686";
+      sha512 = "e87215632b5f0264a04fefd631def717c3f6bdfe31817dbe855d7c6195b4f340af043bf613fa9f89ca4af4893cc6effb876eb51555a089880970315f7ad15e2f";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/sl/firefox-51.0b8.tar.bz2";
+      locale = "sl";
+      arch = "linux-i686";
+      sha512 = "7cb036e5926b2ce9a03b27f37359b640f824f32a918ad8e9959683114755949ad7d2069f02e0206c2d67633ec9763ea612ec3e3e44dc5e881d4e275d1767cf30";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/son/firefox-51.0b8.tar.bz2";
+      locale = "son";
+      arch = "linux-i686";
+      sha512 = "e74ea45d6b5dab67229472ab524abc805c5e1c91b7ba627d95f0fb5eb1310aacfcd73a4a5fbfe8d7d5546aba9d254297494b34efe81aecc7e261cce23b9e0de1";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/sq/firefox-51.0b8.tar.bz2";
+      locale = "sq";
+      arch = "linux-i686";
+      sha512 = "8321933b4eec21e9297e446d62f63b4a7c69eef3952d99aa32828b76776c34efc9cc174ded4637c586a383558eebd2ce43a63dcb7608ea0a2568c03fa363e0aa";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/sr/firefox-51.0b8.tar.bz2";
+      locale = "sr";
+      arch = "linux-i686";
+      sha512 = "a81dcf72785936754c04fe2e549795f612af671e360a653860dec811a65ad8e19cb6cba5fb205ee5925f364e49a358d459c354e26b23746a2e5deba41374115a";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/sv-SE/firefox-51.0b8.tar.bz2";
+      locale = "sv-SE";
+      arch = "linux-i686";
+      sha512 = "1835da3f930b9daa37dc14785feb0d145aa9640278a4119b2a8f6168bb5bb385187914a625fcf3d88c3822ea62f338c2376c08831a2c4d8203a4b6c0bacb2d7a";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ta/firefox-51.0b8.tar.bz2";
+      locale = "ta";
+      arch = "linux-i686";
+      sha512 = "0a7f219eece161bb3ae9ef280457e94470d1929770123a9197c08eb320ca2119aac66cd7fc5181e4c0c1359514d0338d306db1322435abea70538f9c55d5d7a2";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/te/firefox-51.0b8.tar.bz2";
+      locale = "te";
+      arch = "linux-i686";
+      sha512 = "10a412a83c75b8a7d4adc800c858d9f0adbbf7b2c08cf8a3d5dc494ecf38cf8a83cd3a462eda7eabdec73e194264b698f40a705458fb0916829b783c511fd3aa";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/th/firefox-51.0b8.tar.bz2";
+      locale = "th";
+      arch = "linux-i686";
+      sha512 = "d5bd9c86174be82336f711d50dc75e6f252a468083354c0a1dff99f4c72469a1a789144ffab2beba65d3e43a2e8812955176f426b560bb000607bb683eed81ac";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/tr/firefox-51.0b8.tar.bz2";
+      locale = "tr";
+      arch = "linux-i686";
+      sha512 = "7ec4d2419a1afd9b23351ed896c92ba7812f4aac083e72242d21e0608c32dd5ac157c8d08a89991fd051f6fa0cc56507739b49cc94731a4aa83219d9c76cfc85";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/uk/firefox-51.0b8.tar.bz2";
+      locale = "uk";
+      arch = "linux-i686";
+      sha512 = "eaebff23162685126416f9974ca6d4d20a8dfa320818c76716e695c6d9984e4591620185fc5bb4ea97c2ab0d042864525f9704d7c3e0fd222db3eb60fbbc63cd";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/uz/firefox-51.0b8.tar.bz2";
+      locale = "uz";
+      arch = "linux-i686";
+      sha512 = "5cc21748974536c0f2e73dbd486e2bba1e5d44b4c198d94a6a4d8c3c0be925e89264a7201031903e1c4a41e4bd2c9fb558117ace9acb8f52051224c35b3558ec";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/vi/firefox-51.0b8.tar.bz2";
+      locale = "vi";
+      arch = "linux-i686";
+      sha512 = "42ad1640ffd4c1f35addf69156992f87e1cf5925c8e5d5a1ee49a34835d28117918d3c7cc7087e258726f83e16e3e8fae14f6b8530d308b29606105c8a2f337d";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/xh/firefox-51.0b8.tar.bz2";
+      locale = "xh";
+      arch = "linux-i686";
+      sha512 = "14f18ee698bf639d4e51c13f58257af6a4a87e912e14dce51b2052351005f66df501e5b28408079d6d6221e2419da55675d298859c65b6c40b94108a7406f5c2";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/zh-CN/firefox-51.0b8.tar.bz2";
+      locale = "zh-CN";
+      arch = "linux-i686";
+      sha512 = "66ee019ea1694d8e16e16a39799fa0bf1b6fca66a39ed5435865c7d3fd9ebd93496d20c37d750a1e70006e11672ae1a603ea81781146a10086604dbe39c3f2d4";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/zh-TW/firefox-51.0b8.tar.bz2";
+      locale = "zh-TW";
+      arch = "linux-i686";
+      sha512 = "2575b4111e6061f941237392f23254eabbe7bf7c29a5113fcd61780238fb22f5b9d8ca9df0243f29d40b69f65ab5fa59d8ed83fdaff96ebab0b0e648f9adc0ad";
+    }
+    ];
 }
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/;
diff --git a/pkgs/applications/networking/browsers/firefox-bin/sources.nix b/pkgs/applications/networking/browsers/firefox-bin/sources.nix
index c37404d881ba..8e424ea80b0a 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/sources.nix
@@ -456,457 +456,457 @@
       arch = "linux-x86_64";
       sha512 = "e942d5d6b8891d062b452f1a083de2849cc69ac45801aee0b5c413a786ce9d67555d94416d65fb6bb6e4b74cf11ae75a1036dfc661b50fda10b95febd86a80a2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/ach/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ach/firefox-50.1.0.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
       sha512 = "7546a3fb1cd0e06c9f6916c668cedcfa4671bc15a7ece8ed3ad8ebd1bce5c6ac84e2e024d7e2149844f1797d66374bb2c8769e67d1c4af941eb626c610c433f2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/af/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/af/firefox-50.1.0.tar.bz2";
       locale = "af";
       arch = "linux-i686";
       sha512 = "a6981413d7974e2ca13ffce9fc65c0f69242d6c6bfaa6253fb13fd8fc7e62059df718b4722a7a879dc8e352fd94dcf74db41765dbafc277e8debdd7e35a1242c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/an/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/an/firefox-50.1.0.tar.bz2";
       locale = "an";
       arch = "linux-i686";
       sha512 = "e123cd3a8c9c8657f09d198b7f113b84192174b021dd816b82ee4497e307794bda1399e5425456c2d990788340a58831cd261a4c5c67e5b0ea3daa3d0ac65f65";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/ar/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ar/firefox-50.1.0.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
       sha512 = "618b9c24d37f4b82b1e51a5ceb5b2d3981c764f906e7959eb346adc5c974e464d4a691e50acdad7f9e0cfa5855afb6157e8ab600d22266a31fa444db9b7886da";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/as/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/as/firefox-50.1.0.tar.bz2";
       locale = "as";
       arch = "linux-i686";
       sha512 = "93e53546ca9fc554decc0c1d6590b5b84a433ab392abf9fff9712d4432bfd47a1cc57439fc65ae9be91da6d38dd462fbb81fdd7304424e42d08eeb600d298eab";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/ast/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ast/firefox-50.1.0.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
       sha512 = "e1115994008db11f3c69679372a3f07b6edde23dca20733b7f06a5b0c63dad2a264c02e9f94dc74976efbb3961155216111522c3f1ebca91929ae356f8218c87";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/az/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/az/firefox-50.1.0.tar.bz2";
       locale = "az";
       arch = "linux-i686";
       sha512 = "93be21a2a79d2f4cb2fb5132856837b1ac8d44c699faf623d076b95b5e61126ea540bcabbf57e2752b49cc7b5116f3345a2a78cd07104d873afc2e2127f64224";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/be/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/be/firefox-50.1.0.tar.bz2";
       locale = "be";
       arch = "linux-i686";
       sha512 = "ca41cbbe732e8e754cdb0c832ca7820d5320a8106bbb3e5d753f4a7f6eb30045b81cd84191f868076e0edca68e35b344d63ececa45eabff7102fe82c1ca19e61";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/bg/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/bg/firefox-50.1.0.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
       sha512 = "4e0a3ff42a8502e07afca92ff98ae675213527e68c3907b177e53a580e0391c075a41ba4e5b87c27558f86b28c1abe2dcae191334c737d37bdbbfb25c33d0024";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/bn-BD/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/bn-BD/firefox-50.1.0.tar.bz2";
       locale = "bn-BD";
       arch = "linux-i686";
       sha512 = "602cffffa7ebf0f53f3e466d3aa5d8f203698db16089e83c893092e9a0841a9a8ec6a46aa5df1e2fec020cd8a7345e4fe86fc20797ad65bcca56bb2f391390ef";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/bn-IN/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/bn-IN/firefox-50.1.0.tar.bz2";
       locale = "bn-IN";
       arch = "linux-i686";
       sha512 = "2f7ab4b093b8be7dfdbdcf2faad88eb99e8b0e19ebc17efba44d46a332754fcf16e9317398e88c8eea73680ac85f08d2f0a99768fad160d79102e8e1fd6fb8f2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/br/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/br/firefox-50.1.0.tar.bz2";
       locale = "br";
       arch = "linux-i686";
       sha512 = "abc0fb371ae3144fcb3a5130b13c376169d8a3c3051493fb5fece9a4682757c42bf4717b6494d4220daebc3f1560397f1263706e2a3871d7ee5c0135cdfbe1a5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/bs/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/bs/firefox-50.1.0.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
       sha512 = "f62657ff653edae873269a4113a93dadbbb36920e9e30ff04407d28f755bc04e35223031a60018e69cd4c3b891511109b66e7baa83656b0ac37ef5e334f3a89b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/ca/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ca/firefox-50.1.0.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
       sha512 = "bcc4184d882075eb2ea875c7493ca4f276796672a029ab161b4f2168e879b46a6fef454e04e53531a32ed5bf82178d8d2ef15f9e43679625e4f7632e7cf51f32";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/cak/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/cak/firefox-50.1.0.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
       sha512 = "88448d8c17235e318628bed05d607f30ab9db4e05f181a36e39c02f2df840a10990a534d5d5f8e16fdaeecfbf3e51bc7cd9f45b8a84b3447132bb57a87c4e2d3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/cs/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/cs/firefox-50.1.0.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
       sha512 = "acb9fe18d8a5fe97cdeeea24e8a6e56895a3be16c6a5f2099a69c32768e2f76a2c0fd081d3759a2c87d002ea5021dcc5f806195d3bed06e8514c383ee8bf998f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/cy/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/cy/firefox-50.1.0.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
       sha512 = "89119e29496981f8ebc85d512e5d58d8bd3678cc8ea4c90e544bde60881cf5f768b4060d710f8ba4d61dfbd7299a4437f5e7aab1140a03cd498af18c480e0b4b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/da/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/da/firefox-50.1.0.tar.bz2";
       locale = "da";
       arch = "linux-i686";
       sha512 = "285363c04cb6506400077f36867a65372fae80ca6b3fbed88be219c3814d3f38a650c78f36014ae205ba9e5167b5291353c799b918c8e2bca6f23374094db209";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/de/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/de/firefox-50.1.0.tar.bz2";
       locale = "de";
       arch = "linux-i686";
       sha512 = "ea470ab934f49ff79b8cb04809f5605edb70d3ea9bc997c01802f09e3fbc8d045bb322b97b729916b6371b047f3b4ac14b25dca8e8befea401362c2024a2fa13";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/dsb/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/dsb/firefox-50.1.0.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
       sha512 = "74bb1ab27970819fd9a368ac5f9a14add5378d9a7c39707e12146ae8082f39593ea53b5dd730708764515b0177d7ddb675b04a8a75f259303d30f281b44527cd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/el/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/el/firefox-50.1.0.tar.bz2";
       locale = "el";
       arch = "linux-i686";
       sha512 = "3d3eb83a16c94eaa0bcb8627239b74c0a261189b67b917d4e2fa9ac538ea353a998b691350797470ab8ab4a5effc65a35a36e4b3d372895bd691c63d439a4c9f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/en-GB/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/en-GB/firefox-50.1.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
       sha512 = "23a75b31d461ebb0a3960c6235b6c77471f3687e76f154c8d1fc8cce40ba571a9699e19a5310faa55c52b243e6fd88ec76ccbcb93dfa8b3521493805ca852d57";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/en-US/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/en-US/firefox-50.1.0.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
       sha512 = "b1667f7c235b3fdbd3a2c3ee6ddd7976b4142983393b0b8e0443896cd0929d7a43ca484ba5922340410fa3c4868f555a4ab581c9664281a31b912c1922a1dce5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/en-ZA/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/en-ZA/firefox-50.1.0.tar.bz2";
       locale = "en-ZA";
       arch = "linux-i686";
       sha512 = "78238141da05b61b797440a04973187bbfb4d3cff7830385e163e8ccaa603368910be89ee7f2f4e65a47a6917835dff8f840a77a507c3ff0242baaf1b7cfb4f4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/eo/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/eo/firefox-50.1.0.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
       sha512 = "af424d87210909ad480823d56f20327b0e7879bb0ce7ab43994870a69e6e91b3181e480dcc2610064f276ccfccb71badca135f3d8e00ff16947c220dfe67ee82";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/es-AR/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/es-AR/firefox-50.1.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
       sha512 = "cca38288b4ef6de4c7469cdcbd7cc29715993ca69c39febb877691b2368182a0efbb0111b45bb5a7ddf47b7c70f20638bc6dc7d6fcd46f8d8127d36bc29da3e3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/es-CL/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/es-CL/firefox-50.1.0.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
       sha512 = "104a3fa6bdf86e0e70c54bfdd8c0d388a8e91a9bae0ef973fc043247907295cc5f53c44f414fe8cd6e2f17a02eae14e366fa8c11ccbb45df2055813b17fd7712";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/es-ES/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/es-ES/firefox-50.1.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
       sha512 = "be847e51e78991ac739bc32fb29cc0cc166f12f02b5ada4d4656d3447379eb9cd10f80391433607fb63e971d54a48591d60baa5cb963421f1934033e08525d7a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/es-MX/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/es-MX/firefox-50.1.0.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
       sha512 = "7a7464de3223e9cf1cd0f6b7767ea0fb7ee8db0b3b2c3eb9d284cd5ee8db77b9b0ec3c604625c8c6ffffc41bbac4ea47543c1508f7f8aadbaaeb9954b7e62247";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/et/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/et/firefox-50.1.0.tar.bz2";
       locale = "et";
       arch = "linux-i686";
       sha512 = "907612ce5691ec5e4647e943ed58d437db872551da8490af3e5f7af44e7d9ac78a8c5eaf721f719af782c8b202aa24ee6a87640e54323b5eb823dbee39b2903b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/eu/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/eu/firefox-50.1.0.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
       sha512 = "29c76a0f49d87d162749f824e287f2c1b37cab465cdd5e5e991ce429273d492fc905772c25f4c812c6fb899249a9bb7346eefc91af9f642b4acdc70d3af6f338";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/fa/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/fa/firefox-50.1.0.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
       sha512 = "0deec5372d5876861af20a60d8db9d4c5aaef8c133c81bc3af6d85d2de528f96ae1da7f5fc78a9bf34bf06d9121fdb6d74e28ad40ae2b7fc23b4a0c161e09722";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/ff/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ff/firefox-50.1.0.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
       sha512 = "07c87801154ce44d37b1a477850bf9568651beabb4004d7cfe427c0ecf75fc85da91cffbbd60af773c8b3b7cd30e10937c9ff2fcf65409faf2dd194694d9b6c1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/fi/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/fi/firefox-50.1.0.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
       sha512 = "310b71c8e46fd7ab3127cfc0743c1d98ede8adbfd01a645089cb6e5752e8ff4e3da9f8f47ab5fd7d06284b3fd76b9780d60c2898d0868e30a76dcebf35c24b05";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/fr/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/fr/firefox-50.1.0.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
       sha512 = "1bc1e595f12d04067b9985be57fe4ec17de89069e4d6b780c16231c4ea195fa0cd8e6daece265335fa56ac3dae9d94c3b76f93199cf1e0946f6d6ac75bd01a1a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/fy-NL/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/fy-NL/firefox-50.1.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
       sha512 = "d07b171d615306c6de663f4592450dea92cd7298e6994ea7fb5d55f01f260c2b66d1b4bc4109f44c3d007107c78feccaa6540ddb14dc8666e0192ff3978d8f5f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/ga-IE/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ga-IE/firefox-50.1.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
       sha512 = "1c234083d098c52a7597dd727c246ea6dfc177edd1e4fc021ad5868ce9082353036d78b9297503a5eb14dc8d500a7a2549d771ea2d3c849817ab791329925d25";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/gd/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/gd/firefox-50.1.0.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
       sha512 = "0e88344c58c1b2e63b765949db63ed9e874b23e382f9fe833206cadde1d6c32d804d68a22f17741cc7964773858fa7adb6a6a42e7ed56dad54f2d7d0a71dce08";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/gl/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/gl/firefox-50.1.0.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
       sha512 = "244cf85b95f4a1eed0369f4f41ba870f4a3fd48fd85979b005ffc19ab4c03e52da87ae8687f5e3048c33599baab46fa8ed8274db5b180936076fd63e02b955b2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/gn/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/gn/firefox-50.1.0.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
       sha512 = "20d51aefbc2f98f83fafd23a5800840d1bce7f0688f76d0ef322b2f1dfe44e75fd82c39fef23cc9afb15faa41514f29f8313748a2e969e2051b3824962de6e56";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/gu-IN/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/gu-IN/firefox-50.1.0.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
       sha512 = "b07adecbbf8aaa8dce8e7d8e03b86d5ce3bb97646404433d89d82832e692efeb532df86a5a4276dcf1f63c705507e0d87f3d72440c49e5d70c9a08968f75fbe7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/he/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/he/firefox-50.1.0.tar.bz2";
       locale = "he";
       arch = "linux-i686";
       sha512 = "a6d9a10704ad4097af79ee05aae504a9a6ff109192241cd99c3be665f0adaffa6e5b7b39da859d61d9294cf899a5496ce0c82ac4012a318ad4aa96d6418f380f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/hi-IN/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/hi-IN/firefox-50.1.0.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
       sha512 = "6d78b83b289abf37267b08c72c3b3c42005ddc2f2b13c846012f342b16a3bbf9a891fcd6e24af01160d1749c1b7e76a9f62060970d52144405e4162d4c6297e1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/hr/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/hr/firefox-50.1.0.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
       sha512 = "e70daf40c8a0885c344a01d1cde03b34af23a2d9c76450f0723cc5ec1b577251dfbb8bfacd3eba866953c5b3dcd2974456305a9e171025cfbd43416f679f1cc4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/hsb/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/hsb/firefox-50.1.0.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
       sha512 = "8c137a61cb020dbfb1d73a698d76c4921c9a1dff5f836185caba29c22c81c7c0683cb4139b0642d4bf408e01d498de46022c36de78a3c0413eae048f2be69e72";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/hu/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/hu/firefox-50.1.0.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
       sha512 = "1630ad84eff835e1f56e424000515e37d52a268ce569ea12fe5abb8afde231f2aee2293046ee8aeb338ccd81ec98c92246f4b62e000ece032349eedb2ca3bb82";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/hy-AM/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/hy-AM/firefox-50.1.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
       sha512 = "dc2359753972d1eac82bc357461331d69e52bde41736ab5c4bd590491add2b592bd3e4f15f32db94922afee84af04500928ece6be14071b10ad1fc4c8b82314b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/id/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/id/firefox-50.1.0.tar.bz2";
       locale = "id";
       arch = "linux-i686";
       sha512 = "61717f0c508b61b874080e21f7cf22283b1d123e2301490af409c710ee612ee8e0e7709f3bee20891c0a76b3b2de05b4ba94885d1b3813e6612a1dd1f871d34c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/is/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/is/firefox-50.1.0.tar.bz2";
       locale = "is";
       arch = "linux-i686";
       sha512 = "57d649dd96889b533c336078b4d2380a8417a1f77e40379d51a80518ffe2024a303c2b9c42861436425098cbf2e328264972b82039b9fe13054ae3d33a93e737";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/it/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/it/firefox-50.1.0.tar.bz2";
       locale = "it";
       arch = "linux-i686";
       sha512 = "b8bb4e379f4e21bdea2190695b0f74c23b72af5c6149e8790a433c09cbe3ee170fc68a375b71ea112d15eb00b948b6c30466fe382f86e8c5da85ea7479b355ed";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/ja/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ja/firefox-50.1.0.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
       sha512 = "287d4ba06988e7a6022fead8af2d921fb761222cd0cbaacb7136c44e397b4620a6129f59f97d98d8a992caaf203e7c8fc130aa4e5e9c58b13a2700f63d786497";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/kk/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/kk/firefox-50.1.0.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
       sha512 = "f96a9b418849234b41d181ad141dbb030a8b2f26e73944694c5a805a21778d708862df988dda8ab8fe28eca0aa342153db84d6af971461f0eb8072590445ac15";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/km/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/km/firefox-50.1.0.tar.bz2";
       locale = "km";
       arch = "linux-i686";
       sha512 = "63af9259f4326d4dc356513203646712f26dd992d2150d58c4f1892d76f0a3944063dbfec0db68f67d20538aea3247313357e5a822e0a8507bfad2a7209067d4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/kn/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/kn/firefox-50.1.0.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
       sha512 = "afa965fd87ca7dcf5217011cf0aa53d89e1656d64cb8ad973a149eed3897eb577bdbe3359a5310bf9e11dc6e927883c08fb7ef069756313dfc75850378ae7820";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/ko/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ko/firefox-50.1.0.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
       sha512 = "724726e85066350ba9fb0254462b198e198c20970664737c925ca41a474ac4070d2e746b671e8583339fb1935e9a05d6191856f5abaa6e23413efdb707d34d19";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/lij/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/lij/firefox-50.1.0.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
       sha512 = "e17504c60dcf3eea34c9525b3ca537656fabf90a7d888284cd5ac014a939565ba50e8b3d0fd1c936dd5be1ac59ee9f61e2de22b5b1eaeb12fca0f59a094a06eb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/lt/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/lt/firefox-50.1.0.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
       sha512 = "00689c1e19f748e5676ea3b8ed0076f6a63698c57b171eb771d45e9d9ba5bcf359eeb827f5791c96ca6a31eb9ca166208fc63b4a211676b466656e537323719d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/lv/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/lv/firefox-50.1.0.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
       sha512 = "1218ec478e28229f0ef8d5a7a669ed6f69722602f75185c4817a9870b35b6955f87f004317bb32cdada379075115c12ad92f73f74818c182a480393961a85bf4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/mai/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/mai/firefox-50.1.0.tar.bz2";
       locale = "mai";
       arch = "linux-i686";
       sha512 = "6fe97505743b8aa14b9bb3be57077c9da14c2049b2d0d455fc2b777b09bc42924f04c781073188fcdb3130bd5d1cba2cbc5c2ebd04fecc7e73ddb8f20f61c716";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/mk/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/mk/firefox-50.1.0.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
       sha512 = "e0bbe68d53a08df8e2ac46b9b51567f69fcd11b03d19b6e84f86ca9f255c0920f89b011df5fd4ff300cb3fda65470fc15ad779757421eea2b3b6db6bc7ae9c1d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/ml/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ml/firefox-50.1.0.tar.bz2";
       locale = "ml";
       arch = "linux-i686";
       sha512 = "0e6560b60dc8c0fa309c3a73c1aa3331aec82556e3ee5eec9014d8787c9a5f8311049fc7939ec69569abf689e349be08bce040bfab8bd2ee3ac0042753ce2860";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/mr/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/mr/firefox-50.1.0.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
       sha512 = "cc31171f3ee669fb47dfe4e416c84ed58125b1a4787a92588c3650a2062e4e7fed28f2cc5c784fcf1d804c64fb335c2e16340d46f2d879b73e4465f8c662350a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/ms/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ms/firefox-50.1.0.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
       sha512 = "12d3bfa0c956b342604a043beefadbe5bff639fbe4b12614832ca36ac11a4046987f3be34dfeb5d3dbb4e9c1d8533645a8d78c3413f9730a72ae952bb07fd703";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/nb-NO/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/nb-NO/firefox-50.1.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
       sha512 = "b144e104f01a075bd0d107f77af39664323eed78987ebc78a7a2917b86d83c2d6ff3bb35b6c5230e27c8164246fb32defea91e5b84672e20f5071e0d52456726";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/nl/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/nl/firefox-50.1.0.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
       sha512 = "da466f3dc573096be1d55bdb03f926f0b94ee2ad8e326a3fdc29d519d00f5c0c9166b85c0c8c191d1ca7c992b05b68abff5f33882e52e43be3015a35333be3d8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/nn-NO/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/nn-NO/firefox-50.1.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
       sha512 = "85f83572953a0b54805b22f3a21cea70343092912c3b988f8408ac1df1931dda52a8686c32cdd7c91e776a17af0a390d6394b22fdf46ae1205a01499f390dc5a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/or/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/or/firefox-50.1.0.tar.bz2";
       locale = "or";
       arch = "linux-i686";
       sha512 = "1a0b08aa675bfe8b26675f1eac53389f34d02b0c28287d1a73e663ce5d747efd0bc4db5f0f29e3e864c99447e759fdf35ff573235a7ac9b815fe8b749f0a0e88";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/pa-IN/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/pa-IN/firefox-50.1.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
       sha512 = "ee9c1c9cc27cd8470cee9a1600951274f9a663e4562cacf7452426c562815f393b726402b1356f9a60095e85278030d64f35cb1fdadd5c8cd11d6917f9c70d60";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/pl/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/pl/firefox-50.1.0.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
       sha512 = "a326d11cb0df567ad13e6d543426c0a28d9158f7d8f0f519b208bddad26145e3eee6350dfb54735cfc05d656ed40b022fa132991a91f1de78eb36ee4f7333fcc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/pt-BR/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/pt-BR/firefox-50.1.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
       sha512 = "cb99dec511614bfdccf43b06e4babd28dbe0dfac464147aadccbf69bdedf3a093e625e4fcdfe0cf8db867b5854ce4c3c5d399a6e9ba932a9fd8574928962360c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/pt-PT/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/pt-PT/firefox-50.1.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
       sha512 = "2c4215b8bd5ee9ff78fdfda763c5506fb6a3c7056c9b4494d89f77ff4255c86617f4102f36bf534c0e3ff24ed27ef4a0853d24578bb39ae0a04f741422e6eba3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/rm/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/rm/firefox-50.1.0.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
       sha512 = "470b3ce93cd25c24c0c9a1581da7a48c101d7a93764423073b1934dbeb5a0fc401150009a622feba1f2f799501fb03e0af79a308c4fef08ac942c5adcaaf0d91";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/ro/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ro/firefox-50.1.0.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
       sha512 = "7cfaa6b7b2dbe4dadc464591ffbb508e66b724eba76b6fa8e9547ef1092f1aa51f1846e9392a8531c7ba24aedb4ba49e7a2e0c1f41a0b97e6dbacdf1d6c34c75";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/ru/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ru/firefox-50.1.0.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
       sha512 = "5915a55e881a57797a67d59b4ae9fd95da8bcc4caaa1ad7decb78a6de7a5da7ff35139ff33f7e4ed171615ba9c25ab7df43677a58cecbee530eed25d8a7cc8ca";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/si/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/si/firefox-50.1.0.tar.bz2";
       locale = "si";
       arch = "linux-i686";
       sha512 = "a1702939f705a7c2b3b66efdd6dc27a4320ed019dcd62b59da67ef3f078be0afab91ee5158e67cb62691b1a4a002783f807d6133885bd0ac9bb05401268d5f24";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/sk/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/sk/firefox-50.1.0.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
       sha512 = "43b72dd5ebcb1524c5b633cbfb73eed21aaf466227f29f4ffdd93f1c49dcc2295a38b57b3ce072c40da72184e1fb954a9097ea6d6d6df6807dfc5d04ff48b327";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/sl/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/sl/firefox-50.1.0.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
       sha512 = "24840e76f00d6a07de581d06050f924018ae2613a6e4cba993073859dd05007b6c97a7d518a6c4b111740945357621c7325c4cd7f45adddceea270e08c1a09c3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/son/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/son/firefox-50.1.0.tar.bz2";
       locale = "son";
       arch = "linux-i686";
       sha512 = "004f8732e194d9c1972390d0ce0d04f9e8f91583676fa5d65bcfb1ee58a6b52db5176ce8a281a3ac94391b43aa637ed157128950e589a0f0a354622da6f04132";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/sq/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/sq/firefox-50.1.0.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
       sha512 = "3dead0e008b4255585d22dacb6fa0aec125da6581b7ef4b1ccc6697e03a5afacd14d340bd8eb7bc0b38478bc6ca20f09364e9180313ceedf1853739ee181d125";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/sr/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/sr/firefox-50.1.0.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
       sha512 = "cdbf5fa9d085829828f5a395114c3efae9b82e77e34aa69b622e611de8aaf54c525ad12ca445190ba5cc9c22d979be902e4f1f6e6a746b5f97570326cd90009b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/sv-SE/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/sv-SE/firefox-50.1.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
       sha512 = "ef8a625973d0286799e2a9ea3a5a10078d912a65521be8f935ec6eb207ba53942ec5d0e0c4c5c013ea2705307dafda12294fdf708dca35f72d5ba3eb48733238";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/ta/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ta/firefox-50.1.0.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
       sha512 = "64652e5c68680f1ab15bdb5ec6487387789bd4b1a1537daa215094e57156fd4a1272311d8084435994151aff5e7ddffb16b93c2048989d9c2dc455f98d072b06";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/te/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/te/firefox-50.1.0.tar.bz2";
       locale = "te";
       arch = "linux-i686";
       sha512 = "e516ee1f536dd98ab95a9a621cf4634f1ac70a3b5952cd8c6498890536b1630b362ebda8e69577eda4c0a6224f1a9cbf19453e5709dbca467e37597016eb5fe3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/th/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/th/firefox-50.1.0.tar.bz2";
       locale = "th";
       arch = "linux-i686";
       sha512 = "0b9ae06d78e94d6f9ee5861dc911eca02f39671d8f13f2119323ed7dc394dffbe99f2d23dd3eba955d46f7d4b9775cd9fc3311337d4339748c178aa67d7467eb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/tr/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/tr/firefox-50.1.0.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
       sha512 = "31be512e591504d3e8a776933f0926ae54a7797fa037e53a4627b1bb39ed61e4689cafee7d84dfb6b930ee2e4a84df158a97c1c5b201a3a8ea112e2910e65846";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/uk/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/uk/firefox-50.1.0.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
       sha512 = "19614a4999f5c7509a3c0b1c6bb2bc3d9f408ff6727bcf9bf93bf91a59ec8d3c04206719fe2aa2319a0e62687df871bfa2fe67117219398e19aa5a6e0782c15c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/uz/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/uz/firefox-50.1.0.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
       sha512 = "22bb3b4a3a5a98ad8da002a220dd2779a46fd50a3d0ff41bec8312186ae34543da44fc49518fee160aa4b48176a0d3ba0dd0c4853fea9befc66911684b83ddb1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/vi/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/vi/firefox-50.1.0.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
       sha512 = "99140a71208a7912dc8b9fd3bd7f5454a0b032dee4d903304dfd14aa9abec0722fdcc6624f3c0a1c6e753bc6ab6ea512d6f8c55b5482069ed6c65d5579f562e0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/xh/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/xh/firefox-50.1.0.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
       sha512 = "440573a5e364ecd59121b30f664ed23bd2fa80945562d1e5cc04303f12dfff23c96ef53ce07cf689d247a5120b9d7679533ccb6e17c27b29898154f0fc9fc581";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/zh-CN/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/zh-CN/firefox-50.1.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
       sha512 = "4a2f5550c130d0992408d328afa3dbd37f80e5b63c2b33c095ab74e397ea394cb33f87214f1b0d3650c60450738fe3eca636ed51ca1c4e5dce9b58e0f09c30f6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/linux-i686/zh-TW/firefox-50.1.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/zh-TW/firefox-50.1.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
       sha512 = "6417da7af1792f241c8d57dd5bb05dac974db2b73a6274fe3159037bcf8ae8a23b3f1849f5b42a0bfc09f1dcbf949bcaa8b1e9cc633fd3726c12cde7e3cf542f";
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 <<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 "${baseName}-$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
+''
diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix
index 2eb91b06ac3f..0531a58f0a23 100644
--- a/pkgs/applications/networking/browsers/vivaldi/default.nix
+++ b/pkgs/applications/networking/browsers/vivaldi/default.nix
@@ -10,16 +10,16 @@
 }:
 
 let
-  version = "1.5";
-  build = "658.44-1";
+  version = "1.6";
+  build = "689.34-1";
   fullVersion = "stable_${version}.${build}";
 
   info = if stdenv.is64bit then {
       arch = "amd64";
-      sha256 = "02zb9pw8h7gm0hlhk95bn8fz14x68ax2jz8g7bgzppyryq8xlg6l";
+      sha256 = "0wn98nzlhppmm3g797kiqr9bxxff8l7l110f1w1fnfl93d325hrm";
     } else {
       arch = "i386";
-      sha256 = "1cwpmdsv4rrr13d1x017rms7cjp5zh3vpz3b44ar49ip6zj6j0a8";
+      sha256 = "0agybibfwk5n1gxi8g4rbvvmlq5963df5arz4fyi4a1hcayllaz0";
     };
 
 in stdenv.mkDerivation rec {
@@ -37,7 +37,7 @@ in stdenv.mkDerivation rec {
   '';
 
   buildInputs =
-    [ stdenv.cc.cc stdenv.cc.libc zlib libX11 libXt libXext libSM libICE
+    [ stdenv.cc.cc stdenv.cc.libc zlib libX11 libXt libXext libSM libICE libxcb
       libXi libXft libXcursor libXfixes libXScrnSaver libXcomposite libXdamage libXtst libXrandr
       atk alsaLib dbus_libs cups gtk2 gdk_pixbuf libexif ffmpeg systemd
       freetype fontconfig libXrender libuuid expat glib nss nspr
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
index c1bcd9ac5413..2bc65226c5fc 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
@@ -33,6 +33,11 @@
 , nspr
 , nss
 , pango
+, writeScript
+, xidel
+, coreutils
+, gnused
+, gnugrep
 }:
 
 assert stdenv.isLinux;
@@ -57,10 +62,11 @@ let
 
   source = stdenv.lib.findFirst (sourceMatches systemLocale) defaultSource sources;
 
+  name = "thunderbird-bin-${version}";
 in
 
 stdenv.mkDerivation {
-  name = "thunderbird-bin-${version}";
+  inherit name;
 
   src = fetchurl {
     url = "http://download-installer.cdn.mozilla.net/pub/thunderbird/releases/${version}/${source.arch}/${source.locale}/thunderbird-${version}.tar.bz2";
@@ -141,6 +147,12 @@ stdenv.mkDerivation {
       EOF
     '';
 
+  passthru.updateScript = import ./../../browsers/firefox-bin/update.nix {
+    inherit name writeScript xidel coreutils gnused gnugrep curl;
+    baseName = "thunderbird";
+    basePath = "pkgs/applications/networking/mailreaders/thunderbird-bin";
+    baseUrl = "http://archive.mozilla.org/pub/thunderbird/releases/";
+  };
   meta = with stdenv.lib; {
     description = "Mozilla Thunderbird, a full-featured email client (binary package)";
     homepage = http://www.mozilla.org/thunderbird/;
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
index 8f74fd2f53bc..79b5f7b737f8 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
@@ -1,126 +1,585 @@
-# This file is generated from generate_sources.rb. DO NOT EDIT.
-# Execute the following command to update the file.
-#
-# ruby generate_sources.rb 45.1.1 > sources.nix
-
 {
   version = "45.5.1";
   sources = [
-    { locale = "ar"; arch = "linux-i686"; sha512 = "a2495d8d9a56104b5c5d87e795689d0334563fdb98fa751a2d7bedc9993ba66d3b1cfdc9d0d3711b8c8a2f91d8267c97035d1120051baa4aefcba1b968b9edc8"; }
-    { locale = "ar"; arch = "linux-x86_64"; sha512 = "b5760210c14df4648d6bbd48136dbb3221c682ecebb649be848f8fbecf89d2251630c8d8208438f0ab66b73964bbdf8e05035bb88f0c773ea253cab163b569b1"; }
-    { locale = "ast"; arch = "linux-i686"; sha512 = "b1ccb4d51d9f5aec0cef3ccb0d5fcd14ca69a446cb18fc8b9f22d98325c0be45ea608f9c9ac15fb33e2b426b84c53e908a05331e360af728e088ad9c3cc77107"; }
-    { locale = "ast"; arch = "linux-x86_64"; sha512 = "64028617fe76832663fd69e2305ca84dfd576507348dcffc680d94d6d1de640fdd13874a73638767d3aedd2c84d38fd370e57ba3f95281a0fc0ad9d21b4d727d"; }
-    { locale = "be"; arch = "linux-i686"; sha512 = "32d89785e95667d17b7b4d19d37557c7d592370e42613c8c171e1b816d38a16197fdf8397211f61a9261457ea426f6de84af721462e4296c825f931655e64e66"; }
-    { locale = "be"; arch = "linux-x86_64"; sha512 = "932f0dbe85e6cf43c70ea6f9537785322bc5280106c97b4e21ea828ebc5d997d027c260f4e1b4441909c3a3b7e61f51b95167cf6a632bce98fd2b6aa33eb413d"; }
-    { locale = "bg"; arch = "linux-i686"; sha512 = "b5d2ed68959cc6a473e83db35634c6322f4638edae1a19f81d5ae1ab0080aed0940b751e96d3d3a562aa1811ca3c5435f2f3b0a205948f06c2d479cd98109e88"; }
-    { locale = "bg"; arch = "linux-x86_64"; sha512 = "359973dc382c7565623f63ede93e37b1d1a2bbcf9690710e05fc066a8c7f67b059b9d14c978c93741d65544029e5970f520d7a64dd07902d89f0331b9a3330f3"; }
-    { locale = "bn-BD"; arch = "linux-i686"; sha512 = "a76fb786e1cb0485b4e212097685fa259ff76386bce3cbbec1d47e061c7116df76adb8bf419e51ade098fdb9b55a7aad5348e13917104d22a0aa39518205ca47"; }
-    { locale = "bn-BD"; arch = "linux-x86_64"; sha512 = "f2d5b0c3fadb19d89733feecb50a7507b1c29dd93b5064a0db95292be1635c29bb3d98b84fb29ac38224c97dc7af29ff6024652562273eeca2a6ee38a0d19de3"; }
-    { locale = "br"; arch = "linux-i686"; sha512 = "51c1402350cec63a60f4ea96cdaedb1aa74250583a3cfed575060fb5990294446a8254108fcbd99607a286b8bde43357ccc8e0195330352d1497b8c173a7b283"; }
-    { locale = "br"; arch = "linux-x86_64"; sha512 = "3d1aba23ef4d969548b2fa729ad1795496f7123b4437f7692bfcbda4c87b0bd7edd1caf00cdb207eb4aaaf6c8ec8d0554d553a7db5a85e1e24d07c401d507794"; }
-    { locale = "ca"; arch = "linux-i686"; sha512 = "1df09781962fdfc7abc425f9f96d2efcc7471bb9bb8cf2c0152846673c7fbfc86b6b4c05d73d3c949607d056478661be0e0d24b769f816820d1e4670fdf240f7"; }
-    { locale = "ca"; arch = "linux-x86_64"; sha512 = "a1c04f9846edba32587b1f62379e703a62af0b9886f1e56e86854629a034657d86a4f06ace3bca9f75a21c734b559f17522692e4c90607ab353669bfe02a3dc4"; }
-    { locale = "cs"; arch = "linux-i686"; sha512 = "463f336f49ababdb13397a10db3b189e3d364b07f9f42a4d31e770edd846c56fdb81f79228ffa51ab7f6555818bc3a0a3e5f1e546727bb3cd81f95f2264c392d"; }
-    { locale = "cs"; arch = "linux-x86_64"; sha512 = "f93ab27ec7e126aa309ba4d6d5900be7c427a29ccbbe141cd4e7f211daaeca6459163711204f02fafda285020173417d89a9c46f593114c81b73ce430a2c7743"; }
-    { locale = "cy"; arch = "linux-i686"; sha512 = "8a4802763162dd32577e02f878482094b3bae4c51b9ac7c109d188c8b5ab9fd0053c34eb2fabaed873e0ba9e7f5fac2ebe6604a0da00b806594e28fd0f823721"; }
-    { locale = "cy"; arch = "linux-x86_64"; sha512 = "9166a6c737dde179411e1a0d509141f29c7df7e3fe7e4f6def229be08bba4ccf5963804a86490d08e5ae3dd602f246c2fdce717562616445257b81b8c17ee795"; }
-    { locale = "da"; arch = "linux-i686"; sha512 = "bc430839b463ee22e4d1736be48f8f9e958307c3069b337b0ad816e3f88274b22b98ce66fec267f4ed134750fed656b1ebad0bce29637594d053bd82d1be3d34"; }
-    { locale = "da"; arch = "linux-x86_64"; sha512 = "6965968613889d69182ddf3dadf7e109e958d7561cb2b1a3936d9302b725d9c59c8cb8730ecf62e422a38c108da2ffa6ae5b012df348dd9250047a15b046e760"; }
-    { locale = "de"; arch = "linux-i686"; sha512 = "0a9ac8af9a823d69c8b2671f24bb203239a888d1423656241926dc5fa978e989ca5df303211e4a5208624d01ba34dd93915463eb88b0ee8ed027dad592a057c0"; }
-    { locale = "de"; arch = "linux-x86_64"; sha512 = "2a33d8104e1149181e91e9588a4236b481a8837835af2a1b08f3cc2dd55eecb3059aafbabccae8b0dbb8cfc632bdc8fc6198bb600b60a9dbff5a96a8609699d1"; }
-    { locale = "dsb"; arch = "linux-i686"; sha512 = "9f089cc93ed4660250ebb0d4c677d36515d9dbf29f78947c88558c69362663fffff293fbb3acaf4fca2e40a88d093d7637e385db757812cad29c31b6b746e87c"; }
-    { locale = "dsb"; arch = "linux-x86_64"; sha512 = "91314f8c8c7a9e1d13f618a1b71df8141933e6fe5f3317da06ac84ce1ea269bfe0740d94b2d8e240005a315a469cab39e79f70c06169712fdf318c9b3b5ac9c8"; }
-    { locale = "el"; arch = "linux-i686"; sha512 = "1099c8443c089ac7f430023960802ab2ce914f103983d68dd283f0f1bb7d36ff8b35e44b7e766237cf19e9c6f02e5dbbab5f62e4cfdd8b80816d0892779732bd"; }
-    { locale = "el"; arch = "linux-x86_64"; sha512 = "601ed7cd8f6f1e867647036ab3f8fadca0507f4441998ac29dfd15a6c8cf0c65b94cd647b0b4602d7624f041a8fd14a8210fde26a7c09763746d31008699e0d3"; }
-    { locale = "en-GB"; arch = "linux-i686"; sha512 = "1efadd60994808919b24214c1610dccda0a76bf0de6cf3518b6eb665d035272f1a2e5e4e9e09fc2d4eb5a7021bdfaf3c3391e166737824355bb859b1d3fa54b8"; }
-    { locale = "en-GB"; arch = "linux-x86_64"; sha512 = "07222127e045d41f912baa160b08e22a373ba605f857d001c92792ebbcf789e1094c68e0f16bf9c609fda0321ee0a0f702c7d47481f4da6a9cb80071b7e21095"; }
-    { locale = "en-US"; arch = "linux-i686"; sha512 = "663ff453dfc556bd85633030e271174d96f039d8ea77bb1a338df02298feaea297ca7b4010d9c2973d19ba988b6e2b807486ca40f69bbfce84d0b7f8b21f7c32"; }
-    { locale = "en-US"; arch = "linux-x86_64"; sha512 = "3dfeaa5e64b4063e0b5ae552bc47db1ab06e4381c55ccd35b05766aeac5add880804f07a40d39db08395a467ffa96d67261971359c46bce8d9ec6adde5948f2a"; }
-    { locale = "es-AR"; arch = "linux-i686"; sha512 = "34fbd5a614ef5a0b9c46b63c80292dfe7caf2f65758a52d130ad4567311cde3e84ca1ab41d5fa87509b5ad9c6ce4ab136a4c08f1977b3695e5471265a758bd7d"; }
-    { locale = "es-AR"; arch = "linux-x86_64"; sha512 = "087caecb722222c3950c8a644cf7af37cd356b62b4802fcac1a4b93620fa086e2b3e97a6c5f6b22aa61d3478dad41bc7b8ab39d31bf76b710f2e53b36cea2049"; }
-    { locale = "es-ES"; arch = "linux-i686"; sha512 = "e429e936f7d022b421c995ea8df18d72a3abf8a9dd2a0a6ae87435333c94a8abdcfa3c2416e36f883b1d2b5f573a17d8a38161fed5ff323767fc25756dc72d69"; }
-    { locale = "es-ES"; arch = "linux-x86_64"; sha512 = "f335002365f68e28cf0e28c407843f8de3184b33a7e57638104d1ac3515cfcbd14842ecc6d61a7de012e2cb1d7c5ff170598b5f81dbcbb71b81549f6a8bb5531"; }
-    { locale = "et"; arch = "linux-i686"; sha512 = "3ec9056dc49cbc6b7734498ab5522fef93eeb6f08668cd04bb610bf0d2519759c614de07562706a3efc2b5e64325a70c04b18fb3138c2ce3cabe6ba1a51bdde5"; }
-    { locale = "et"; arch = "linux-x86_64"; sha512 = "555874dfde25076892647a451bd9e02879eb5c8584dd22d5bb73f9c5deab5f64103d80c57292ed6a04b73fe27aa28d78210a1a5da7147fdae0980faaa8d19641"; }
-    { locale = "eu"; arch = "linux-i686"; sha512 = "951a9fcb82f77cb45a5ccaf300d0516da7d1be069931fde87e729b9c9d99a0a07ee810a4bf4791698741ff52128f66d6ecc3d8c7887cf22462006929c582cacf"; }
-    { locale = "eu"; arch = "linux-x86_64"; sha512 = "5f4361f43bca179613f24045835fe31e17fe949da0e2f9e470635d714f521abac45d0104e663ab44806a7e45f4d44d515b002508e8388c2c72e0b91c793ec8bf"; }
-    { locale = "fi"; arch = "linux-i686"; sha512 = "e28371194085e689d6445ce3a0de77c7b8127aeb740769ff2aaa8f0345cfbc7b3e8ad5f2d891c8ca34c2fa004cfcaace649b900248493e5c6ac4404b6f581e19"; }
-    { locale = "fi"; arch = "linux-x86_64"; sha512 = "5ee311ba705cdfd7a6687a1a17e7c5b40fda22fa7acb3a9a0c236e2aa3d8037bbf568d9be29853abf3d52d6840ea96b7ee59cf9264709973aee3bc43e8c07979"; }
-    { locale = "fr"; arch = "linux-i686"; sha512 = "f135ff1b365df65cc9fab35941628be6f6264d2c91d8394d22fc35e945207640c8238cf2e0046598348d7521c1684eccdae0d7f0dc2bb22f415a862cad72d67a"; }
-    { locale = "fr"; arch = "linux-x86_64"; sha512 = "ffa44a92d3ab3ac8bcdd945b910e6da6a4c0b05f4c95572fd2a56fe73f935f7a387fb98100c7a84e4adc22c9b1cf8a0aa84ac04eb14c4b60b7989053c2021a0a"; }
-    { locale = "fy-NL"; arch = "linux-i686"; sha512 = "c90579ec9607992f4e551d327a3122d6bfd87ef3f1fb4708579c1a07deb2270a252c7443f3a3551bb725ef46a8cd9fa61cf59910260f9775eb8805e5e8acd61e"; }
-    { locale = "fy-NL"; arch = "linux-x86_64"; sha512 = "3cf5e391adca05195ea24be90a2414640f0fd72ffc858e971fc82675f49def7238c30f3ac48c08312414f436f9bde0ac2b05e11db94b40079c9d37f3d1a8ac5c"; }
-    { locale = "ga-IE"; arch = "linux-i686"; sha512 = "a6a9f52acd576b615075f8829cff2ed085e7254e8a4a2380c0eb088cba1986ac81f9d0badecbf0ece1f7ba7b7b169c8cda23fb32a9e79fa78d29fe8c0cb4c8de"; }
-    { locale = "ga-IE"; arch = "linux-x86_64"; sha512 = "4260f3a7245d8c7f0b6f3a0a47793c84eb83be44e19105a3efbc35ef1a1455f872a987c714eb95a1cfd4157816cd9eb09c5a6098460e90584e9d630812d66716"; }
-    { locale = "gd"; arch = "linux-i686"; sha512 = "12edcfd67dbc5d093d1c22eb707668e4f534a6baf96986e436684c9271d165fb2f422a2e84ef35b72063f1a91100230c92df2b08aee428ea0b384d6658f6bcb3"; }
-    { locale = "gd"; arch = "linux-x86_64"; sha512 = "b9ce9839cd3a4e8fbbba4f107a934ab4733b1feb65dd1e40a1c064f39026d03d1208b67b413ed4c643c7039f91e1ceb8747f3a46cc44d1bedb22275512f867b8"; }
-    { locale = "gl"; arch = "linux-i686"; sha512 = "d357cc4f8a9ba8ff47458b03d17e4d10dc7be8bb16493ac3e896f63a3229962034012c7ecda4a70d4dd1d9c4aa76c349bf21725c6164fc96e6fc36f9b0fea9ea"; }
-    { locale = "gl"; arch = "linux-x86_64"; sha512 = "fbd8a4eae6a94d966f8e1e9e2bcc7a6aed8b5a9991fc8367de28c11fc7b341fcf745c983f8259b89767a762604e55ade6212f5c1496dbf843c8eb49f89e8810c"; }
-    { locale = "he"; arch = "linux-i686"; sha512 = "440a86fb6a94657f05eda2bde2a2e74d17398468a0b603866a03a7f37458e69a921e81d2ac1af2718f1168a56ee03ad596c39e8d88c933576efecb99a724957e"; }
-    { locale = "he"; arch = "linux-x86_64"; sha512 = "51f3acbaf8971bd0bc93502605526f6d0be5093810f8a91f43c2597541dc23eb590a10b4f2839cd9ce1e13685fc7e38668184b12a23ae99356ffacf3f6481d83"; }
-    { locale = "hr"; arch = "linux-i686"; sha512 = "1b5960e4df8a6247c63fb3f5e80b1795b4e098f446debd96b6344dbf97694337d6437dad53635fac57036ed6551b8a780ca4880dc35626aee83860a5934f3f9f"; }
-    { locale = "hr"; arch = "linux-x86_64"; sha512 = "65110b98cea4a6174dd31de4aea53d2efb1fee822025f9a7ccd6ef3ac80c0baa605fefd7078c3528451ffad7d9e86400c5b7b527b026aaca022a0099673442af"; }
-    { locale = "hsb"; arch = "linux-i686"; sha512 = "bba6aa43cfee2422414c526f0c40fdc70984acb54e25e5eb75ef684e674b17a8dbf606e31d5d609bd572647ab3a9bbd78c76669156a1d2d4d45d8402650148b5"; }
-    { locale = "hsb"; arch = "linux-x86_64"; sha512 = "d50057bc3cdff3820f0bc09679f672d14a35240fc3e997836f9c04bd8aa922e41b627e0f632c2e76982439d4510262618d7d59adaa530708cadaf1fb111159e3"; }
-    { locale = "hu"; arch = "linux-i686"; sha512 = "026a686dbe81a4c52bd3997de66e0919ea870954a3d14c4483f5f76f618424013b82a2478ec9eb3f506a1f666ef3333832a3e4533adcce41901db79120d2a454"; }
-    { locale = "hu"; arch = "linux-x86_64"; sha512 = "bbff40d50155756c0d06fc4c9f7bf31f770901139b0a8d475ee0d8bd7ff1b2d4e8f5f3343fffd7af83f5f53f0567845f6c7ddde8abbd3f9f004c31a1479ec4ed"; }
-    { locale = "hy-AM"; arch = "linux-i686"; sha512 = "a798c9581cdb2debbe773ed952bbc56f7d7444eac5a448fce0f17ba2b260405526cdcec306c39c39b2e80ce7addba810bc659312505af8c0a928c8a2f8107245"; }
-    { locale = "hy-AM"; arch = "linux-x86_64"; sha512 = "570815807b0ea61bcf506effb2acc52ee6e8089b1328a046a8c55de0e3e72227a2d097ffe61f383733ca6f11405e5689595bc31f931f41e854f71770e18230de"; }
-    { locale = "id"; arch = "linux-i686"; sha512 = "ce54045626941976435a94bc5cf7513b79bc4e3e6a3b03bf1036ce9433cc6042689735b95d60afc4bf1de2ea31fe0ebc55b856bb51f0ba468744931a8c0727fa"; }
-    { locale = "id"; arch = "linux-x86_64"; sha512 = "ac9a78df1a8c6228560247e07cd7695eedf9ef0afd2c25a770aaffc8d96555f229e9332204e73ba803df2b8a7f590b970020b277123668ff20375608b093dc8c"; }
-    { locale = "is"; arch = "linux-i686"; sha512 = "7e0a2c31968102010d1fba379a25c4bcbbf447f2a0005e01271faf1e19dc7e71a5f8cfcfbf36ed510743d53886864aa4164284e99f7ab86ac27629ffaca6000a"; }
-    { locale = "is"; arch = "linux-x86_64"; sha512 = "cb78e3c2e1824d1da479e8ca5cdbdf420f7e046895a60b8912d44cbecf6966a32acbe2811545961a6da72f22052d8d2bed8d8ee1208b9c4e16250e6900265335"; }
-    { locale = "it"; arch = "linux-i686"; sha512 = "4852e13d1be422f107e18537bb364b04fb06fbb4854bb30f97753b0e0138ca2d9073e29c4b5905154fcd215701b300c0680025310479c6dca4294e3a591ff841"; }
-    { locale = "it"; arch = "linux-x86_64"; sha512 = "84c053e27ecd67a15d84bb2c222ed97061c130fde590db558c7f5919dd8acc8bcc5f032f84c53fe364f95607aa04bcf43375d2cc9fac2d4990535aa38d939793"; }
-    { locale = "ja"; arch = "linux-i686"; sha512 = "c539473ab434e20528f252f76f542f1938accde06b7d460b8e4a767a2721cded73710cca2264d2b18cd533a6118dfa9ae1c2701a6e1b18afe398f42a109439e9"; }
-    { locale = "ja"; arch = "linux-x86_64"; sha512 = "dada1c9e859b27a1bad7ba277749e77d68a20ad4c033861ee5ec54f78627efcaf336d082b1a8f9e4dfc91f6b16adde3eda873ae261351c3292c73c7f7ff05526"; }
-    { locale = "ko"; arch = "linux-i686"; sha512 = "59421684c74f6c9fce41c4769ef725445bc84224357db21f1f4c9f5154c695a337445bfa05fca1f045d0e05ce64faf2d2e5a9be8cac0d62dfa17bf1571f9db57"; }
-    { locale = "ko"; arch = "linux-x86_64"; sha512 = "3eead074a7c82570db1923b8a64afdd8d8d802d33c4087c8b647f905f580d27ede2913e1323b98c46fdeb83a91db1a43dd155d013d3f42b54a7daac1d541b449"; }
-    { locale = "lt"; arch = "linux-i686"; sha512 = "317315c0c436ddf882ac2d5a5c76a942f0fe04f80c1d7634ff7223b363b5fedd0778b127e1cbe21e737acdb869e770b9c828a9df075eb19f4d4870767297b912"; }
-    { locale = "lt"; arch = "linux-x86_64"; sha512 = "2926b5ec95101dc682723a3157de86fcfd9974a7a74486c1d80481145feeb49264bc661621fed4739238e852ca2759dda155a2c22094da90c6d5dcf43107b3d4"; }
-    { locale = "nb-NO"; arch = "linux-i686"; sha512 = "36638e01b76b608c2af0dd6f6336877fab6e0c8b8d16c5f90095c0bb24d475bf5486782fc26061dea134e7817288d84b8b805351411b7e70f39f3a76c9354b92"; }
-    { locale = "nb-NO"; arch = "linux-x86_64"; sha512 = "cde8fcd4b1cd8202085aa7a04b5781cd561a2d2ad3e1551af420397816addee8d57f4c49036ba79e49bd6f4452107cf8f3acc7c238beca5814ac5522aff2195d"; }
-    { locale = "nl"; arch = "linux-i686"; sha512 = "03aa22ab612c39e9a7df2a346a338b70c6ee13802860ab9359322e6fae425c1f8416cab762b9e061e3d8b34417043c3979e49a5c7079bc8327c0a317e5b98abf"; }
-    { locale = "nl"; arch = "linux-x86_64"; sha512 = "a78658fcd3cd6c9cf5c775d37e5ebb38f72e0317e30abf7dcbd57c0f400355bbe242ae4ae9862eeeccdfe0fe2cdfe6c6b1c06b8bda3010e941041bdeb6a51fab"; }
-    { locale = "nn-NO"; arch = "linux-i686"; sha512 = "4594fdc88d66a61567652f4ef7fbf43b55853933f098526671801e0fcd6256367e71c5a179419b1015d410b49a26505879ba0397013c8b510a2462798e5b3821"; }
-    { locale = "nn-NO"; arch = "linux-x86_64"; sha512 = "e76bbf55d900e8c7c92e3ad130e58c061685f2abeb2f3ced71e52c36bd0d979eca58cc3a74daa394469281011e7339c15b423847bc43631bd6b3da7f1d4aecd5"; }
-    { locale = "pa-IN"; arch = "linux-i686"; sha512 = "590b974b9785db9843b35dfdd9aa9d8422379570b6511a02564d5a0edbaeafad38f99aba403cb996ed47416a9944ca7fcc74d8aacda74c8113de7f112b10f397"; }
-    { locale = "pa-IN"; arch = "linux-x86_64"; sha512 = "0de6495b746c39e5117f5662b4896b206cb7a4f22a8a8c4f6c080f434b856fdf1f4029c7b8aa9a3372b6bd66d883c26ec82dc2aa17ce89005f462d58b6e3ecea"; }
-    { locale = "pl"; arch = "linux-i686"; sha512 = "f03e723aebf1c7709a0f08b9416acef98b5e4082b981fae3276d26e3c11650153cc56fd8f96653eb9d2b5213f5ccc42e062b42cf6182dc910c56a24f07440102"; }
-    { locale = "pl"; arch = "linux-x86_64"; sha512 = "4179561c6fdb2b48a0ab87ac6d823b702181b18c3ca7f28f28a546cd7bbd7453a525e80600a5cebd89912fd69b78d768e136bf12398e5b0471a6fac310fafbe9"; }
-    { locale = "pt-BR"; arch = "linux-i686"; sha512 = "906510719e6d7149fe2c8cee9d5a88ae0a86cbd4bb6e2c4ec0bc4d77b252f71b98939f4002dab69a24db75d022e485d1711350ca1f26b3b55b05701dfff6f9da"; }
-    { locale = "pt-BR"; arch = "linux-x86_64"; sha512 = "ed1c438050b3e0a22d61f39b9771f22e2425a9b7cca1fc9ae41606f708b32354f5cfe7321f87f3a77dd50270a7e38554215c6f8fbaa0ffbbc1a1c7f01c8c4c6c"; }
-    { locale = "pt-PT"; arch = "linux-i686"; sha512 = "1ed53b8ac706dc2750276928b507c072e3b2e49f7df2ab6d382b31b0618da6e41ce3fcf50f7815b4736859fe899017ea4a646f4594f4ac7ef5c272ccdd6d69a7"; }
-    { locale = "pt-PT"; arch = "linux-x86_64"; sha512 = "07b00355b73786d61dfa2cf1752fe42f8c464291f77f8192117414b66ef5f3c627064a608abb18c6938c8a2b1e4dfe223ebeb4f1c4590bb8c80dadb0b77841d7"; }
-    { locale = "rm"; arch = "linux-i686"; sha512 = "6fa680229b2dadfe6984af37d1ec93ef9d5f2d9014bc62618690c2e71a6bf8bd7d945fb0312553f0f2858fee89b454b84375a65fbb90f8479d1812d838ef1109"; }
-    { locale = "rm"; arch = "linux-x86_64"; sha512 = "b95336e5ae9bf794e35dcf58fb8b4c17c4b4e58b4fd8552d708f15e6d9518640f42599350fcb6f140bac57e7d54d49946ab5c910ed67ac453b0c1c3150a195ed"; }
-    { locale = "ro"; arch = "linux-i686"; sha512 = "102b3a1c23742bf9fad04c1d87a43cf4b6f805b93528ec7139d5b3eecf141990594f32c2c89a7a950aa4257801ec2e5aa91ca6fcf2e1a067978f47cec500f6b3"; }
-    { locale = "ro"; arch = "linux-x86_64"; sha512 = "8a613cf9fbf8a96ee2b3a6610ad2638f388530601cb7af4bf9c44f73e92f21e97ea3a147887ebcb5080570bf6f7d9c0965e834eec011c646fc57100d8fcb7df1"; }
-    { locale = "ru"; arch = "linux-i686"; sha512 = "6d2a1bb3db76516f1011b701827b43e66099a50d575facd3b5be9718be21d4b7ef80feba091e4273960af8f56f416514c2d308877b039be06898bb50365e9e27"; }
-    { locale = "ru"; arch = "linux-x86_64"; sha512 = "e74578096eca86f68e993f620eaf66f220cc577522e73592092b6c63657640cea95d0b41ea035d505580aee258629e2f36e2abca9952372d102bcb0136e995d8"; }
-    { locale = "si"; arch = "linux-i686"; sha512 = "9900c9462c97d7e783dc9893a4a6f87a0e000866ddb3dffefd67548b30ffa4e9db8a2e93247027a45aae03c9d0bac305991a1684de17e8bd28f3c2d3e5a38309"; }
-    { locale = "si"; arch = "linux-x86_64"; sha512 = "00666797cc9b4ba2b3ec7c9914639ef5fda3df3c124aaa3255b37f721289f1b2e33a99e6e68d40a66daf96860b21c6af10a68a216b6e3a35d8261ba704be7081"; }
-    { locale = "sk"; arch = "linux-i686"; sha512 = "ca001243f8359c38b781fea53c3ede7baabea25af516d852e75b6beaca9ea1b9ce4964c345ff5754657a1a953a18bef2c631e962d92f699e2dc5a31a9d594d39"; }
-    { locale = "sk"; arch = "linux-x86_64"; sha512 = "5ce7dbdf5f9ac2b46c1a27aace9607011dd064de64a778ae39009d9ae6d729da903f5a3c09def1ad7d571a8b717a3f66889053abb38eddfe4146b04597fc2a0c"; }
-    { locale = "sl"; arch = "linux-i686"; sha512 = "ff9784d31a9233c925d1745752497cbe055df378b702169ed4cf1df144b00936566d9dbef4ae5ed9821933e70bec3ef71de4086b0a89f639df2bd57e1796ef3c"; }
-    { locale = "sl"; arch = "linux-x86_64"; sha512 = "673413e23de2de7daa9c4230105c6e58f21d4ebfc55b1df58c0351448d2f252e128c03ee59ba43525d6c92e2578af4c073e08f6250b4c94bb42beba81ae20f7a"; }
-    { locale = "sq"; arch = "linux-i686"; sha512 = "f2e3bccba1c8ad67d696e54e2001726cabe6f61e41daaa9dab2eee00cac7877a8af15c4876993ebed6042fe540c68b25fcee52888a6bd5ad6726875bb4489e05"; }
-    { locale = "sq"; arch = "linux-x86_64"; sha512 = "aa560ee3859d3bed0c5d5c4203b05ff47f7357b674c9d4ddad403a5f0c403994ecb982ca15b542ec9a32d0f27a5e04f41c574a1cbdc5f056c8a57e62de778f7b"; }
-    { locale = "sr"; arch = "linux-i686"; sha512 = "9739c33d30b7e6d6c28fc29f8f1badb06d32ae686fc684ec6743a5ffc4ba42d6060ba95c2bd1e3c2486c4d36ee0f14a1201f74768197073136991e49acec79ff"; }
-    { locale = "sr"; arch = "linux-x86_64"; sha512 = "5a86b2a9c67d489b21077eda647585291ddea2ea98d678b60fda134e11ee074ee39b06f84d3263d04b43358a10c04d4b238a65e9e3015801847e319850643bd3"; }
-    { locale = "sv-SE"; arch = "linux-i686"; sha512 = "e394654340d4f2da306149ed7cf0413ac0d40fb1488402e12e15c09c831585ecfcf6c355b420a902d76ec0aea7a5c9e234004f1ee19ed295d7b52343ab67c9a6"; }
-    { locale = "sv-SE"; arch = "linux-x86_64"; sha512 = "5d044f32243d99ffa8ab0b7345b0ea1a78d83cf6a921af0e89154c4f9f7caa21260f1e3c2c8287050dc44381f2979af51ab028efca7d197310d175dc86aecfcc"; }
-    { locale = "ta-LK"; arch = "linux-i686"; sha512 = "08154b5030c58cb52ef6b6584fc3d20d62e02cc0ee919f37c3a2e97f5afdac777f9dc6dd5881e3a87e5c20dfefdf816c068da014e42e111a3a8c7043b6e9002a"; }
-    { locale = "ta-LK"; arch = "linux-x86_64"; sha512 = "e8f88dbf82414cf680d9748c606ef73fef11a37bafd82a3cd79b5c5abebedf629993e7ecb3e3d6dcd3524fbda10b8b0af743e2948ac49141c76d008432706c4f"; }
-    { locale = "tr"; arch = "linux-i686"; sha512 = "63bcbce3c8f6e635cbfc73f83b33c6c6e9fd5f45f8878aa500772f807f1acdf611dcf4002084902937f95cd1abab1a76e00822327235e7b61ffb369b327974de"; }
-    { locale = "tr"; arch = "linux-x86_64"; sha512 = "cc5c84cd0854c0626e6c880e1abf4090f5488c84f39f52d466f2deb871ed55ad9890bf9f4a104c182ec292979eda56e4de114d328deddac5746ec9e969b6ecc6"; }
-    { locale = "uk"; arch = "linux-i686"; sha512 = "c55ae7ae3e388ec11d8c9bbeb3f18fa5883a5ea5b90d924e5f9a7d61876142a7b336eb50d35e54a405cee803ab7ad4d754a7ceb02cb9a2b9adeb415c44bd0c88"; }
-    { locale = "uk"; arch = "linux-x86_64"; sha512 = "42e535767e82c01868d2cd574805c814e7d67caaab9e531d0b82d36df92a2e42e19d8d6593b28c237b645e60035100d85a54b8acaba8c7a48ef83e865553cfc8"; }
-    { locale = "vi"; arch = "linux-i686"; sha512 = "52e05acb6c681ba62b608cb60d24816aaa35f296b6552b7006fe56b2f2d908a71736490c85e8bfb350d468510a031deedad65f691e4b77fc1dfee26bd30bdb41"; }
-    { locale = "vi"; arch = "linux-x86_64"; sha512 = "9a5b7cae14bcb8e390f7c8b7924a107058dc382e2627984f8c9eb5f380eb1d38b1152c928a5852d387d5d2b7ef7aa0d7393176a03dec0d3f1c1fade399149b7d"; }
-    { locale = "zh-CN"; arch = "linux-i686"; sha512 = "caa4533f57b85ed57ef66fe4807f8079d8bef73ad9a454e23a90154253c205a110e13fe1376c0a7d644b326f7dde888d8ed97ffedb8282d8887bb7131749f510"; }
-    { locale = "zh-CN"; arch = "linux-x86_64"; sha512 = "d025a3d878c6bf3ae9c1d07c023d89fc83b1c1314179f986fdac46066d334e209689d662bc7fef0fb7bfd7943cc741db5f397188b258ab42247a85c559ac27d7"; }
-    { locale = "zh-TW"; arch = "linux-i686"; sha512 = "d3e44f2f92ec4bf6b4a5dfebbcd2f05b323050ff88a1eb3b19301224a6815051e0e884e663dde834cef0a6889217ae94e446669aa0c97201c2d1f1bc2729c1b3"; }
-    { locale = "zh-TW"; arch = "linux-x86_64"; sha512 = "6c750b1f7f1253f1702178cdc80a1f8962961e16fd1f2e3f2f9d91062785349183e52799a399e60dcf7a3b7208a0755c3d7c137c28ee0b6ac99ccfa75e63b60f"; }
-  ];
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/ar/thunderbird-45.5.1.tar.bz2";
+      locale = "ar";
+      arch = "linux-x86_64";
+      sha512 = "b5760210c14df4648d6bbd48136dbb3221c682ecebb649be848f8fbecf89d2251630c8d8208438f0ab66b73964bbdf8e05035bb88f0c773ea253cab163b569b1";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/ast/thunderbird-45.5.1.tar.bz2";
+      locale = "ast";
+      arch = "linux-x86_64";
+      sha512 = "64028617fe76832663fd69e2305ca84dfd576507348dcffc680d94d6d1de640fdd13874a73638767d3aedd2c84d38fd370e57ba3f95281a0fc0ad9d21b4d727d";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/be/thunderbird-45.5.1.tar.bz2";
+      locale = "be";
+      arch = "linux-x86_64";
+      sha512 = "932f0dbe85e6cf43c70ea6f9537785322bc5280106c97b4e21ea828ebc5d997d027c260f4e1b4441909c3a3b7e61f51b95167cf6a632bce98fd2b6aa33eb413d";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/bg/thunderbird-45.5.1.tar.bz2";
+      locale = "bg";
+      arch = "linux-x86_64";
+      sha512 = "359973dc382c7565623f63ede93e37b1d1a2bbcf9690710e05fc066a8c7f67b059b9d14c978c93741d65544029e5970f520d7a64dd07902d89f0331b9a3330f3";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/bn-BD/thunderbird-45.5.1.tar.bz2";
+      locale = "bn-BD";
+      arch = "linux-x86_64";
+      sha512 = "f2d5b0c3fadb19d89733feecb50a7507b1c29dd93b5064a0db95292be1635c29bb3d98b84fb29ac38224c97dc7af29ff6024652562273eeca2a6ee38a0d19de3";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/br/thunderbird-45.5.1.tar.bz2";
+      locale = "br";
+      arch = "linux-x86_64";
+      sha512 = "3d1aba23ef4d969548b2fa729ad1795496f7123b4437f7692bfcbda4c87b0bd7edd1caf00cdb207eb4aaaf6c8ec8d0554d553a7db5a85e1e24d07c401d507794";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/ca/thunderbird-45.5.1.tar.bz2";
+      locale = "ca";
+      arch = "linux-x86_64";
+      sha512 = "a1c04f9846edba32587b1f62379e703a62af0b9886f1e56e86854629a034657d86a4f06ace3bca9f75a21c734b559f17522692e4c90607ab353669bfe02a3dc4";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/cs/thunderbird-45.5.1.tar.bz2";
+      locale = "cs";
+      arch = "linux-x86_64";
+      sha512 = "f93ab27ec7e126aa309ba4d6d5900be7c427a29ccbbe141cd4e7f211daaeca6459163711204f02fafda285020173417d89a9c46f593114c81b73ce430a2c7743";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/cy/thunderbird-45.5.1.tar.bz2";
+      locale = "cy";
+      arch = "linux-x86_64";
+      sha512 = "9166a6c737dde179411e1a0d509141f29c7df7e3fe7e4f6def229be08bba4ccf5963804a86490d08e5ae3dd602f246c2fdce717562616445257b81b8c17ee795";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/da/thunderbird-45.5.1.tar.bz2";
+      locale = "da";
+      arch = "linux-x86_64";
+      sha512 = "6965968613889d69182ddf3dadf7e109e958d7561cb2b1a3936d9302b725d9c59c8cb8730ecf62e422a38c108da2ffa6ae5b012df348dd9250047a15b046e760";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/de/thunderbird-45.5.1.tar.bz2";
+      locale = "de";
+      arch = "linux-x86_64";
+      sha512 = "2a33d8104e1149181e91e9588a4236b481a8837835af2a1b08f3cc2dd55eecb3059aafbabccae8b0dbb8cfc632bdc8fc6198bb600b60a9dbff5a96a8609699d1";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/dsb/thunderbird-45.5.1.tar.bz2";
+      locale = "dsb";
+      arch = "linux-x86_64";
+      sha512 = "91314f8c8c7a9e1d13f618a1b71df8141933e6fe5f3317da06ac84ce1ea269bfe0740d94b2d8e240005a315a469cab39e79f70c06169712fdf318c9b3b5ac9c8";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/el/thunderbird-45.5.1.tar.bz2";
+      locale = "el";
+      arch = "linux-x86_64";
+      sha512 = "601ed7cd8f6f1e867647036ab3f8fadca0507f4441998ac29dfd15a6c8cf0c65b94cd647b0b4602d7624f041a8fd14a8210fde26a7c09763746d31008699e0d3";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/en-GB/thunderbird-45.5.1.tar.bz2";
+      locale = "en-GB";
+      arch = "linux-x86_64";
+      sha512 = "07222127e045d41f912baa160b08e22a373ba605f857d001c92792ebbcf789e1094c68e0f16bf9c609fda0321ee0a0f702c7d47481f4da6a9cb80071b7e21095";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/en-US/thunderbird-45.5.1.tar.bz2";
+      locale = "en-US";
+      arch = "linux-x86_64";
+      sha512 = "3dfeaa5e64b4063e0b5ae552bc47db1ab06e4381c55ccd35b05766aeac5add880804f07a40d39db08395a467ffa96d67261971359c46bce8d9ec6adde5948f2a";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/es-AR/thunderbird-45.5.1.tar.bz2";
+      locale = "es-AR";
+      arch = "linux-x86_64";
+      sha512 = "087caecb722222c3950c8a644cf7af37cd356b62b4802fcac1a4b93620fa086e2b3e97a6c5f6b22aa61d3478dad41bc7b8ab39d31bf76b710f2e53b36cea2049";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/es-ES/thunderbird-45.5.1.tar.bz2";
+      locale = "es-ES";
+      arch = "linux-x86_64";
+      sha512 = "f335002365f68e28cf0e28c407843f8de3184b33a7e57638104d1ac3515cfcbd14842ecc6d61a7de012e2cb1d7c5ff170598b5f81dbcbb71b81549f6a8bb5531";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/et/thunderbird-45.5.1.tar.bz2";
+      locale = "et";
+      arch = "linux-x86_64";
+      sha512 = "555874dfde25076892647a451bd9e02879eb5c8584dd22d5bb73f9c5deab5f64103d80c57292ed6a04b73fe27aa28d78210a1a5da7147fdae0980faaa8d19641";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/eu/thunderbird-45.5.1.tar.bz2";
+      locale = "eu";
+      arch = "linux-x86_64";
+      sha512 = "5f4361f43bca179613f24045835fe31e17fe949da0e2f9e470635d714f521abac45d0104e663ab44806a7e45f4d44d515b002508e8388c2c72e0b91c793ec8bf";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/fi/thunderbird-45.5.1.tar.bz2";
+      locale = "fi";
+      arch = "linux-x86_64";
+      sha512 = "5ee311ba705cdfd7a6687a1a17e7c5b40fda22fa7acb3a9a0c236e2aa3d8037bbf568d9be29853abf3d52d6840ea96b7ee59cf9264709973aee3bc43e8c07979";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/fr/thunderbird-45.5.1.tar.bz2";
+      locale = "fr";
+      arch = "linux-x86_64";
+      sha512 = "ffa44a92d3ab3ac8bcdd945b910e6da6a4c0b05f4c95572fd2a56fe73f935f7a387fb98100c7a84e4adc22c9b1cf8a0aa84ac04eb14c4b60b7989053c2021a0a";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/fy-NL/thunderbird-45.5.1.tar.bz2";
+      locale = "fy-NL";
+      arch = "linux-x86_64";
+      sha512 = "3cf5e391adca05195ea24be90a2414640f0fd72ffc858e971fc82675f49def7238c30f3ac48c08312414f436f9bde0ac2b05e11db94b40079c9d37f3d1a8ac5c";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/ga-IE/thunderbird-45.5.1.tar.bz2";
+      locale = "ga-IE";
+      arch = "linux-x86_64";
+      sha512 = "4260f3a7245d8c7f0b6f3a0a47793c84eb83be44e19105a3efbc35ef1a1455f872a987c714eb95a1cfd4157816cd9eb09c5a6098460e90584e9d630812d66716";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/gd/thunderbird-45.5.1.tar.bz2";
+      locale = "gd";
+      arch = "linux-x86_64";
+      sha512 = "b9ce9839cd3a4e8fbbba4f107a934ab4733b1feb65dd1e40a1c064f39026d03d1208b67b413ed4c643c7039f91e1ceb8747f3a46cc44d1bedb22275512f867b8";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/gl/thunderbird-45.5.1.tar.bz2";
+      locale = "gl";
+      arch = "linux-x86_64";
+      sha512 = "fbd8a4eae6a94d966f8e1e9e2bcc7a6aed8b5a9991fc8367de28c11fc7b341fcf745c983f8259b89767a762604e55ade6212f5c1496dbf843c8eb49f89e8810c";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/he/thunderbird-45.5.1.tar.bz2";
+      locale = "he";
+      arch = "linux-x86_64";
+      sha512 = "51f3acbaf8971bd0bc93502605526f6d0be5093810f8a91f43c2597541dc23eb590a10b4f2839cd9ce1e13685fc7e38668184b12a23ae99356ffacf3f6481d83";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/hr/thunderbird-45.5.1.tar.bz2";
+      locale = "hr";
+      arch = "linux-x86_64";
+      sha512 = "65110b98cea4a6174dd31de4aea53d2efb1fee822025f9a7ccd6ef3ac80c0baa605fefd7078c3528451ffad7d9e86400c5b7b527b026aaca022a0099673442af";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/hsb/thunderbird-45.5.1.tar.bz2";
+      locale = "hsb";
+      arch = "linux-x86_64";
+      sha512 = "d50057bc3cdff3820f0bc09679f672d14a35240fc3e997836f9c04bd8aa922e41b627e0f632c2e76982439d4510262618d7d59adaa530708cadaf1fb111159e3";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/hu/thunderbird-45.5.1.tar.bz2";
+      locale = "hu";
+      arch = "linux-x86_64";
+      sha512 = "bbff40d50155756c0d06fc4c9f7bf31f770901139b0a8d475ee0d8bd7ff1b2d4e8f5f3343fffd7af83f5f53f0567845f6c7ddde8abbd3f9f004c31a1479ec4ed";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/hy-AM/thunderbird-45.5.1.tar.bz2";
+      locale = "hy-AM";
+      arch = "linux-x86_64";
+      sha512 = "570815807b0ea61bcf506effb2acc52ee6e8089b1328a046a8c55de0e3e72227a2d097ffe61f383733ca6f11405e5689595bc31f931f41e854f71770e18230de";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/id/thunderbird-45.5.1.tar.bz2";
+      locale = "id";
+      arch = "linux-x86_64";
+      sha512 = "ac9a78df1a8c6228560247e07cd7695eedf9ef0afd2c25a770aaffc8d96555f229e9332204e73ba803df2b8a7f590b970020b277123668ff20375608b093dc8c";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/is/thunderbird-45.5.1.tar.bz2";
+      locale = "is";
+      arch = "linux-x86_64";
+      sha512 = "cb78e3c2e1824d1da479e8ca5cdbdf420f7e046895a60b8912d44cbecf6966a32acbe2811545961a6da72f22052d8d2bed8d8ee1208b9c4e16250e6900265335";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/it/thunderbird-45.5.1.tar.bz2";
+      locale = "it";
+      arch = "linux-x86_64";
+      sha512 = "84c053e27ecd67a15d84bb2c222ed97061c130fde590db558c7f5919dd8acc8bcc5f032f84c53fe364f95607aa04bcf43375d2cc9fac2d4990535aa38d939793";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/ja/thunderbird-45.5.1.tar.bz2";
+      locale = "ja";
+      arch = "linux-x86_64";
+      sha512 = "dada1c9e859b27a1bad7ba277749e77d68a20ad4c033861ee5ec54f78627efcaf336d082b1a8f9e4dfc91f6b16adde3eda873ae261351c3292c73c7f7ff05526";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/ko/thunderbird-45.5.1.tar.bz2";
+      locale = "ko";
+      arch = "linux-x86_64";
+      sha512 = "3eead074a7c82570db1923b8a64afdd8d8d802d33c4087c8b647f905f580d27ede2913e1323b98c46fdeb83a91db1a43dd155d013d3f42b54a7daac1d541b449";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/lt/thunderbird-45.5.1.tar.bz2";
+      locale = "lt";
+      arch = "linux-x86_64";
+      sha512 = "2926b5ec95101dc682723a3157de86fcfd9974a7a74486c1d80481145feeb49264bc661621fed4739238e852ca2759dda155a2c22094da90c6d5dcf43107b3d4";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/nb-NO/thunderbird-45.5.1.tar.bz2";
+      locale = "nb-NO";
+      arch = "linux-x86_64";
+      sha512 = "cde8fcd4b1cd8202085aa7a04b5781cd561a2d2ad3e1551af420397816addee8d57f4c49036ba79e49bd6f4452107cf8f3acc7c238beca5814ac5522aff2195d";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/nl/thunderbird-45.5.1.tar.bz2";
+      locale = "nl";
+      arch = "linux-x86_64";
+      sha512 = "a78658fcd3cd6c9cf5c775d37e5ebb38f72e0317e30abf7dcbd57c0f400355bbe242ae4ae9862eeeccdfe0fe2cdfe6c6b1c06b8bda3010e941041bdeb6a51fab";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/nn-NO/thunderbird-45.5.1.tar.bz2";
+      locale = "nn-NO";
+      arch = "linux-x86_64";
+      sha512 = "e76bbf55d900e8c7c92e3ad130e58c061685f2abeb2f3ced71e52c36bd0d979eca58cc3a74daa394469281011e7339c15b423847bc43631bd6b3da7f1d4aecd5";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/pa-IN/thunderbird-45.5.1.tar.bz2";
+      locale = "pa-IN";
+      arch = "linux-x86_64";
+      sha512 = "0de6495b746c39e5117f5662b4896b206cb7a4f22a8a8c4f6c080f434b856fdf1f4029c7b8aa9a3372b6bd66d883c26ec82dc2aa17ce89005f462d58b6e3ecea";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/pl/thunderbird-45.5.1.tar.bz2";
+      locale = "pl";
+      arch = "linux-x86_64";
+      sha512 = "4179561c6fdb2b48a0ab87ac6d823b702181b18c3ca7f28f28a546cd7bbd7453a525e80600a5cebd89912fd69b78d768e136bf12398e5b0471a6fac310fafbe9";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/pt-BR/thunderbird-45.5.1.tar.bz2";
+      locale = "pt-BR";
+      arch = "linux-x86_64";
+      sha512 = "ed1c438050b3e0a22d61f39b9771f22e2425a9b7cca1fc9ae41606f708b32354f5cfe7321f87f3a77dd50270a7e38554215c6f8fbaa0ffbbc1a1c7f01c8c4c6c";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/pt-PT/thunderbird-45.5.1.tar.bz2";
+      locale = "pt-PT";
+      arch = "linux-x86_64";
+      sha512 = "07b00355b73786d61dfa2cf1752fe42f8c464291f77f8192117414b66ef5f3c627064a608abb18c6938c8a2b1e4dfe223ebeb4f1c4590bb8c80dadb0b77841d7";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/rm/thunderbird-45.5.1.tar.bz2";
+      locale = "rm";
+      arch = "linux-x86_64";
+      sha512 = "b95336e5ae9bf794e35dcf58fb8b4c17c4b4e58b4fd8552d708f15e6d9518640f42599350fcb6f140bac57e7d54d49946ab5c910ed67ac453b0c1c3150a195ed";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/ro/thunderbird-45.5.1.tar.bz2";
+      locale = "ro";
+      arch = "linux-x86_64";
+      sha512 = "8a613cf9fbf8a96ee2b3a6610ad2638f388530601cb7af4bf9c44f73e92f21e97ea3a147887ebcb5080570bf6f7d9c0965e834eec011c646fc57100d8fcb7df1";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/ru/thunderbird-45.5.1.tar.bz2";
+      locale = "ru";
+      arch = "linux-x86_64";
+      sha512 = "e74578096eca86f68e993f620eaf66f220cc577522e73592092b6c63657640cea95d0b41ea035d505580aee258629e2f36e2abca9952372d102bcb0136e995d8";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/si/thunderbird-45.5.1.tar.bz2";
+      locale = "si";
+      arch = "linux-x86_64";
+      sha512 = "00666797cc9b4ba2b3ec7c9914639ef5fda3df3c124aaa3255b37f721289f1b2e33a99e6e68d40a66daf96860b21c6af10a68a216b6e3a35d8261ba704be7081";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/sk/thunderbird-45.5.1.tar.bz2";
+      locale = "sk";
+      arch = "linux-x86_64";
+      sha512 = "5ce7dbdf5f9ac2b46c1a27aace9607011dd064de64a778ae39009d9ae6d729da903f5a3c09def1ad7d571a8b717a3f66889053abb38eddfe4146b04597fc2a0c";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/sl/thunderbird-45.5.1.tar.bz2";
+      locale = "sl";
+      arch = "linux-x86_64";
+      sha512 = "673413e23de2de7daa9c4230105c6e58f21d4ebfc55b1df58c0351448d2f252e128c03ee59ba43525d6c92e2578af4c073e08f6250b4c94bb42beba81ae20f7a";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/sq/thunderbird-45.5.1.tar.bz2";
+      locale = "sq";
+      arch = "linux-x86_64";
+      sha512 = "aa560ee3859d3bed0c5d5c4203b05ff47f7357b674c9d4ddad403a5f0c403994ecb982ca15b542ec9a32d0f27a5e04f41c574a1cbdc5f056c8a57e62de778f7b";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/sr/thunderbird-45.5.1.tar.bz2";
+      locale = "sr";
+      arch = "linux-x86_64";
+      sha512 = "5a86b2a9c67d489b21077eda647585291ddea2ea98d678b60fda134e11ee074ee39b06f84d3263d04b43358a10c04d4b238a65e9e3015801847e319850643bd3";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/sv-SE/thunderbird-45.5.1.tar.bz2";
+      locale = "sv-SE";
+      arch = "linux-x86_64";
+      sha512 = "5d044f32243d99ffa8ab0b7345b0ea1a78d83cf6a921af0e89154c4f9f7caa21260f1e3c2c8287050dc44381f2979af51ab028efca7d197310d175dc86aecfcc";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/ta-LK/thunderbird-45.5.1.tar.bz2";
+      locale = "ta-LK";
+      arch = "linux-x86_64";
+      sha512 = "e8f88dbf82414cf680d9748c606ef73fef11a37bafd82a3cd79b5c5abebedf629993e7ecb3e3d6dcd3524fbda10b8b0af743e2948ac49141c76d008432706c4f";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/tr/thunderbird-45.5.1.tar.bz2";
+      locale = "tr";
+      arch = "linux-x86_64";
+      sha512 = "cc5c84cd0854c0626e6c880e1abf4090f5488c84f39f52d466f2deb871ed55ad9890bf9f4a104c182ec292979eda56e4de114d328deddac5746ec9e969b6ecc6";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/uk/thunderbird-45.5.1.tar.bz2";
+      locale = "uk";
+      arch = "linux-x86_64";
+      sha512 = "42e535767e82c01868d2cd574805c814e7d67caaab9e531d0b82d36df92a2e42e19d8d6593b28c237b645e60035100d85a54b8acaba8c7a48ef83e865553cfc8";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/vi/thunderbird-45.5.1.tar.bz2";
+      locale = "vi";
+      arch = "linux-x86_64";
+      sha512 = "9a5b7cae14bcb8e390f7c8b7924a107058dc382e2627984f8c9eb5f380eb1d38b1152c928a5852d387d5d2b7ef7aa0d7393176a03dec0d3f1c1fade399149b7d";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/zh-CN/thunderbird-45.5.1.tar.bz2";
+      locale = "zh-CN";
+      arch = "linux-x86_64";
+      sha512 = "d025a3d878c6bf3ae9c1d07c023d89fc83b1c1314179f986fdac46066d334e209689d662bc7fef0fb7bfd7943cc741db5f397188b258ab42247a85c559ac27d7";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-x86_64/zh-TW/thunderbird-45.5.1.tar.bz2";
+      locale = "zh-TW";
+      arch = "linux-x86_64";
+      sha512 = "6c750b1f7f1253f1702178cdc80a1f8962961e16fd1f2e3f2f9d91062785349183e52799a399e60dcf7a3b7208a0755c3d7c137c28ee0b6ac99ccfa75e63b60f";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/ar/thunderbird-45.5.1.tar.bz2";
+      locale = "ar";
+      arch = "linux-i686";
+      sha512 = "a2495d8d9a56104b5c5d87e795689d0334563fdb98fa751a2d7bedc9993ba66d3b1cfdc9d0d3711b8c8a2f91d8267c97035d1120051baa4aefcba1b968b9edc8";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/ast/thunderbird-45.5.1.tar.bz2";
+      locale = "ast";
+      arch = "linux-i686";
+      sha512 = "b1ccb4d51d9f5aec0cef3ccb0d5fcd14ca69a446cb18fc8b9f22d98325c0be45ea608f9c9ac15fb33e2b426b84c53e908a05331e360af728e088ad9c3cc77107";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/be/thunderbird-45.5.1.tar.bz2";
+      locale = "be";
+      arch = "linux-i686";
+      sha512 = "32d89785e95667d17b7b4d19d37557c7d592370e42613c8c171e1b816d38a16197fdf8397211f61a9261457ea426f6de84af721462e4296c825f931655e64e66";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/bg/thunderbird-45.5.1.tar.bz2";
+      locale = "bg";
+      arch = "linux-i686";
+      sha512 = "b5d2ed68959cc6a473e83db35634c6322f4638edae1a19f81d5ae1ab0080aed0940b751e96d3d3a562aa1811ca3c5435f2f3b0a205948f06c2d479cd98109e88";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/bn-BD/thunderbird-45.5.1.tar.bz2";
+      locale = "bn-BD";
+      arch = "linux-i686";
+      sha512 = "a76fb786e1cb0485b4e212097685fa259ff76386bce3cbbec1d47e061c7116df76adb8bf419e51ade098fdb9b55a7aad5348e13917104d22a0aa39518205ca47";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/br/thunderbird-45.5.1.tar.bz2";
+      locale = "br";
+      arch = "linux-i686";
+      sha512 = "51c1402350cec63a60f4ea96cdaedb1aa74250583a3cfed575060fb5990294446a8254108fcbd99607a286b8bde43357ccc8e0195330352d1497b8c173a7b283";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/ca/thunderbird-45.5.1.tar.bz2";
+      locale = "ca";
+      arch = "linux-i686";
+      sha512 = "1df09781962fdfc7abc425f9f96d2efcc7471bb9bb8cf2c0152846673c7fbfc86b6b4c05d73d3c949607d056478661be0e0d24b769f816820d1e4670fdf240f7";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/cs/thunderbird-45.5.1.tar.bz2";
+      locale = "cs";
+      arch = "linux-i686";
+      sha512 = "463f336f49ababdb13397a10db3b189e3d364b07f9f42a4d31e770edd846c56fdb81f79228ffa51ab7f6555818bc3a0a3e5f1e546727bb3cd81f95f2264c392d";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/cy/thunderbird-45.5.1.tar.bz2";
+      locale = "cy";
+      arch = "linux-i686";
+      sha512 = "8a4802763162dd32577e02f878482094b3bae4c51b9ac7c109d188c8b5ab9fd0053c34eb2fabaed873e0ba9e7f5fac2ebe6604a0da00b806594e28fd0f823721";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/da/thunderbird-45.5.1.tar.bz2";
+      locale = "da";
+      arch = "linux-i686";
+      sha512 = "bc430839b463ee22e4d1736be48f8f9e958307c3069b337b0ad816e3f88274b22b98ce66fec267f4ed134750fed656b1ebad0bce29637594d053bd82d1be3d34";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/de/thunderbird-45.5.1.tar.bz2";
+      locale = "de";
+      arch = "linux-i686";
+      sha512 = "0a9ac8af9a823d69c8b2671f24bb203239a888d1423656241926dc5fa978e989ca5df303211e4a5208624d01ba34dd93915463eb88b0ee8ed027dad592a057c0";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/dsb/thunderbird-45.5.1.tar.bz2";
+      locale = "dsb";
+      arch = "linux-i686";
+      sha512 = "9f089cc93ed4660250ebb0d4c677d36515d9dbf29f78947c88558c69362663fffff293fbb3acaf4fca2e40a88d093d7637e385db757812cad29c31b6b746e87c";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/el/thunderbird-45.5.1.tar.bz2";
+      locale = "el";
+      arch = "linux-i686";
+      sha512 = "1099c8443c089ac7f430023960802ab2ce914f103983d68dd283f0f1bb7d36ff8b35e44b7e766237cf19e9c6f02e5dbbab5f62e4cfdd8b80816d0892779732bd";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/en-GB/thunderbird-45.5.1.tar.bz2";
+      locale = "en-GB";
+      arch = "linux-i686";
+      sha512 = "1efadd60994808919b24214c1610dccda0a76bf0de6cf3518b6eb665d035272f1a2e5e4e9e09fc2d4eb5a7021bdfaf3c3391e166737824355bb859b1d3fa54b8";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/en-US/thunderbird-45.5.1.tar.bz2";
+      locale = "en-US";
+      arch = "linux-i686";
+      sha512 = "663ff453dfc556bd85633030e271174d96f039d8ea77bb1a338df02298feaea297ca7b4010d9c2973d19ba988b6e2b807486ca40f69bbfce84d0b7f8b21f7c32";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/es-AR/thunderbird-45.5.1.tar.bz2";
+      locale = "es-AR";
+      arch = "linux-i686";
+      sha512 = "34fbd5a614ef5a0b9c46b63c80292dfe7caf2f65758a52d130ad4567311cde3e84ca1ab41d5fa87509b5ad9c6ce4ab136a4c08f1977b3695e5471265a758bd7d";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/es-ES/thunderbird-45.5.1.tar.bz2";
+      locale = "es-ES";
+      arch = "linux-i686";
+      sha512 = "e429e936f7d022b421c995ea8df18d72a3abf8a9dd2a0a6ae87435333c94a8abdcfa3c2416e36f883b1d2b5f573a17d8a38161fed5ff323767fc25756dc72d69";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/et/thunderbird-45.5.1.tar.bz2";
+      locale = "et";
+      arch = "linux-i686";
+      sha512 = "3ec9056dc49cbc6b7734498ab5522fef93eeb6f08668cd04bb610bf0d2519759c614de07562706a3efc2b5e64325a70c04b18fb3138c2ce3cabe6ba1a51bdde5";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/eu/thunderbird-45.5.1.tar.bz2";
+      locale = "eu";
+      arch = "linux-i686";
+      sha512 = "951a9fcb82f77cb45a5ccaf300d0516da7d1be069931fde87e729b9c9d99a0a07ee810a4bf4791698741ff52128f66d6ecc3d8c7887cf22462006929c582cacf";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/fi/thunderbird-45.5.1.tar.bz2";
+      locale = "fi";
+      arch = "linux-i686";
+      sha512 = "e28371194085e689d6445ce3a0de77c7b8127aeb740769ff2aaa8f0345cfbc7b3e8ad5f2d891c8ca34c2fa004cfcaace649b900248493e5c6ac4404b6f581e19";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/fr/thunderbird-45.5.1.tar.bz2";
+      locale = "fr";
+      arch = "linux-i686";
+      sha512 = "f135ff1b365df65cc9fab35941628be6f6264d2c91d8394d22fc35e945207640c8238cf2e0046598348d7521c1684eccdae0d7f0dc2bb22f415a862cad72d67a";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/fy-NL/thunderbird-45.5.1.tar.bz2";
+      locale = "fy-NL";
+      arch = "linux-i686";
+      sha512 = "c90579ec9607992f4e551d327a3122d6bfd87ef3f1fb4708579c1a07deb2270a252c7443f3a3551bb725ef46a8cd9fa61cf59910260f9775eb8805e5e8acd61e";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/ga-IE/thunderbird-45.5.1.tar.bz2";
+      locale = "ga-IE";
+      arch = "linux-i686";
+      sha512 = "a6a9f52acd576b615075f8829cff2ed085e7254e8a4a2380c0eb088cba1986ac81f9d0badecbf0ece1f7ba7b7b169c8cda23fb32a9e79fa78d29fe8c0cb4c8de";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/gd/thunderbird-45.5.1.tar.bz2";
+      locale = "gd";
+      arch = "linux-i686";
+      sha512 = "12edcfd67dbc5d093d1c22eb707668e4f534a6baf96986e436684c9271d165fb2f422a2e84ef35b72063f1a91100230c92df2b08aee428ea0b384d6658f6bcb3";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/gl/thunderbird-45.5.1.tar.bz2";
+      locale = "gl";
+      arch = "linux-i686";
+      sha512 = "d357cc4f8a9ba8ff47458b03d17e4d10dc7be8bb16493ac3e896f63a3229962034012c7ecda4a70d4dd1d9c4aa76c349bf21725c6164fc96e6fc36f9b0fea9ea";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/he/thunderbird-45.5.1.tar.bz2";
+      locale = "he";
+      arch = "linux-i686";
+      sha512 = "440a86fb6a94657f05eda2bde2a2e74d17398468a0b603866a03a7f37458e69a921e81d2ac1af2718f1168a56ee03ad596c39e8d88c933576efecb99a724957e";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/hr/thunderbird-45.5.1.tar.bz2";
+      locale = "hr";
+      arch = "linux-i686";
+      sha512 = "1b5960e4df8a6247c63fb3f5e80b1795b4e098f446debd96b6344dbf97694337d6437dad53635fac57036ed6551b8a780ca4880dc35626aee83860a5934f3f9f";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/hsb/thunderbird-45.5.1.tar.bz2";
+      locale = "hsb";
+      arch = "linux-i686";
+      sha512 = "bba6aa43cfee2422414c526f0c40fdc70984acb54e25e5eb75ef684e674b17a8dbf606e31d5d609bd572647ab3a9bbd78c76669156a1d2d4d45d8402650148b5";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/hu/thunderbird-45.5.1.tar.bz2";
+      locale = "hu";
+      arch = "linux-i686";
+      sha512 = "026a686dbe81a4c52bd3997de66e0919ea870954a3d14c4483f5f76f618424013b82a2478ec9eb3f506a1f666ef3333832a3e4533adcce41901db79120d2a454";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/hy-AM/thunderbird-45.5.1.tar.bz2";
+      locale = "hy-AM";
+      arch = "linux-i686";
+      sha512 = "a798c9581cdb2debbe773ed952bbc56f7d7444eac5a448fce0f17ba2b260405526cdcec306c39c39b2e80ce7addba810bc659312505af8c0a928c8a2f8107245";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/id/thunderbird-45.5.1.tar.bz2";
+      locale = "id";
+      arch = "linux-i686";
+      sha512 = "ce54045626941976435a94bc5cf7513b79bc4e3e6a3b03bf1036ce9433cc6042689735b95d60afc4bf1de2ea31fe0ebc55b856bb51f0ba468744931a8c0727fa";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/is/thunderbird-45.5.1.tar.bz2";
+      locale = "is";
+      arch = "linux-i686";
+      sha512 = "7e0a2c31968102010d1fba379a25c4bcbbf447f2a0005e01271faf1e19dc7e71a5f8cfcfbf36ed510743d53886864aa4164284e99f7ab86ac27629ffaca6000a";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/it/thunderbird-45.5.1.tar.bz2";
+      locale = "it";
+      arch = "linux-i686";
+      sha512 = "4852e13d1be422f107e18537bb364b04fb06fbb4854bb30f97753b0e0138ca2d9073e29c4b5905154fcd215701b300c0680025310479c6dca4294e3a591ff841";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/ja/thunderbird-45.5.1.tar.bz2";
+      locale = "ja";
+      arch = "linux-i686";
+      sha512 = "c539473ab434e20528f252f76f542f1938accde06b7d460b8e4a767a2721cded73710cca2264d2b18cd533a6118dfa9ae1c2701a6e1b18afe398f42a109439e9";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/ko/thunderbird-45.5.1.tar.bz2";
+      locale = "ko";
+      arch = "linux-i686";
+      sha512 = "59421684c74f6c9fce41c4769ef725445bc84224357db21f1f4c9f5154c695a337445bfa05fca1f045d0e05ce64faf2d2e5a9be8cac0d62dfa17bf1571f9db57";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/lt/thunderbird-45.5.1.tar.bz2";
+      locale = "lt";
+      arch = "linux-i686";
+      sha512 = "317315c0c436ddf882ac2d5a5c76a942f0fe04f80c1d7634ff7223b363b5fedd0778b127e1cbe21e737acdb869e770b9c828a9df075eb19f4d4870767297b912";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/nb-NO/thunderbird-45.5.1.tar.bz2";
+      locale = "nb-NO";
+      arch = "linux-i686";
+      sha512 = "36638e01b76b608c2af0dd6f6336877fab6e0c8b8d16c5f90095c0bb24d475bf5486782fc26061dea134e7817288d84b8b805351411b7e70f39f3a76c9354b92";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/nl/thunderbird-45.5.1.tar.bz2";
+      locale = "nl";
+      arch = "linux-i686";
+      sha512 = "03aa22ab612c39e9a7df2a346a338b70c6ee13802860ab9359322e6fae425c1f8416cab762b9e061e3d8b34417043c3979e49a5c7079bc8327c0a317e5b98abf";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/nn-NO/thunderbird-45.5.1.tar.bz2";
+      locale = "nn-NO";
+      arch = "linux-i686";
+      sha512 = "4594fdc88d66a61567652f4ef7fbf43b55853933f098526671801e0fcd6256367e71c5a179419b1015d410b49a26505879ba0397013c8b510a2462798e5b3821";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/pa-IN/thunderbird-45.5.1.tar.bz2";
+      locale = "pa-IN";
+      arch = "linux-i686";
+      sha512 = "590b974b9785db9843b35dfdd9aa9d8422379570b6511a02564d5a0edbaeafad38f99aba403cb996ed47416a9944ca7fcc74d8aacda74c8113de7f112b10f397";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/pl/thunderbird-45.5.1.tar.bz2";
+      locale = "pl";
+      arch = "linux-i686";
+      sha512 = "f03e723aebf1c7709a0f08b9416acef98b5e4082b981fae3276d26e3c11650153cc56fd8f96653eb9d2b5213f5ccc42e062b42cf6182dc910c56a24f07440102";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/pt-BR/thunderbird-45.5.1.tar.bz2";
+      locale = "pt-BR";
+      arch = "linux-i686";
+      sha512 = "906510719e6d7149fe2c8cee9d5a88ae0a86cbd4bb6e2c4ec0bc4d77b252f71b98939f4002dab69a24db75d022e485d1711350ca1f26b3b55b05701dfff6f9da";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/pt-PT/thunderbird-45.5.1.tar.bz2";
+      locale = "pt-PT";
+      arch = "linux-i686";
+      sha512 = "1ed53b8ac706dc2750276928b507c072e3b2e49f7df2ab6d382b31b0618da6e41ce3fcf50f7815b4736859fe899017ea4a646f4594f4ac7ef5c272ccdd6d69a7";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/rm/thunderbird-45.5.1.tar.bz2";
+      locale = "rm";
+      arch = "linux-i686";
+      sha512 = "6fa680229b2dadfe6984af37d1ec93ef9d5f2d9014bc62618690c2e71a6bf8bd7d945fb0312553f0f2858fee89b454b84375a65fbb90f8479d1812d838ef1109";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/ro/thunderbird-45.5.1.tar.bz2";
+      locale = "ro";
+      arch = "linux-i686";
+      sha512 = "102b3a1c23742bf9fad04c1d87a43cf4b6f805b93528ec7139d5b3eecf141990594f32c2c89a7a950aa4257801ec2e5aa91ca6fcf2e1a067978f47cec500f6b3";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/ru/thunderbird-45.5.1.tar.bz2";
+      locale = "ru";
+      arch = "linux-i686";
+      sha512 = "6d2a1bb3db76516f1011b701827b43e66099a50d575facd3b5be9718be21d4b7ef80feba091e4273960af8f56f416514c2d308877b039be06898bb50365e9e27";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/si/thunderbird-45.5.1.tar.bz2";
+      locale = "si";
+      arch = "linux-i686";
+      sha512 = "9900c9462c97d7e783dc9893a4a6f87a0e000866ddb3dffefd67548b30ffa4e9db8a2e93247027a45aae03c9d0bac305991a1684de17e8bd28f3c2d3e5a38309";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/sk/thunderbird-45.5.1.tar.bz2";
+      locale = "sk";
+      arch = "linux-i686";
+      sha512 = "ca001243f8359c38b781fea53c3ede7baabea25af516d852e75b6beaca9ea1b9ce4964c345ff5754657a1a953a18bef2c631e962d92f699e2dc5a31a9d594d39";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/sl/thunderbird-45.5.1.tar.bz2";
+      locale = "sl";
+      arch = "linux-i686";
+      sha512 = "ff9784d31a9233c925d1745752497cbe055df378b702169ed4cf1df144b00936566d9dbef4ae5ed9821933e70bec3ef71de4086b0a89f639df2bd57e1796ef3c";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/sq/thunderbird-45.5.1.tar.bz2";
+      locale = "sq";
+      arch = "linux-i686";
+      sha512 = "f2e3bccba1c8ad67d696e54e2001726cabe6f61e41daaa9dab2eee00cac7877a8af15c4876993ebed6042fe540c68b25fcee52888a6bd5ad6726875bb4489e05";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/sr/thunderbird-45.5.1.tar.bz2";
+      locale = "sr";
+      arch = "linux-i686";
+      sha512 = "9739c33d30b7e6d6c28fc29f8f1badb06d32ae686fc684ec6743a5ffc4ba42d6060ba95c2bd1e3c2486c4d36ee0f14a1201f74768197073136991e49acec79ff";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/sv-SE/thunderbird-45.5.1.tar.bz2";
+      locale = "sv-SE";
+      arch = "linux-i686";
+      sha512 = "e394654340d4f2da306149ed7cf0413ac0d40fb1488402e12e15c09c831585ecfcf6c355b420a902d76ec0aea7a5c9e234004f1ee19ed295d7b52343ab67c9a6";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/ta-LK/thunderbird-45.5.1.tar.bz2";
+      locale = "ta-LK";
+      arch = "linux-i686";
+      sha512 = "08154b5030c58cb52ef6b6584fc3d20d62e02cc0ee919f37c3a2e97f5afdac777f9dc6dd5881e3a87e5c20dfefdf816c068da014e42e111a3a8c7043b6e9002a";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/tr/thunderbird-45.5.1.tar.bz2";
+      locale = "tr";
+      arch = "linux-i686";
+      sha512 = "63bcbce3c8f6e635cbfc73f83b33c6c6e9fd5f45f8878aa500772f807f1acdf611dcf4002084902937f95cd1abab1a76e00822327235e7b61ffb369b327974de";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/uk/thunderbird-45.5.1.tar.bz2";
+      locale = "uk";
+      arch = "linux-i686";
+      sha512 = "c55ae7ae3e388ec11d8c9bbeb3f18fa5883a5ea5b90d924e5f9a7d61876142a7b336eb50d35e54a405cee803ab7ad4d754a7ceb02cb9a2b9adeb415c44bd0c88";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/vi/thunderbird-45.5.1.tar.bz2";
+      locale = "vi";
+      arch = "linux-i686";
+      sha512 = "52e05acb6c681ba62b608cb60d24816aaa35f296b6552b7006fe56b2f2d908a71736490c85e8bfb350d468510a031deedad65f691e4b77fc1dfee26bd30bdb41";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/zh-CN/thunderbird-45.5.1.tar.bz2";
+      locale = "zh-CN";
+      arch = "linux-i686";
+      sha512 = "caa4533f57b85ed57ef66fe4807f8079d8bef73ad9a454e23a90154253c205a110e13fe1376c0a7d644b326f7dde888d8ed97ffedb8282d8887bb7131749f510";
+    }
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.5.1/linux-i686/zh-TW/thunderbird-45.5.1.tar.bz2";
+      locale = "zh-TW";
+      arch = "linux-i686";
+      sha512 = "d3e44f2f92ec4bf6b4a5dfebbcd2f05b323050ff88a1eb3b19301224a6815051e0e884e663dde834cef0a6889217ae94e446669aa0c97201c2d1f1bc2729c1b3";
+    }
+    ];
 }
diff --git a/pkgs/applications/networking/remote/teamviewer/default.nix b/pkgs/applications/networking/remote/teamviewer/default.nix
index be685118e1f0..288fa4383610 100644
--- a/pkgs/applications/networking/remote/teamviewer/default.nix
+++ b/pkgs/applications/networking/remote/teamviewer/default.nix
@@ -16,13 +16,13 @@ in
 
 stdenv.mkDerivation rec {
   name = "teamviewer-${version}";
-  version = "11.0.57095";
+  version = "12.0.71510";
 
   src = fetchurl {
     # There is a 64-bit package, but it has no differences apart from Debian dependencies.
     # Generic versioned packages (teamviewer_${version}_i386.tar.xz) are not available for some reason.
     url = "http://download.teamviewer.com/download/teamviewer_${version}_i386.deb";
-    sha256 = "0gdqy6b3np8ndlrq5cwgsys6ad529904133za51r20cj528n7rx3";
+    sha256 = "0f2qc2rpxk7zsyfxlsfr5gwbs9vhnzc3z7ib677pnr99bz06hbqp";
   };
 
   unpackPhase = ''
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
 
     ln -s $out/share/teamviewer/tv_bin/script/teamviewer $out/bin
     ln -s $out/share/teamviewer/tv_bin/teamviewerd $out/bin
-    ln -s $out/share/teamviewer/tv_bin/desktop/teamviewer-teamviewer*.desktop $out/share/applications
+    ln -s $out/share/teamviewer/tv_bin/desktop/com.teamviewer.*.desktop $out/share/applications
     ln -s /var/lib/teamviewer $out/share/teamviewer/config
     ln -s /var/log/teamviewer $out/share/teamviewer/logfiles
     ln -s ${xdg_utils}/bin $out/share/teamviewer/tv_bin/xdg-utils
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
       sed -i "/TV_LD64_PATH=.*/d" script/tvw_config
     ''}
 
-    sed -i "s,/opt/teamviewer,$out/share/teamviewer,g" desktop/teamviewer-*.desktop
+    sed -i "s,/opt/teamviewer,$out/share/teamviewer,g" desktop/com.teamviewer.*.desktop
 
     for i in teamviewer-config teamviewerd TeamViewer_Desktop TVGuiDelegate TVGuiSlave.32 wine/bin/*; do
       echo "patching $i"
diff --git a/pkgs/applications/office/mendeley/default.nix b/pkgs/applications/office/mendeley/default.nix
index 9409ab3e6698..0ae0732da27f 100644
--- a/pkgs/applications/office/mendeley/default.nix
+++ b/pkgs/applications/office/mendeley/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, dpkg, makeWrapper, which
-,gcc, liborc, xorg, qt4, zlib
+, gcc, orc, xorg, qt4, zlib
 , ...}:
 
 assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
@@ -23,7 +23,7 @@ let
 
   deps = [
     gcc.cc
-    liborc
+    orc
     qt4
     xorg.libX11
     zlib
diff --git a/pkgs/applications/office/paperwork/default.nix b/pkgs/applications/office/paperwork/default.nix
new file mode 100644
index 000000000000..2c55be55b08b
--- /dev/null
+++ b/pkgs/applications/office/paperwork/default.nix
@@ -0,0 +1,78 @@
+{ lib, python3Packages, fetchFromGitHub, gtk3, cairo
+, aspellDicts, buildEnv
+, gnome3, hicolor_icon_theme
+, xvfb_run, dbus
+}:
+
+python3Packages.buildPythonApplication rec {
+  name = "paperwork-${version}";
+  # Don't forget to also update paperwork-backend when updating this!
+  version = "1.0.6.1";
+
+  src = fetchFromGitHub {
+    repo = "paperwork";
+    owner = "jflesch";
+    rev = version;
+    sha256 = "1v1lxyi4crdik4jlwjds9n6lzw4m4l4f9n5azlinv8wb477qpv6h";
+  };
+
+  # Patch out a few paths that assume that we're using the FHS:
+  postPatch = ''
+    themeDir="$(echo "${gnome3.defaultIconTheme}/share/icons/"*)"
+    sed -i -e "s,/usr/share/icons/gnome,$themeDir," src/paperwork/deps.py
+
+    sed -i -e 's,sys\.prefix,"",g' \
+      src/paperwork/frontend/aboutdialog/__init__.py \
+      src/paperwork/frontend/mainwindow/__init__.py \
+      setup.py
+
+    sed -i -e '/^UI_FILES_DIRS = \[/,/^\]$/ {
+      c UI_FILES_DIRS = ["'"$out/share/paperwork"'"]
+    }' src/paperwork/frontend/util/__init__.py
+
+    sed -i -e '/^LOCALE_PATHS = \[/,/^\]$/ {
+      c LOCALE_PATHS = ["'"$out/share/locale"'"]
+    }' src/paperwork/paperwork.py
+
+    sed -i -e 's/"icon"/"icon-name"/g' \
+      src/paperwork/frontend/mainwindow/mainwindow.glade
+
+    sed -i -e 's/"logo"/"logo-icon-name"/g' \
+      src/paperwork/frontend/aboutdialog/aboutdialog.glade
+  '';
+
+  ASPELL_CONF = "dict-dir ${buildEnv {
+    name = "aspell-all-dicts";
+    paths = lib.collect lib.isDerivation aspellDicts;
+  }}/lib/aspell";
+
+  checkInputs = [ xvfb_run dbus.daemon ];
+  buildInputs = [ gnome3.defaultIconTheme hicolor_icon_theme ];
+
+  # A few parts of chkdeps need to have a display and a dbus session, so we not
+  # only need to run a virtual X server + dbus but also have a large enough
+  # resolution, because the Cairo test tries to draw a 200x200 window.
+  preCheck = ''
+    xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
+      --config-file=${dbus.daemon}/share/dbus-1/session.conf \
+      paperwork-shell chkdeps paperwork
+  '';
+
+  propagatedBuildInputs = with python3Packages; [
+    paperwork-backend pypillowfight gtk3 cairo
+  ];
+
+  makeWrapperArgs = [
+    "--set GI_TYPELIB_PATH \"$GI_TYPELIB_PATH\""
+    "--prefix XDG_DATA_DIRS : \"$out/share\""
+    "--suffix XDG_DATA_DIRS : \"$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH\""
+  ];
+
+  meta = {
+    description = "A personal document manager for scanned documents";
+    homepage = "https://github.com/jflesch/paperwork";
+    license = lib.licenses.gpl3Plus;
+    maintainers = [ lib.maintainers.aszlig ];
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/office/zim/default.nix b/pkgs/applications/office/zim/default.nix
index cda8fc63a127..93f51ce3f8b2 100644
--- a/pkgs/applications/office/zim/default.nix
+++ b/pkgs/applications/office/zim/default.nix
@@ -31,7 +31,6 @@ pythonPackages.buildPythonApplication rec {
   '';
 
   postFixup = ''
-    wrapPythonPrograms
     substituteInPlace $out/bin/.zim-wrapped \
     --replace "sys.argv[0] = 'zim'" "sys.argv[0] = '$out/bin/zim'"
   '';
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index ce330982bec4..a99b37f0d17d 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -23,7 +23,10 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "qemu-" + stdenv.lib.optionalString x86Only "x86-only-" + version;
+  name = "qemu-"  
+    + stdenv.lib.optionalString x86Only "x86-only-"
+    + stdenv.lib.optionalString nixosTestRunner "for-vm-tests-"
+    + version;
 
   src = fetchurl {
     url = "http://wiki.qemu.org/download/qemu-${version}.tar.bz2";
diff --git a/pkgs/applications/virtualization/xhyve/default.nix b/pkgs/applications/virtualization/xhyve/default.nix
index b7205ac000e2..c519784a6233 100644
--- a/pkgs/applications/virtualization/xhyve/default.nix
+++ b/pkgs/applications/virtualization/xhyve/default.nix
@@ -1,19 +1,25 @@
-{ stdenv, lib, fetchurl }:
+{ stdenv, lib, fetchurl, Hypervisor, vmnet, xpc, libobjc }:
 
 stdenv.mkDerivation rec {
-  name = "xhyve-${version}";
-  version = "0.2.0";
+  name    = "xhyve-${version}";
+  version = "1f1dbe305";
 
   src = fetchurl {
-    url = "https://github.com/mist64/xhyve/archive/v${version}.tar.gz";
-    sha256 = "0g1vknnh88kxc8aaqv3j9wqhq45mm9xxxbn1vcrypj3kk9991hrj";
+    url    = "https://github.com/mist64/xhyve/archive/1f1dbe3059904f885e4ab2b3328f4bb350ea5c37.tar.gz";
+    sha256 = "0hfix8yr90szlv2yyqb2rlq5qsrxyam8kg52sly0adja0cpwfjvx";
   };
 
+  buildInputs = [ Hypervisor vmnet xpc libobjc ];
+
   # Don't use git to determine version
-  buildFlags = ''
-    CFLAGS=-DVERSION=\"${version}\"
+  prePatch = ''
+    substituteInPlace Makefile \
+      --replace 'shell git describe --abbrev=6 --dirty --always --tags' "$version"
   '';
 
+
+  makeFlags = [ "CFLAGS+=-Wno-shift-sign-overflow" ''CFLAGS+=-DVERSION=\"${version}\"'' ];
+
   installPhase = ''
     mkdir -p $out/bin
     cp build/xhyve $out/bin
diff --git a/pkgs/desktops/kde-5/applications/akonadi-contacts.nix b/pkgs/desktops/kde-5/applications/akonadi-contacts.nix
new file mode 100644
index 000000000000..7acfa3a230b3
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications/akonadi-contacts.nix
@@ -0,0 +1,19 @@
+{
+  kdeApp, lib,
+  ecm,
+  akonadi-mime, grantlee, kcontacts, kio, kitemmodels, kmime, qtwebengine,
+  akonadi
+}:
+
+kdeApp {
+  name = "akonadi-contacts";
+  meta = {
+    license = with lib.licenses; [ gpl2 lgpl21 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+  nativeBuildInputs = [ ecm ];
+  buildInputs = [
+    akonadi-mime grantlee kcontacts kio kitemmodels kmime qtwebengine
+  ];
+  propagatedBuildInputs = [ akonadi ];
+}
diff --git a/pkgs/desktops/kde-5/applications/akonadi-mime.nix b/pkgs/desktops/kde-5/applications/akonadi-mime.nix
new file mode 100644
index 000000000000..26e1559c779e
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications/akonadi-mime.nix
@@ -0,0 +1,15 @@
+{
+  kdeApp, lib,
+  ecm,
+  akonadi, kdbusaddons, kio, kitemmodels, kmime
+}:
+
+kdeApp {
+  name = "akonadi-mime";
+  meta = {
+    license = with lib.licenses; [ gpl2 lgpl21 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+  nativeBuildInputs = [ ecm ];
+  buildInputs = [ akonadi kdbusaddons kio kitemmodels kmime ];
+}
diff --git a/pkgs/desktops/kde-5/applications/akonadi.nix b/pkgs/desktops/kde-5/applications/akonadi.nix
new file mode 100644
index 000000000000..03483e5ec0d1
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications/akonadi.nix
@@ -0,0 +1,20 @@
+{
+  kdeApp, lib,
+  ecm,
+  kcompletion, kconfigwidgets, kdbusaddons, kdesignerplugin, kiconthemes,
+  kio,
+  boost, kitemmodels
+}:
+
+kdeApp {
+  name = "akonadi";
+  meta = {
+    license = [ lib.licenses.lgpl21 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+  nativeBuildInputs = [ ecm ];
+  buildInputs = [
+    kcompletion kconfigwidgets kdbusaddons kdesignerplugin kiconthemes kio
+  ];
+  propagatedBuildInputs = [ boost kitemmodels ];
+}
diff --git a/pkgs/desktops/kde-5/applications/default.nix b/pkgs/desktops/kde-5/applications/default.nix
index 91f43545b310..db255a1d5b78 100644
--- a/pkgs/desktops/kde-5/applications/default.nix
+++ b/pkgs/desktops/kde-5/applications/default.nix
@@ -31,6 +31,9 @@ let
       inherit (pkgs) attica phonon;
     };
 
+    akonadi = callPackage ./akonadi.nix {};
+    akonadi-contacts = callPackage ./akonadi-contacts.nix {};
+    akonadi-mime = callPackage ./akonadi-mime.nix {};
     ark = callPackage ./ark/default.nix {};
     baloo-widgets = callPackage ./baloo-widgets.nix {};
     dolphin = callPackage ./dolphin.nix {};
@@ -39,18 +42,20 @@ let
       ffmpeg = pkgs.ffmpeg_2;
     };
     filelight = callPackage ./filelight.nix {};
-    gpgmepp = callPackage ./gpgmepp.nix {};
     gwenview = callPackage ./gwenview.nix {};
     kate = callPackage ./kate.nix {};
     kdenlive = callPackage ./kdenlive.nix {};
     kcalc = callPackage ./kcalc.nix {};
     kcolorchooser = callPackage ./kcolorchooser.nix {};
+    kcontacts = callPackage ./kcontacts.nix {};
+    kdegraphics-mobipocket = callPackage ./kdegraphics-mobipocket.nix {};
     kdegraphics-thumbnailers = callPackage ./kdegraphics-thumbnailers.nix {};
     kdenetwork-filesharing = callPackage ./kdenetwork-filesharing.nix {};
     kdf = callPackage ./kdf.nix {};
-    kgpg = callPackage ./kgpg.nix { inherit (pkgs.kde4) kdepimlibs; };
+    kgpg = callPackage ./kgpg.nix {};
     khelpcenter = callPackage ./khelpcenter.nix {};
     kio-extras = callPackage ./kio-extras.nix {};
+    kmime = callPackage ./kmime.nix {};
     kompare = callPackage ./kompare.nix {};
     konsole = callPackage ./konsole.nix {};
     kwalletmanager = callPackage ./kwalletmanager.nix {};
diff --git a/pkgs/desktops/kde-5/applications/fetch.sh b/pkgs/desktops/kde-5/applications/fetch.sh
index 845548c4f5bc..eb1b1654bb87 100644
--- a/pkgs/desktops/kde-5/applications/fetch.sh
+++ b/pkgs/desktops/kde-5/applications/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( http://ftp.ussg.iu.edu/kde/stable/applications/16.08.3/ --cut-dirs=1 -A '*.tar.xz' )
+WGET_ARGS=( http://download.kde.org/stable/applications/16.12.0/ -A '*.tar.xz' )
diff --git a/pkgs/desktops/kde-5/applications/kcontacts.nix b/pkgs/desktops/kde-5/applications/kcontacts.nix
new file mode 100644
index 000000000000..441d73d363d9
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications/kcontacts.nix
@@ -0,0 +1,15 @@
+{
+  kdeApp, lib,
+  ecm, ki18n,
+  kcoreaddons, kconfig, kcodecs
+}:
+
+kdeApp {
+  name = "kcontacts";
+  meta = {
+    license = [ lib.licenses.lgpl21 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+  nativeBuildInputs = [ ecm ki18n ];
+  buildInputs = [ kcoreaddons kconfig kcodecs ];
+}
diff --git a/pkgs/desktops/kde-5/applications/gpgmepp.nix b/pkgs/desktops/kde-5/applications/kdegraphics-mobipocket.nix
index 0e5cb15029c3..984524dc1b2b 100644
--- a/pkgs/desktops/kde-5/applications/gpgmepp.nix
+++ b/pkgs/desktops/kde-5/applications/kdegraphics-mobipocket.nix
@@ -1,15 +1,15 @@
 {
   kdeApp, lib,
   ecm,
-  boost, gpgme
+  kio
 }:
 
 kdeApp {
-  name = "gpgmepp";
+  name = "kdegraphics-mobipocket";
   meta = {
-    license = with lib.licenses; [ lgpl21 bsd3 ];
+    license = [ lib.licenses.gpl2Plus ];
     maintainers = [ lib.maintainers.ttuegel ];
   };
   nativeBuildInputs = [ ecm ];
-  propagatedBuildInputs = [ boost gpgme ];
+  buildInputs = [ kio ];
 }
diff --git a/pkgs/desktops/kde-5/applications/kgpg.nix b/pkgs/desktops/kde-5/applications/kgpg.nix
index 6717dc1511dc..cd462acdf2b0 100644
--- a/pkgs/desktops/kde-5/applications/kgpg.nix
+++ b/pkgs/desktops/kde-5/applications/kgpg.nix
@@ -1,17 +1,19 @@
 {
   kdeApp, lib,
-  automoc4, cmake, makeWrapper, perl, pkgconfig,
-  boost, gpgme, kdelibs, kdepimlibs, gnupg
+  ecm, kdoctools, ki18n,
+  akonadi-contacts, gpgme, karchive, kcodecs, kcontacts, kcoreaddons, kcrash,
+  kdbusaddons, kiconthemes, kjobwidgets, kio, knotifications, kservice,
+  ktextwidgets, kxmlgui, kwidgetsaddons, kwindowsystem
 }:
 
 kdeApp {
   name = "kgpg";
-  nativeBuildInputs = [ automoc4 cmake makeWrapper perl pkgconfig ];
-  buildInputs = [ boost gpgme kdelibs kdepimlibs ];
-  postInstall = ''
-    wrapProgram "$out/bin/kgpg" \
-        --prefix PATH : "${gnupg}/bin"
-  '';
+  nativeBuildInputs = [ ecm kdoctools ki18n ];
+  buildInputs = [
+    akonadi-contacts gpgme karchive kcodecs kcontacts kcoreaddons kcrash kdbusaddons
+    kiconthemes kjobwidgets kio knotifications kservice ktextwidgets kxmlgui
+    kwidgetsaddons kwindowsystem
+  ];
   meta = {
     license = [ lib.licenses.gpl2 ];
     maintainers = [ lib.maintainers.ttuegel ];
diff --git a/pkgs/desktops/kde-5/applications/kmime.nix b/pkgs/desktops/kde-5/applications/kmime.nix
new file mode 100644
index 000000000000..d60909ec7bc9
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications/kmime.nix
@@ -0,0 +1,15 @@
+{
+  kdeApp, lib,
+  ecm, ki18n,
+  kcodecs
+}:
+
+kdeApp {
+  name = "kmime";
+  meta = {
+    license = [ lib.licenses.lgpl21 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+  nativeBuildInputs = [ ecm ki18n ];
+  buildInputs = [ kcodecs ];
+}
diff --git a/pkgs/desktops/kde-5/applications/l10n.nix b/pkgs/desktops/kde-5/applications/l10n.nix
index 9b211faf4448..f2e5f843b5d9 100644
--- a/pkgs/desktops/kde-5/applications/l10n.nix
+++ b/pkgs/desktops/kde-5/applications/l10n.nix
@@ -205,7 +205,7 @@ lib.mapAttrs (name: attr: pkgs.recurseIntoAttrs attr) {
     }) {};
     qt5 = callPackage (kdeLocale5 "sr" {
       preConfigure = ''
-        patchShebangs 5/sr/data/resolve-sr-hybrid
+        patchShebangs 5/sr/cmake_modules/resolve-sr-hybrid
         sed -e 's/add_subdirectory(kdesdk)//' -i 5/sr/data/CMakeLists.txt
       '';
     }) {};
@@ -222,13 +222,10 @@ lib.mapAttrs (name: attr: pkgs.recurseIntoAttrs attr) {
     qt4 = callPackage (kdeLocale4 "ug" {}) {};
     qt5 = callPackage (kdeLocale5 "ug" {}) {};
   };
-  # TODO: build broken in 15.11.80; re-enable in next release
-  /*
   uk = {
     qt4 = callPackage (kdeLocale4 "uk" {}) {};
     qt5 = callPackage (kdeLocale5 "uk" {}) {};
   };
-  */
   wa = {
     qt4 = callPackage (kdeLocale4 "wa" {}) {};
     qt5 = callPackage (kdeLocale5 "wa" {}) {};
diff --git a/pkgs/desktops/kde-5/applications/okular.nix b/pkgs/desktops/kde-5/applications/okular.nix
index 6e6f1407c558..b8780a7ccc1f 100644
--- a/pkgs/desktops/kde-5/applications/okular.nix
+++ b/pkgs/desktops/kde-5/applications/okular.nix
@@ -1,21 +1,30 @@
 {
-  kdeApp, lib,
-  automoc4, cmake, perl, pkgconfig, kdelibs, qimageblitz,
-  poppler_qt4, libspectre, libkexiv2, djvulibre, libtiff, freetype,
-  ebook_tools
+  kdeApp, lib, kdeWrapper,
+  ecm, kdoctools,
+  djvulibre, ebook_tools, kactivities, karchive, kbookmarks, kcompletion,
+  kconfig, kconfigwidgets, kcoreaddons, kdbusaddons, kdegraphics-mobipocket,
+  kiconthemes, kjs, khtml, kio, kparts, kpty, kwallet, kwindowsystem, libkexiv2,
+  libspectre, poppler, qca-qt5, qtdeclarative, qtsvg, threadweaver
 }:
 
-kdeApp {
-  name = "okular";
-  nativeBuildInputs = [ automoc4 cmake perl pkgconfig ];
-  buildInputs = [
-    kdelibs qimageblitz poppler_qt4 libspectre libkexiv2 djvulibre libtiff
-    freetype ebook_tools
-  ];
-  meta = {
-    platforms = lib.platforms.linux;
-    homepage = "http://www.kde.org";
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 bsd3 ];
-    maintainers = [ lib.maintainers.ttuegel ];
+let
+  unwrapped = kdeApp {
+    name = "okular";
+    nativeBuildInputs = [ ecm kdoctools ];
+    buildInputs = [
+      djvulibre ebook_tools kactivities karchive kbookmarks kcompletion kconfig
+      kconfigwidgets kcoreaddons kdbusaddons kdegraphics-mobipocket kiconthemes
+      kjs khtml kio kparts kpty kwallet kwindowsystem libkexiv2 libspectre poppler
+      qca-qt5 qtdeclarative qtsvg threadweaver
+    ];
+    meta = {
+      platforms = lib.platforms.linux;
+      homepage = "http://www.kde.org";
+      license = with lib.licenses; [ gpl2 lgpl21 fdl12 bsd3 ];
+      maintainers = [ lib.maintainers.ttuegel ];
+    };
   };
+in
+kdeWrapper unwrapped {
+  targets = [ "bin/okular" ];
 }
diff --git a/pkgs/desktops/kde-5/applications/srcs.nix b/pkgs/desktops/kde-5/applications/srcs.nix
index f6f13a2f2e5e..ae0140328511 100644
--- a/pkgs/desktops/kde-5/applications/srcs.nix
+++ b/pkgs/desktops/kde-5/applications/srcs.nix
@@ -3,2067 +3,2227 @@
 
 {
   akonadi = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/akonadi-16.08.3.tar.xz";
-      sha256 = "1k967l551r4kzj2hyfikr7ky8n77rhcniscw7f8a42vmdxnr5jvy";
-      name = "akonadi-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/akonadi-16.12.0.tar.xz";
+      sha256 = "1gqjaxq8b3mcwjm28aqc9kss4p46hga252j27vsg85pzvw58q718";
+      name = "akonadi-16.12.0.tar.xz";
     };
   };
   akonadi-calendar = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/akonadi-calendar-16.08.3.tar.xz";
-      sha256 = "1wh69vns5aw2av1hfcrz0gymqv8884xl0ss0yvcg9s478l550yj9";
-      name = "akonadi-calendar-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/akonadi-calendar-16.12.0.tar.xz";
+      sha256 = "1y6yg4f9ayl0il074fln2496pfh6jdsr489yh25jjcs8wf52669h";
+      name = "akonadi-calendar-16.12.0.tar.xz";
+    };
+  };
+  akonadi-calendar-tools = {
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/akonadi-calendar-tools-16.12.0.tar.xz";
+      sha256 = "0wwchjf2pisbj5hp9hfs8m2bhxgzkxf6c0rj8zv5p66lcl964iad";
+      name = "akonadi-calendar-tools-16.12.0.tar.xz";
+    };
+  };
+  akonadiconsole = {
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/akonadiconsole-16.12.0.tar.xz";
+      sha256 = "033rx5nqkwyrshacm3bykd8w2c2dffx6wfhm26l7siicaa6kani6";
+      name = "akonadiconsole-16.12.0.tar.xz";
     };
   };
   akonadi-contacts = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/akonadi-contacts-16.08.3.tar.xz";
-      sha256 = "12cdqkx7i7wahqf5zb4dxmbvzidvxw77imsjqaw0qw7jd5hnybmd";
-      name = "akonadi-contacts-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/akonadi-contacts-16.12.0.tar.xz";
+      sha256 = "1imiv3w78gsk33yiwpkrfzgdlcyqwrzmjid6wwbxjh52rawjvvzc";
+      name = "akonadi-contacts-16.12.0.tar.xz";
+    };
+  };
+  akonadi-import-wizard = {
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/akonadi-import-wizard-16.12.0.tar.xz";
+      sha256 = "1nz7ca3457cmlrvmk33hphlm3q2fq3qcq36rmandsv5n1jplfcf5";
+      name = "akonadi-import-wizard-16.12.0.tar.xz";
     };
   };
   akonadi-mime = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/akonadi-mime-16.08.3.tar.xz";
-      sha256 = "1jlsqlfyr1rl1ny2nyccwiqzs72fi2qzim3qg4j6749y3imi8rvx";
-      name = "akonadi-mime-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/akonadi-mime-16.12.0.tar.xz";
+      sha256 = "06547ixg4054lm8clyfsmkmwc8zai3w9swyw7hyjz257fd0147dr";
+      name = "akonadi-mime-16.12.0.tar.xz";
     };
   };
   akonadi-notes = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/akonadi-notes-16.08.3.tar.xz";
-      sha256 = "1fmpsqywpv4p65kdlisy5z57zba34h70djcdh3ch5rmmsxz75c0s";
-      name = "akonadi-notes-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/akonadi-notes-16.12.0.tar.xz";
+      sha256 = "03cadn97fa1jkbpljk0764w8dwv5k1brm1iv554gmag0xky2a6in";
+      name = "akonadi-notes-16.12.0.tar.xz";
     };
   };
   akonadi-search = {
-    version = "16.08.3";
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/akonadi-search-16.12.0.tar.xz";
+      sha256 = "08y7rk9i30d3kg61xfzck0a78dyrgb6jzs3w4i7rxq28z374mi2m";
+      name = "akonadi-search-16.12.0.tar.xz";
+    };
+  };
+  akregator = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/akonadi-search-16.08.3.tar.xz";
-      sha256 = "1whj5vzg33nlh756n5jcw2fj6yqf7wmq4lpvsj8k7hs9gnw7vqzd";
-      name = "akonadi-search-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/akregator-16.12.0.tar.xz";
+      sha256 = "0ibls40w0wad1gkdj3djmmvdd89pia3fbykqfjwrvnxslr7zfvnl";
+      name = "akregator-16.12.0.tar.xz";
     };
   };
   analitza = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/analitza-16.08.3.tar.xz";
-      sha256 = "0q9336z6468qsw1rqlifagwppwanrnpr23srqqgifwi4wh25ky7q";
-      name = "analitza-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/analitza-16.12.0.tar.xz";
+      sha256 = "1ws1whss7p5ijyaw7vs5lfvrisljk2b4m6iqbnr1v4n45cr27vrq";
+      name = "analitza-16.12.0.tar.xz";
     };
   };
   ark = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ark-16.08.3.tar.xz";
-      sha256 = "021cjgw25zryjwmbslbnm5vg5ddgl5knxvqldrwjjhkqw2pzc4y7";
-      name = "ark-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ark-16.12.0.tar.xz";
+      sha256 = "0gg84p1qaamklgvyqw5pjcdm2934srkvclrvn07jdpcf8xirn51a";
+      name = "ark-16.12.0.tar.xz";
     };
   };
   artikulate = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/artikulate-16.08.3.tar.xz";
-      sha256 = "0g5ya2cyjpnrzsccdqja1z6x5hh49a9r9m6c8408hv8bssigyvd1";
-      name = "artikulate-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/artikulate-16.12.0.tar.xz";
+      sha256 = "1ahz3kypszfc5smzdblbr47yb320p4sc28frl7b5vvbx2mj77iyi";
+      name = "artikulate-16.12.0.tar.xz";
     };
   };
   audiocd-kio = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/audiocd-kio-16.08.3.tar.xz";
-      sha256 = "1d7qxp6v1g9rpjfh457hzi7h67d9550wa3fm4d4xja227zqqx63q";
-      name = "audiocd-kio-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/audiocd-kio-16.12.0.tar.xz";
+      sha256 = "0hl5qiafp6yqi87qncp1kgd6178jn7bh2paz4fxyc4v92w2mzlcy";
+      name = "audiocd-kio-16.12.0.tar.xz";
     };
   };
   baloo-widgets = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/baloo-widgets-16.08.3.tar.xz";
-      sha256 = "04zm0jfpvnq821kcjylac7g0zlwldkvxadmrvj9qy28vh4k8wi3m";
-      name = "baloo-widgets-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/baloo-widgets-16.12.0.tar.xz";
+      sha256 = "06w0f54m9bw7640049gl10v6krdm5c0xlb6bjf61ay99mbyv7cgq";
+      name = "baloo-widgets-16.12.0.tar.xz";
     };
   };
   blinken = {
-    version = "16.08.3";
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/blinken-16.12.0.tar.xz";
+      sha256 = "0l3l3fjhsxm13m99mvcqgnyw0vmnjvx5akaa3nyx0mfzm1y1iw4v";
+      name = "blinken-16.12.0.tar.xz";
+    };
+  };
+  blogilo = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/blinken-16.08.3.tar.xz";
-      sha256 = "0r71s877dhf3ib3hwhfl3k3ldz671dw6ym3jjnavp2pl6h0wc6hv";
-      name = "blinken-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/blogilo-16.12.0.tar.xz";
+      sha256 = "0582dfznwvwc28zqzmbayypgy6kn2gq87q7j1y6q8m0lm017xgqy";
+      name = "blogilo-16.12.0.tar.xz";
     };
   };
   bomber = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/bomber-16.08.3.tar.xz";
-      sha256 = "1cqdv36s1y92hk9ghvm3ha67b1j7h7srv6cig6m5rvyaxpy2gw4f";
-      name = "bomber-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/bomber-16.12.0.tar.xz";
+      sha256 = "0qxs0slw4q75bhakmp7di2izi3sz9niq7v0kjincis9vc2l13dd9";
+      name = "bomber-16.12.0.tar.xz";
     };
   };
   bovo = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/bovo-16.08.3.tar.xz";
-      sha256 = "0z6ij7p0vckni0aa412ap8agcqrid98qif3c655m69hmw3arf6k9";
-      name = "bovo-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/bovo-16.12.0.tar.xz";
+      sha256 = "0cmxf4i5zpzc1lc9ggbvbd74i4ks29q915mygdam99b2bzfbq9qv";
+      name = "bovo-16.12.0.tar.xz";
     };
   };
   calendarsupport = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/calendarsupport-16.08.3.tar.xz";
-      sha256 = "1r8v1sydragkf9gcvkc9rjlm9h7mah01ayw5pg8pjaxhbfsva8ad";
-      name = "calendarsupport-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/calendarsupport-16.12.0.tar.xz";
+      sha256 = "11jz7vl8ay4fkxifpyg4vpdw7cl9m8dj6bgbmfw8nhdf8v8m9i6v";
+      name = "calendarsupport-16.12.0.tar.xz";
     };
   };
   cantor = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/cantor-16.08.3.tar.xz";
-      sha256 = "0i2sd4vp7dvqjh41rr4wv9ij1jriyj9kn69z9i0iig389gwza0n7";
-      name = "cantor-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/cantor-16.12.0.tar.xz";
+      sha256 = "0k1ps1dxilikm1qnfpd0fmbxsrqi5mrf2wyl07b67a3sfl7bzw98";
+      name = "cantor-16.12.0.tar.xz";
     };
   };
   cervisia = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/cervisia-16.08.3.tar.xz";
-      sha256 = "14p6j8nzdjn2s4v0h5yj8r3yl89sq93z7naq2bifg7nxalazbz27";
-      name = "cervisia-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/cervisia-16.12.0.tar.xz";
+      sha256 = "0c8g3l0q0inyggikqlz7spb32v26lz63ghs1m2cfjagvzisiylbg";
+      name = "cervisia-16.12.0.tar.xz";
     };
   };
   dolphin = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/dolphin-16.08.3.tar.xz";
-      sha256 = "0zqv75d06s7c59yx2w4dkr37mhafhwys4fqp44mpbf1x8yw1ijgx";
-      name = "dolphin-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/dolphin-16.12.0.tar.xz";
+      sha256 = "0dyzlpd7pj21jl4k5j6x6fbxzj7vlp7ww4z82rkld3x7kmmi4b4v";
+      name = "dolphin-16.12.0.tar.xz";
     };
   };
   dolphin-plugins = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/dolphin-plugins-16.08.3.tar.xz";
-      sha256 = "05rdq5zgp8px9gii4wnnf3qpwnv4h5i621q72ain0mpvapzb3q4v";
-      name = "dolphin-plugins-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/dolphin-plugins-16.12.0.tar.xz";
+      sha256 = "0ab62pbvb6n47b86j1bdicahwqvcnv401872f5q08na1zybxklx3";
+      name = "dolphin-plugins-16.12.0.tar.xz";
     };
   };
   dragon = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/dragon-16.08.3.tar.xz";
-      sha256 = "0s94vnr9hz5gzgs555phwl9y9m9jw0ysimv56mh8n56f6ar9za5m";
-      name = "dragon-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/dragon-16.12.0.tar.xz";
+      sha256 = "08sasdzd22l8mdzlb0jf780qcy374qg5ngispq78vn2x8zkyk3q2";
+      name = "dragon-16.12.0.tar.xz";
     };
   };
   eventviews = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/eventviews-16.08.3.tar.xz";
-      sha256 = "1qsjmym821b7v81rxb9af30idny4zw3czzkqx3370wa6hbsma9b2";
-      name = "eventviews-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/eventviews-16.12.0.tar.xz";
+      sha256 = "048sgmr3ws48xmfp1h6zyrizyigp2qqhiz3lrwla39iblxi0l4sf";
+      name = "eventviews-16.12.0.tar.xz";
     };
   };
   ffmpegthumbs = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ffmpegthumbs-16.08.3.tar.xz";
-      sha256 = "0j9c65kl6gh3j5g5jvjjx3hb3s5hcyzy6hz1fswp2v9sihaf7jrc";
-      name = "ffmpegthumbs-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ffmpegthumbs-16.12.0.tar.xz";
+      sha256 = "036py6cgkb7zismbffavk3jzjz2lzrh4jbknqrdrwli4fxsxbpi6";
+      name = "ffmpegthumbs-16.12.0.tar.xz";
     };
   };
   filelight = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/filelight-16.08.3.tar.xz";
-      sha256 = "07hc63cabv237nq38x8dnjqnfpicw6czliar0yc66k37vhdxvkjh";
-      name = "filelight-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/filelight-16.12.0.tar.xz";
+      sha256 = "05v0db9n6s3fxn31450biij0w0vf7s4bsvfbyiy3cnf33habgz4d";
+      name = "filelight-16.12.0.tar.xz";
     };
   };
-  gpgmepp = {
-    version = "16.08.3";
+  granatier = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/gpgmepp-16.08.3.tar.xz";
-      sha256 = "0sda2ib5ymyzsji2v7aqdgfy6mhhfs6s3wyngb2k3q8hshv4xi5z";
-      name = "gpgmepp-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/granatier-16.12.0.tar.xz";
+      sha256 = "1hzqqsdq7xj7ackc11yn966cnns82200ff7yc1wiazgivg39l8wj";
+      name = "granatier-16.12.0.tar.xz";
     };
   };
-  granatier = {
-    version = "16.08.3";
+  grantlee-editor = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/granatier-16.08.3.tar.xz";
-      sha256 = "07lhy7zbykhcnfyiymw6xhdpg8ng6xn0k3fca6afi16a0zk1hpnl";
-      name = "granatier-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/grantlee-editor-16.12.0.tar.xz";
+      sha256 = "049fvgyri9bqm792gyyz6qx7mrriqb3gmdbd2i8zs0x1i1lxfbn7";
+      name = "grantlee-editor-16.12.0.tar.xz";
     };
   };
   grantleetheme = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/grantleetheme-16.08.3.tar.xz";
-      sha256 = "1s2rz8ahm0dxij8v9czb1qcasp1igr20ipb4hc34y5ds9vmwrc7i";
-      name = "grantleetheme-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/grantleetheme-16.12.0.tar.xz";
+      sha256 = "07i2vidzvh9z05iz8xs08w918x7917mckfm1w5agpi4ma8iz8g4b";
+      name = "grantleetheme-16.12.0.tar.xz";
     };
   };
   gwenview = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/gwenview-16.08.3.tar.xz";
-      sha256 = "122nd5chwf6mcj3d7wz0jwz9wrzw1dk5c29nb7k8kbapsrhs27x3";
-      name = "gwenview-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/gwenview-16.12.0.tar.xz";
+      sha256 = "0pqzqfb604qfcck2jml65aya6gyjqvx8gnl047mr04yd4x65mjnn";
+      name = "gwenview-16.12.0.tar.xz";
     };
   };
   incidenceeditor = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/incidenceeditor-16.08.3.tar.xz";
-      sha256 = "03kfjkxmjjwb974gplqhwvjiw6cgvxziqzrn4jmk3di3nl954mxj";
-      name = "incidenceeditor-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/incidenceeditor-16.12.0.tar.xz";
+      sha256 = "1ylkxx7j2dsipcxrdj3cs142hjnz25c76q6jlpwj6p4vv7vzhvq9";
+      name = "incidenceeditor-16.12.0.tar.xz";
     };
   };
   jovie = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/jovie-16.08.3.tar.xz";
-      sha256 = "1lb3qnhdc2prrbi07gwvgx0bca2w4w5zwllp547h4lgjjc69s1mv";
-      name = "jovie-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/jovie-16.12.0.tar.xz";
+      sha256 = "0qm853z8g620klmcay955yfc76mb8ggfdx65zrhiiq5nkfaybwkr";
+      name = "jovie-16.12.0.tar.xz";
     };
   };
   juk = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/juk-16.08.3.tar.xz";
-      sha256 = "1c83nm0rr6d67666pd1fynxgsxkhlfz1y3dkfm8mvxd7hx7164x3";
-      name = "juk-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/juk-16.12.0.tar.xz";
+      sha256 = "05jk2gp9mcsjjdppahg3r70vjr203wf63mb5kqmdr98gfm9wfm74";
+      name = "juk-16.12.0.tar.xz";
     };
   };
   kaccessible = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kaccessible-16.08.3.tar.xz";
-      sha256 = "0p2w862dkzngmryfj46xnam50gcv516igdgs8skcj9jw19gr828q";
-      name = "kaccessible-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kaccessible-16.12.0.tar.xz";
+      sha256 = "1mh3610my9l21cq1zyjfk991q1gi6mii0z83zwq83wyi146b42mx";
+      name = "kaccessible-16.12.0.tar.xz";
     };
   };
   kaccounts-integration = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kaccounts-integration-16.08.3.tar.xz";
-      sha256 = "03cf9nb2bxzx5kq0a94y1b1jj7ypidnpkcfbixdmkwfwwybrfm0w";
-      name = "kaccounts-integration-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kaccounts-integration-16.12.0.tar.xz";
+      sha256 = "14v3pifz0diz3dscbyl49bp4fm2ivwdwm6hhxycv69fd221wkx5x";
+      name = "kaccounts-integration-16.12.0.tar.xz";
     };
   };
   kaccounts-providers = {
-    version = "16.08.3";
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/kaccounts-providers-16.12.0.tar.xz";
+      sha256 = "0fiq8zkaz3jyxnphi7z2r6q8xjsqlkzzjcs51akal5dm2cp1i6px";
+      name = "kaccounts-providers-16.12.0.tar.xz";
+    };
+  };
+  kaddressbook = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kaccounts-providers-16.08.3.tar.xz";
-      sha256 = "06ccw3ncliyhjwv2mv8yxmhxl161q51k740yilbgf3lz1qywn3bz";
-      name = "kaccounts-providers-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kaddressbook-16.12.0.tar.xz";
+      sha256 = "11hnrf1cwjnjysx8wgwnkfj0vkfv7vgv4wdrllnxj5mpx8mcw3k7";
+      name = "kaddressbook-16.12.0.tar.xz";
     };
   };
   kajongg = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kajongg-16.08.3.tar.xz";
-      sha256 = "0hkc50rd8yag9dlc27fp633fn1zf0g81d605d29n96kxj03shdah";
-      name = "kajongg-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kajongg-16.12.0.tar.xz";
+      sha256 = "1aymlzrw331z8ch46cwpv8x1v4j8ilhz42hzji1x06rh4s0xn5k6";
+      name = "kajongg-16.12.0.tar.xz";
+    };
+  };
+  kalarm = {
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/kalarm-16.12.0.tar.xz";
+      sha256 = "1kbrq5d854szx6nknyx2jbzmr47xajicaqgjfg59jwbb453mdbkm";
+      name = "kalarm-16.12.0.tar.xz";
     };
   };
   kalarmcal = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kalarmcal-16.08.3.tar.xz";
-      sha256 = "06arrlsws3a3arsixd33dna2ghq4wywka3dmvgdl8g0cjrcm5c18";
-      name = "kalarmcal-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kalarmcal-16.12.0.tar.xz";
+      sha256 = "16qqk1wqyjxfjnz9jaihcj7mdn8iixvmcm1i0cjfpck0bja9sj0p";
+      name = "kalarmcal-16.12.0.tar.xz";
     };
   };
   kalgebra = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kalgebra-16.08.3.tar.xz";
-      sha256 = "0g5xqwbxmrhhxmhsi1d2sllnr9sg64pa3wrlhpwcag9l4rggl902";
-      name = "kalgebra-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kalgebra-16.12.0.tar.xz";
+      sha256 = "0av4k54cil7jl545q5m7klwvw586hcdfpnvq95bcng8is0bnfrgs";
+      name = "kalgebra-16.12.0.tar.xz";
     };
   };
   kalzium = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kalzium-16.08.3.tar.xz";
-      sha256 = "1ywhn0rmqyl9cvzg4jybhl4bvllgbaj2j0cm2pd93ssnp2ispvnp";
-      name = "kalzium-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kalzium-16.12.0.tar.xz";
+      sha256 = "03l8dbhhcqaz009g1lxqkq9mci3v0kqx03mxgfdsjq0pzf2hq1ah";
+      name = "kalzium-16.12.0.tar.xz";
     };
   };
   kamera = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kamera-16.08.3.tar.xz";
-      sha256 = "0lx0yqj0xd5878pb3nqfj0ibs3m78s1c3hx2hayny8i00nq2vm33";
-      name = "kamera-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kamera-16.12.0.tar.xz";
+      sha256 = "02q8kbkwg7w2iqn76dchyqhwmx6k2a2q3dz3pn1ah0b0ildqr93n";
+      name = "kamera-16.12.0.tar.xz";
     };
   };
   kanagram = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kanagram-16.08.3.tar.xz";
-      sha256 = "0bci8h83jww94yqv1i6xxznhi2r755fs29qxb85wmgcnff0bfmlj";
-      name = "kanagram-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kanagram-16.12.0.tar.xz";
+      sha256 = "1xsph7983qnpg0zisbrw9r18i98zdy9xrpsdhq89wz895iqrfxqn";
+      name = "kanagram-16.12.0.tar.xz";
     };
   };
   kapman = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kapman-16.08.3.tar.xz";
-      sha256 = "0fb6czdgpm19hgf3dpvj1hj7hh1zq226i00hi4qdakfwxpngxrav";
-      name = "kapman-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kapman-16.12.0.tar.xz";
+      sha256 = "1p8h6xr7na9ihgcvc63c537kd9d4zhhvhim559dbf371cpkfm40l";
+      name = "kapman-16.12.0.tar.xz";
     };
   };
   kapptemplate = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kapptemplate-16.08.3.tar.xz";
-      sha256 = "1f3zy1ffhhd3gn9pfmjf2igcka1xlik4vwmpxgb56gq5kw7y8glj";
-      name = "kapptemplate-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kapptemplate-16.12.0.tar.xz";
+      sha256 = "07sd32hkmw07afw65hi4rbzwvxasan01clag4z4smqscibz4dfr1";
+      name = "kapptemplate-16.12.0.tar.xz";
     };
   };
   kate = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kate-16.08.3.tar.xz";
-      sha256 = "0xsfak6bb7nzik6dk840xv37ys4pz58908zx76z7i4vl6yqyyjxy";
-      name = "kate-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kate-16.12.0.tar.xz";
+      sha256 = "0n769wn2ja81mzhynqab034a7644nd0dcz3digqcf7hxplcjwcrz";
+      name = "kate-16.12.0.tar.xz";
     };
   };
   katomic = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/katomic-16.08.3.tar.xz";
-      sha256 = "17q5gwd40vxamwbdrayfhayh2qbrm4i2y9hawx63dqdvc20ijj0z";
-      name = "katomic-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/katomic-16.12.0.tar.xz";
+      sha256 = "1kk7h293qcxmq8wn597xc8awnfr5pbz8gf3h6zicvcmmcl6a2v6r";
+      name = "katomic-16.12.0.tar.xz";
     };
   };
   kblackbox = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kblackbox-16.08.3.tar.xz";
-      sha256 = "0vpyclqzxafjnvlkkvg9czimqr9l610vnhlw11ia032haffq4qrf";
-      name = "kblackbox-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kblackbox-16.12.0.tar.xz";
+      sha256 = "146x0rj6408d96aw426qcs5h43xw9dash51spys0frsrgnblm7ji";
+      name = "kblackbox-16.12.0.tar.xz";
     };
   };
   kblocks = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kblocks-16.08.3.tar.xz";
-      sha256 = "1bvhs8bmz7wsc4nz4bxns7i50b2r09kbwrqfn685c39l2zv60gp0";
-      name = "kblocks-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kblocks-16.12.0.tar.xz";
+      sha256 = "0h60w4x003ypip5svbda88sxbyxxpjf6kxxfyxniv81hq5vag49d";
+      name = "kblocks-16.12.0.tar.xz";
     };
   };
   kblog = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kblog-16.08.3.tar.xz";
-      sha256 = "19mh29xirx2rb6db5wxjd6am8wjx5mz0s0qszysrm7s9njsp2sqi";
-      name = "kblog-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kblog-16.12.0.tar.xz";
+      sha256 = "1ph86xkjc42m3mysg68xwfy0d364vjqlm4wsn8yx0ag0ndr34vw2";
+      name = "kblog-16.12.0.tar.xz";
     };
   };
   kbounce = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kbounce-16.08.3.tar.xz";
-      sha256 = "0f2m8x2mi89y15hvlk9xzd2prgv4fwhal02avjz0b6swggrs8shg";
-      name = "kbounce-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kbounce-16.12.0.tar.xz";
+      sha256 = "0jr0pgdp9nmiikbrnx82ydjkh4mgv0wcqjp7fdfyh1rmcz8r02v1";
+      name = "kbounce-16.12.0.tar.xz";
     };
   };
   kbreakout = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kbreakout-16.08.3.tar.xz";
-      sha256 = "1rbyracpvvi4l9hn09k1w67cjkcnnnaqwr3maqj77mzh8wbsj1d3";
-      name = "kbreakout-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kbreakout-16.12.0.tar.xz";
+      sha256 = "0pk2hn2bzx3cdxmilsd3rbrvajv2ysipybmd5ca3q65rf8d0l727";
+      name = "kbreakout-16.12.0.tar.xz";
     };
   };
   kbruch = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kbruch-16.08.3.tar.xz";
-      sha256 = "14yvildw0aji3lrb2xfafncqkwls3jjfvcbj1hi15gp3xxxr6s4z";
-      name = "kbruch-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kbruch-16.12.0.tar.xz";
+      sha256 = "1q7zbixix29qcakixra11ffb6x2l64cxigxc9jw40hpggh9rki16";
+      name = "kbruch-16.12.0.tar.xz";
     };
   };
   kcachegrind = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kcachegrind-16.08.3.tar.xz";
-      sha256 = "1rjipi3x2yl9yplyksw66hrnrnscld0fsb8zsmf692x7gprb9wjd";
-      name = "kcachegrind-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kcachegrind-16.12.0.tar.xz";
+      sha256 = "0660b13vsky54lfw42nzk136a5pdhdszqr53ahfa2966ij5dswwz";
+      name = "kcachegrind-16.12.0.tar.xz";
     };
   };
   kcalc = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kcalc-16.08.3.tar.xz";
-      sha256 = "05ky1kvfk6n2qhqdwg9mlm0q5096776p8gvkh2nhzlajr4klzqdz";
-      name = "kcalc-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kcalc-16.12.0.tar.xz";
+      sha256 = "0vx71zv2fs0di28h1g0cvnmawjyadd7jc6z9ahf4w55ycmamxj71";
+      name = "kcalc-16.12.0.tar.xz";
     };
   };
   kcalcore = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kcalcore-16.08.3.tar.xz";
-      sha256 = "024n78zj10wlr2a50gh3fshlsb1maqbix5f4i66f26j3z2d2z7gc";
-      name = "kcalcore-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kcalcore-16.12.0.tar.xz";
+      sha256 = "0f86yz4jrrfvf869kppmms4l3w8xwaygjqa1wqxrrmm7wsvrysd7";
+      name = "kcalcore-16.12.0.tar.xz";
     };
   };
   kcalutils = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kcalutils-16.08.3.tar.xz";
-      sha256 = "1wyq6hx1hilpk480h4c9j1hgj41s21nwcmm9b178143173p2pp5z";
-      name = "kcalutils-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kcalutils-16.12.0.tar.xz";
+      sha256 = "088lbl9zgjbrhy0ahjmjn8qx8gd10171jprab7d083ny7crx27ik";
+      name = "kcalutils-16.12.0.tar.xz";
     };
   };
   kcharselect = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kcharselect-16.08.3.tar.xz";
-      sha256 = "0wjwpqjck9k27xq1avz3l9ndi28kmcb05zvvf17jhsq9zmqr2lj8";
-      name = "kcharselect-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kcharselect-16.12.0.tar.xz";
+      sha256 = "1pcphx845r0kjah94n1b2j7fmrrqy4kvrhiyc40wmqp12fp0km8b";
+      name = "kcharselect-16.12.0.tar.xz";
     };
   };
   kcolorchooser = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kcolorchooser-16.08.3.tar.xz";
-      sha256 = "0dk0f2xq4s85n0v3hfhiy0b3pkjvq4wz7pwc6h91kg50mm0mgjy0";
-      name = "kcolorchooser-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kcolorchooser-16.12.0.tar.xz";
+      sha256 = "0zdkpn0i53wv49ynwmkz0pd0yvh1f2fjkdgqrs8i4bslipp0411z";
+      name = "kcolorchooser-16.12.0.tar.xz";
     };
   };
   kcontacts = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kcontacts-16.08.3.tar.xz";
-      sha256 = "01hip3p0f6br42lx89zcxmvrsqfclp0v8j7nzvrrzbdnn9x58b6w";
-      name = "kcontacts-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kcontacts-16.12.0.tar.xz";
+      sha256 = "1qxxh7bqadrbq28b9fmjj748az9ir6rznn179pvlr2v32ch25vrw";
+      name = "kcontacts-16.12.0.tar.xz";
     };
   };
   kcron = {
-    version = "16.08.3";
-    src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kcron-16.08.3.tar.xz";
-      sha256 = "16dbfil36b0kfdga118gbd1j6x7xd1x3hcc0ikhgysz8wzliaqs2";
-      name = "kcron-16.08.3.tar.xz";
-    };
-  };
-  kde-baseapps = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-baseapps-16.08.3.tar.xz";
-      sha256 = "18a2r2g5cz4s923p3369aam4qr00gsngk6nn4lk3k5a4qqavpsa7";
-      name = "kde-baseapps-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kcron-16.12.0.tar.xz";
+      sha256 = "1cqx4k384kk3g48qp9vdxd46cijzdskay3a67k7jwszinjnhqgbx";
+      name = "kcron-16.12.0.tar.xz";
     };
   };
   kdebugsettings = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdebugsettings-16.08.3.tar.xz";
-      sha256 = "0jc4kciaq69wiankz5krfsj4lf0r88msnqcr10k1byjm50b4qnpb";
-      name = "kdebugsettings-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kdebugsettings-16.12.0.tar.xz";
+      sha256 = "1nkqqcrbkwfcvnqylniqlwlay4x2ma2i7jdp0msm2yr2q743k01l";
+      name = "kdebugsettings-16.12.0.tar.xz";
     };
   };
   kde-dev-scripts = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-dev-scripts-16.08.3.tar.xz";
-      sha256 = "1g3c1wlv4rr9hxx1f6xiryswqprq1wq4lrlwx3gw3dmnpxwbnzld";
-      name = "kde-dev-scripts-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-dev-scripts-16.12.0.tar.xz";
+      sha256 = "1qadnwi4ph4hdjzfrjfqr4idw8ky4j14mc37w7r7025mdlfbj06n";
+      name = "kde-dev-scripts-16.12.0.tar.xz";
     };
   };
   kde-dev-utils = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-dev-utils-16.08.3.tar.xz";
-      sha256 = "1zzph1la4hgjqaryhm4dggsyv4gxwd0zgg5sw23v9qvp0z0hhzqf";
-      name = "kde-dev-utils-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-dev-utils-16.12.0.tar.xz";
+      sha256 = "039i3by9hl3h6yc1bbkf4y1bx3gxclncx69mh0z4fh5h58z5vz1r";
+      name = "kde-dev-utils-16.12.0.tar.xz";
     };
   };
   kdeedu-data = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdeedu-data-16.08.3.tar.xz";
-      sha256 = "1c7svm52j05xxha4kb5zi81z5rgbj08cahpqwr8g7dszp5m8xals";
-      name = "kdeedu-data-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kdeedu-data-16.12.0.tar.xz";
+      sha256 = "144px97jyfc258cwaqp8jw8jfnw22bnpa4p48mzxdl70p0q6maal";
+      name = "kdeedu-data-16.12.0.tar.xz";
     };
   };
   kdegraphics-mobipocket = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdegraphics-mobipocket-16.08.3.tar.xz";
-      sha256 = "0rbinw4r0bcxmkai2hb2p8zys654jybwgxigj4337s991l5zlrvd";
-      name = "kdegraphics-mobipocket-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kdegraphics-mobipocket-16.12.0.tar.xz";
+      sha256 = "1wpnijyvacajz96zaqa0185qwbg1ma5c1lvkzd1ww6h04dychfvi";
+      name = "kdegraphics-mobipocket-16.12.0.tar.xz";
     };
   };
   kdegraphics-thumbnailers = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdegraphics-thumbnailers-16.08.3.tar.xz";
-      sha256 = "1ygyhv20pyzfagkf25f6wshcvhyhamxxnrw075m11dg0hg3qlh9z";
-      name = "kdegraphics-thumbnailers-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kdegraphics-thumbnailers-16.12.0.tar.xz";
+      sha256 = "1r8f1167sqnd4qd9ibgknp1w9jfbw4yr2rcyp62xi3xlp04mn9fm";
+      name = "kdegraphics-thumbnailers-16.12.0.tar.xz";
     };
   };
   kde-l10n-ar = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-ar-16.08.3.tar.xz";
-      sha256 = "1ka2vq86g112gvfd4j2jl8dm8hvxjrn5cd2ddcagp3fg2rxm2si7";
-      name = "kde-l10n-ar-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-ar-16.12.0.tar.xz";
+      sha256 = "1hz9bi8z3z2vgxbmsqv8vp4pi03gg6vjnxcf1jngc7jix91iqaf4";
+      name = "kde-l10n-ar-16.12.0.tar.xz";
     };
   };
   kde-l10n-ast = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-ast-16.08.3.tar.xz";
-      sha256 = "02h7laxf4fsanb4scqgfrw815sj3dhvz4n17cdj8nvg4x7pydkys";
-      name = "kde-l10n-ast-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-ast-16.12.0.tar.xz";
+      sha256 = "1kj0l96wz5j1s8kr5za9az62v7qgw1z9ig4m38hxb9635m2zrp59";
+      name = "kde-l10n-ast-16.12.0.tar.xz";
     };
   };
   kde-l10n-bg = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-bg-16.08.3.tar.xz";
-      sha256 = "0crhf9i43l8p0ds9v3k8ghgxrjc4c8gxwrs7afm6lmqh3lb3miz2";
-      name = "kde-l10n-bg-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-bg-16.12.0.tar.xz";
+      sha256 = "0xy5icllcq56lmqrpnmyja8kycnr3njzg1adrr2dnvdhwgjm8knj";
+      name = "kde-l10n-bg-16.12.0.tar.xz";
     };
   };
   kde-l10n-bs = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-bs-16.08.3.tar.xz";
-      sha256 = "1ny1pcdl0xbm40c2jlzgvlkcmy1p2l9p14n827zipbj67by8dlh0";
-      name = "kde-l10n-bs-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-bs-16.12.0.tar.xz";
+      sha256 = "1wrdqcargx9qfmkmk0scwvrb1x5dqcxfba1mj44biijzxmaxy6v7";
+      name = "kde-l10n-bs-16.12.0.tar.xz";
     };
   };
   kde-l10n-ca = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-ca-16.08.3.tar.xz";
-      sha256 = "044l2z3n5vn4zbj7nby22f7pg5qcv16yzbgikck6jfdahn56c0d0";
-      name = "kde-l10n-ca-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-ca-16.12.0.tar.xz";
+      sha256 = "0w8k81jar52hy60cwdn5l6n3d535cyvf72rdsshs148s4hpx1naz";
+      name = "kde-l10n-ca-16.12.0.tar.xz";
     };
   };
   kde-l10n-ca_valencia = {
-    version = "ca_valencia-16.08.3";
+    version = "ca_valencia-16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-ca@valencia-16.08.3.tar.xz";
-      sha256 = "1agmp003bdkhc8jx5124cs8yw73ga6b12gppaqwxl8c9cgd09yai";
-      name = "kde-l10n-ca_valencia-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-ca@valencia-16.12.0.tar.xz";
+      sha256 = "1raj2w8ixaxi43nh44z19xd9m2iqg5b2wrqccd8pjyip73c1la3q";
+      name = "kde-l10n-ca_valencia-16.12.0.tar.xz";
     };
   };
   kde-l10n-cs = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-cs-16.08.3.tar.xz";
-      sha256 = "0li4rnpns7wvxgrg9lxzimx7lxk2cl2w0zqk9g0c8zwqrrl64d23";
-      name = "kde-l10n-cs-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-cs-16.12.0.tar.xz";
+      sha256 = "143h9gkb2l5h3fm6phv07x0az5i7fzs9m53xck71wpahz1z244km";
+      name = "kde-l10n-cs-16.12.0.tar.xz";
     };
   };
   kde-l10n-da = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-da-16.08.3.tar.xz";
-      sha256 = "14cpwl8p2n0bfj2hbbm9fv1i8r20xfrp16iy9kdym5x4k80c5lzc";
-      name = "kde-l10n-da-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-da-16.12.0.tar.xz";
+      sha256 = "03p1npjikfmb3a1hgmcd14lx3x9vfvf1x3mzz25493wlwzkb5lbm";
+      name = "kde-l10n-da-16.12.0.tar.xz";
     };
   };
   kde-l10n-de = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-de-16.08.3.tar.xz";
-      sha256 = "09sq6sbli9gjfkwqmcqjscbakxbnn2czb4d3pyni3v0i7x4xgmgl";
-      name = "kde-l10n-de-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-de-16.12.0.tar.xz";
+      sha256 = "146zb25f54ig4zkmys4wq5j057k9ajfp9jyyfqmmpch33567llb6";
+      name = "kde-l10n-de-16.12.0.tar.xz";
     };
   };
   kde-l10n-el = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-el-16.08.3.tar.xz";
-      sha256 = "11vv237skajqc50dpcz0abn7xcly8a161yp56fn6zn1zdlcw4p02";
-      name = "kde-l10n-el-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-el-16.12.0.tar.xz";
+      sha256 = "0vcf8wi1wd358hs1ynyil2ahb26w9dp8snlszyhr63zbg9qwwic4";
+      name = "kde-l10n-el-16.12.0.tar.xz";
     };
   };
   kde-l10n-en_GB = {
-    version = "en_GB-16.08.3";
+    version = "en_GB-16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-en_GB-16.08.3.tar.xz";
-      sha256 = "10anibggfqdp90d9jsv2n8aqk4wrgdq1pjxz60784f9bm1lq9xbx";
-      name = "kde-l10n-en_GB-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-en_GB-16.12.0.tar.xz";
+      sha256 = "1bvcgasl672xawfd8alwcindyj16j5p3cplqndw4z1pybnsmzgmk";
+      name = "kde-l10n-en_GB-16.12.0.tar.xz";
     };
   };
   kde-l10n-eo = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-eo-16.08.3.tar.xz";
-      sha256 = "15dhramx79rh6v7891fa878dikh74cx4knisrmg50ih5fgyr8rrm";
-      name = "kde-l10n-eo-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-eo-16.12.0.tar.xz";
+      sha256 = "1sln4krw8l8zm3q4h7q7rhd5lf7s7rfb6n73wybxmwypawyz0qqn";
+      name = "kde-l10n-eo-16.12.0.tar.xz";
     };
   };
   kde-l10n-es = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-es-16.08.3.tar.xz";
-      sha256 = "0zshw10drqgsdcdlzci7ghpcmww69dr5nc8i9fakg9jj4pfblkv5";
-      name = "kde-l10n-es-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-es-16.12.0.tar.xz";
+      sha256 = "1kp1ihmlkkg053bplsjbbiixp0yzidd4gidpcj9axsa74f04084w";
+      name = "kde-l10n-es-16.12.0.tar.xz";
     };
   };
   kde-l10n-et = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-et-16.08.3.tar.xz";
-      sha256 = "04g4wvpmxrcma6dhw6py8xbhpxs4rsls69y98ljigd7y518ss6qa";
-      name = "kde-l10n-et-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-et-16.12.0.tar.xz";
+      sha256 = "0w48lirqnsgk78hkiam8cc7r7h5h4mrd7b8wssvxwbknyz33jfkz";
+      name = "kde-l10n-et-16.12.0.tar.xz";
     };
   };
   kde-l10n-eu = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-eu-16.08.3.tar.xz";
-      sha256 = "1gvgmlvc2qphy16y5m9xl0v6530909jzlvxfglamdwcchcc5rhj6";
-      name = "kde-l10n-eu-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-eu-16.12.0.tar.xz";
+      sha256 = "0mpjr6yklvvfjhrssvn1m27gqs7r9jvdr0prp6yss8v00ij9i3ig";
+      name = "kde-l10n-eu-16.12.0.tar.xz";
     };
   };
   kde-l10n-fa = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-fa-16.08.3.tar.xz";
-      sha256 = "0ph0ssqjxi6g93kzg8p888s8258zdzpyaq712zcfhjcr7zx8ld32";
-      name = "kde-l10n-fa-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-fa-16.12.0.tar.xz";
+      sha256 = "167lq8fnlfhrmvivzpznmv7x82izs9jdl6w4p8dg2i3801jwi9ff";
+      name = "kde-l10n-fa-16.12.0.tar.xz";
     };
   };
   kde-l10n-fi = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-fi-16.08.3.tar.xz";
-      sha256 = "0b7psgnc5mv38cx4iynacpq5q8nbvfm4fn6q9lwfj6x5h57xzd59";
-      name = "kde-l10n-fi-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-fi-16.12.0.tar.xz";
+      sha256 = "19y8jrxfl0nh4dcrl7sdz8r9cyka3cjg0dp8cs84v5c10fab4w8l";
+      name = "kde-l10n-fi-16.12.0.tar.xz";
     };
   };
   kde-l10n-fr = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-fr-16.08.3.tar.xz";
-      sha256 = "0q65wjjq4j1hg4bakbms2qamqqhqlchcbmy9fqc1aghbi3b871h8";
-      name = "kde-l10n-fr-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-fr-16.12.0.tar.xz";
+      sha256 = "1p487x8jsihxn7lrjmssi6i3is01498szblqn84yc8bgc7pgfdly";
+      name = "kde-l10n-fr-16.12.0.tar.xz";
     };
   };
   kde-l10n-ga = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-ga-16.08.3.tar.xz";
-      sha256 = "0drq7jxgdr01z75ybbalaxmr0r860f82i5ny1limnsqvmfh92p6b";
-      name = "kde-l10n-ga-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-ga-16.12.0.tar.xz";
+      sha256 = "0avpkwmdac9c8n8l0ddssgmn2pk9lkn7zhs532ird8axv4i9ynk4";
+      name = "kde-l10n-ga-16.12.0.tar.xz";
     };
   };
   kde-l10n-gl = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-gl-16.08.3.tar.xz";
-      sha256 = "0y6vj77nkinii1bfw975lyhbjzvmd7r23pn29cz3l0p3bfd3yzkd";
-      name = "kde-l10n-gl-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-gl-16.12.0.tar.xz";
+      sha256 = "1qdwfxgaqbymgqwmpki3zk3d5h18fmb7n62basn2yqhbj7cdpkil";
+      name = "kde-l10n-gl-16.12.0.tar.xz";
     };
   };
   kde-l10n-he = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-he-16.08.3.tar.xz";
-      sha256 = "1q6q5rqvww1f29qfr3prd7fkxzvx7inf5wnzmla9kdnax7p9z3rs";
-      name = "kde-l10n-he-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-he-16.12.0.tar.xz";
+      sha256 = "19nkvhs7gjrcxsynraqmgvif1n5m1zmjm6j7h1zviqmwcn9zncj4";
+      name = "kde-l10n-he-16.12.0.tar.xz";
     };
   };
   kde-l10n-hi = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-hi-16.08.3.tar.xz";
-      sha256 = "1qnncfg7vfw4ikcm23j1l6cmycg2m168d76h1fnznx4bdyfybblq";
-      name = "kde-l10n-hi-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-hi-16.12.0.tar.xz";
+      sha256 = "1m5qlc3mf9ns7ka8kmj5c2iqaqkb68hcab13hp5y5j4i7miqpp6d";
+      name = "kde-l10n-hi-16.12.0.tar.xz";
     };
   };
   kde-l10n-hr = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-hr-16.08.3.tar.xz";
-      sha256 = "1kzl6fycifrmb2lil9vifas0jcczsw0aqpr2r6fjlvbw7p2zc42n";
-      name = "kde-l10n-hr-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-hr-16.12.0.tar.xz";
+      sha256 = "1lbf25apks10c1byy0z8zjsfqd7f07xzhpdrinxbpdsa69ln28k2";
+      name = "kde-l10n-hr-16.12.0.tar.xz";
     };
   };
   kde-l10n-hu = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-hu-16.08.3.tar.xz";
-      sha256 = "0kj5ivz7xw0a79rcprjp4bra90s12421ppbipvgnllc2rcixgkki";
-      name = "kde-l10n-hu-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-hu-16.12.0.tar.xz";
+      sha256 = "0m2pv1zddfflpgmvab84j19b0nb7fymslqy2pzcdx6ga9f0k37gl";
+      name = "kde-l10n-hu-16.12.0.tar.xz";
     };
   };
   kde-l10n-ia = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-ia-16.08.3.tar.xz";
-      sha256 = "0cmv9jwbabaynx0wa1nhn9pgib60kg7b71ilcqhxnm5lqvws88pi";
-      name = "kde-l10n-ia-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-ia-16.12.0.tar.xz";
+      sha256 = "0x6h4k29s6pqd0k6c7lv15pa6837a59g5dskfph38kjdiv8lfwvq";
+      name = "kde-l10n-ia-16.12.0.tar.xz";
     };
   };
   kde-l10n-id = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-id-16.08.3.tar.xz";
-      sha256 = "1zz3237l26fz7ca33l9dvq1b8kkdi4gdzqxqslkb10q36z2gsni1";
-      name = "kde-l10n-id-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-id-16.12.0.tar.xz";
+      sha256 = "12ysf2q9cjfmsc00p6rdwhykbwvhzq6n5j0i296506hhmvbz2n15";
+      name = "kde-l10n-id-16.12.0.tar.xz";
     };
   };
   kde-l10n-is = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-is-16.08.3.tar.xz";
-      sha256 = "1mcwg8v08dv524ahhkv3wmnmac9pf534i45za9y0wl1kkcgp8949";
-      name = "kde-l10n-is-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-is-16.12.0.tar.xz";
+      sha256 = "1042skag9p1d1x1yg0jr8a3k1qsbr65nrswvmi2bqxmv59ls60zz";
+      name = "kde-l10n-is-16.12.0.tar.xz";
     };
   };
   kde-l10n-it = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-it-16.08.3.tar.xz";
-      sha256 = "15k52l0mq7qclb4adwvcz4bngisbj476vlphqnjhnav9nj5cm84f";
-      name = "kde-l10n-it-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-it-16.12.0.tar.xz";
+      sha256 = "0q44bcan48rjngc892prgqd0nyagh0wsha47hhxb9lm5cnf8kzis";
+      name = "kde-l10n-it-16.12.0.tar.xz";
     };
   };
   kde-l10n-ja = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-ja-16.08.3.tar.xz";
-      sha256 = "0p6nd7hlv6yvxi5y808wzjbidk1gpa2fj50i66lxzq3xl7rajli3";
-      name = "kde-l10n-ja-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-ja-16.12.0.tar.xz";
+      sha256 = "100wlprb149vpccypw5i0f6jj3f9yb77rkifn65h8brfmiiynisa";
+      name = "kde-l10n-ja-16.12.0.tar.xz";
     };
   };
   kde-l10n-kk = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-kk-16.08.3.tar.xz";
-      sha256 = "0ffnlmq2qnmcqk9h4yvl0z00x2f5yyicg1qf1jlxk9fvhbg5xpmv";
-      name = "kde-l10n-kk-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-kk-16.12.0.tar.xz";
+      sha256 = "045sni4cb70r94zb3vgprplr2nnpixbdx80c7cc99m2z4dd9bk01";
+      name = "kde-l10n-kk-16.12.0.tar.xz";
     };
   };
   kde-l10n-km = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-km-16.08.3.tar.xz";
-      sha256 = "1ln9dc278sv9r99psy27m1qhbyaw6dzg3kwr11pbp517253ggj7j";
-      name = "kde-l10n-km-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-km-16.12.0.tar.xz";
+      sha256 = "025cp9xpqa1hiax5lwpbqabdcdjpkm3szcbhwf607gz51ck6l4q3";
+      name = "kde-l10n-km-16.12.0.tar.xz";
     };
   };
   kde-l10n-ko = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-ko-16.08.3.tar.xz";
-      sha256 = "07lbblm4aqj7jp25clz7sil9ficrbvwpd9pvpfrz530q8y74hsjf";
-      name = "kde-l10n-ko-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-ko-16.12.0.tar.xz";
+      sha256 = "1aga8cmf2mv5746b5ix6j2ims2xp7s1mmn8dksipj0inrg9bim3b";
+      name = "kde-l10n-ko-16.12.0.tar.xz";
     };
   };
   kde-l10n-lt = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-lt-16.08.3.tar.xz";
-      sha256 = "1cssd4z8dxlld61kakb6vnb5hksswl1dkr1bsxv5q622hjrp037c";
-      name = "kde-l10n-lt-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-lt-16.12.0.tar.xz";
+      sha256 = "1rf1rwq4gzpcifpki1dx8iw7yv9fdyqrkbg96pnp47lynbdkp63s";
+      name = "kde-l10n-lt-16.12.0.tar.xz";
     };
   };
   kde-l10n-lv = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-lv-16.08.3.tar.xz";
-      sha256 = "0wnrcfgm5l3ifnywz67k186g5vh0648dhmymfcz6fmqf3ipfl4h4";
-      name = "kde-l10n-lv-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-lv-16.12.0.tar.xz";
+      sha256 = "0hn4c453fj3r7bscl5zr4n42cpxxxs738fc24cz34yjcxq19fgc3";
+      name = "kde-l10n-lv-16.12.0.tar.xz";
     };
   };
   kde-l10n-mr = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-mr-16.08.3.tar.xz";
-      sha256 = "0kkwpn12z1f8rs91yqh8x155nbrkwgj1z5fx4kcs1nc7xyvfpbff";
-      name = "kde-l10n-mr-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-mr-16.12.0.tar.xz";
+      sha256 = "04jljwj8kk2h5bqxfcpwnmig457w8141q1ckk91nfv4927gq3im3";
+      name = "kde-l10n-mr-16.12.0.tar.xz";
     };
   };
   kde-l10n-nb = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-nb-16.08.3.tar.xz";
-      sha256 = "0070dgr1apn345a8bwgbxiz2a0andmfx54vd5pv3hgj6n9jrmq07";
-      name = "kde-l10n-nb-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-nb-16.12.0.tar.xz";
+      sha256 = "16msjakcjlg6q9lk1bslayy1gsa2s3gf0b9gy1nkw3v09df93hv6";
+      name = "kde-l10n-nb-16.12.0.tar.xz";
     };
   };
   kde-l10n-nds = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-nds-16.08.3.tar.xz";
-      sha256 = "103wfwl18fmz8h184c3qcwfyh784pfzsd2dgd000xs28pcc5kc22";
-      name = "kde-l10n-nds-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-nds-16.12.0.tar.xz";
+      sha256 = "1jfswrb3z3q39pfgv7m1jzb1nigchfdnjg26zc1wmw8n6b544yhs";
+      name = "kde-l10n-nds-16.12.0.tar.xz";
     };
   };
   kde-l10n-nl = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-nl-16.08.3.tar.xz";
-      sha256 = "1zjnzcpivcs26qp5h153jd1qr98dnr1f8347cb9iz79q41zjn21z";
-      name = "kde-l10n-nl-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-nl-16.12.0.tar.xz";
+      sha256 = "1i9z5bp76gz8w58qzmgi5b90xbfar0ypjyhmnfksdzvpgd571lmq";
+      name = "kde-l10n-nl-16.12.0.tar.xz";
     };
   };
   kde-l10n-nn = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-nn-16.08.3.tar.xz";
-      sha256 = "1lm701iml2sfzp2dz5nlh6kflp3lfbcsdlipk9wwsqnjs3zr436y";
-      name = "kde-l10n-nn-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-nn-16.12.0.tar.xz";
+      sha256 = "1fvva9p572fi05z2542pfyx3wjycld1ap1zqgzlmk6j28a3ifzcb";
+      name = "kde-l10n-nn-16.12.0.tar.xz";
     };
   };
   kde-l10n-pa = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-pa-16.08.3.tar.xz";
-      sha256 = "0j6dyfg8vw1dj226ngxd4yb2qfnj4g7c36cfmmmlfr9d8ds8xw0p";
-      name = "kde-l10n-pa-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-pa-16.12.0.tar.xz";
+      sha256 = "0dqn7bijj6k8hp20nvh79jwzz1dnkx0py125b0isvjpakslqwf3p";
+      name = "kde-l10n-pa-16.12.0.tar.xz";
     };
   };
   kde-l10n-pl = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-pl-16.08.3.tar.xz";
-      sha256 = "0nr7vxw4d0z8g51zls46r3kbm0dfbry09cpmahdpk6zlgcvlg5zz";
-      name = "kde-l10n-pl-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-pl-16.12.0.tar.xz";
+      sha256 = "1l3ja8j4pw75qzaswli8a7c0qd1ac272dblx597njcs8iqgs6y3l";
+      name = "kde-l10n-pl-16.12.0.tar.xz";
     };
   };
   kde-l10n-pt = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-pt-16.08.3.tar.xz";
-      sha256 = "0il1gwr9jl8z2lp9j7zb18x7kbzcv6p37kbww5l6xr3gc744fiaf";
-      name = "kde-l10n-pt-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-pt-16.12.0.tar.xz";
+      sha256 = "0riyk5sz63sv8cfx8s25hw5l9g0052fbbq7m8srmc79hhw4w3p5h";
+      name = "kde-l10n-pt-16.12.0.tar.xz";
     };
   };
   kde-l10n-pt_BR = {
-    version = "pt_BR-16.08.3";
+    version = "pt_BR-16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-pt_BR-16.08.3.tar.xz";
-      sha256 = "0b5m5p19n6a9mclvhh5p2s6k0vjwspnal223ddc0xk34060f4ch7";
-      name = "kde-l10n-pt_BR-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-pt_BR-16.12.0.tar.xz";
+      sha256 = "0a3nhv7m5jkzsw158i5fbhlxz0p1pgn6rnzdja25v8hs3jqnzcq4";
+      name = "kde-l10n-pt_BR-16.12.0.tar.xz";
     };
   };
   kde-l10n-ro = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-ro-16.08.3.tar.xz";
-      sha256 = "08nanwr2s37215kkik8issn9va65dxlam55lfabybvybw6b0s7x5";
-      name = "kde-l10n-ro-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-ro-16.12.0.tar.xz";
+      sha256 = "0qs8dlcvh2366g0ifcwd7s5kg3q28bagpp8sm5zliyd79fh60mhh";
+      name = "kde-l10n-ro-16.12.0.tar.xz";
     };
   };
   kde-l10n-ru = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-ru-16.08.3.tar.xz";
-      sha256 = "1xbssbm3za3y0fh02j62s94vkz1nfdl37g458h1qagyawm04vwdq";
-      name = "kde-l10n-ru-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-ru-16.12.0.tar.xz";
+      sha256 = "0mk6h5fyna5qbq97mxwfihcjfg8lv7w5r1kis505ds6icym2pkzz";
+      name = "kde-l10n-ru-16.12.0.tar.xz";
     };
   };
   kde-l10n-sk = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-sk-16.08.3.tar.xz";
-      sha256 = "0ixqh1xj3nqwq7nsxhk4c7d5w8n77plld4ap4brd4r188pfswvdr";
-      name = "kde-l10n-sk-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-sk-16.12.0.tar.xz";
+      sha256 = "0qvgsjc9dbqfydg5zpygncpapw3df68yd1ham5d36v0c3k5161wi";
+      name = "kde-l10n-sk-16.12.0.tar.xz";
     };
   };
   kde-l10n-sl = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-sl-16.08.3.tar.xz";
-      sha256 = "0d4n5sp82jfap0cq167ybqsvyp06vla8y3clma25cyyksk9r355w";
-      name = "kde-l10n-sl-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-sl-16.12.0.tar.xz";
+      sha256 = "15lia25c9nasp6w6y1xvnnhkxb3977rdbl4zcanla7da6ma7h8yd";
+      name = "kde-l10n-sl-16.12.0.tar.xz";
     };
   };
   kde-l10n-sr = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-sr-16.08.3.tar.xz";
-      sha256 = "1bb2dbkb80q2y7s9nka8x4q8cc6lqx7ddry83rp97sia1fckgn6g";
-      name = "kde-l10n-sr-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-sr-16.12.0.tar.xz";
+      sha256 = "1irjpki6pnnkxdp49vw61caixfhkjgahdgx14cayb4zi16qsmn7p";
+      name = "kde-l10n-sr-16.12.0.tar.xz";
     };
   };
   kde-l10n-sv = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-sv-16.08.3.tar.xz";
-      sha256 = "1n7dj3alqf59b4n9ckhk35pw5qvlkbw70bw48b2mzsh6rm9l6njs";
-      name = "kde-l10n-sv-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-sv-16.12.0.tar.xz";
+      sha256 = "0a9jh60bz6xjq1ckyw2v67w9sdsjdlajlcbkb3jl021l8f5hywpx";
+      name = "kde-l10n-sv-16.12.0.tar.xz";
     };
   };
   kde-l10n-tr = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-tr-16.08.3.tar.xz";
-      sha256 = "0k1lwngg5v4wzc8imx33q68cdva4f61jqfibjrza4sf6la69vr6p";
-      name = "kde-l10n-tr-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-tr-16.12.0.tar.xz";
+      sha256 = "0i3sigwhrj36dmv2li9qqdshd3zh4p8sa9zgngfvz1942x32yi8x";
+      name = "kde-l10n-tr-16.12.0.tar.xz";
     };
   };
   kde-l10n-ug = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-ug-16.08.3.tar.xz";
-      sha256 = "1xi90k2ghgz9fh3lb1l7pbnmz17bi5mvyvg7dwwm3ni7q4k696lf";
-      name = "kde-l10n-ug-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-ug-16.12.0.tar.xz";
+      sha256 = "04mw7h9pyrbfvhx3mbp16czzawbqi9kn83nakysgkyy7dri1rl4g";
+      name = "kde-l10n-ug-16.12.0.tar.xz";
     };
   };
   kde-l10n-uk = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-uk-16.08.3.tar.xz";
-      sha256 = "114snhzp2v6fp7glvwbjd97byzfisp94zr2ia5np5xcpfkpww9g7";
-      name = "kde-l10n-uk-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-uk-16.12.0.tar.xz";
+      sha256 = "0iwzqvr677sqmgl4jdpawfnrf63k0x4xm3p29lbb2hpqnc0xmmpy";
+      name = "kde-l10n-uk-16.12.0.tar.xz";
     };
   };
   kde-l10n-wa = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-wa-16.08.3.tar.xz";
-      sha256 = "1qimv935j50sb7n7x4ga10x4zkasn9yddh1drs0k5i7r02sq8nzv";
-      name = "kde-l10n-wa-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-wa-16.12.0.tar.xz";
+      sha256 = "057kpzn50rs625ri737kjgn9zy8vxdaxmjlhk777piq5pq6id9s1";
+      name = "kde-l10n-wa-16.12.0.tar.xz";
     };
   };
   kde-l10n-zh_CN = {
-    version = "zh_CN-16.08.3";
+    version = "zh_CN-16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-zh_CN-16.08.3.tar.xz";
-      sha256 = "024y7lvjkx8djwd9qmjkj3q9ri3fbnlsxcyjr5jy5yi10ccwf9v6";
-      name = "kde-l10n-zh_CN-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-zh_CN-16.12.0.tar.xz";
+      sha256 = "0313ph852wygmws225534nv2ldmd5kvky3vl5nmcwg5fryc0dq7i";
+      name = "kde-l10n-zh_CN-16.12.0.tar.xz";
     };
   };
   kde-l10n-zh_TW = {
-    version = "zh_TW-16.08.3";
+    version = "zh_TW-16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-l10n/kde-l10n-zh_TW-16.08.3.tar.xz";
-      sha256 = "1m5npa3jrsc0kn3mqkp3pagix95ialpk4fikbiq44laxn7xph5yi";
-      name = "kde-l10n-zh_TW-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-l10n/kde-l10n-zh_TW-16.12.0.tar.xz";
+      sha256 = "0vfj5zdwrqzd34nxja8lwk93m9hiw3dzmbkaf9k5a7cpkqwnhf5s";
+      name = "kde-l10n-zh_TW-16.12.0.tar.xz";
     };
   };
   kdelibs = {
-    version = "4.14.26";
+    version = "4.14.27";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdelibs-4.14.26.tar.xz";
-      sha256 = "043asa5i30s3j1knpshhxw1a5a1alh1b5b719gdzpm1hxgn3f79r";
-      name = "kdelibs-4.14.26.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kdelibs-4.14.27.tar.xz";
+      sha256 = "1cngdvkpwdwbl5b40q00h9ivnpqbnjbd7kkfvsma7rlgg7wfg7xp";
+      name = "kdelibs-4.14.27.tar.xz";
     };
   };
   kdenetwork-filesharing = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdenetwork-filesharing-16.08.3.tar.xz";
-      sha256 = "0zfswqxh0ng5w44hzfpsjhmnv7nf1jc3qfmfvmmlb0h1ynfdbqmy";
-      name = "kdenetwork-filesharing-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kdenetwork-filesharing-16.12.0.tar.xz";
+      sha256 = "1icsranvsyvxrnlg9lm034i6xf247sqxdgcvrfqjw35rf047yp0d";
+      name = "kdenetwork-filesharing-16.12.0.tar.xz";
     };
   };
   kdenlive = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdenlive-16.08.3.tar.xz";
-      sha256 = "0s5bdb5xxjaqb7zmvm119mc7zacagglv21dd4v6sahg0mf1qvfin";
-      name = "kdenlive-16.08.3.tar.xz";
-    };
-  };
-  kdepim = {
-    version = "16.08.3";
-    src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdepim-16.08.3.tar.xz";
-      sha256 = "1l0rvi33i9hzr9c3nqzbr3cnz046ccf7s3v54mdmxfdk5x0ynkms";
-      name = "kdepim-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kdenlive-16.12.0.tar.xz";
+      sha256 = "1qsnjya1sppn5dfx8lanxqpgakd5jgi7677wq7vvyz3v9i47zvmc";
+      name = "kdenlive-16.12.0.tar.xz";
     };
   };
   kdepim-addons = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdepim-addons-16.08.3.tar.xz";
-      sha256 = "0ddhya9f6hbdakdna4hnbwiwvc1ar95jgxhr36hf6s37bxh7755l";
-      name = "kdepim-addons-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kdepim-addons-16.12.0.tar.xz";
+      sha256 = "1a063qxmal8n5rd2a6v05zml61l52sm33574vqxybh1bnx2dpq58";
+      name = "kdepim-addons-16.12.0.tar.xz";
     };
   };
   kdepim-apps-libs = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdepim-apps-libs-16.08.3.tar.xz";
-      sha256 = "1ygdmv30pzrgv3f222nv52mvc83ags9dvwl2ma4l8frb13xb1r15";
-      name = "kdepim-apps-libs-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kdepim-apps-libs-16.12.0.tar.xz";
+      sha256 = "1zm2mnwsxk4c58dbx3ln26mz89f1d20vywiljczfzpn99rg4cvvi";
+      name = "kdepim-apps-libs-16.12.0.tar.xz";
     };
   };
   kdepim-runtime = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdepim-runtime-16.08.3.tar.xz";
-      sha256 = "1q7d2c1rjli5dl162zibzhmg2q4hxxlqjp7r78amq90vhv975kc6";
-      name = "kdepim-runtime-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kdepim-runtime-16.12.0.tar.xz";
+      sha256 = "0vkmjh0l5yzpd9rmnyc2cchwpk9ccyk79g2ii5qg6xxr46r1vmfs";
+      name = "kdepim-runtime-16.12.0.tar.xz";
     };
   };
   kde-runtime = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kde-runtime-16.08.3.tar.xz";
-      sha256 = "1g5ni75byraf9268p0n74i81zb46agp9ac243m8jfzh8vdm2q5kk";
-      name = "kde-runtime-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kde-runtime-16.12.0.tar.xz";
+      sha256 = "1vs5q063li8jj56vwyy3wh6hfabf0xhmp6ag9mc2ns8kwcia1m6x";
+      name = "kde-runtime-16.12.0.tar.xz";
     };
   };
   kdesdk-kioslaves = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdesdk-kioslaves-16.08.3.tar.xz";
-      sha256 = "12q015nm9qfcscsvqrkibj1cfh651890k982sbqqdn0dm5932lnj";
-      name = "kdesdk-kioslaves-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kdesdk-kioslaves-16.12.0.tar.xz";
+      sha256 = "19jbw3w8mg20m3f96s9bnw0wg28zxq2kgq0fs9c5rbjr8alxlyz2";
+      name = "kdesdk-kioslaves-16.12.0.tar.xz";
     };
   };
   kdesdk-thumbnailers = {
-    version = "16.08.3";
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/kdesdk-thumbnailers-16.12.0.tar.xz";
+      sha256 = "1syzfdffggs3hidykmg9y6l4nzh7wbqs4ah9vih8cgs0qr2hml9s";
+      name = "kdesdk-thumbnailers-16.12.0.tar.xz";
+    };
+  };
+  kdf = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdesdk-thumbnailers-16.08.3.tar.xz";
-      sha256 = "1dy4566pdx890n60sn5v7hms2prjh674pm6gbxg1il4i4qcpfv4z";
-      name = "kdesdk-thumbnailers-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kdf-16.12.0.tar.xz";
+      sha256 = "0shwr55nrjgzm6cb2cdglvkkmknppd4yl0arn38w5a56sacsczcc";
+      name = "kdf-16.12.0.tar.xz";
     };
   };
-  kdewebdev = {
-    version = "16.08.3";
+  kdialog = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdewebdev-16.08.3.tar.xz";
-      sha256 = "0r9qsm3idfhm7aglik7whzcwjjn572gwmlcgxy2cvpn15nqa344l";
-      name = "kdewebdev-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kdialog-16.12.0.tar.xz";
+      sha256 = "0p6bf557k5ycmfaz7jrc65fp4j104c2cbv0ibamkyfrlpp1d0i1c";
+      name = "kdialog-16.12.0.tar.xz";
     };
   };
-  kdf = {
-    version = "16.08.3";
+  kdiamond = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdf-16.08.3.tar.xz";
-      sha256 = "1fkjmdwp5pnlvz2mac4zq93wnb6jj4ymj4448qbhxypncrh6sym3";
-      name = "kdf-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kdiamond-16.12.0.tar.xz";
+      sha256 = "1v0k23m74hiwr3a679h4wpc1w3m6y5mnjqc66pd9m94rshz8i8k6";
+      name = "kdiamond-16.12.0.tar.xz";
     };
   };
-  kdgantt2 = {
-    version = "16.08.3";
+  keditbookmarks = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdgantt2-16.08.3.tar.xz";
-      sha256 = "01p3cqqhghvx42mrmxkrsm7cp23972gi86sagjw070scw71fpv0c";
-      name = "kdgantt2-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/keditbookmarks-16.12.0.tar.xz";
+      sha256 = "1pw2snbdrndx42vxw51vss7mf52v6ys9jmkg7j6bkwp90dnlly1v";
+      name = "keditbookmarks-16.12.0.tar.xz";
     };
   };
-  kdiamond = {
-    version = "16.08.3";
+  kfilereplace = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kdiamond-16.08.3.tar.xz";
-      sha256 = "035m2911zbkvhydihaqbgwl7vs8z03hcsq8ph7wvnsdvd1f895ib";
-      name = "kdiamond-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kfilereplace-16.12.0.tar.xz";
+      sha256 = "0bcn07p1iq44pry0q771vadpi9gm9p2icbn8q5fympxf2y9smmqx";
+      name = "kfilereplace-16.12.0.tar.xz";
+    };
+  };
+  kfind = {
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/kfind-16.12.0.tar.xz";
+      sha256 = "0i2sjcw3ah35x3w7cvhrpzrv5khwax6nazbqbwzgvfa0gwc9y8ki";
+      name = "kfind-16.12.0.tar.xz";
     };
   };
   kfloppy = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kfloppy-16.08.3.tar.xz";
-      sha256 = "14y9a8nq2cdaj5r6xdqwfm6fa8w3wbx80hrps2bkxyx696hc1lkl";
-      name = "kfloppy-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kfloppy-16.12.0.tar.xz";
+      sha256 = "0awcayd1hffdv7dybbrv2m38q33yl26g4bs9z1yib7h4iilky3lz";
+      name = "kfloppy-16.12.0.tar.xz";
     };
   };
   kfourinline = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kfourinline-16.08.3.tar.xz";
-      sha256 = "04wpswi9c7c79g4sz6cr7jrdmdfwwqr2p8kd0zs2snygcr4h3fcq";
-      name = "kfourinline-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kfourinline-16.12.0.tar.xz";
+      sha256 = "18l218fww9y3msmx28j42xyvgyvngj2bhdx05ji8q9x40phq8dby";
+      name = "kfourinline-16.12.0.tar.xz";
     };
   };
   kgeography = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kgeography-16.08.3.tar.xz";
-      sha256 = "09hsihvvdzbr1dz8zlwy7nyjk87pl7f714k3k3b0b0wpx9swxkq0";
-      name = "kgeography-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kgeography-16.12.0.tar.xz";
+      sha256 = "1zcw344y2xrz2h9f37kvk0fl4c9rm5xcahqc3hranm922ki0c8v4";
+      name = "kgeography-16.12.0.tar.xz";
     };
   };
   kget = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kget-16.08.3.tar.xz";
-      sha256 = "1709if0yqp0axy88v56zrchirkcjgl8q38qf0zbfng0bbbszik61";
-      name = "kget-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kget-16.12.0.tar.xz";
+      sha256 = "125b4knvng34cj99g45590d9ci5s0f1y3m223rxvzmn5sds2vp1k";
+      name = "kget-16.12.0.tar.xz";
     };
   };
   kgoldrunner = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kgoldrunner-16.08.3.tar.xz";
-      sha256 = "03g3j1zrq3513jijnl3ih61xkpxl4mqy6mjmilq5cs745bmzkad4";
-      name = "kgoldrunner-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kgoldrunner-16.12.0.tar.xz";
+      sha256 = "155smz222s38ib0rrfcsfg0vi4l0iksawagwmxvnr1h51s80l5pz";
+      name = "kgoldrunner-16.12.0.tar.xz";
     };
   };
   kgpg = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kgpg-16.08.3.tar.xz";
-      sha256 = "17kr13lvicv4lrl4ls4l66xh35xz60nrszwagb0qk34wcgzc090p";
-      name = "kgpg-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kgpg-16.12.0.tar.xz";
+      sha256 = "1jn51r4f2ixwp4qfx635jy017gls0aaz0638kfz8404zj4l523qs";
+      name = "kgpg-16.12.0.tar.xz";
     };
   };
   khangman = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/khangman-16.08.3.tar.xz";
-      sha256 = "1ipkp003pp6z783qb7fzhky3kn4ccmlqijxysk7ccbsr9myfvdyk";
-      name = "khangman-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/khangman-16.12.0.tar.xz";
+      sha256 = "0827754548bxbhqgfykb7n97hxjszf8azrz2vi6l0vsd080q0kvf";
+      name = "khangman-16.12.0.tar.xz";
     };
   };
   khelpcenter = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/khelpcenter-16.08.3.tar.xz";
-      sha256 = "13vzqjaqqzi46c9gmijhbq1i3fmk3pbkkg26mn3745m2xc6j2cvi";
-      name = "khelpcenter-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/khelpcenter-16.12.0.tar.xz";
+      sha256 = "015s3yj0ppba8b90h0fwwra3xqz2b21n701zd4q40rqfjhkh9p0j";
+      name = "khelpcenter-16.12.0.tar.xz";
     };
   };
   kholidays = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kholidays-16.08.3.tar.xz";
-      sha256 = "0hxb2c526vw8rvfp14snvwihsqvr1l30vnzhxznl3dhm44lmvdn9";
-      name = "kholidays-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kholidays-16.12.0.tar.xz";
+      sha256 = "0rimmd74ls77zzmk00dxs17b9h4vj3382hiz2cl5pgf834s0ljgn";
+      name = "kholidays-16.12.0.tar.xz";
     };
   };
   kidentitymanagement = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kidentitymanagement-16.08.3.tar.xz";
-      sha256 = "0vv1y0mwxlb4g5a01jgi1nizw530w0fhy0kab6syxzgmnibj6vsf";
-      name = "kidentitymanagement-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kidentitymanagement-16.12.0.tar.xz";
+      sha256 = "0z559af17qjcr7s2nsr0v4yvqn69svkzcqis99x329kbhza1208k";
+      name = "kidentitymanagement-16.12.0.tar.xz";
     };
   };
   kig = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kig-16.08.3.tar.xz";
-      sha256 = "1ln2i322ara79f90rwrcv5xfa0cnkksyhj25h2xn9x7d5ig4by96";
-      name = "kig-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kig-16.12.0.tar.xz";
+      sha256 = "10svcqid4rzhq8vb4bbxhnp1dlyl4fd8w18blxvqan0qiv43332x";
+      name = "kig-16.12.0.tar.xz";
     };
   };
   kigo = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kigo-16.08.3.tar.xz";
-      sha256 = "0vz7329i8pfax9nxb7xc0yws4f3mn4ms93358wvhyblbma4zaf4l";
-      name = "kigo-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kigo-16.12.0.tar.xz";
+      sha256 = "033jbyck21qzm9r9j7q012rbkr0bk0n2prjb70lk38wsb2ghvziw";
+      name = "kigo-16.12.0.tar.xz";
     };
   };
   killbots = {
-    version = "16.08.3";
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/killbots-16.12.0.tar.xz";
+      sha256 = "0079fsh5yld69a3lq4ibbyhlr6kk7j2x0wylnk00jq0m886jqi4j";
+      name = "killbots-16.12.0.tar.xz";
+    };
+  };
+  kimagemapeditor = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/killbots-16.08.3.tar.xz";
-      sha256 = "08f9gvvy3sx7ibikgxzjawfzzznfig8dfmgmfczj56fys7rvh2y5";
-      name = "killbots-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kimagemapeditor-16.12.0.tar.xz";
+      sha256 = "1p7r9k7xrvnab83sljlgjlncdpv3z1fxskyzsihdzb3qw1da5sg9";
+      name = "kimagemapeditor-16.12.0.tar.xz";
     };
   };
   kimap = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kimap-16.08.3.tar.xz";
-      sha256 = "03nl3q8cv92jpdgdg8pfhwzwlkqpcpz13p6p4q47vvmgglp63qnw";
-      name = "kimap-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kimap-16.12.0.tar.xz";
+      sha256 = "1sm3ifnl80wmzbxz9ybsj4xl224mg5sn43ja29sf7m0syyypfc9n";
+      name = "kimap-16.12.0.tar.xz";
     };
   };
   kio-extras = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kio-extras-16.08.3.tar.xz";
-      sha256 = "1rd5ks73vqf6x4rs0qjsy0ipl6lgxgwqbwmcxar5m50b5jksl4xk";
-      name = "kio-extras-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kio-extras-16.12.0.tar.xz";
+      sha256 = "0g4xxzqbv5bi1msqp1vhkq04815dz4zflnlsgyimihi74mdawd3x";
+      name = "kio-extras-16.12.0.tar.xz";
     };
   };
   kiriki = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kiriki-16.08.3.tar.xz";
-      sha256 = "0n37mmkq1jmdh3jlrjzmb88cnbnwzcjbp2dy6mz4f5iliv9ws54v";
-      name = "kiriki-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kiriki-16.12.0.tar.xz";
+      sha256 = "034fgl0qvslzyk04gnr68gcvlvynfim8bn0plgz5vd0k5w9n67kc";
+      name = "kiriki-16.12.0.tar.xz";
     };
   };
   kiten = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kiten-16.08.3.tar.xz";
-      sha256 = "0qds7c62jsgf5lyx2sjhw5xxxq7qh35ccpvpc7l004g4blwb7mna";
-      name = "kiten-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kiten-16.12.0.tar.xz";
+      sha256 = "1s6qpzficpfm0zxs8g80xyly7wflxfxwjpr0avsn6ydzz0yj4vc7";
+      name = "kiten-16.12.0.tar.xz";
     };
   };
   kjumpingcube = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kjumpingcube-16.08.3.tar.xz";
-      sha256 = "1lv6irlvfpbpbhk3vazv07frwz3y7084y3hirdjb2xih8gbsljrm";
-      name = "kjumpingcube-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kjumpingcube-16.12.0.tar.xz";
+      sha256 = "0japldhq8a7rfmzhlyk057iab9xnzwy1ahsp8fbdqh5xgp7yc0sq";
+      name = "kjumpingcube-16.12.0.tar.xz";
     };
   };
   kldap = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kldap-16.08.3.tar.xz";
-      sha256 = "1h4czdxw0p4lakx0j0pf2v13ny5lnc56jhhjjb9ddm44b50fg4vg";
-      name = "kldap-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kldap-16.12.0.tar.xz";
+      sha256 = "1xz46h39clz5pqlhqfmvdiw67i7dknng5jk9907vjzp84rck8qmr";
+      name = "kldap-16.12.0.tar.xz";
     };
   };
   kleopatra = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kleopatra-16.08.3.tar.xz";
-      sha256 = "0ncr4sc6qs50n1w85gf350iq9l28665is53jzbm288151zanp4dd";
-      name = "kleopatra-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kleopatra-16.12.0.tar.xz";
+      sha256 = "0g5crp2vwvl0bfb95ym3wj3z39vy1bzcdcqw77pw4l1k9jd334sk";
+      name = "kleopatra-16.12.0.tar.xz";
     };
   };
   klettres = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/klettres-16.08.3.tar.xz";
-      sha256 = "14m1k0y1lbkqrpwnjx8020d23fmpgq0jg97hr4q8fzs4h71lpyr7";
-      name = "klettres-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/klettres-16.12.0.tar.xz";
+      sha256 = "1gggmllh4j5178gasc9qzbk7l453nsgmnp3gq18iymcrvjbm5r1k";
+      name = "klettres-16.12.0.tar.xz";
     };
   };
   klickety = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/klickety-16.08.3.tar.xz";
-      sha256 = "0izkwi0h2mc204wsmyg5hspnnc3xa8ypdzbw1rwgsd8nxv3sphbv";
-      name = "klickety-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/klickety-16.12.0.tar.xz";
+      sha256 = "0xznghprfy7fl2b84dhf7yrcqwj7aa6dxyzani7q0vms6680vjrd";
+      name = "klickety-16.12.0.tar.xz";
     };
   };
   klines = {
-    version = "16.08.3";
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/klines-16.12.0.tar.xz";
+      sha256 = "086d9cak6vx7paygl2b2vim22gnpcq290agx62z98gy4a4r0aq3x";
+      name = "klines-16.12.0.tar.xz";
+    };
+  };
+  klinkstatus = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/klines-16.08.3.tar.xz";
-      sha256 = "0p1pbljqp01g9ssih5aplsi97aszc68smkpilbazxfvwc4q3x1ag";
-      name = "klines-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/klinkstatus-16.12.0.tar.xz";
+      sha256 = "1xr5mzhrs3jsp13587n0r3mr9z5j2fc7qr4z7c9c4za2v0qp83h7";
+      name = "klinkstatus-16.12.0.tar.xz";
     };
   };
   kmag = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kmag-16.08.3.tar.xz";
-      sha256 = "0ph7zf1awj47wzvp5dq80rvx0himrk6s8qhmnjvgpm0nqyfv7xh0";
-      name = "kmag-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kmag-16.12.0.tar.xz";
+      sha256 = "1aihng2ippkavrlsrf9l3klpwkyql3lyy44x81ibmaw6xaa9zgjs";
+      name = "kmag-16.12.0.tar.xz";
     };
   };
   kmahjongg = {
-    version = "16.08.3";
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/kmahjongg-16.12.0.tar.xz";
+      sha256 = "1lv95cjsc0ahnxij1y7b2pdihvkcnmbq6385rlxwqmqjp2mprga7";
+      name = "kmahjongg-16.12.0.tar.xz";
+    };
+  };
+  kmail = {
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/kmail-16.12.0.tar.xz";
+      sha256 = "0nydggfk2jndj6f7vn9far29z9n5zrmdfcfmfh7pbq5qhgdaxrzf";
+      name = "kmail-16.12.0.tar.xz";
+    };
+  };
+  kmail-account-wizard = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kmahjongg-16.08.3.tar.xz";
-      sha256 = "0fxkbq1p174lppklvi5lzmgi3g7411nhi33fsmdmwyxbngrm4yih";
-      name = "kmahjongg-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kmail-account-wizard-16.12.0.tar.xz";
+      sha256 = "151ixamq9910pw8q8phn3crhc250khagrimfhsg721kcl0k0ajzs";
+      name = "kmail-account-wizard-16.12.0.tar.xz";
     };
   };
   kmailtransport = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kmailtransport-16.08.3.tar.xz";
-      sha256 = "08xi04xr7mjg8m2bnp42ymvn9ynv4q8y3dnql1v4225pjzmp6bkg";
-      name = "kmailtransport-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kmailtransport-16.12.0.tar.xz";
+      sha256 = "0hm797zk8lcq3icyddh46snx0f1n35j9vx7qg7zy77lfs9xrhh6n";
+      name = "kmailtransport-16.12.0.tar.xz";
     };
   };
   kmbox = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kmbox-16.08.3.tar.xz";
-      sha256 = "0iaqq4mrfj4qqaj76i7crjriyjsk3h6rf3cisygvkkfyyb69nz17";
-      name = "kmbox-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kmbox-16.12.0.tar.xz";
+      sha256 = "0xmib0fpardw9f5f61mhmj04qlhh0nkq9cdp0z374r6mar29q2dj";
+      name = "kmbox-16.12.0.tar.xz";
     };
   };
   kmime = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kmime-16.08.3.tar.xz";
-      sha256 = "0j9nfsmfl1sw9hz3al9smxri1hr58ygmyxawlr91iyglzswxaakb";
-      name = "kmime-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kmime-16.12.0.tar.xz";
+      sha256 = "0rk6ggpa1iqc6vvkx1w7v68pngxfa0xailgd0rfkb7rxvbv9zvhs";
+      name = "kmime-16.12.0.tar.xz";
     };
   };
   kmines = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kmines-16.08.3.tar.xz";
-      sha256 = "0rnjdds4skxj9pxajfnybki4ikq99k5myaw80qk5dc08gnrmw4fz";
-      name = "kmines-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kmines-16.12.0.tar.xz";
+      sha256 = "0j15c9valn6zi0siig132ck0jl3ccq8mwi87jmv01lk3wk8wf70n";
+      name = "kmines-16.12.0.tar.xz";
     };
   };
   kmix = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kmix-16.08.3.tar.xz";
-      sha256 = "1p3gcll4ywwxwphygrwqrp1565va52q8nnccyxisd3h833lqfk3k";
-      name = "kmix-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kmix-16.12.0.tar.xz";
+      sha256 = "0q0x0azd6qaa9fqcf4bl9q05fggb1amqdn3y4fj6y4fmybzwy2lk";
+      name = "kmix-16.12.0.tar.xz";
     };
   };
   kmousetool = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kmousetool-16.08.3.tar.xz";
-      sha256 = "1iihk8jcysz49q3a5nnn0s468yca1x7chwqpvqqr694fn3wizkfg";
-      name = "kmousetool-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kmousetool-16.12.0.tar.xz";
+      sha256 = "08h0jpwf16xxrxijlg1lhlsixmfm8k6kby6z8m47ixd1pfj0dkxa";
+      name = "kmousetool-16.12.0.tar.xz";
     };
   };
   kmouth = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kmouth-16.08.3.tar.xz";
-      sha256 = "1km072jnp5cc3ib4ja0lxd29pspi9wyhbp8bgcph5m33kw2n3cbq";
-      name = "kmouth-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kmouth-16.12.0.tar.xz";
+      sha256 = "1nvxd3kykb0a1kr3pk8rs4imrnv2x2cqvyg4rdj2vzrxszckcirp";
+      name = "kmouth-16.12.0.tar.xz";
     };
   };
   kmplot = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kmplot-16.08.3.tar.xz";
-      sha256 = "0lv2jfg6klm3z9mpp298g1d7vxff5hdaj332pzblvp2m51sbhrdv";
-      name = "kmplot-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kmplot-16.12.0.tar.xz";
+      sha256 = "1wdx63cv0qyccfgr7zbp1myfyfd2prk8jfq60n240rv0ji1r7ah8";
+      name = "kmplot-16.12.0.tar.xz";
     };
   };
   knavalbattle = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/knavalbattle-16.08.3.tar.xz";
-      sha256 = "1kjndhwc4l4rspygaxdr8dj9s9rj8ayq1k0z7r8v5qz2355farc8";
-      name = "knavalbattle-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/knavalbattle-16.12.0.tar.xz";
+      sha256 = "0wyxxhgrmn7fyh3mmanpi7ki59zlrvhwyqpjya6dxysa8v7f6bda";
+      name = "knavalbattle-16.12.0.tar.xz";
     };
   };
   knetwalk = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/knetwalk-16.08.3.tar.xz";
-      sha256 = "18l80ffcavy9q7sj396qj4xw1yghljl24762ygd9q0kmmanw4h8y";
-      name = "knetwalk-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/knetwalk-16.12.0.tar.xz";
+      sha256 = "1xbrzp8qhvnnx85zx5gkbkv5babkgm1zzlrrjbpbgghvqz71g36h";
+      name = "knetwalk-16.12.0.tar.xz";
+    };
+  };
+  knotes = {
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/knotes-16.12.0.tar.xz";
+      sha256 = "0rsl0d25i771r96lmp1bpq7g46jdk1jkfml0f10s3h940y73fyax";
+      name = "knotes-16.12.0.tar.xz";
     };
   };
   kolf = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kolf-16.08.3.tar.xz";
-      sha256 = "15gggr983pcz44q44m1yvkbyp5kwbmpyx3ijb2yxx1bvn4d5bp85";
-      name = "kolf-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kolf-16.12.0.tar.xz";
+      sha256 = "12dyfv9zsh3vacakh1yh037ma4n43lqhhqcqns4cimxwqzhdmwz5";
+      name = "kolf-16.12.0.tar.xz";
     };
   };
   kollision = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kollision-16.08.3.tar.xz";
-      sha256 = "18kvvl87ykkrhjikq53rgj53ap73x2wld6b4aryd4jrwmj5wby39";
-      name = "kollision-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kollision-16.12.0.tar.xz";
+      sha256 = "0rb83c0ab6hf6y41ll5wp41gkv05jzk4gjjb9z0iy8vbl0zgfy8b";
+      name = "kollision-16.12.0.tar.xz";
     };
   };
   kolourpaint = {
-    version = "16.08.3";
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/kolourpaint-16.12.0.tar.xz";
+      sha256 = "0xapdx2h1ki3lmw6413d4zi6d23ag4cqbhnf8ndk49rk3nal8mlf";
+      name = "kolourpaint-16.12.0.tar.xz";
+    };
+  };
+  kommander = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kolourpaint-16.08.3.tar.xz";
-      sha256 = "0igv18nrhwhylvm7nr4mfvyp2bpcgn6c3r8r61rrsl908qmv4byv";
-      name = "kolourpaint-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kommander-16.12.0.tar.xz";
+      sha256 = "03qx7s45dmbbz4yp3d5d0l70ihr5kw08xywirpgdn78gbrzgz5rm";
+      name = "kommander-16.12.0.tar.xz";
     };
   };
   kompare = {
-    version = "16.08.3";
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/kompare-16.12.0.tar.xz";
+      sha256 = "0yxnc7w7zzbra9n7hwv3mccxivivj9dzv8d2va110cm1h7gx5v06";
+      name = "kompare-16.12.0.tar.xz";
+    };
+  };
+  konqueror = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kompare-16.08.3.tar.xz";
-      sha256 = "1ji33dhbak38w0b9dlrv1v4kh5lyp5pm2v77v0lka71l75cvc7g7";
-      name = "kompare-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/konqueror-16.12.0.tar.xz";
+      sha256 = "18xc0d8hryi6c80ka93n83wlyb208mk8yxvxcx5b0b76yhz642d2";
+      name = "konqueror-16.12.0.tar.xz";
     };
   };
   konquest = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/konquest-16.08.3.tar.xz";
-      sha256 = "1b8fx5k6fncw82d6i8kc07qk2k4y4fwdvwlqn2pxdixp3fk1fj12";
-      name = "konquest-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/konquest-16.12.0.tar.xz";
+      sha256 = "0811a1649hqavgix8y7b3ngcngpxnz1gf6nf5ljydf5nlja612ai";
+      name = "konquest-16.12.0.tar.xz";
     };
   };
   konsole = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/konsole-16.08.3.tar.xz";
-      sha256 = "09s8y3w2mrifpl9pfjrzf0q5fgfcdph0s8x85y7262mikwvqfx36";
-      name = "konsole-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/konsole-16.12.0.tar.xz";
+      sha256 = "125arsfrzh9103gpw67pb4h63zjmn4653rnqm17hvcdpibs5x7lk";
+      name = "konsole-16.12.0.tar.xz";
+    };
+  };
+  kontact = {
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/kontact-16.12.0.tar.xz";
+      sha256 = "1ym07xfmyy60h2hf575gllhhprgx3n9q5mqqj3z444ipd5z73jhx";
+      name = "kontact-16.12.0.tar.xz";
     };
   };
   kontactinterface = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kontactinterface-16.08.3.tar.xz";
-      sha256 = "1kw04ixc6blmygi3wyyk8a3qnyd0a9d85r2jql3mzhz5gczik7b8";
-      name = "kontactinterface-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kontactinterface-16.12.0.tar.xz";
+      sha256 = "16gw9sq1s9szw9zh1dp025qqj2al6yqf5c1yqkvp94y6kgw901gi";
+      name = "kontactinterface-16.12.0.tar.xz";
     };
   };
   kopete = {
-    version = "16.08.3";
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/kopete-16.12.0.tar.xz";
+      sha256 = "1297ixqq2g5kqvyap2md5y0nm11027sjffq47m99yrxvsb3z5v60";
+      name = "kopete-16.12.0.tar.xz";
+    };
+  };
+  korganizer = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kopete-16.08.3.tar.xz";
-      sha256 = "0ia43yqmb802nqjlklgpyqy5pnkp9mlr7hhic0lmgvr0jyid43pz";
-      name = "kopete-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/korganizer-16.12.0.tar.xz";
+      sha256 = "1xfgklw266zv83d57g1q9yqkzwlr06bf5gg76ac9qfn6fczc5qs7";
+      name = "korganizer-16.12.0.tar.xz";
     };
   };
   kpat = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kpat-16.08.3.tar.xz";
-      sha256 = "1jb7a5ii8qvaqvivbd0hn2vxn9l9s83ahrx8idnlhqj1yriyhyqa";
-      name = "kpat-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kpat-16.12.0.tar.xz";
+      sha256 = "00kwpv1zhrj428qbi38fcd87bzkdvq79jcj2z2wlxf496kdr73z3";
+      name = "kpat-16.12.0.tar.xz";
     };
   };
   kpimtextedit = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kpimtextedit-16.08.3.tar.xz";
-      sha256 = "0bkf43i7wdyign63gwz2215dr66zfpy43f8pszif5jqzlnc84kba";
-      name = "kpimtextedit-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kpimtextedit-16.12.0.tar.xz";
+      sha256 = "1yj3ihl3r04av6bcw6g574ix5xq3vy7xn1bxf5lldxcs0d56485h";
+      name = "kpimtextedit-16.12.0.tar.xz";
     };
   };
   kppp = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kppp-16.08.3.tar.xz";
-      sha256 = "04pszpig2dyvrprfkalxhfad3d9v5sl8sjb3r403wmvd701xbknh";
-      name = "kppp-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kppp-16.12.0.tar.xz";
+      sha256 = "1s760apss671855cc35r52vyrh1n65miibsr9x66fssy2dixbm8a";
+      name = "kppp-16.12.0.tar.xz";
     };
   };
   kqtquickcharts = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kqtquickcharts-16.08.3.tar.xz";
-      sha256 = "1kdd0n6a8v4paya9xw8si8c60k448mrgwz163qa3w54ylxmh2xqb";
-      name = "kqtquickcharts-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kqtquickcharts-16.12.0.tar.xz";
+      sha256 = "170490rl9j73zw4679p5l08rxg4x9agc2xvig029maarkbymy46i";
+      name = "kqtquickcharts-16.12.0.tar.xz";
     };
   };
   krdc = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/krdc-16.08.3.tar.xz";
-      sha256 = "00kvijidg387wp1wv8brhdbhc3daa06n2k2vn0cfyh18s815mwbs";
-      name = "krdc-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/krdc-16.12.0.tar.xz";
+      sha256 = "1n0wwb16kfhzsqxj0d1y5ms6k7i568aggrip27l8hgj3bnp1lfv9";
+      name = "krdc-16.12.0.tar.xz";
     };
   };
   kremotecontrol = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kremotecontrol-16.08.3.tar.xz";
-      sha256 = "0h2cjc10s876clsap93blmgbv75vxkjlpkns7n14420mz45j7aga";
-      name = "kremotecontrol-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kremotecontrol-16.12.0.tar.xz";
+      sha256 = "1h2znx0vqa9i4qg4b6mdlg4i5pzif266f81wa3kkh2zqw6qiyd77";
+      name = "kremotecontrol-16.12.0.tar.xz";
     };
   };
   kreversi = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kreversi-16.08.3.tar.xz";
-      sha256 = "0dpk6jnn6sqqn8xagy3dsvf6c4irir0l8pfp3xjr3s6hx3jbgqn9";
-      name = "kreversi-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kreversi-16.12.0.tar.xz";
+      sha256 = "01z4nwnpcbgd7y1xilwbjc803hqgzp3x89sif6zhkmcrvh17wzsd";
+      name = "kreversi-16.12.0.tar.xz";
     };
   };
   krfb = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/krfb-16.08.3.tar.xz";
-      sha256 = "0kgm1wpxnjr79w2mqq6q5mg2ajzlim9c83030jdzqd5dr1y8gvdl";
-      name = "krfb-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/krfb-16.12.0.tar.xz";
+      sha256 = "0mdi6v4ijibr4cm0gsr5jid4qd1wi5i6bccqn1ii4v2v59pnrzyw";
+      name = "krfb-16.12.0.tar.xz";
     };
   };
   kross-interpreters = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kross-interpreters-16.08.3.tar.xz";
-      sha256 = "1629b9ihg3g5d0p5a0f7igfsmwn45jlsy7gqbdmrwzlbynrbq0jv";
-      name = "kross-interpreters-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kross-interpreters-16.12.0.tar.xz";
+      sha256 = "1dsw0wzwnqz2hgw3s6gjs7bpvkxyqgc0nad7pj7gnhd4j68fr0h1";
+      name = "kross-interpreters-16.12.0.tar.xz";
     };
   };
   kruler = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kruler-16.08.3.tar.xz";
-      sha256 = "0awhsaysqsgnvmflrz4svd2vbnmhykb6cfn2331mphv4ycyi0zyf";
-      name = "kruler-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kruler-16.12.0.tar.xz";
+      sha256 = "0k30cw24ygcc1rbqx5hsy46w4laha733kkcvi0axzhgfkk19wbvq";
+      name = "kruler-16.12.0.tar.xz";
     };
   };
   ksaneplugin = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ksaneplugin-16.08.3.tar.xz";
-      sha256 = "0hg1xw45x6xk8q893hm72skhhm4p1v1afbvdxqasaggl6l8765xh";
-      name = "ksaneplugin-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ksaneplugin-16.12.0.tar.xz";
+      sha256 = "17im3pjwchlqsgf8f6ml0i23s6y8x2p5pjfwrc4giwd1v83hh02s";
+      name = "ksaneplugin-16.12.0.tar.xz";
     };
   };
   kscd = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kscd-16.08.3.tar.xz";
-      sha256 = "1dyh79x5zgc20f18hysvmnfpg7f2wxjssracyihg2b8cyhzz2g70";
-      name = "kscd-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kscd-16.12.0.tar.xz";
+      sha256 = "0g8307qby224zhravfm350mkknhj44rjxcs04pgws3y3ra0bqzcz";
+      name = "kscd-16.12.0.tar.xz";
     };
   };
   kshisen = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kshisen-16.08.3.tar.xz";
-      sha256 = "0xmjk6pij18sf3mq8hp3fmcvhqdx6l44hvk6nmp6v4y7fxw3fry4";
-      name = "kshisen-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kshisen-16.12.0.tar.xz";
+      sha256 = "1i2mbh1nwwpvns9nkzr7bl5gxk5v58psbw2fad0gxddbcng2sbnh";
+      name = "kshisen-16.12.0.tar.xz";
     };
   };
   ksirk = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ksirk-16.08.3.tar.xz";
-      sha256 = "0bwnlfa162n6a5kxzbbxwgxj7rgpi5zqaj0arqwlq075b1kyfniq";
-      name = "ksirk-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ksirk-16.12.0.tar.xz";
+      sha256 = "1rzp5b35x7yiz1cyfbw80b1wzf68bd3k5ax4pl12q15h1wpcr582";
+      name = "ksirk-16.12.0.tar.xz";
     };
   };
   ksnakeduel = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ksnakeduel-16.08.3.tar.xz";
-      sha256 = "1g26ip287fnlv95vmk69ji76mr8lpnjrgj855rdi64p16wxwirjp";
-      name = "ksnakeduel-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ksnakeduel-16.12.0.tar.xz";
+      sha256 = "12ybsl1awsz1pygpgfbzfyyql24znafmll6qcydcg07rjxld9ywq";
+      name = "ksnakeduel-16.12.0.tar.xz";
     };
   };
   kspaceduel = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kspaceduel-16.08.3.tar.xz";
-      sha256 = "0ycfw4mr25apr21ffxv0pdxbrda09k4him19hck3yjkkhgwzq7a0";
-      name = "kspaceduel-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kspaceduel-16.12.0.tar.xz";
+      sha256 = "1rpacxbzg8rdl1hmm6nvksjj8z4cwqyh0v8javazf8ngas29bijj";
+      name = "kspaceduel-16.12.0.tar.xz";
     };
   };
   ksquares = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ksquares-16.08.3.tar.xz";
-      sha256 = "1x7gj4bxq2aza2cis3br2y20nbljx4n988f70wark9ywz8hydg5z";
-      name = "ksquares-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ksquares-16.12.0.tar.xz";
+      sha256 = "16gd9l9bm96dv6srl11blxh15n3invh7znzxikxspjzckm3jqc5q";
+      name = "ksquares-16.12.0.tar.xz";
     };
   };
   kstars = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kstars-16.08.3.tar.xz";
-      sha256 = "1a86zqbwp9vwbf1xd7j5a90krcyn2gps38g57hi8dvblx8qlfv4m";
-      name = "kstars-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kstars-16.12.0.tar.xz";
+      sha256 = "0j6g58xlasxa23vqc12kzl4ijaw34wncdvrsfgdzi3b9bvqy3njm";
+      name = "kstars-16.12.0.tar.xz";
     };
   };
   ksudoku = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ksudoku-16.08.3.tar.xz";
-      sha256 = "0fjlw7krvi3z1aaiivzkbl2hya2fv2gwfahckfbs05vs0br288iy";
-      name = "ksudoku-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ksudoku-16.12.0.tar.xz";
+      sha256 = "05jak7hg3yn9dwbinhny0av5rhj1r9zzp7l79nrg8nbm52jnyy4m";
+      name = "ksudoku-16.12.0.tar.xz";
     };
   };
   ksystemlog = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ksystemlog-16.08.3.tar.xz";
-      sha256 = "1c5xb9m4k5hwz5fv6hvigp12cykgcrkc95axaxhfvas0g9z226hq";
-      name = "ksystemlog-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ksystemlog-16.12.0.tar.xz";
+      sha256 = "0q3ca4c98a0j8d0370gaczqqs32446hyyf70kf7rxmr6f35d7y4q";
+      name = "ksystemlog-16.12.0.tar.xz";
     };
   };
   kteatime = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kteatime-16.08.3.tar.xz";
-      sha256 = "0af9dvwihq3dj5zps8d9ahx6zvp9ifwhiswk6v0w887vyf5nym36";
-      name = "kteatime-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kteatime-16.12.0.tar.xz";
+      sha256 = "1b05ahhdmjlp3fknmbp5c050sgx8iih3j3xxp0bj998xbh975s88";
+      name = "kteatime-16.12.0.tar.xz";
     };
   };
   ktimer = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ktimer-16.08.3.tar.xz";
-      sha256 = "0yyc6hykfz3smznskldn192zpjli3dfjkkqp3h5akwaag2fkzds9";
-      name = "ktimer-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ktimer-16.12.0.tar.xz";
+      sha256 = "11lb7isyr2qc2fh0ypqrs0xzfiwby94hgr4ilv0sd052kvzxwmry";
+      name = "ktimer-16.12.0.tar.xz";
     };
   };
   ktnef = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ktnef-16.08.3.tar.xz";
-      sha256 = "0c1zzn18gxyd6wxvwxw36jbas1hccyfyk44nxpqjfs7g1wpzzg3q";
-      name = "ktnef-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ktnef-16.12.0.tar.xz";
+      sha256 = "0f4nkmy3rdy6kk3l83r7j404vpdgmxy3hls18j8bm5jkhv6n08rh";
+      name = "ktnef-16.12.0.tar.xz";
     };
   };
   ktouch = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ktouch-16.08.3.tar.xz";
-      sha256 = "0pjdj9idqizvnw3ld3kp27cx92s033kp9mv8wrf0f9rvzp4q8iny";
-      name = "ktouch-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ktouch-16.12.0.tar.xz";
+      sha256 = "05yhrjb536v98sh8l979psd824ilj4cj3wcbbfbqkpnv0i4agxf2";
+      name = "ktouch-16.12.0.tar.xz";
     };
   };
   ktp-accounts-kcm = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ktp-accounts-kcm-16.08.3.tar.xz";
-      sha256 = "0g3l2s3kmy4k7gkx5gvdcfvx9szr33cxj3g21qzyy0kga381gxzm";
-      name = "ktp-accounts-kcm-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ktp-accounts-kcm-16.12.0.tar.xz";
+      sha256 = "1lwkajaj9zjk1hksx7b5x73a09kri69bq6bxsr1fwi9m47608bhm";
+      name = "ktp-accounts-kcm-16.12.0.tar.xz";
     };
   };
   ktp-approver = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ktp-approver-16.08.3.tar.xz";
-      sha256 = "1k4g6vidi0xxl3gijc502lzmrnk7aqvjc0gdzy0f21avbk8j7hq2";
-      name = "ktp-approver-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ktp-approver-16.12.0.tar.xz";
+      sha256 = "124448c05cr1y6032fkqdb46n3ynyh2njxmn52zn814i797pwz6b";
+      name = "ktp-approver-16.12.0.tar.xz";
     };
   };
   ktp-auth-handler = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ktp-auth-handler-16.08.3.tar.xz";
-      sha256 = "1hda8xgi60avy65x8pwh76xa4h2li2awrwjnndk45zca8ysr1rnw";
-      name = "ktp-auth-handler-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ktp-auth-handler-16.12.0.tar.xz";
+      sha256 = "0ya8q9qvq72vfp5yhb3jd2am83i42cap2yl1xykfwib0r8lmfakb";
+      name = "ktp-auth-handler-16.12.0.tar.xz";
     };
   };
   ktp-call-ui = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ktp-call-ui-16.08.3.tar.xz";
-      sha256 = "1ywklfiqpq1826hhl00h45cslzbfqark4l7lb86lk9m0pibzj6sd";
-      name = "ktp-call-ui-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ktp-call-ui-16.12.0.tar.xz";
+      sha256 = "1qyiipyffhav5wxi7cjbshi9x9fam0snbdl4sqca3nly1cn1k21k";
+      name = "ktp-call-ui-16.12.0.tar.xz";
     };
   };
   ktp-common-internals = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ktp-common-internals-16.08.3.tar.xz";
-      sha256 = "07h6v78b70ri1g6a9axpldfq6h4r890nbr63nsd7fxp2gf2m4byp";
-      name = "ktp-common-internals-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ktp-common-internals-16.12.0.tar.xz";
+      sha256 = "1xlfgs2gc15443vb3pyly0zbrmaliq3nvs7w25ldks8z72m6gqf6";
+      name = "ktp-common-internals-16.12.0.tar.xz";
     };
   };
   ktp-contact-list = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ktp-contact-list-16.08.3.tar.xz";
-      sha256 = "0xk822sr3aizlbh307vdxacalwil2ll4376wdc1dw1d8pdf1sbq2";
-      name = "ktp-contact-list-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ktp-contact-list-16.12.0.tar.xz";
+      sha256 = "1dkndda4xhb7x76m43gbz67jc4bd50bj8mzyyvblijq6rn2a4wsr";
+      name = "ktp-contact-list-16.12.0.tar.xz";
     };
   };
   ktp-contact-runner = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ktp-contact-runner-16.08.3.tar.xz";
-      sha256 = "0pzf7d6v8kd6vwn4ir3b5k3l819cpb6w68q6n3p97gsmgwj1q9vg";
-      name = "ktp-contact-runner-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ktp-contact-runner-16.12.0.tar.xz";
+      sha256 = "0754q5mxghba6imh20qk1qaxbq2c9z6qls5pybjzm71bzbwaf2wg";
+      name = "ktp-contact-runner-16.12.0.tar.xz";
     };
   };
   ktp-desktop-applets = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ktp-desktop-applets-16.08.3.tar.xz";
-      sha256 = "0pdr9zm4ryr176anir4v57b1qnjb3my3lp43bjs61ggrmi0164zn";
-      name = "ktp-desktop-applets-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ktp-desktop-applets-16.12.0.tar.xz";
+      sha256 = "0jq0j9i2r9nq3i7g7qg6vnca2vyb5fhx8jcd45yml4clxg6xggjy";
+      name = "ktp-desktop-applets-16.12.0.tar.xz";
     };
   };
   ktp-filetransfer-handler = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ktp-filetransfer-handler-16.08.3.tar.xz";
-      sha256 = "1873gy2s250micc0d85g478ashzfqfs9z5qdz2fnmn7mdsmq0l7x";
-      name = "ktp-filetransfer-handler-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ktp-filetransfer-handler-16.12.0.tar.xz";
+      sha256 = "1mfmx4jxzpz81df53b2gy8l2rrfqszqjcmjp5s30k0cyrrqiq1v1";
+      name = "ktp-filetransfer-handler-16.12.0.tar.xz";
     };
   };
   ktp-kded-module = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ktp-kded-module-16.08.3.tar.xz";
-      sha256 = "0ly7apbq7amzdpmhcpa1cy2v7r73pzqv02aa8w0hv8mg9akwr0rk";
-      name = "ktp-kded-module-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ktp-kded-module-16.12.0.tar.xz";
+      sha256 = "192aynmagrmxyil9sc19r37kj28fgcyyivija8q22jwfhh7ds5w6";
+      name = "ktp-kded-module-16.12.0.tar.xz";
     };
   };
   ktp-send-file = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ktp-send-file-16.08.3.tar.xz";
-      sha256 = "1ql78n63m39rr5hylkyqxh1f1w7w9sf9jkj484p5nmkni3k7i6h6";
-      name = "ktp-send-file-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ktp-send-file-16.12.0.tar.xz";
+      sha256 = "0g808dndrr2cb0xcjl643r23zxnaqnycvkinbd9783nkw9i5ak87";
+      name = "ktp-send-file-16.12.0.tar.xz";
     };
   };
   ktp-text-ui = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ktp-text-ui-16.08.3.tar.xz";
-      sha256 = "0p4pzcrmw2vwv1dna33ar5d3jm2lwmra9v46m2nm2wqy38q7k0b8";
-      name = "ktp-text-ui-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ktp-text-ui-16.12.0.tar.xz";
+      sha256 = "1fhlgfs6ynkmqyjypr0922y2p32jqk3j7v08x6wxacp5aifx5i22";
+      name = "ktp-text-ui-16.12.0.tar.xz";
     };
   };
   ktuberling = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/ktuberling-16.08.3.tar.xz";
-      sha256 = "11xdh4pzcy71b697agc9biwyx8h1ana1ayahqw36cckkcrs1c4mm";
-      name = "ktuberling-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/ktuberling-16.12.0.tar.xz";
+      sha256 = "1z0hhidjandl2bd9d9pihk16yqqyn75z6hn5sxdx5z1icpxdkara";
+      name = "ktuberling-16.12.0.tar.xz";
     };
   };
   kturtle = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kturtle-16.08.3.tar.xz";
-      sha256 = "0g0c28wdmx89cgl0bf60c4gvp31xih4anabbk2cjd7ikf7ifcv47";
-      name = "kturtle-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kturtle-16.12.0.tar.xz";
+      sha256 = "1nxijmai4b2ddg6km2krxzrz46djazcqn4xqi6sdr2yv4rsw4467";
+      name = "kturtle-16.12.0.tar.xz";
     };
   };
   kubrick = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kubrick-16.08.3.tar.xz";
-      sha256 = "127p0c023gcv3rhgraah7qg05mjqcwk519qzym1afj0rm9w40g13";
-      name = "kubrick-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kubrick-16.12.0.tar.xz";
+      sha256 = "0xrfdmxr7p7m11rgpa0ag247pkr88k1l4br59k6gr92vpxghd1l0";
+      name = "kubrick-16.12.0.tar.xz";
     };
   };
-  kuser = {
-    version = "16.08.3";
+  kwalletmanager = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kuser-16.08.3.tar.xz";
-      sha256 = "0yhwlcq24hyn00mfjc8qqr05gy3p2h8j1ls24jdka7h5l6kwvcpq";
-      name = "kuser-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kwalletmanager-16.12.0.tar.xz";
+      sha256 = "01w97cax7smayp536d4javjksg0l2yz1c9i39rh195gaz8wnglxy";
+      name = "kwalletmanager-16.12.0.tar.xz";
     };
   };
-  kwalletmanager = {
-    version = "16.08.3";
+  kwave = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kwalletmanager-16.08.3.tar.xz";
-      sha256 = "0rii58dqw9dcs809zc70cb2vwgp7g2154sq55r67v3v0hcq2paq8";
-      name = "kwalletmanager-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kwave-16.12.0.tar.xz";
+      sha256 = "07wx614nq5dhym5dlpfvyxbh9asadxbpx6niyl5g7z4xvq2kms8f";
+      name = "kwave-16.12.0.tar.xz";
     };
   };
   kwordquiz = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/kwordquiz-16.08.3.tar.xz";
-      sha256 = "13jqclk45niqi6m9wjj4hdl11ybzcs3k2hilcf2rzx88karfkvwf";
-      name = "kwordquiz-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/kwordquiz-16.12.0.tar.xz";
+      sha256 = "0md3a3q16xghv94hqik0jzvg1nwihagdapdn3pz0k4p8nypykz8k";
+      name = "kwordquiz-16.12.0.tar.xz";
     };
   };
   libgravatar = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/libgravatar-16.08.3.tar.xz";
-      sha256 = "047ipm4hsv2kmsi873rciqyfnszzz4p1f0i237zadx2bxr96fikw";
-      name = "libgravatar-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/libgravatar-16.12.0.tar.xz";
+      sha256 = "0nwz8a2kv66b57f3032xl05mxxasvg4k7ap30smlfxlzfm1p48sc";
+      name = "libgravatar-16.12.0.tar.xz";
     };
   };
   libkcddb = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/libkcddb-16.08.3.tar.xz";
-      sha256 = "1jm0wzq1bknvfn1sqwwd95szjz6lpnyrxcnccmgscnl5rss1rsin";
-      name = "libkcddb-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/libkcddb-16.12.0.tar.xz";
+      sha256 = "0f9b2gddjia47mi8rm6vb2h3nycwyiyj6fz3w7kwwv32mnbwmqsg";
+      name = "libkcddb-16.12.0.tar.xz";
     };
   };
   libkcompactdisc = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/libkcompactdisc-16.08.3.tar.xz";
-      sha256 = "091jg5f8v4j8a5iam2ljycizvgncwn188lym9s757p6xap9j73f4";
-      name = "libkcompactdisc-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/libkcompactdisc-16.12.0.tar.xz";
+      sha256 = "0lh6gna28kxja9v5cmz4qnzdlzz3bnxs1x24v2nzvq4lds73rwrp";
+      name = "libkcompactdisc-16.12.0.tar.xz";
     };
   };
   libkdcraw = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/libkdcraw-16.08.3.tar.xz";
-      sha256 = "0svfi7cdasrx1xkmyhkzh5ynj29qn7ry3ryyylayjj1p9yrlqr2s";
-      name = "libkdcraw-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/libkdcraw-16.12.0.tar.xz";
+      sha256 = "0pz1jll1amc42gjzdf7ic43ncd73mrp4cjhwgwmqh7aik2sjmr5m";
+      name = "libkdcraw-16.12.0.tar.xz";
     };
   };
   libkdegames = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/libkdegames-16.08.3.tar.xz";
-      sha256 = "0mbp69clwk6qcv79gxadjl8ka7kbhlgavp3wlpbknxldr74zrqml";
-      name = "libkdegames-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/libkdegames-16.12.0.tar.xz";
+      sha256 = "0ql18w1gliz2k9g460fgh7pwy9r0p0narzc7bzdzv2pc4r2v7w0f";
+      name = "libkdegames-16.12.0.tar.xz";
     };
   };
   libkdepim = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/libkdepim-16.08.3.tar.xz";
-      sha256 = "1id6vhv6dlzyvw141kc2sawpjdqpdfq15dbnbj8hwr2g9jslyd6r";
-      name = "libkdepim-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/libkdepim-16.12.0.tar.xz";
+      sha256 = "09q2z688kkbwiysqzxq2id77fv7sxq3vbs1q88saw8qvhhb4vs5q";
+      name = "libkdepim-16.12.0.tar.xz";
     };
   };
   libkeduvocdocument = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/libkeduvocdocument-16.08.3.tar.xz";
-      sha256 = "0y74gyyxxjysacr4klia7kwm7wphj82ygdxljidbmvp5bmxc8iw9";
-      name = "libkeduvocdocument-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/libkeduvocdocument-16.12.0.tar.xz";
+      sha256 = "1kd795z0lkh1b3hgdca36l0wgac1m4g38q5igs40fjz6nakwqczk";
+      name = "libkeduvocdocument-16.12.0.tar.xz";
     };
   };
   libkexiv2 = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/libkexiv2-16.08.3.tar.xz";
-      sha256 = "0wlh2zxh4yzn5g1dl9ffkim5v8wi888mrfnfxw2y4yrzw65bk9yi";
-      name = "libkexiv2-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/libkexiv2-16.12.0.tar.xz";
+      sha256 = "019lnz2d5m47xx6h48ykhd1ln9bq0wch676ddpywp4kfnlyqs2vc";
+      name = "libkexiv2-16.12.0.tar.xz";
     };
   };
   libkface = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/libkface-16.08.3.tar.xz";
-      sha256 = "0xln9pz4v4gihz8pg1ijmp6ifmr0b5bp5fn6mkii8cwz1x12qvg7";
-      name = "libkface-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/libkface-16.12.0.tar.xz";
+      sha256 = "02i0qk5q0sbb2m34qg9zrm6whxm9qasi4h5k3fr110k8dwc393v7";
+      name = "libkface-16.12.0.tar.xz";
     };
   };
   libkgeomap = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/libkgeomap-16.08.3.tar.xz";
-      sha256 = "0rqscfd6jb1pypr8mdlc5jfn5wn4z5x553gp4nkpq37dwsgzsxm4";
-      name = "libkgeomap-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/libkgeomap-16.12.0.tar.xz";
+      sha256 = "0n17db1jb1xbjfdmrgi57ndhp4bgwwsk26026zxh1ipqavdrpjg8";
+      name = "libkgeomap-16.12.0.tar.xz";
     };
   };
   libkipi = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/libkipi-16.08.3.tar.xz";
-      sha256 = "09pfsb7498bwzz1nxrmmddi7wj8a516xknzza08ls7pd6zm1y096";
-      name = "libkipi-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/libkipi-16.12.0.tar.xz";
+      sha256 = "1pj3cpz7q1jiz2yhvk2g6fz2pwblblxj6qzlsyqs156j98ayjk6g";
+      name = "libkipi-16.12.0.tar.xz";
     };
   };
   libkleo = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/libkleo-16.08.3.tar.xz";
-      sha256 = "0jhhzvpgpn77qisxw0bv1zjcfwcrc7kwdffvqdnnc8hgjmvrb5c4";
-      name = "libkleo-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/libkleo-16.12.0.tar.xz";
+      sha256 = "0g394bykb9f93f3i4r9y666n72wsbk2njc4b86n5hkw94pcgavlq";
+      name = "libkleo-16.12.0.tar.xz";
     };
   };
   libkmahjongg = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/libkmahjongg-16.08.3.tar.xz";
-      sha256 = "0ymzxl37dscqn90dm90y7fxgqlrjqdx2djhqgc6nfk5g50rzlwry";
-      name = "libkmahjongg-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/libkmahjongg-16.12.0.tar.xz";
+      sha256 = "1jh3qh3833faa66jvxy28j24zr9wg1chg0rx95zpjpqg9xllqzir";
+      name = "libkmahjongg-16.12.0.tar.xz";
     };
   };
   libkomparediff2 = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/libkomparediff2-16.08.3.tar.xz";
-      sha256 = "019ibb277nqxygmky254p95n91kza92sb26xqrqz1mi8wvaqmi75";
-      name = "libkomparediff2-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/libkomparediff2-16.12.0.tar.xz";
+      sha256 = "1yxgy4hpd8am6501aqz3018d4v36ipp4g393xc0mq7ygbsmb9sj3";
+      name = "libkomparediff2-16.12.0.tar.xz";
     };
   };
   libksane = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/libksane-16.08.3.tar.xz";
-      sha256 = "1wbvdffibifhdd7cdly7rf6kg25322xapnabylcyaz31r5qczq10";
-      name = "libksane-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/libksane-16.12.0.tar.xz";
+      sha256 = "05m9fl22hfcd41jn2hxj9yms027rjs2gfrhsksvl80m18j6ix51b";
+      name = "libksane-16.12.0.tar.xz";
     };
   };
   libksieve = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/libksieve-16.08.3.tar.xz";
-      sha256 = "0yi7x90k923v350bvsan7k40xrlz0w506j2ffw5xmr97zqnhhq47";
-      name = "libksieve-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/libksieve-16.12.0.tar.xz";
+      sha256 = "1fcxs8bwb32pbprb8x4ld3s1m2mv44awlb9014nqb9gw8xikrci1";
+      name = "libksieve-16.12.0.tar.xz";
     };
   };
   lokalize = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/lokalize-16.08.3.tar.xz";
-      sha256 = "0vk3rpzm0bjfh6sr1dgqpsf81rg8vvynwqm68646pfj38k54yf8m";
-      name = "lokalize-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/lokalize-16.12.0.tar.xz";
+      sha256 = "06k5wkx8wmhrl0ff0rix9fr2hhbxh0cm0mskajwavg9hcd3aga36";
+      name = "lokalize-16.12.0.tar.xz";
     };
   };
   lskat = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/lskat-16.08.3.tar.xz";
-      sha256 = "19g2c0by67wnh8k8wg2wq45bablhzqaml04pvmy5zbf4vnvmcbyy";
-      name = "lskat-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/lskat-16.12.0.tar.xz";
+      sha256 = "1mlvg3iwz0klsnd258dgqs1zz7sz25l3bbwyvfz5r8j3k1gllw5q";
+      name = "lskat-16.12.0.tar.xz";
     };
   };
   mailcommon = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/mailcommon-16.08.3.tar.xz";
-      sha256 = "080wf6ly7wrrj8ic9nz2cs7qcj6qvmfm8nfvlwymkzn4yyshf9rv";
-      name = "mailcommon-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/mailcommon-16.12.0.tar.xz";
+      sha256 = "1a25b8akcf1k957jbbcr21ksw3kl0vbs2xn28hzqzlbg5hsnw9yy";
+      name = "mailcommon-16.12.0.tar.xz";
     };
   };
   mailimporter = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/mailimporter-16.08.3.tar.xz";
-      sha256 = "13cpfvbyr2i3ny3k0dd02353r693cn948cjakzw9jrfb7ha0rab8";
-      name = "mailimporter-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/mailimporter-16.12.0.tar.xz";
+      sha256 = "1z1lml4hlzzk7kj6ln3p0gz5pganwrjl57zvn0mpbwxsbpdkf8gk";
+      name = "mailimporter-16.12.0.tar.xz";
     };
   };
   marble = {
-    version = "16.08.3";
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/marble-16.12.0.tar.xz";
+      sha256 = "06hpwwqa62z63fsiw5qa50pbkjkyy93h14l9xphnwmcr8cjnfh8x";
+      name = "marble-16.12.0.tar.xz";
+    };
+  };
+  mbox-importer = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/marble-16.08.3.tar.xz";
-      sha256 = "0lxax24p3l04qcy2hmyb6c69s7cayjcq6m03nw8nbpjwlmik4b8w";
-      name = "marble-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/mbox-importer-16.12.0.tar.xz";
+      sha256 = "0pk751sjniz8kalydg2gl48w2v9jqcsp6qclgccxrm7rj7nsmyr2";
+      name = "mbox-importer-16.12.0.tar.xz";
     };
   };
   messagelib = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/messagelib-16.08.3.tar.xz";
-      sha256 = "11qk72h45adgf4vmqb6vy8far8j9yr3s3ndj415iw3s07wkinhqa";
-      name = "messagelib-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/messagelib-16.12.0.tar.xz";
+      sha256 = "0n65xk2prhwjn172b47qjvml20hmff9qspk6dczx3b8knamzsyj4";
+      name = "messagelib-16.12.0.tar.xz";
     };
   };
   minuet = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/minuet-16.08.3.tar.xz";
-      sha256 = "0p3x1f4nsamhrdnmvpmnv9swi96823sb2sh6r0lfgyzamkkj5mhm";
-      name = "minuet-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/minuet-16.12.0.tar.xz";
+      sha256 = "17yjs7hwr71f78zx89g83md5mad5g3rgxfxhnmc1hvwclcri12nv";
+      name = "minuet-16.12.0.tar.xz";
     };
   };
   okteta = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/okteta-16.08.3.tar.xz";
-      sha256 = "01pl32wzv46xxq3mgb0vpw35vwmmdrkc4qfsm750ay58x99wm5hq";
-      name = "okteta-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/okteta-16.12.0.tar.xz";
+      sha256 = "0n334ksh2c7s5bavhgks1a11mr1w6pf6lvfb51735r379xxh6yqh";
+      name = "okteta-16.12.0.tar.xz";
     };
   };
   okular = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/okular-16.08.3.tar.xz";
-      sha256 = "1wz4pmzi4wv5zc92lr8qrqfqmg2lymzfqhh6b33iqr39jkv504xx";
-      name = "okular-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/okular-16.12.0.tar.xz";
+      sha256 = "0a8g2845c0f6z2k6d4f8fccfa9zhqls2yaj1pkasrg8xmanmpmbd";
+      name = "okular-16.12.0.tar.xz";
     };
   };
   palapeli = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/palapeli-16.08.3.tar.xz";
-      sha256 = "13pcwpks5bg9bw43lb4k2is22a7mzhkwl0sclp7lb9wn8qc831ns";
-      name = "palapeli-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/palapeli-16.12.0.tar.xz";
+      sha256 = "1ix8xhsif0pa1zsgwn33sqf1kclkpz8mhbviqjzh5ds80dyychdn";
+      name = "palapeli-16.12.0.tar.xz";
     };
   };
   parley = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/parley-16.08.3.tar.xz";
-      sha256 = "1s3h4ywc84bnhm217jcffiwb3654j8nikl0zzzi1sigr9vhc9xmz";
-      name = "parley-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/parley-16.12.0.tar.xz";
+      sha256 = "1lvimp0fjy12973rjqa9y0680x19hqln2dmywqmg7fxyhk3ilwv3";
+      name = "parley-16.12.0.tar.xz";
     };
   };
   picmi = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/picmi-16.08.3.tar.xz";
-      sha256 = "0qywy9n1ifyc5srqx3b0xzhmsv7h54llsxv0m9yxngrbnc7jc3bw";
-      name = "picmi-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/picmi-16.12.0.tar.xz";
+      sha256 = "03i8g7c84cyg1bn1d70cf34pw2bgfsnhvvjfavzzmmb0kmkj5nhw";
+      name = "picmi-16.12.0.tar.xz";
     };
   };
   pimcommon = {
-    version = "16.08.3";
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/pimcommon-16.12.0.tar.xz";
+      sha256 = "1crz2g2wcgq22vxxywvislw0n7rc21z08rsgcyq6m0dqcv96063l";
+      name = "pimcommon-16.12.0.tar.xz";
+    };
+  };
+  pim-data-exporter = {
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/pim-data-exporter-16.12.0.tar.xz";
+      sha256 = "0x2nrspv4bc91ir361y6sp80a9c4nm8fwjzy76q3j23kvyk838m9";
+      name = "pim-data-exporter-16.12.0.tar.xz";
+    };
+  };
+  pim-sieve-editor = {
+    version = "16.12.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.0/src/pim-sieve-editor-16.12.0.tar.xz";
+      sha256 = "0da0fav852yazrlpinnsr97jm1vc5335wc3wb1rbcamcrvkkpz5r";
+      name = "pim-sieve-editor-16.12.0.tar.xz";
+    };
+  };
+  pim-storage-service-manager = {
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/pimcommon-16.08.3.tar.xz";
-      sha256 = "06v8ak03rc7zmxmasqq12xi4misg73jag0vjy67a5izbqn613pry";
-      name = "pimcommon-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/pim-storage-service-manager-16.12.0.tar.xz";
+      sha256 = "1b3z8z921nfmqs2gn653jdsqma4xn3lf1imz942xbgc1w3000p64";
+      name = "pim-storage-service-manager-16.12.0.tar.xz";
     };
   };
   poxml = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/poxml-16.08.3.tar.xz";
-      sha256 = "0zp0lrlha5npagb4d04c2ga4kpxgi96si29xncff59nvw8l5p1cf";
-      name = "poxml-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/poxml-16.12.0.tar.xz";
+      sha256 = "18q5lmwx5vdmj2kdi45rhi6cqnk9wrd1v7xc0xn842gjd7y42zh0";
+      name = "poxml-16.12.0.tar.xz";
     };
   };
   print-manager = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/print-manager-16.08.3.tar.xz";
-      sha256 = "07bd7jyz2iwfw7vf63jkvhjk6la1gkjwz8nva3ms78b48byd96bx";
-      name = "print-manager-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/print-manager-16.12.0.tar.xz";
+      sha256 = "1na2kw6cdq2qkbjyaxi21cy4lkyalfyw50d6cvgpl4jgrmvdqc8h";
+      name = "print-manager-16.12.0.tar.xz";
     };
   };
   rocs = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/rocs-16.08.3.tar.xz";
-      sha256 = "1z4l75gr5ixfzyk2198asbm8i6nv03wg0srxgf62pxx5ycvmkygw";
-      name = "rocs-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/rocs-16.12.0.tar.xz";
+      sha256 = "0lw5mrxjhxwwh7ms5jn576y303jzk54h79vf2qmf6hkmhmwwggam";
+      name = "rocs-16.12.0.tar.xz";
     };
   };
   signon-kwallet-extension = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/signon-kwallet-extension-16.08.3.tar.xz";
-      sha256 = "11n1ychcl3piar7mk3lqxi70vjw6558nwzlqkjprlj8kqbcwphg0";
-      name = "signon-kwallet-extension-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/signon-kwallet-extension-16.12.0.tar.xz";
+      sha256 = "0shgg850cgnr3iihdhf4v04fmp1lc3hblgfwsrcyys23zh2xfqr5";
+      name = "signon-kwallet-extension-16.12.0.tar.xz";
     };
   };
   spectacle = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/spectacle-16.08.3.tar.xz";
-      sha256 = "1ma5q9c66mbnbdv2izgfx7jpzlph3mvi9dkq89vkyr2hi3nznp4b";
-      name = "spectacle-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/spectacle-16.12.0.tar.xz";
+      sha256 = "1cri1yklzkdfhynfvlqrz21bmr58rcrlcg4g5n5wd71wl46v1m1i";
+      name = "spectacle-16.12.0.tar.xz";
     };
   };
   step = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/step-16.08.3.tar.xz";
-      sha256 = "0lii1jydca6ksvk0qqy08acq354xwwvh5rjkj58x836fxrb39y9d";
-      name = "step-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/step-16.12.0.tar.xz";
+      sha256 = "0ilnbk8ax18vk0sbziydm2mzlhp3kl3jymg7cllpb8kknsmjiky4";
+      name = "step-16.12.0.tar.xz";
     };
   };
   svgpart = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/svgpart-16.08.3.tar.xz";
-      sha256 = "0xriqcqffqdamxavby7gwjl4pxchslamci6xg0xwx7n0w9qa6vgv";
-      name = "svgpart-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/svgpart-16.12.0.tar.xz";
+      sha256 = "0cqlzxcnqsxyq60dlglpzz3081slr0fwf9bq1pv4d80fs84yj1nw";
+      name = "svgpart-16.12.0.tar.xz";
     };
   };
   sweeper = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/sweeper-16.08.3.tar.xz";
-      sha256 = "01c89p54h497fk9pwj0hz86vyfqnx83iajmr3pskfsbh601xmipd";
-      name = "sweeper-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/sweeper-16.12.0.tar.xz";
+      sha256 = "0lha6m8aa8jwlkcyzwc11l48197m90apwv5fbbiy67h2gj105izr";
+      name = "sweeper-16.12.0.tar.xz";
     };
   };
   syndication = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/syndication-16.08.3.tar.xz";
-      sha256 = "0dqhrzw8xbh1zpxkj40sw72g6sfzhm0slsnvmx3p3ivas0slmqbf";
-      name = "syndication-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/syndication-16.12.0.tar.xz";
+      sha256 = "1z0mfklr3f7081smxihvcck5arzvzqy3bnyf2wdj92wlj4k974km";
+      name = "syndication-16.12.0.tar.xz";
     };
   };
   umbrello = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/umbrello-16.08.3.tar.xz";
-      sha256 = "0r1cw17pyyiq4052bdms4vn1vwzwlcyymili0d9m1n0ib8q9dpsd";
-      name = "umbrello-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/umbrello-16.12.0.tar.xz";
+      sha256 = "01zkrlg1iz0qampzxp77kralz4s9kw02lz5x2114mfjh8l3h65f6";
+      name = "umbrello-16.12.0.tar.xz";
     };
   };
   zeroconf-ioslave = {
-    version = "16.08.3";
+    version = "16.12.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.08.3/src/zeroconf-ioslave-16.08.3.tar.xz";
-      sha256 = "16hani3ajdysyrw5gy86360zki54kgmlzn65ishl6lzp8c8bp7q9";
-      name = "zeroconf-ioslave-16.08.3.tar.xz";
+      url = "${mirror}/stable/applications/16.12.0/src/zeroconf-ioslave-16.12.0.tar.xz";
+      sha256 = "0alfyp22w72yf7gaxgiqini6nv0qkjjnkgicph9z2yiysywq57a2";
+      name = "zeroconf-ioslave-16.12.0.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/compilers/ghc/7.4.2-binary.nix b/pkgs/development/compilers/ghc/7.4.2-binary.nix
index 25eabc769aa5..100bb87768b5 100644
--- a/pkgs/development/compilers/ghc/7.4.2-binary.nix
+++ b/pkgs/development/compilers/ghc/7.4.2-binary.nix
@@ -65,6 +65,9 @@ stdenv.mkDerivation rec {
       find . -type f -perm -0100 \
           -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
           --set-rpath "${stdenv.lib.makeLibraryPath [ "$out" gmp ]}" {} \;
+
+      paxmark m ./ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
+
       sed -i "s|/usr/bin/perl|perl\x00        |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
       sed -i "s|/usr/bin/gcc|gcc\x00        |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
       for prog in ld ar gcc strip ranlib; do
diff --git a/pkgs/development/compilers/ghc/8.0.1.nix b/pkgs/development/compilers/ghc/8.0.1.nix
index 98a81b8e59e2..db9e0682096e 100644
--- a/pkgs/development/compilers/ghc/8.0.1.nix
+++ b/pkgs/development/compilers/ghc/8.0.1.nix
@@ -57,6 +57,8 @@ stdenv.mkDerivation rec {
   stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols";
 
   postInstall = ''
+    paxmark m $out/lib/${name}/bin/{ghc,haddock}
+
     # Install the bash completion file.
     install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/ghc
 
diff --git a/pkgs/development/compilers/ghc/8.0.2.nix b/pkgs/development/compilers/ghc/8.0.2.nix
index 5a4355084357..9b8645fc1dbd 100644
--- a/pkgs/development/compilers/ghc/8.0.2.nix
+++ b/pkgs/development/compilers/ghc/8.0.2.nix
@@ -57,6 +57,8 @@ stdenv.mkDerivation rec {
   stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols";
 
   postInstall = ''
+    paxmark m $out/lib/${name}/bin/{ghc,haddock}
+
     # Install the bash completion file.
     install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/ghc
 
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index 23a1b2821492..7573451695c3 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -53,6 +53,8 @@ in stdenv.mkDerivation (rec {
   stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols";
 
   postInstall = ''
+    paxmark m $out/lib/${name}/bin/{ghc,haddock}
+
     # Install the bash completion file.
     install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/ghc
 
diff --git a/pkgs/development/compilers/teyjus/default.nix b/pkgs/development/compilers/teyjus/default.nix
index fafc58371ef9..301915b7a26b 100644
--- a/pkgs/development/compilers/teyjus/default.nix
+++ b/pkgs/development/compilers/teyjus/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchzip, omake, ocaml, flex, bison }:
+{ stdenv, fetchurl, omake, ocaml, flex, bison }:
 
 stdenv.mkDerivation {
-  name = "teyjus-2.1";
+  name = "teyjus-2.0b2";
 
-  src = fetchzip {
-    url = https://github.com/teyjus/teyjus/archive/v2.1.tar.gz;
-    sha256 = "064jqf68zpmvndgyhilmxfhnvx1bzm8avhgw82csj5wxw5ky6glz";
+  src = fetchurl {
+    url = "https://teyjus.googlecode.com/files/teyjus-source-2.0-b2.tar.gz";
+    sha256 = "f589fb460d7095a6e674b7a6413772c41b98654c38602c3e8c477a976da99052";
   };
 
   patches = [ ./fix-lex-to-flex.patch ];
diff --git a/pkgs/development/compilers/teyjus/fix-lex-to-flex.patch b/pkgs/development/compilers/teyjus/fix-lex-to-flex.patch
index 52d259bb64de..d2da1d3facca 100644
--- a/pkgs/development/compilers/teyjus/fix-lex-to-flex.patch
+++ b/pkgs/development/compilers/teyjus/fix-lex-to-flex.patch
@@ -1,23 +1,23 @@
---- a/source/OMakefile	1970-01-01 00:00:01.000000000 +0000
-+++ b/source/OMakefile	2016-12-02 08:48:42.000000000 +0000
-@@ -183,18 +183,18 @@
+diff --git a/source/OMakefile b/source/OMakefile
+index 6b19d84..095b8b6 100644
+--- a/source/OMakefile
++++ b/source/OMakefile
+@@ -164,12 +164,17 @@ LNK_MAIN = $(FNT)/linkerfront
  DEP_MAIN = $(FNT)/dependfront

- PAR_MAIN = $(FNT)/parsefront

  

+ ############################################################

++# Nixpkgs specific changes

++#

++

 +LEX = flex

 +

- ############################################################

++############################################################

  # Platform specific changes

  #

  

- if $(mem $(SYSNAME), Linux)

-     YACC = bison -by

--    LEX = flex

-     export

- 

  if $(mem $(OSTYPE), Cygwin Win32)

      YACC = bison -by

 -    LEX = flex

-     CC = i686-pc-mingw32-gcc

+     CFLAGS += -mno-cygwin

      INC_C[] += $(INC)/byteswap $(INC)/search

      export

diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index 099735eb769e..ed9a4d7bddab 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -2254,12 +2254,26 @@ dont-distribute-packages:
   amazon-emailer:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   amazon-products:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   amazonka-apigateway:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-appstream:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-budgets:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-codebuild:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   amazonka-elbv2:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-health:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   amazonka-kinesis-analytics:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-lightsail:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-opsworks-cm:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-pinpoint:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-polly:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   amazonka-rds:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-rekognition:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   amazonka-servicecatalog:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-shield:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-sms:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   amazonka-snowball:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   amazonka-sqs:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-stepfunctions:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-xray:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amby:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   AMI:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   ampersand:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   amqp-conduit:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -2774,6 +2788,7 @@ dont-distribute-packages:
   chuchu:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   chunks:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   chunky:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  cielo:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   cil:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   cinvoke:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   cio:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -2907,6 +2922,7 @@ dont-distribute-packages:
   concraft-hr:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   concraft-pl:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   concraft:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  concrete-haskell:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   concrete-typerep:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   concurrent-state:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   Concurrential:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -2922,6 +2938,7 @@ dont-distribute-packages:
   conduit-resumablesink:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   conf:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   conffmt:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  config-ini:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   config-select:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   ConfigFileTH:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   Configger:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3040,6 +3057,7 @@ dont-distribute-packages:
   CSPM-Interpreter:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   CSPM-ToProlog:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   cspmchecker:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  cspretty:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   css:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   csv-conduit:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   ctemplate:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3347,6 +3365,7 @@ dont-distribute-packages:
   dynamic-plot:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   dynamic-pp:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   DynamicTimeWarp:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  dynamodb-simple:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   dynobud:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   DysFRP-Cairo:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   DysFRP-Craftwerk:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3388,6 +3407,7 @@ dont-distribute-packages:
   electrum-mnemonic:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   elevator:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   elision:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  elm-export-persistent:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   elm-export:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   elocrypt:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   emacs-keys:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3571,6 +3591,7 @@ dont-distribute-packages:
   fixed-point:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   fixed-precision:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   fixed-storable-array:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  fixed-width:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   fixfile:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   fizz-buzz:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   flamethrower:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3689,6 +3710,7 @@ dont-distribute-packages:
   fuzzy-timings:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   fuzzytime:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   fwgl-glfw:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  fwgl-javascript:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   fwgl:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   g-npm:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   gact:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3768,9 +3790,12 @@ dont-distribute-packages:
   ghcjs-dom-jsaddle:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghcjs-dom-jsffi:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghcjs-dom:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ghcjs-hplay:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ghcjs-promise:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghclive:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   ght:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   gi-gdk:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  gi-girepository:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   gi-gst:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   gi-gstaudio:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   gi-gstbase:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3980,7 +4005,9 @@ dont-distribute-packages:
   gyah-bin:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   h-booru:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   h-gpgme:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  h-reversi:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   h2048:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  H:                                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   haar:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   Hach:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   hack-contrib-press:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4036,12 +4063,14 @@ dont-distribute-packages:
   hakyll-ogmarkup:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   hakyll-R:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   hakyll-sass:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hakyll-series:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   hakyll-shakespeare:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   hakyll:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   halberd:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   halfs:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   halipeto:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   halma:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hamilton:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   HaMinitel:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hampp:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   hamsql:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4105,6 +4134,7 @@ dont-distribute-packages:
   harvest-api:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   has-th:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   has:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hasbolt:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hascal:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hascas:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hascat-lib:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4123,6 +4153,7 @@ dont-distribute-packages:
   hasim:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   hask-home:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hask:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  haskakafka:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskanoid:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskarrow:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskbot-core:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4163,6 +4194,7 @@ dont-distribute-packages:
   haskell-tools-ast:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-tools-backend-ghc:                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-tools-cli:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  haskell-tools-daemon:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-tools-demo:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-tools-prettyprint:                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-tools-refactor:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4229,6 +4261,7 @@ dont-distribute-packages:
   hasql-class:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   hasql-cursor-query:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   hasql-cursor-transaction:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hasql-generic:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   hasql-postgres-options:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hasql-postgres:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   hasql-transaction:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4864,6 +4897,7 @@ dont-distribute-packages:
   ImperativeHaskell:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   implicit-logging:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   implicit-params:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  implicit:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   imports:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   impossible:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   improve:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4886,6 +4920,7 @@ dont-distribute-packages:
   informative:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   inject-function:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   inline-java:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  inline-r:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   inserts:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   inspector-wrecker:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   instant-aeson:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4938,6 +4973,7 @@ dont-distribute-packages:
   isobmff-builder:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   isohunt:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   isotope:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  itemfield:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   iter-stats:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   iteratee-compress:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   iteratee-mtl:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4992,6 +5028,8 @@ dont-distribute-packages:
   jsaddle-dom:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   jsaddle-hello:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   jsaddle-warp:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  jsaddle-webkit2gtk:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  jsaddle-webkitgtk:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   jsaddle-wkwebview:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   jsaddle:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   jsc:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5037,8 +5075,15 @@ dont-distribute-packages:
   jvm:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   JYU-Utils:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   kafka-client:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  kafka-device-glut:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  kafka-device-joystick:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  kafka-device-leap:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  kafka-device-spacenav:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  kafka-device-vrpn:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  kafka-device:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   kaleidoscope:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   Kalman:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  kalman:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   kangaroo:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   kanji:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   kansas-lava-cores:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5091,6 +5136,7 @@ dont-distribute-packages:
   kontra-config:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   korfu:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   kqueue:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  krapsh:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   Kriens:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   krpc:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   KSP:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5109,6 +5155,7 @@ dont-distribute-packages:
   lambda-canvas:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambda-devs:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambda-options:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  lambda-sampler:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambda-toolbox:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambda2js:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambdaBase:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5170,17 +5217,20 @@ dont-distribute-packages:
   latex-formulae-hakyll:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   latex-formulae-image:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   latex-formulae-pandoc:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  latex-function-tables:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   LATS:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   launchpad-control:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   layers:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   layout-bootstrap:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   lazyarray:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  lazyset:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   lazysplines:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   LazyVault:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   lcs:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   ldif:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   leaf:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   leaky:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  leapseconds:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   learn-physics-examples:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   learn-physics:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   leetify:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5220,8 +5270,10 @@ dont-distribute-packages:
   libhbb:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   libjenkins:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   liblastfm:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  liblawless:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   liblinear-enumerator:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   libltdl:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  libmolude:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   liboleg:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   libpafe:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   libpq:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5317,6 +5369,8 @@ dont-distribute-packages:
   loch:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   locked-poll:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   log-effect:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  log-elasticsearch:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  log-postgres:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   log-utils:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   log2json:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   log:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5452,6 +5506,7 @@ dont-distribute-packages:
   mdapi:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   mdcat:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   mdp:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  mealstrom:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   MeanShift:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   Measure:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   mecab:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5584,6 +5639,7 @@ dont-distribute-packages:
   Monatron-IO:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   Monatron:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   mondo:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  money:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   mongodb-queue:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   mongoDB:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   mongrel2-handler:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5638,6 +5694,7 @@ dont-distribute-packages:
   multiplate:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   multirec-alt-deriver:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   multirec-binary:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  multirec:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   multisetrewrite:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   Munkres-simple:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   muon:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5720,6 +5777,7 @@ dont-distribute-packages:
   nettle-openflow:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   nettle:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   netwire-input-glfw:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  netwire-input-javascript:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   netwire-input:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   netwire-vinylglfw-examples:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   netwire:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5908,6 +5966,7 @@ dont-distribute-packages:
   panda:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   pandoc-csv2table:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   pandoc-japanese-filters:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  pandoc-placetable:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   pandoc-plantuml-diagrams:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   pandoc-unlit:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   PandocAgda:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6227,6 +6286,7 @@ dont-distribute-packages:
   qhull-simple:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   QIO:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   QLearn:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  qr-repa:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   qt:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   qtah-cpp-qt5:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   qtah-examples:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6480,6 +6540,7 @@ dont-distribute-packages:
   rope:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   rose-trie:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   roshask:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  rosmsg-bin:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   rosso:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   rounding:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   roundtrip-aeson:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6696,6 +6757,7 @@ dont-distribute-packages:
   shellish:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   shellmate-extras:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   shelltestrunner:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  shikensu:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   shoap:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   shorten-strings:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   showdown:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6887,12 +6949,14 @@ dont-distribute-packages:
   splines:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   split-record:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   splitter:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  Spock-api-ghcjs:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   Spock-auth:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   Spock-digestive:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   spoonutil:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   spoty:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   Sprig:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   spritz:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  sproxy2:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   spsa:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   sql-simple-mysql:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   sql-simple-pool:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7210,7 +7274,9 @@ dont-distribute-packages:
   TimePiece:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   timeplot:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   timeprint:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  timeseries:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   timestamp-subprocess-lines:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  timezone-unix:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   TinyLaunchbury:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   tinyMesh:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   TinyURL:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7253,6 +7319,7 @@ dont-distribute-packages:
   traildb:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   trajectory:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   transactional-events:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  transf:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   transformations:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   TransformeR:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   transformers-compose:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7260,6 +7327,7 @@ dont-distribute-packages:
   transformers-eff:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   transformers-runnable:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   TransformersStepByStep:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  transient-universe:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   translatable-intset:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   translate:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   travis-meta-yaml:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7318,6 +7386,7 @@ dont-distribute-packages:
   txtblk:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   TYB:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   typalyze:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  type-assertions:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   type-cache:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   type-cereal:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   type-combinators-quote:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7408,6 +7477,7 @@ dont-distribute-packages:
   usb-hid:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   usb-iteratee:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   usb-safe:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  users-mysql-haskell:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   users-persistent:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   utc:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   utf8-prelude:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7554,6 +7624,7 @@ dont-distribute-packages:
   WeberLogic:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   webify:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   webkit-javascriptcore:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  webkit2gtk3-javascriptcore:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   Webrexp:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   webserver:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   websnap:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7644,6 +7715,7 @@ dont-distribute-packages:
   xml-enumerator-combinators:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   xml-enumerator:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   xml-html-conduit-lens:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  xml-isogen:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   xml-monad:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   xml-parsec:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   xml-pipe:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7787,6 +7859,7 @@ dont-distribute-packages:
   zip-conduit:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   zipedit:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   zipkin:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  zipper:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   zlib-enum:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   ZMachine:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   zmcat:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index 840c45d3d019..65a6a47d9bf7 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -2754,6 +2754,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "Clipboard_2_3_0_2" = callPackage
+    ({ mkDerivation, base, directory, unix, utf8-string, X11 }:
+     mkDerivation {
+       pname = "Clipboard";
+       version = "2.3.0.2";
+       sha256 = "c746972095b1c4473208992bb6f267a9b3ba2620b722922f0f4c35d71c71e939";
+       libraryHaskellDepends = [ base directory unix utf8-string X11 ];
+       homepage = "http://haskell.org/haskellwiki/Clipboard";
+       description = "System clipboard interface";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ClustalParser" = callPackage
     ({ mkDerivation, base, cmdargs, either-unwrap, hspec, parsec
      , vector
@@ -5449,6 +5462,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "Frames_0_1_9" = callPackage
+    ({ mkDerivation, base, directory, ghc-prim, hspec, htoml, pipes
+     , pretty, primitive, readable, regex-applicative, template-haskell
+     , temporary, text, transformers, unordered-containers, vector
+     , vinyl
+     }:
+     mkDerivation {
+       pname = "Frames";
+       version = "0.1.9";
+       sha256 = "18eaea64c8f3ff7156ca1dcc372bae3e8ff7538cffce4c415710eae770eb6b25";
+       libraryHaskellDepends = [
+         base ghc-prim pipes primitive readable template-haskell text
+         transformers vector vinyl
+       ];
+       testHaskellDepends = [
+         base directory hspec htoml pretty regex-applicative
+         template-haskell temporary text unordered-containers
+       ];
+       description = "Data frames For working with tabular data files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "Frank" = callPackage
     ({ mkDerivation, base, mtl, newtype, she, void }:
      mkDerivation {
@@ -6585,6 +6621,7 @@ self: {
        homepage = "https://tweag.github.io/HaskellR";
        description = "The Haskell/R mixed programming environment";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "HARM" = callPackage
@@ -11031,8 +11068,8 @@ self: {
     ({ mkDerivation, base, bytestring, hidapi, mtl }:
      mkDerivation {
        pname = "MBot";
-       version = "0.1.0.2";
-       sha256 = "147655ce2a168c963fa04130b0f6196cb3679dbc8512d04dbff3c12406d16ec2";
+       version = "0.1.1.0";
+       sha256 = "6752fb112e01c02273ef55254b0f9cb16bbff4954592372ba9c152d9cb41dc12";
        libraryHaskellDepends = [ base bytestring hidapi mtl ];
        description = "Haskell interface for controlling the mBot educational robot";
        license = stdenv.lib.licenses.gpl3;
@@ -15826,6 +15863,7 @@ self: {
        homepage = "https://www.spock.li";
        description = "Another Haskell web framework for rapid development";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "Spock-api-server" = callPackage
@@ -17903,6 +17941,26 @@ self: {
          inherit (pkgs.xorg) libXinerama; inherit (pkgs.xorg) libXrandr; 
          inherit (pkgs.xorg) libXrender;};
 
+  "X11_1_7" = callPackage
+    ({ mkDerivation, base, data-default, libX11, libXext, libXinerama
+     , libXrandr, libXrender
+     }:
+     mkDerivation {
+       pname = "X11";
+       version = "1.7";
+       sha256 = "9e7a67b9521fc0140b4804928f3821b6c3d3950fdc1d9c55478844dc4f57f5f4";
+       libraryHaskellDepends = [ base data-default ];
+       librarySystemDepends = [
+         libX11 libXext libXinerama libXrandr libXrender
+       ];
+       homepage = "https://github.com/xmonad/X11";
+       description = "A binding to the X11 graphics library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs.xorg) libX11; inherit (pkgs.xorg) libXext; 
+         inherit (pkgs.xorg) libXinerama; inherit (pkgs.xorg) libXrandr; 
+         inherit (pkgs.xorg) libXrender;};
+
   "X11-extras" = callPackage
     ({ mkDerivation, base, libX11, X11 }:
      mkDerivation {
@@ -21880,6 +21938,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon AppStream SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-autoscaling" = callPackage
@@ -21935,6 +21994,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Budgets SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-certificatemanager" = callPackage
@@ -22323,6 +22383,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon CodeBuild SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-codecommit" = callPackage
@@ -23422,6 +23483,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Health APIs and Notifications SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-iam" = callPackage
@@ -23792,6 +23854,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Lightsail SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-marketplace-analytics" = callPackage
@@ -23958,6 +24021,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon OpsWorks for Chef Automate SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-pinpoint" = callPackage
@@ -23976,6 +24040,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Pinpoint SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-polly" = callPackage
@@ -23994,6 +24059,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Polly SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-rds" = callPackage
@@ -24087,6 +24153,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Rekognition SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-route53" = callPackage
@@ -24309,6 +24376,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Shield SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-sms" = callPackage
@@ -24327,6 +24395,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Server Migration Service SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-snowball" = callPackage
@@ -24476,6 +24545,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Step Functions SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-storagegateway" = callPackage
@@ -24761,6 +24831,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon X-Ray SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amby" = callPackage
@@ -24785,6 +24856,7 @@ self: {
        homepage = "https://github.com/jsermeno/amby#readme";
        description = "Statistical data visualization";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ampersand" = callPackage
@@ -24875,8 +24947,8 @@ self: {
      }:
      mkDerivation {
        pname = "amqp-worker";
-       version = "0.2.2";
-       sha256 = "4d45b13eb6d58763f7da1d058ebca6163e37775c25898869811c684719d975e4";
+       version = "0.2.3";
+       sha256 = "41e7ed6f745cde27d451057958e5d017a6e6558ed5083f0cd0a10ee3bc757a09";
        libraryHaskellDepends = [
          aeson amqp base bytestring data-default exceptions monad-control
          mtl resource-pool split text transformers-base
@@ -25212,10 +25284,8 @@ self: {
      }:
      mkDerivation {
        pname = "ansi-pretty";
-       version = "0.1.2.0";
-       sha256 = "11079e97b7faaf3825d0ab2bb3e111b5d1b9085343e6505fc2b58240c4eaa424";
-       revision = "3";
-       editedCabalFile = "f95f677bc3d419b5ad555799a7456684a11612e35ab08e2fe557323ed22d3127";
+       version = "0.1.2.1";
+       sha256 = "708819f93f1759919a19dcfccddf3ddc8d9fba930cb73fab3ec9f6f5691394c6";
        libraryHaskellDepends = [
          aeson ansi-wl-pprint array base bytestring containers generics-sop
          nats scientific semigroups tagged text time unordered-containers
@@ -34218,16 +34288,17 @@ self: {
 
   "bolt" = callPackage
     ({ mkDerivation, base, bifunctors, bytestring, cereal, containers
-     , hashable, network, network-uri, text, unordered-containers
-     , vector
+     , hashable, network, network-uri, scientific, text, transformers
+     , unordered-containers, vector
      }:
      mkDerivation {
        pname = "bolt";
-       version = "0.1.0.3";
-       sha256 = "7779436fc5da3ea036547273a82dd10909caebf76a294b3741aa5097b75aaa22";
+       version = "0.2.0.0";
+       sha256 = "2a066c5e24a707c7fb418b34c01b7dc0f47b084eb621baefa3a79afe03640e12";
        libraryHaskellDepends = [
          base bifunctors bytestring cereal containers hashable network
-         network-uri text unordered-containers vector
+         network-uri scientific text transformers unordered-containers
+         vector
        ];
        homepage = "https://github.com/bflyblue/bolt#readme";
        description = "Bolt driver for Neo4j";
@@ -36927,8 +36998,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal2nix";
-       version = "2.0.3";
-       sha256 = "d3e2f376bf255daab8ea476831c8f4948e774e7307b19dbceb15a7f0df882654";
+       version = "2.0.4";
+       sha256 = "b20b597df92787ba878073cd7cc855b3c0186f1781ac65056f261c420a1c7fe3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -40112,6 +40183,7 @@ self: {
        homepage = "https://github.com/beijaflor-io/haskell-cielo";
        description = "Cielo API v3 Bindings for Haskell";
        license = stdenv.lib.licenses.agpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "cil" = callPackage
@@ -40880,6 +40952,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "classy-prelude-yesod_1_1_0" = callPackage
+    ({ mkDerivation, aeson, base, classy-prelude
+     , classy-prelude-conduit, data-default, http-conduit, http-types
+     , persistent, yesod, yesod-newsfeed, yesod-static
+     }:
+     mkDerivation {
+       pname = "classy-prelude-yesod";
+       version = "1.1.0";
+       sha256 = "2b7672093e16850dba4c118c56d8626d8049e3c29b163c8389619bfc265f5b58";
+       libraryHaskellDepends = [
+         aeson base classy-prelude classy-prelude-conduit data-default
+         http-conduit http-types persistent yesod yesod-newsfeed
+         yesod-static
+       ];
+       homepage = "https://github.com/snoyberg/mono-traversable";
+       description = "Provide a classy prelude including common Yesod functionality";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "classyplate" = callPackage
     ({ mkDerivation, base, template-haskell, type-list }:
      mkDerivation {
@@ -40952,6 +41044,40 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) openssl;};
 
+  "clckwrks_0_24_0" = callPackage
+    ({ mkDerivation, acid-state, aeson, aeson-qq, attoparsec, base
+     , blaze-html, bytestring, cereal, containers, directory, filepath
+     , happstack-authenticate, happstack-hsp, happstack-jmacro
+     , happstack-server, happstack-server-tls, hsp, hsx-jmacro, hsx2hs
+     , ixset, jmacro, lens, mtl, network, network-uri, old-locale
+     , openssl, process, random, reform, reform-happstack, reform-hsp
+     , safecopy, stm, text, time, time-locale-compat
+     , unordered-containers, userid, utf8-string, uuid-orphans
+     , uuid-types, vector, web-plugins, web-routes, web-routes-happstack
+     , web-routes-hsp, web-routes-th, xss-sanitize
+     }:
+     mkDerivation {
+       pname = "clckwrks";
+       version = "0.24.0";
+       sha256 = "aae3a0d63da228eb0876505ec574f90955d5f2c3512003b57371d988b94a2e5c";
+       libraryHaskellDepends = [
+         acid-state aeson aeson-qq attoparsec base blaze-html bytestring
+         cereal containers directory filepath happstack-authenticate
+         happstack-hsp happstack-jmacro happstack-server
+         happstack-server-tls hsp hsx-jmacro hsx2hs ixset jmacro lens mtl
+         network network-uri old-locale process random reform
+         reform-happstack reform-hsp safecopy stm text time
+         time-locale-compat unordered-containers userid utf8-string
+         uuid-orphans uuid-types vector web-plugins web-routes
+         web-routes-happstack web-routes-hsp web-routes-th xss-sanitize
+       ];
+       librarySystemDepends = [ openssl ];
+       homepage = "http://www.clckwrks.com/";
+       description = "A secure, reliable content management system (CMS) and blogging platform";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) openssl;};
+
   "clckwrks-cli" = callPackage
     ({ mkDerivation, acid-state, base, clckwrks, haskeline, mtl
      , network, parsec
@@ -41405,8 +41531,8 @@ self: {
      }:
      mkDerivation {
        pname = "clit";
-       version = "0.1.0.0";
-       sha256 = "7845c4a1d58becddb4683fa2972e3aa40eb62ca43d63e7c9b63905666af23c6b";
+       version = "0.1.1.0";
+       sha256 = "fc9feafd9f09fe9899af922c6a230d658b675621e5a5fe4da77af916a2ccca6f";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -41415,7 +41541,7 @@ self: {
        ];
        executableHaskellDepends = [ base ];
        homepage = "https://github.com/vmchale/command-line-tweeter#readme";
-       description = "Post tweets that you pipe to stdin";
+       description = "Post tweets from stdin";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -43514,6 +43640,7 @@ self: {
        homepage = "https://github.com/hltcoe";
        description = "Library for the Concrete data format";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "concrete-relaxng-parser" = callPackage
@@ -44219,24 +44346,24 @@ self: {
      }) {};
 
   "config-ini" = callPackage
-    ({ mkDerivation, base, directory, ini, megaparsec, QuickCheck, text
-     , transformers, unordered-containers
+    ({ mkDerivation, base, directory, doctest, ini, megaparsec
+     , microlens, QuickCheck, text, transformers, unordered-containers
      }:
      mkDerivation {
        pname = "config-ini";
-       version = "0.1.1.0";
-       sha256 = "ef88423e53604474a4e1b2bfb0f0824efed740af25f2b1841577838bc96d10ac";
-       revision = "1";
-       editedCabalFile = "8665338f86052e9963fe0472b0c1e30c865e14f8450d16bc35519bf5e07f2032";
+       version = "0.1.2.0";
+       sha256 = "d3a2b77545fba315db644ce177248e59f918cf4b6e17123c04d66e8bb3c7ee15";
        libraryHaskellDepends = [
          base megaparsec text transformers unordered-containers
        ];
        testHaskellDepends = [
-         base directory ini QuickCheck text unordered-containers
+         base directory doctest ini microlens QuickCheck text
+         unordered-containers
        ];
        homepage = "https://github.com/aisamanra/config-ini";
        description = "A library for simple INI-based configuration files";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "config-manager" = callPackage
@@ -47535,15 +47662,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "cryptonite_0_20" = callPackage
+  "cryptonite_0_21" = callPackage
     ({ mkDerivation, base, byteable, bytestring, deepseq, ghc-prim
      , integer-gmp, memory, tasty, tasty-hunit, tasty-kat
      , tasty-quickcheck
      }:
      mkDerivation {
        pname = "cryptonite";
-       version = "0.20";
-       sha256 = "261bfac4e032f24658a31d8c34abd0c0f64f9de07be69ad43a9139a7c0b5c354";
+       version = "0.21";
+       sha256 = "639a66aee1c3fa64161b1886d319612b8ce92f751adde476fdc35aea730262ee";
        libraryHaskellDepends = [
          base bytestring deepseq ghc-prim integer-gmp memory
        ];
@@ -47781,6 +47908,7 @@ self: {
        libraryHaskellDepends = [ base containers pretty ];
        description = "AST and pretty printer for CSPm";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "css" = callPackage
@@ -47846,8 +47974,8 @@ self: {
      }:
      mkDerivation {
        pname = "csv-conduit";
-       version = "0.6.6";
-       sha256 = "7329056af16c2f81382ad0cc3437232b80e9910288daf687519a2e2cd2ee5d8b";
+       version = "0.6.7";
+       sha256 = "501e6b0b7c6f0e80ba381b5f18af5ec343eb5e1afb4f5fc4e5e318ce51eeb33d";
        libraryHaskellDepends = [
          array attoparsec base blaze-builder bytestring conduit
          conduit-extra containers data-default ghc-prim mmorph monad-control
@@ -48121,6 +48249,27 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {cudd = null;};
 
+  "cue-sheet" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default-class
+     , exceptions, hspec, hspec-megaparsec, megaparsec, mtl, QuickCheck
+     , text
+     }:
+     mkDerivation {
+       pname = "cue-sheet";
+       version = "0.1.0";
+       sha256 = "cb4d369b3eb3859b9006dce4f9b45a3b9dafb75370d02bf5f178f06905dd05f1";
+       libraryHaskellDepends = [
+         base bytestring containers data-default-class exceptions megaparsec
+         mtl QuickCheck text
+       ];
+       testHaskellDepends = [
+         base bytestring exceptions hspec hspec-megaparsec QuickCheck text
+       ];
+       homepage = "https://github.com/mrkkrp/cue-sheet";
+       description = "Support for construction, rendering, and parsing of CUE sheets";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "cufft" = callPackage
     ({ mkDerivation, base, c2hs, Cabal, cuda, directory, filepath
      , template-haskell
@@ -54969,6 +55118,8 @@ self: {
        pname = "distributed-process-simplelocalnet";
        version = "0.2.3.3";
        sha256 = "7b98498f2d6ce185ae0a855ff35e97a9ad1bd1ec7872b2d75aa0bb1f1fb24316";
+       revision = "1";
+       editedCabalFile = "4ccf03a12611141e322511b6370e2f757e215f17e68fc3f68485ec5b48fa8f70";
        libraryHaskellDepends = [
          base binary bytestring containers data-accessor distributed-process
          network network-multicast network-transport network-transport-tcp
@@ -57250,8 +57401,8 @@ self: {
      }:
      mkDerivation {
        pname = "dynamodb-simple";
-       version = "0.2.0.0";
-       sha256 = "d1fbc3a6f4df1b8a8a5125227e3492299cca6b88cec6b24d838ade5f081406b9";
+       version = "0.3.0.0";
+       sha256 = "5a1693cacc9d15727b4d0f71cf6015a71e2e5269b8872c9e50016ff6d0f7265b";
        libraryHaskellDepends = [
          aeson amazonka amazonka-core amazonka-dynamodb base bytestring
          conduit containers double-conversion exceptions generics-sop
@@ -57266,6 +57417,7 @@ self: {
        homepage = "https://github.com/ondrap/dynamodb-simple";
        description = "Typesafe library for working with DynamoDB database";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "dynobud" = callPackage
@@ -58632,6 +58784,7 @@ self: {
        homepage = "https://github.com/jb55/elm-export-persistent";
        description = "elm-export persistent entities";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "elm-get" = callPackage
@@ -59234,8 +59387,8 @@ self: {
      }:
      mkDerivation {
        pname = "engine-io";
-       version = "1.2.13";
-       sha256 = "5fc53f8a4a0ba563b9592e7bf3d9475a4a7ce165c66cd63a303567f6a941cf45";
+       version = "1.2.14";
+       sha256 = "f321e826d56d7f14b4e027ddb57be59b2efa34a714e566e23a6bcee192ab6f33";
        libraryHaskellDepends = [
          aeson async attoparsec base base64-bytestring bytestring either
          free monad-loops mwc-random stm stm-delay text transformers
@@ -63610,12 +63763,14 @@ self: {
      }) {};
 
   "finite-typelits" = callPackage
-    ({ mkDerivation, base }:
+    ({ mkDerivation, base, deepseq }:
      mkDerivation {
        pname = "finite-typelits";
-       version = "0.1.0.0";
-       sha256 = "1729a66604cf852f1370f3575ac7cd74777df17106929c2afa57cf6c8fc78c58";
-       libraryHaskellDepends = [ base ];
+       version = "0.1.1.0";
+       sha256 = "40cbe752fa659fdebd5afeb7a15177746b08227cf6add085481b94f53f8c858b";
+       revision = "1";
+       editedCabalFile = "4c5ae66b960dcede29688c32b9fb0d839a4bfb53bcde8e13f6a62b7f4fd55b4f";
+       libraryHaskellDepends = [ base deepseq ];
        homepage = "https://github.com/mniip/finite-typelits";
        description = "A type inhabited by finitely many values, indexed by type-level naturals";
        license = stdenv.lib.licenses.bsd3;
@@ -63966,6 +64121,7 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "Fixed width subsets of an Int64/Word64";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "fixedprec" = callPackage
@@ -64610,8 +64766,8 @@ self: {
      }:
      mkDerivation {
        pname = "fltkhs";
-       version = "0.5.0.0";
-       sha256 = "95590b3e27edd3b79a33dd872a5c7a3d6f4a436db63eea7fe282066e1319f506";
+       version = "0.5.0.1";
+       sha256 = "440e605c927bbd10b5b6bb17d2b608797747f6780eb7014eb29998519fd3b495";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring text ];
@@ -65222,6 +65378,22 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "forest" = callPackage
+    ({ mkDerivation, aeson, base, bifunctors, deepseq, hashable
+     , profunctors, semigroupoids
+     }:
+     mkDerivation {
+       pname = "forest";
+       version = "0.1";
+       sha256 = "4de243b4eddddc534881617c6335e0658496ad67c2ebc65ba148b2965fe64460";
+       libraryHaskellDepends = [
+         aeson base bifunctors deepseq hashable profunctors semigroupoids
+       ];
+       homepage = "https://github.com/duairc/forest";
+       description = "Tree and Forest types";
+       license = stdenv.lib.licenses.mpl20;
+     }) {};
+
   "forger" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -65543,6 +65715,8 @@ self: {
        pname = "foundation";
        version = "0.0.2";
        sha256 = "d879240154104273197249b4fbd2bd6d6ad9739166a8a75e9484bf87b6d9388f";
+       revision = "1";
+       editedCabalFile = "171bd233fb790408501779243fdcbc2659911e55e39067efb80254bbcc3781e4";
        libraryHaskellDepends = [ base ghc-prim ];
        testHaskellDepends = [
          base mtl QuickCheck tasty tasty-hunit tasty-quickcheck
@@ -66251,16 +66425,19 @@ self: {
      }) {};
 
   "friday" = callPackage
-    ({ mkDerivation, base, convertible, deepseq, primitive, QuickCheck
-     , ratio-int, test-framework, test-framework-quickcheck2
+    ({ mkDerivation, base, containers, convertible, deepseq, primitive
+     , QuickCheck, ratio-int, test-framework, test-framework-quickcheck2
      , transformers, vector
      }:
      mkDerivation {
        pname = "friday";
-       version = "0.2.2.0";
-       sha256 = "d9a59b716eec813d6108d535b2a180d51f152cb04103670535a7ade7e1ab8833";
+       version = "0.2.3.1";
+       sha256 = "0827492c1a6116baa5c4866539a4cfa0f6d81bf31f6573616bf5ac4484199613";
+       revision = "1";
+       editedCabalFile = "a8b4d38b593d866bebbdf141273ce70d2af8ca3351af86ea334dd5bce9252e58";
        libraryHaskellDepends = [
-         base convertible deepseq primitive ratio-int transformers vector
+         base containers convertible deepseq primitive ratio-int
+         transformers vector
        ];
        testHaskellDepends = [
          base QuickCheck test-framework test-framework-quickcheck2 vector
@@ -67237,6 +67414,7 @@ self: {
        homepage = "https://github.com/ziocroc/FWGL";
        description = "FWGL GHCJS backend";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "g-npm" = callPackage
@@ -69639,6 +69817,7 @@ self: {
        homepage = "https://github.com/agocorona/ghcjs-hplay";
        description = "Client-side web EDSL for transient nodes running in the web browser";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ghcjs-perch" = callPackage
@@ -69662,6 +69841,7 @@ self: {
        homepage = "https://github.com/vwwv/ghcjs-promise";
        description = "Bidirectional bidings to javascript's promise";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ghcjs-websockets" = callPackage
@@ -69999,6 +70179,7 @@ self: {
        homepage = "https://github.com/haskell-gi/haskell-gi";
        description = "GIRepository (gobject-introspection) bindings";
        license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) gobjectIntrospection;};
 
   "gi-glib" = callPackage
@@ -70236,8 +70417,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gtk-hs";
-       version = "0.3.2.0";
-       sha256 = "1e028105e79012de9bc54d576bc888994f950512c4ef1b72ad0776bcdeb4a1e6";
+       version = "0.3.4.0";
+       sha256 = "2e7ce60dded6d70a4598001469894d1f415bc28d600e5a6ac9f4558c624200e4";
        libraryHaskellDepends = [
          base base-compat containers gi-gdk gi-gdkpixbuf gi-glib gi-gobject
          gi-gtk haskell-gi-base mtl text transformers
@@ -70657,8 +70838,10 @@ self: {
      }:
      mkDerivation {
        pname = "ginger";
-       version = "0.3.7.2";
-       sha256 = "53b18bf7146c4d46347eb74a64add43167220377d75fb572afe5bb1e0ac173dd";
+       version = "0.3.8.0";
+       sha256 = "938391f36b50a5fafe7f2668f25d08a4db77cdcc43cb6b15644dedfb81ed7625";
+       revision = "1";
+       editedCabalFile = "39afd3a71efabe33c2a2f5d3fd11906a0f8e1e8c4931acc230c8a9794ef6d676";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -70772,7 +70955,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "giphy-api_0_5_1_0" = callPackage
+  "giphy-api_0_5_2_0" = callPackage
     ({ mkDerivation, aeson, base, basic-prelude, bytestring, containers
      , directory, hspec, http-api-data, http-client, http-client-tls
      , lens, microlens, microlens-th, mtl, network-uri, servant
@@ -70780,8 +70963,8 @@ self: {
      }:
      mkDerivation {
        pname = "giphy-api";
-       version = "0.5.1.0";
-       sha256 = "b4b33df49353f67621fba1655cf5938c5ca6f1e563e349a3f9a43edc6a98fa99";
+       version = "0.5.2.0";
+       sha256 = "447111d3fa32a76ffc50b26fbec59d9e9a097d7e2facb04a7a272cb9abd97ce9";
        libraryHaskellDepends = [
          aeson base containers http-api-data http-client http-client-tls
          microlens microlens-th mtl network-uri servant servant-client text
@@ -71795,15 +71978,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "glabrous_0_2_0" = callPackage
+  "glabrous_0_2_0_1" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring
      , cereal, cereal-text, directory, either, hspec, text
      , unordered-containers
      }:
      mkDerivation {
        pname = "glabrous";
-       version = "0.2.0";
-       sha256 = "2c4b636c0f53ddd51f6bc8f0e208cca8cf1326ce107b7164ca80ea629fed8dbb";
+       version = "0.2.0.1";
+       sha256 = "cb2f9a9f60395f0abc062311a7cbea8505ecd546f1cb71e51b01291aea323327";
        libraryHaskellDepends = [
          aeson aeson-pretty attoparsec base bytestring cereal cereal-text
          either text unordered-containers
@@ -77769,6 +77952,31 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "h-reversi" = callPackage
+    ({ mkDerivation, base, blank-canvas, containers, hspec, QuickCheck
+     , split, stm, text
+     }:
+     mkDerivation {
+       pname = "h-reversi";
+       version = "0.1.0.3";
+       sha256 = "919633a7c253004c166b06a1b390581519f3164a2e9ca83ac4cbffe178392ee2";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base blank-canvas containers split stm text
+       ];
+       executableHaskellDepends = [
+         base blank-canvas containers split stm text
+       ];
+       testHaskellDepends = [
+         base containers hspec QuickCheck split text
+       ];
+       homepage = "https://github.com/apoorvingle/h-reversi";
+       description = "Reversi game in haskell/blank-canvas";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "h2048" = callPackage
     ({ mkDerivation, base, HUnit, MonadRandom, mtl, text, transformers
      , vty, vty-ui
@@ -79954,6 +80162,7 @@ self: {
        homepage = "https://github.com/oisdk/hakyll-series";
        description = "Adds series functionality to hakyll";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hakyll-shakespeare" = callPackage
@@ -80173,6 +80382,7 @@ self: {
        homepage = "https://github.com/mstksg/hamilton";
        description = "Physics on generalized coordinate systems using Hamiltonian Mechanics and AD";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hamlet" = callPackage
@@ -81533,6 +81743,7 @@ self: {
        homepage = "https://github.com/zmactep/hasbolt#readme";
        description = "Haskell driver for Neo4j 3+ (BOLT protocol)";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hascal" = callPackage
@@ -81999,6 +82210,7 @@ self: {
        homepage = "http://github.com/cosbynator/haskakafka";
        description = "Kafka bindings for Haskell";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) rdkafka;};
 
   "haskanoid" = callPackage
@@ -83231,8 +83443,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-tools-ast";
-       version = "0.3.0.1";
-       sha256 = "5eab56307a8f415114da1c891e1753ccfe7febe8fe04c0280a8eb5b4e20c8728";
+       version = "0.4.0.0";
+       sha256 = "467845d216b9f4799c0ab681b2046df5cd410a170b9e6b78cf351b047f5bb70b";
        libraryHaskellDepends = [
          base ghc mtl references template-haskell uniplate
        ];
@@ -83303,8 +83515,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-tools-backend-ghc";
-       version = "0.3.0.1";
-       sha256 = "a63cd589f21a534bd0e68f27307a791f2257ab6e8eca7c76832a26e2b17868a3";
+       version = "0.4.0.0";
+       sha256 = "72755148f8866075be70a3b244d451b3f0755e53cc14b94401d7cd3c80dfd279";
        libraryHaskellDepends = [
          base bytestring containers ghc haskell-tools-ast mtl references
          safe split template-haskell transformers uniplate
@@ -83316,48 +83528,85 @@ self: {
      }) {};
 
   "haskell-tools-cli" = callPackage
-    ({ mkDerivation, base, containers, directory, filepath, ghc
-     , ghc-paths, haskell-tools-ast, haskell-tools-prettyprint
-     , haskell-tools-refactor, HUnit, mtl, references, split
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , ghc, ghc-paths, haskell-tools-ast, haskell-tools-prettyprint
+     , haskell-tools-refactor, knob, mtl, references, split, tasty
+     , tasty-hunit
      }:
      mkDerivation {
        pname = "haskell-tools-cli";
-       version = "0.3.0.1";
-       sha256 = "0e60a276383fff8b9cceda6fe82d45001156db5d3888b1914b16b04280f697b2";
+       version = "0.4.0.0";
+       sha256 = "0bc38f0d805b3d7bb0f643a83e217d7ff6139bc561c15ad4d8b45e208da9de37";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base containers directory ghc ghc-paths haskell-tools-ast
+         base containers directory filepath ghc ghc-paths haskell-tools-ast
          haskell-tools-prettyprint haskell-tools-refactor mtl references
          split
        ];
        executableHaskellDepends = [ base ];
-       testHaskellDepends = [ base directory filepath HUnit ];
+       testHaskellDepends = [
+         base bytestring directory filepath knob tasty tasty-hunit
+       ];
        homepage = "https://github.com/haskell-tools/haskell-tools";
        description = "Command-line frontend for Haskell-tools Refact";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "haskell-tools-daemon" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, directory
+     , filepath, ghc, ghc-paths, haskell-tools-ast
+     , haskell-tools-prettyprint, haskell-tools-refactor, HUnit, mtl
+     , network, references, split, tasty, tasty-hunit
+     }:
+     mkDerivation {
+       pname = "haskell-tools-daemon";
+       version = "0.4.0.0";
+       sha256 = "a339059dcdcaf2af3d622d61c64c3467e849748d27525d6d66c8e135ed5b5aeb";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring containers directory filepath ghc ghc-paths
+         haskell-tools-ast haskell-tools-prettyprint haskell-tools-refactor
+         mtl network references split
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         aeson base bytestring directory filepath HUnit network tasty
+         tasty-hunit
+       ];
+       homepage = "https://github.com/haskell-tools/haskell-tools";
+       description = "Background process for Haskell-tools refactor that editors can connect to";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "haskell-tools-demo" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, directory
      , filepath, ghc, ghc-paths, haskell-tools-ast
      , haskell-tools-backend-ghc, haskell-tools-prettyprint
-     , haskell-tools-refactor, http-types, mtl, references, transformers
-     , wai, wai-websockets, warp, websockets
+     , haskell-tools-refactor, http-types, HUnit, mtl, network
+     , references, tasty, tasty-hunit, transformers, wai, wai-websockets
+     , warp, websockets
      }:
      mkDerivation {
        pname = "haskell-tools-demo";
-       version = "0.3.0.1";
-       sha256 = "9c85cd53b3cb18a1f6355b1d7f9c9f702ad82cead9f6b2e2d20d4ff1de5ca744";
-       isLibrary = false;
+       version = "0.4.0.0";
+       sha256 = "1e52d8e1408323d75fd8f15344328c1f7ea194f7662d632cbb28e384fca05451";
+       isLibrary = true;
        isExecutable = true;
-       executableHaskellDepends = [
+       libraryHaskellDepends = [
          aeson base bytestring containers directory filepath ghc ghc-paths
          haskell-tools-ast haskell-tools-backend-ghc
          haskell-tools-prettyprint haskell-tools-refactor http-types mtl
          references transformers wai wai-websockets warp websockets
        ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         aeson base bytestring directory filepath HUnit network tasty
+         tasty-hunit websockets
+       ];
        homepage = "https://github.com/haskell-tools/haskell-tools";
        description = "A web-based demo for Haskell-tools Refactor";
        license = stdenv.lib.licenses.bsd3;
@@ -83370,8 +83619,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-tools-prettyprint";
-       version = "0.3.0.1";
-       sha256 = "13356a19d14a0d0c6a95b0ec56600fd4166dcee23ddef80fe0913b5d734ade5c";
+       version = "0.4.0.0";
+       sha256 = "408fca758679e050c8a984e635853d356b9f1c5141add998e3fbf67e24fafbaf";
        libraryHaskellDepends = [
          base containers ghc haskell-tools-ast mtl references split uniplate
        ];
@@ -83385,13 +83634,14 @@ self: {
     ({ mkDerivation, base, Cabal, containers, directory, either
      , filepath, ghc, ghc-paths, haskell-tools-ast
      , haskell-tools-backend-ghc, haskell-tools-prettyprint
-     , haskell-tools-rewrite, HUnit, mtl, old-time, polyparse
-     , references, split, template-haskell, time, transformers, uniplate
+     , haskell-tools-rewrite, mtl, old-time, polyparse, references
+     , split, tasty, tasty-hunit, template-haskell, time, transformers
+     , uniplate
      }:
      mkDerivation {
        pname = "haskell-tools-refactor";
-       version = "0.3.0.1";
-       sha256 = "0fc7d41b05d130f57681f90a571ad9e112186a3fe5395c6ecc4575814aa8b2f5";
+       version = "0.4.0.0";
+       sha256 = "066cc62a3d553ff7510f64acd4627baa154e65e4d941ac74402aa7b978394c93";
        libraryHaskellDepends = [
          base Cabal containers directory filepath ghc ghc-paths
          haskell-tools-ast haskell-tools-backend-ghc
@@ -83401,9 +83651,9 @@ self: {
        testHaskellDepends = [
          base Cabal containers directory either filepath ghc ghc-paths
          haskell-tools-ast haskell-tools-backend-ghc
-         haskell-tools-prettyprint haskell-tools-rewrite HUnit mtl old-time
-         polyparse references split template-haskell time transformers
-         uniplate
+         haskell-tools-prettyprint haskell-tools-rewrite mtl old-time
+         polyparse references split tasty tasty-hunit template-haskell time
+         transformers uniplate
        ];
        homepage = "https://github.com/haskell-tools/haskell-tools";
        description = "Refactoring Tool for Haskell";
@@ -83412,17 +83662,22 @@ self: {
      }) {};
 
   "haskell-tools-rewrite" = callPackage
-    ({ mkDerivation, base, containers, ghc, haskell-tools-ast
-     , haskell-tools-prettyprint, mtl, references
+    ({ mkDerivation, base, containers, directory, filepath, ghc
+     , haskell-tools-ast, haskell-tools-prettyprint, mtl, references
+     , tasty, tasty-hunit
      }:
      mkDerivation {
        pname = "haskell-tools-rewrite";
-       version = "0.3.0.1";
-       sha256 = "190e3aaa5a2a77e4106dd7ae243605b5036b82848197d0ab747c91b89a6b3aa6";
+       version = "0.4.0.0";
+       sha256 = "a47604c77b77a5ca1ca5ce0c5c517a68d7cdc33d9b056f7fd5f98d3756af61a2";
        libraryHaskellDepends = [
          base containers ghc haskell-tools-ast haskell-tools-prettyprint mtl
          references
        ];
+       testHaskellDepends = [
+         base directory filepath haskell-tools-ast haskell-tools-prettyprint
+         tasty tasty-hunit
+       ];
        homepage = "https://github.com/haskell-tools/haskell-tools";
        description = "Facilities for generating new parts of the Haskell-Tools AST";
        license = stdenv.lib.licenses.bsd3;
@@ -84759,6 +85014,28 @@ self: {
        homepage = "https://github.com/chris-kahn/hasql-generic#readme";
        description = "Generic encoder and decoder deriving for Hasql";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hasql-migration" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, contravariant
+     , cryptohash, data-default-class, directory, hasql
+     , hasql-transaction, hspec, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "hasql-migration";
+       version = "0.1.1";
+       sha256 = "0cb83fffe9ebda4632fd426a97506c9c5f803c42a01d0987e7752240aceff595";
+       libraryHaskellDepends = [
+         base base64-bytestring bytestring contravariant cryptohash
+         data-default-class directory hasql hasql-transaction text time
+       ];
+       testHaskellDepends = [
+         base bytestring hasql hasql-transaction hspec transformers
+       ];
+       homepage = "https://github.com/tvh/hasql-migration";
+       description = "PostgreSQL Schema Migrations";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "hasql-optparse-applicative" = callPackage
@@ -84938,8 +85215,8 @@ self: {
      }:
      mkDerivation {
        pname = "haste-compiler";
-       version = "0.5.5.0";
-       sha256 = "9e6d526193f73ae90e863b9fff0dcf8b3e028f430d3157ee3eb1a9a46fae250c";
+       version = "0.5.5.1";
+       sha256 = "c93d1dce0f0024ecae56019b1c7a5b68ca37cf32ba7a8ee7b2f248981af4865c";
        configureFlags = [ "-fportable" ];
        libraryHaskellDepends = [
          base binary bytestring containers data-binary-ieee754 directory
@@ -86312,19 +86589,19 @@ self: {
      }) {};
 
   "heckle" = callPackage
-    ({ mkDerivation, base, blaze-html, dates, directory, filepath
+    ({ mkDerivation, base, blaze-html, directory, filepath
      , optparse-applicative, optparse-generic, pandoc, pandoc-types
-     , process, split, tagsoup
+     , process, split, tagsoup, time
      }:
      mkDerivation {
        pname = "heckle";
-       version = "2.0.1.5";
-       sha256 = "64655fc2c10b00e31cbd8ba6ca6a339fdb184f580f56e24258ecf85605e7d97b";
+       version = "2.0.1.9";
+       sha256 = "b8a14e8e80dfc0190088e8f05baf9b47c46ac72e6b8ec5f36be244087b0469ba";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base blaze-html dates directory filepath pandoc pandoc-types
-         process split tagsoup
+         base blaze-html directory filepath pandoc pandoc-types process
+         split tagsoup time
        ];
        executableHaskellDepends = [
          base directory filepath optparse-applicative optparse-generic
@@ -87371,10 +87648,8 @@ self: {
     ({ mkDerivation, base, bytestring, extra }:
      mkDerivation {
        pname = "hexml";
-       version = "0.1";
-       sha256 = "dab6b475d2c9e9e1b733c37d3a97ebd7f1ef1db606b17c97544ce53d9748226a";
-       revision = "1";
-       editedCabalFile = "a46997607148d6e6ddb555d128cf73c9dfe29b1aeccf383beb283e4d06ff79f6";
+       version = "0.2";
+       sha256 = "4c14883bc7fd5e059e05a24d5daabacec295ee71fcf91e3fdd066e7993085a2a";
        libraryHaskellDepends = [ base bytestring extra ];
        testHaskellDepends = [ base bytestring ];
        homepage = "https://github.com/ndmitchell/hexml#readme";
@@ -90443,25 +90718,24 @@ self: {
 
   "hnetcdf" = callPackage
     ({ mkDerivation, base, c2hs, containers, directory, either, errors
-     , filepath, hmatrix, HUnit, netcdf, QuickCheck, repa
-     , test-framework, test-framework-hunit, test-framework-quickcheck2
-     , transformers, vector
+     , filepath, HUnit, netcdf, QuickCheck, repa, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, transformers
+     , vector
      }:
      mkDerivation {
        pname = "hnetcdf";
-       version = "0.3.0.0";
-       sha256 = "3a8c5c30a9210e4a7af213a0d0967515f692876f23c78582f7896559d69f098c";
+       version = "0.4.0.0";
+       sha256 = "70ea9ddc84b29848fc000d9eaaea5d7d6273597662437591354a8b5c12b2d795";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base containers either errors filepath hmatrix repa transformers
-         vector
+         base containers either errors filepath repa transformers vector
        ];
        librarySystemDepends = [ netcdf ];
        libraryToolDepends = [ c2hs ];
-       executableHaskellDepends = [ base containers hmatrix repa vector ];
+       executableHaskellDepends = [ base containers repa vector ];
        testHaskellDepends = [
-         base containers directory errors hmatrix HUnit QuickCheck repa
+         base containers directory errors HUnit QuickCheck repa
          test-framework test-framework-hunit test-framework-quickcheck2
          vector
        ];
@@ -90579,14 +90853,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "hoauth2_0_5_6_0" = callPackage
+  "hoauth2_0_5_7" = callPackage
     ({ mkDerivation, aeson, base, bytestring, http-conduit, http-types
      , text, unordered-containers
      }:
      mkDerivation {
        pname = "hoauth2";
-       version = "0.5.6.0";
-       sha256 = "e678e9d0029b354f255b9796dddac5de0c9894261e54591b0435685a787e2dad";
+       version = "0.5.7";
+       sha256 = "7b196e4b70b8207c4beb3479f5ab4476c17d9c0ec7d8f1fcb658590641e9b9ec";
        libraryHaskellDepends = [
          aeson base bytestring http-conduit http-types text
          unordered-containers
@@ -91575,8 +91849,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoppy-docs";
-       version = "0.2.1";
-       sha256 = "213baa6a2a53f9b0efec11affcdf0ddb24e86a462a333f7a9d81df829f4d55a0";
+       version = "0.3.0";
+       sha256 = "e6663e8654fe93daa5a4628219eea03e2b6f31d7894a9f7c4180f43f92921d8f";
        libraryHaskellDepends = [
          base haskell-src hoppy-generator hoppy-runtime
        ];
@@ -91592,8 +91866,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoppy-generator";
-       version = "0.2.1";
-       sha256 = "b03dacf5d0b85b859d01c8cb29045092ad64cb983ec162d37f87ecabc9d052ba";
+       version = "0.3.0";
+       sha256 = "48d8e8c41c1204ced517a337d454a1dc87bd6a5ef3697f09756fac22e4d374ef";
        libraryHaskellDepends = [
          base containers directory filepath haskell-src mtl
        ];
@@ -91604,12 +91878,12 @@ self: {
      }) {};
 
   "hoppy-runtime" = callPackage
-    ({ mkDerivation, base }:
+    ({ mkDerivation, base, containers }:
      mkDerivation {
        pname = "hoppy-runtime";
-       version = "0.2.1";
-       sha256 = "f4969d7cd352399d2f76739cf4ab75e23b1ff491437400ca2e3bc4bbe4505392";
-       libraryHaskellDepends = [ base ];
+       version = "0.3.0";
+       sha256 = "44463a38c42a61789f723a538a5c3df0eac312c08dbac81a10642a8bffaba9d9";
+       libraryHaskellDepends = [ base containers ];
        homepage = "http://khumba.net/projects/hoppy";
        description = "C++ FFI generator - Runtime support";
        license = stdenv.lib.licenses.asl20;
@@ -91620,8 +91894,8 @@ self: {
     ({ mkDerivation, base, filepath, haskell-src, hoppy-generator }:
      mkDerivation {
        pname = "hoppy-std";
-       version = "0.2.1";
-       sha256 = "13eee9e5d2f993d8486f2c9125c109d89ba5d6ec13b3165e7f733b04e8c677cc";
+       version = "0.3.0";
+       sha256 = "4bf6cbf4456ac92517bb19a044863e509e20ca7965f1a8324bcd4848f5c4fb65";
        libraryHaskellDepends = [
          base filepath haskell-src hoppy-generator
        ];
@@ -91680,13 +91954,19 @@ self: {
      }) {};
 
   "hora" = callPackage
-    ({ mkDerivation, base, binary, hspec, QuickCheck, time }:
+    ({ mkDerivation, base, binary, hspec, QuickCheck, time
+     , timezone-olson, timezone-series
+     }:
      mkDerivation {
        pname = "hora";
-       version = "1.1.1";
-       sha256 = "9f375a418afca764c29a46c86beaef73a429fb2902368bc27b9d6072b6cfdbd1";
-       libraryHaskellDepends = [ base binary time ];
-       testHaskellDepends = [ base binary hspec QuickCheck time ];
+       version = "2.0.2";
+       sha256 = "a2d9eb1f89bf71f7060768e715fddd1e9478af192b353977c14c5524f2daba27";
+       revision = "1";
+       editedCabalFile = "ba7e38c8bb60d028a6869e1d7ecd07354e783b2c8b5da6f135c4ef740ccf41a1";
+       libraryHaskellDepends = [ base binary time timezone-series ];
+       testHaskellDepends = [
+         base binary hspec QuickCheck time timezone-olson timezone-series
+       ];
        homepage = "https://github.com/ciez/hora";
        description = "date time";
        license = stdenv.lib.licenses.publicDomain;
@@ -91705,6 +91985,25 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "horname" = callPackage
+    ({ mkDerivation, base, containers, megaparsec, optparse-applicative
+     , text, these, uniplate, wl-pprint-text
+     }:
+     mkDerivation {
+       pname = "horname";
+       version = "0.1.0.0";
+       sha256 = "f895b2d91dd1b33bf51a04f92a4d0c295286eccfdab1df3e178b6ea8774fb290";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers megaparsec text these uniplate wl-pprint-text
+       ];
+       executableHaskellDepends = [ base optparse-applicative text ];
+       homepage = "https://github.com/cocreature/horname#readme";
+       description = "Rename function definitions returned by SMT solvers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "hosc" = callPackage
     ({ mkDerivation, base, binary, blaze-builder, bytestring
      , data-binary-ieee754, network, QuickCheck, test-framework
@@ -93487,8 +93786,8 @@ self: {
     ({ mkDerivation, attoparsec, base, text, vector }:
      mkDerivation {
        pname = "hsbc";
-       version = "0.1.0.2";
-       sha256 = "0cc76047ced42e4860f3876fdebcc2057d6d95917ebc2401f929308e7ba66e75";
+       version = "0.1.0.3";
+       sha256 = "20795b5c41fee21afa91c9d5ae4675a8954898f54e7e3a23222d3ebddbe1369a";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [ attoparsec base text vector ];
@@ -101635,6 +101934,7 @@ self: {
        homepage = "http://kalli1.faikvm.com/ImplicitCAD/Stable";
        description = "Math-inspired programmatic 2&3D CAD: CSG, bevels, and shells; gcode export..";
        license = stdenv.lib.licenses.agpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "implicit-logging" = callPackage
@@ -102442,6 +102742,7 @@ self: {
        homepage = "https://tweag.github.io/HaskellR";
        description = "Seamlessly call R from Haskell and vice versa. No FFI required.";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) R;};
 
   "inquire" = callPackage
@@ -102715,6 +103016,8 @@ self: {
        pname = "integer-gmp";
        version = "1.0.0.1";
        sha256 = "ef11daab7d7007b6be61846350a947173c46475c833623bcac45aa532ec3c121";
+       revision = "1";
+       editedCabalFile = "616d1775344a82a0ae1db1791fba719f4682a1ace908582ac4026db14231d4d5";
        libraryHaskellDepends = [ ghc-prim ];
        description = "Integer library based on GMP";
        license = stdenv.lib.licenses.bsd3;
@@ -104266,6 +104569,7 @@ self: {
        ];
        description = "A brick Widget for selectable summary of many elements on a terminal";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "iter-stats" = callPackage
@@ -104465,8 +104769,8 @@ self: {
      }:
      mkDerivation {
        pname = "ivory";
-       version = "0.1.0.4";
-       sha256 = "96a056e1f3d766223d93dcd3aaedd6619aa1806f31903c3f46e30a058705583f";
+       version = "0.1.0.5";
+       sha256 = "437d5bc2fa69037e6fa5beb7d0a7b27f4d7e92404531b698be5a84946294a158";
        libraryHaskellDepends = [
          array base base-compat containers dlist filepath monadLib pretty
          template-haskell text th-lift
@@ -104484,8 +104788,8 @@ self: {
      }:
      mkDerivation {
        pname = "ivory-artifact";
-       version = "0.1.0.4";
-       sha256 = "a2aa0b21fa58c5f87d5001f74fcbfda439a6dbfb56577214447c75f3b204ce8c";
+       version = "0.1.0.5";
+       sha256 = "7a2bac5f9abebc2edbad78b010056a6a75722681ec0c636951bc044774ee7934";
        libraryHaskellDepends = [
          base directory filepath HStringTemplate text utf8-string
        ];
@@ -104502,8 +104806,8 @@ self: {
      }:
      mkDerivation {
        pname = "ivory-backend-c";
-       version = "0.1.0.4";
-       sha256 = "1515d217549af8189b83a5963ddfd6d202b58cdb9f98644a41988e7b67884caf";
+       version = "0.1.0.5";
+       sha256 = "e07d69634f6b50145f51886b87b7556bd6eb01e21bcd6476f849071a1120e535";
        libraryHaskellDepends = [
          base base-compat bytestring containers directory filepath ivory
          ivory-artifact ivory-opts language-c-quote mainland-pretty monadLib
@@ -104541,8 +104845,8 @@ self: {
      }:
      mkDerivation {
        pname = "ivory-eval";
-       version = "0.1.0.4";
-       sha256 = "dd4f92558eea73265d680963bfad48112c782ed144726ee001f547216368e020";
+       version = "0.1.0.5";
+       sha256 = "059811a8cfe1f77c4bb5c21690999a3a1544dd30fd56f89d7957c71e5534f662";
        libraryHaskellDepends = [
          base base-compat containers ivory monadLib
        ];
@@ -104562,10 +104866,8 @@ self: {
      }:
      mkDerivation {
        pname = "ivory-examples";
-       version = "0.1.0.4";
-       sha256 = "d61091b079166b06537feb0a719d7e4e09718732df3f1f264167af800f72900a";
-       revision = "2";
-       editedCabalFile = "7b0f9b186a1356c9210ecfe4ae198b1fa3056f1c78188126b83fbd39c09e253f";
+       version = "0.1.0.5";
+       sha256 = "539b65b7068f7dbcb128401ac4ec8c08ee2a0db074087cd923bbf38daf530356";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -104582,8 +104884,8 @@ self: {
     ({ mkDerivation, base, filepath, ivory, ivory-artifact }:
      mkDerivation {
        pname = "ivory-hw";
-       version = "0.1.0.4";
-       sha256 = "d441e06d61ffaada4719d6b274d090308accba9e71f49bd3d31be608f26193dc";
+       version = "0.1.0.5";
+       sha256 = "9379da7f7e30587f79d8de501725d9c8b0eeb7105db2362a5889d82163ca4140";
        libraryHaskellDepends = [ base filepath ivory ivory-artifact ];
        homepage = "http://ivorylang.org";
        description = "Ivory hardware model (STM32F4)";
@@ -104597,8 +104899,8 @@ self: {
      }:
      mkDerivation {
        pname = "ivory-opts";
-       version = "0.1.0.4";
-       sha256 = "14c1337cdd8f4a06ff6e99e050fb5d9bd98ec221c77de510368cb8aa4f7b7019";
+       version = "0.1.0.5";
+       sha256 = "36bbf696b1f711885a2493233d09a304686572ff32d0e7e8f30c0a8ebc139340";
        libraryHaskellDepends = [
          base base-compat containers data-reify dlist fgl filepath ivory
          monadLib pretty
@@ -104616,8 +104918,8 @@ self: {
      }:
      mkDerivation {
        pname = "ivory-quickcheck";
-       version = "0.2.0.4";
-       sha256 = "c7c3e1dcf2c3bbf21612445155f1e869576e5dcd9099b7d4eea0694b327d63a5";
+       version = "0.2.0.5";
+       sha256 = "9a93f90f18b2a9e508ef4f25d980cdb39e2ac3a11061878cbb9028c40fb953f0";
        libraryHaskellDepends = [
          base base-compat ivory ivory-backend-c ivory-eval monadLib
          QuickCheck random
@@ -104638,8 +104940,8 @@ self: {
      }:
      mkDerivation {
        pname = "ivory-serialize";
-       version = "0.1.0.4";
-       sha256 = "bf73dccdcac406b7adc8981e01d9b363df6411ce7e7bb70daf2f6065f17abc12";
+       version = "0.1.0.5";
+       sha256 = "4ef3bcafba676e83cff6c4ede3b931124069d3baad87568e641cefccb2db1a9a";
        libraryHaskellDepends = [
          base base-compat filepath ivory ivory-artifact monadLib
        ];
@@ -104652,8 +104954,8 @@ self: {
     ({ mkDerivation, base, filepath, ivory, ivory-artifact }:
      mkDerivation {
        pname = "ivory-stdlib";
-       version = "0.1.0.4";
-       sha256 = "912b78ed7b5143ff54517f3c483dd73dab9401cfce2c0a4f43fcdc9ca7413c5b";
+       version = "0.1.0.5";
+       sha256 = "af6ed58d447a770deb83c854c4a611bd0fee36efb59feb5afc0729ac8be7abe9";
        libraryHaskellDepends = [ base filepath ivory ivory-artifact ];
        homepage = "http://ivorylang.org";
        description = "Ivory standard library";
@@ -105425,7 +105727,7 @@ self: {
        license = stdenv.lib.licenses.asl20;
      }) {};
 
-  "jose_0_5_0_1" = callPackage
+  "jose_0_5_0_2" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
      , byteable, bytestring, containers, cryptonite, hspec, lens, memory
      , monad-time, mtl, network-uri, QuickCheck, quickcheck-instances
@@ -105434,8 +105736,8 @@ self: {
      }:
      mkDerivation {
        pname = "jose";
-       version = "0.5.0.1";
-       sha256 = "be03e97bad8c492bc6e268d917b0c0ea18f12a971a94be8e8c28af636d52c84f";
+       version = "0.5.0.2";
+       sha256 = "25958a11561f56363bb7dcdcd1ebbc97bf231ee68ed393b117c90fff0cf07abc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -105532,19 +105834,19 @@ self: {
      }) {};
 
   "jsaddle" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
-     , deepseq, filepath, ghc-prim, http-types, lens, primitive, process
-     , ref-tf, scientific, stm, template-haskell, text, time
+    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
+     , bytestring, containers, deepseq, filepath, ghc-prim, http-types
+     , lens, primitive, process, ref-tf, scientific, stm, text, time
      , transformers, unordered-containers, vector
      }:
      mkDerivation {
        pname = "jsaddle";
-       version = "0.7.0.0";
-       sha256 = "bfbf63663129551b95efc44333e944dd56357ea4e0778b592701480836511554";
+       version = "0.8.0.1";
+       sha256 = "de68f74a6a546b91ce0a1a74512db7d1a7a583a4455d0de5ef9d300cf179cb3b";
        libraryHaskellDepends = [
-         aeson attoparsec base bytestring containers deepseq filepath
-         ghc-prim http-types lens primitive process ref-tf scientific stm
-         template-haskell text time transformers unordered-containers vector
+         aeson attoparsec base base64-bytestring bytestring containers
+         deepseq filepath ghc-prim http-types lens primitive process ref-tf
+         scientific stm text time transformers unordered-containers vector
        ];
        description = "Interface for JavaScript that works with GHCJS and GHC";
        license = stdenv.lib.licenses.mit;
@@ -105590,8 +105892,8 @@ self: {
      }:
      mkDerivation {
        pname = "jsaddle-warp";
-       version = "0.7.0.0";
-       sha256 = "5f847b737fc542f9b5f8a0b3aa3a384b18d588fd5433cffbc279c7aac52de818";
+       version = "0.8.0.0";
+       sha256 = "468f4748bdbeb8cf86054ef61260152ce0ef41c23cd2f10d9bb50dbe8732ba50";
        libraryHaskellDepends = [
          aeson base containers http-types jsaddle stm text time transformers
          wai wai-websockets warp websockets
@@ -105605,12 +105907,50 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "jsaddle-webkit2gtk" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, directory, gi-gio
+     , gi-glib, gi-gtk, gi-javascriptcore, gi-webkit2, haskell-gi-base
+     , jsaddle, text, unix, webkit2gtk3-javascriptcore
+     }:
+     mkDerivation {
+       pname = "jsaddle-webkit2gtk";
+       version = "0.8.1.0";
+       sha256 = "f21e613da36ad510fce1d609eef6a966e11da97a35bdf81ce7924bca56729da6";
+       libraryHaskellDepends = [
+         aeson base bytestring directory gi-gio gi-glib gi-gtk
+         gi-javascriptcore gi-webkit2 haskell-gi-base jsaddle text unix
+         webkit2gtk3-javascriptcore
+       ];
+       description = "Interface for JavaScript that works with GHCJS and GHC";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "jsaddle-webkitgtk" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, directory, gi-glib
+     , gi-gtk, gi-javascriptcore, gi-webkit, haskell-gi-base, jsaddle
+     , text, unix, webkitgtk3-javascriptcore
+     }:
+     mkDerivation {
+       pname = "jsaddle-webkitgtk";
+       version = "0.8.1.0";
+       sha256 = "baa5ecd99c21046cbe5fe2126d4b072a12419aaf03eb1adf8b97b620c7760437";
+       libraryHaskellDepends = [
+         aeson base bytestring directory gi-glib gi-gtk gi-javascriptcore
+         gi-webkit haskell-gi-base jsaddle text unix
+         webkitgtk3-javascriptcore
+       ];
+       description = "Interface for JavaScript that works with GHCJS and GHC";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "jsaddle-wkwebview" = callPackage
     ({ mkDerivation, aeson, base, bytestring, jsaddle }:
      mkDerivation {
        pname = "jsaddle-wkwebview";
-       version = "0.7.0.0";
-       sha256 = "fa9a722cab4659f00acdad3c50d70b6ecbaf8d457fcc50c44191a60802f8c26d";
+       version = "0.8.0.0";
+       sha256 = "8770e3f9a452502d62025a142aaabc95ac759625fd56f4600217fc8d9ac69dd1";
        libraryHaskellDepends = [ aeson base bytestring jsaddle ];
        description = "Interface for JavaScript that works with GHCJS and GHC";
        license = stdenv.lib.licenses.mit;
@@ -105690,8 +106030,8 @@ self: {
      }:
      mkDerivation {
        pname = "json-assertions";
-       version = "1.0.7";
-       sha256 = "0a2b071178b27b8ab295040c22b712c17278986b6829b2a085819b85fdd7e3f4";
+       version = "1.0.8";
+       sha256 = "d4e060ec54e264581e47d409e303dc3165c311dcfcd6127278c99b7a876ae259";
        libraryHaskellDepends = [
          aeson base indexed indexed-free lens lens-aeson text
        ];
@@ -106697,6 +107037,7 @@ self: {
        homepage = "https://bitbucket.org/functionally/kafka-device";
        description = "UI device events via a Kafka message broker";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "kafka-device-glut" = callPackage
@@ -106714,6 +107055,7 @@ self: {
        homepage = "https://bitbucket.org/functionally/kafka-device-glut";
        description = "GLUT events via a Kafka message broker";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "kafka-device-joystick" = callPackage
@@ -106735,6 +107077,7 @@ self: {
        homepage = "https://bitbucket.org/functionally/kafka-device-joystick";
        description = "Linux joystick events via a Kafka message broker";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "kafka-device-leap" = callPackage
@@ -106756,6 +107099,7 @@ self: {
        homepage = "https://bitbucket.org/functionally/kafka-device-leap";
        description = "Leap Motion events via a Kafka message broker";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "kafka-device-spacenav" = callPackage
@@ -106777,6 +107121,7 @@ self: {
        homepage = "https://bitbucket.org/functionally/kafka-device-spacenav";
        description = "Linux SpaceNavigator events via a Kafka message broker";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "kafka-device-vrpn" = callPackage
@@ -106792,6 +107137,7 @@ self: {
        homepage = "https://bitbucket.org/functionally/kafka-device-vrpn";
        description = "VRPN events via a Kafka message broker";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "kaleidoscope" = callPackage
@@ -106836,6 +107182,7 @@ self: {
        homepage = "https://github.com/idontgetoutmuch/Kalman";
        description = "Kalman and particle filters and smoothers";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "kan-extensions" = callPackage
@@ -107020,8 +107367,8 @@ self: {
      }:
      mkDerivation {
        pname = "katip";
-       version = "0.3.1.2";
-       sha256 = "d666b12f235c6eb5fa36fa1cfc5a48ec001996a4ad6e4abf5ff0601ee3d9cea5";
+       version = "0.3.1.3";
+       sha256 = "8a733a9888157781c60ec3b223bf0256839fb923e41473f3118289ab175413fa";
        libraryHaskellDepends = [
          aeson auto-update base bytestring containers either exceptions
          hostname microlens microlens-th monad-control mtl old-locale
@@ -108238,6 +108585,7 @@ self: {
        homepage = "https://github.com/krapsh/kraps-haskell";
        description = "Haskell bindings for Spark Dataframes and Datasets";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "krpc" = callPackage
@@ -108552,8 +108900,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambda-calculator";
-       version = "0.5.0";
-       sha256 = "b6f3da4fbb70574ad0131b0ca2ff509031eebf17b8ab650c71651b2aedda26a1";
+       version = "1.0.0";
+       sha256 = "c0010570a3f90cd6eb74b36e6787eb19a01f49005fe24de72ca957406909dc86";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base parsec ];
@@ -108644,6 +108992,7 @@ self: {
        homepage = "https://github.com/maciej-bendkowski/lambda-sampler";
        description = "Boltzmann sampler utilities for lambda calculus";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lambda-toolbox" = callPackage
@@ -110394,6 +110743,7 @@ self: {
        homepage = "https://github.com/unitb/latex-function-tables";
        description = "Function table specifications in latex";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lattices" = callPackage
@@ -110571,14 +110921,28 @@ self: {
     ({ mkDerivation, base, transformers, unsafe }:
      mkDerivation {
        pname = "lazyio";
-       version = "0.1.0.3";
-       sha256 = "bb8d8c0c14ab35d80d0eee69e51b9111fea975eabe171c37a0f680adaff708be";
+       version = "0.1.0.4";
+       sha256 = "8b54f0bccdc1c836393ce667ea0f1ad069d52c04762e61fad633d4d44916cf6c";
        libraryHaskellDepends = [ base transformers unsafe ];
        homepage = "http://www.haskell.org/haskellwiki/Lazy_IO";
        description = "Run IO actions lazily while respecting their order";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "lazyset" = callPackage
+    ({ mkDerivation, base, containers, data-ordlist, HUnit }:
+     mkDerivation {
+       pname = "lazyset";
+       version = "0.1.0.0";
+       sha256 = "9e62ccd181117484c63920b8dfb8d385d23119e11595ab2aa045b272c55f4bad";
+       libraryHaskellDepends = [ base containers data-ordlist ];
+       testHaskellDepends = [ base containers data-ordlist HUnit ];
+       homepage = "https://github.com/happyherp/lazyset";
+       description = "Set and Map from lazy/infinite lists";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "lazysmallcheck" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -110787,6 +111151,7 @@ self: {
        libraryHaskellDepends = [ base time ];
        testHaskellDepends = [ base tasty tasty-hunit time ];
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "leapseconds-announced" = callPackage
@@ -111982,33 +112347,36 @@ self: {
 
   "liblawless" = callPackage
     ({ mkDerivation, aeson, base, base-unicode-symbols, binary
-     , bytestring, containers, containers-unicode-symbols, contravariant
-     , data-textual, directory, exceptions, filepath, hjsonschema, lens
-     , machines, mtl, parsers, path, path-io, protolude, QuickCheck
-     , random, semigroups, stm, stm-containers, temporary
-     , test-framework, test-framework-quickcheck2, test-framework-th
-     , text, text-icu, text-icu-normalized, text-printer, time
-     , transformers, yaml, zippers
+     , boomerang, bytestring, containers, containers-unicode-symbols
+     , contravariant, data-default, data-textual, directory, dns
+     , exceptions, filepath, hjsonschema, lens, machines, mtl, network
+     , network-ip, parsers, protolude, QuickCheck, random, semigroups
+     , stm, stm-containers, temporary, test-framework
+     , test-framework-quickcheck2, test-framework-th, text, text-icu
+     , text-icu-normalized, text-printer, time, transformers, zippers
      }:
      mkDerivation {
        pname = "liblawless";
-       version = "0.13.3";
-       sha256 = "b1c3660a40a50db947712b3768a8cf3ceb8c614e5d71cdf18e4bceedff90a16b";
+       version = "0.16.0";
+       sha256 = "4cca43195f8b30c0aa06840d402a61e2af1592b61c89aadf369f6390e841a856";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
-         aeson base base-unicode-symbols binary bytestring containers
-         containers-unicode-symbols contravariant data-textual directory
-         exceptions filepath hjsonschema lens machines mtl parsers path
-         path-io protolude random semigroups stm stm-containers temporary
-         text text-icu text-icu-normalized text-printer time transformers
-         yaml zippers
+         aeson base base-unicode-symbols binary boomerang bytestring
+         containers containers-unicode-symbols contravariant data-default
+         data-textual directory dns exceptions filepath hjsonschema lens
+         machines mtl network network-ip parsers protolude QuickCheck random
+         semigroups stm stm-containers temporary text text-icu
+         text-icu-normalized text-printer time transformers zippers
        ];
        testHaskellDepends = [
-         base binary bytestring exceptions filepath QuickCheck semigroups
-         temporary test-framework test-framework-quickcheck2
+         aeson base binary bytestring exceptions filepath network QuickCheck
+         semigroups temporary test-framework test-framework-quickcheck2
          test-framework-th text time transformers
        ];
        description = "Prelude based on protolude for GHC 8 and beyond";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "liblinear-enumerator" = callPackage
@@ -112069,6 +112437,7 @@ self: {
        ];
        description = "Prelude based on protolude for GHC 8 and beyond";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "libmpd" = callPackage
@@ -113478,8 +113847,8 @@ self: {
      }:
      mkDerivation {
        pname = "liquid";
-       version = "0.1.0.1";
-       sha256 = "f2c7cbfb26acbc9abd1856286997c7175ea20c4584225c287d4c75938898f18d";
+       version = "0.1.0.2";
+       sha256 = "7679068f8753564b193df76ad32680e59214a4e04c2f45869e57d7dcabc741b9";
        libraryHaskellDepends = [
          aeson attoparsec base lens lens-aeson mtl scientific semigroups
          text unordered-containers validation vector
@@ -114759,6 +115128,7 @@ self: {
        homepage = "https://github.com/scrive/log";
        description = "Structured logging solution (Elasticsearch back end)";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "log-postgres" = callPackage
@@ -114779,6 +115149,7 @@ self: {
        homepage = "https://github.com/scrive/log";
        description = "Structured logging solution (PostgreSQL back end)";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "log-utils" = callPackage
@@ -116237,14 +116608,14 @@ self: {
 
   "machinecell" = callPackage
     ({ mkDerivation, arrows, base, free, hspec, mtl, profunctors
-     , QuickCheck, semigroups
+     , QuickCheck, semigroups, transformers
      }:
      mkDerivation {
        pname = "machinecell";
-       version = "3.2.0";
-       sha256 = "507f367bd35ea9b0b2c81af1b1ec14f4aa68fae4309f71c69c9c58715405bddd";
+       version = "3.3.0";
+       sha256 = "22c6cb0f81a4290e72d0fa266b71f094a6377cdc6518833a11dcc8cf8d131932";
        libraryHaskellDepends = [
-         arrows base free mtl profunctors semigroups
+         arrows base free mtl profunctors semigroups transformers
        ];
        testHaskellDepends = [
          arrows base hspec mtl profunctors QuickCheck semigroups
@@ -117602,8 +117973,8 @@ self: {
      }:
      mkDerivation {
        pname = "marvin";
-       version = "0.0.2";
-       sha256 = "93cb2eaeb405ed22c165ff2d546e3cc34892663361ef4bf39e4ce03262be8643";
+       version = "0.0.4";
+       sha256 = "76c0af008fd2b2c691abe29541b392fe47f59f8a004b837bb8e398f916df1bae";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -118241,6 +118612,7 @@ self: {
        homepage = "https://github.com/linearray/mealstrom";
        description = "Manipulate FSMs and store them in PostgreSQL";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "means" = callPackage
@@ -118751,6 +119123,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "memory_0_14" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, foundation, ghc-prim
+     , tasty, tasty-hunit, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "memory";
+       version = "0.14";
+       sha256 = "ca0248c9a889906a5a8fc95ce3c549b27abc3edb4d85d03893aef56934148e1d";
+       libraryHaskellDepends = [
+         base bytestring deepseq foundation ghc-prim
+       ];
+       testHaskellDepends = [ base tasty tasty-hunit tasty-quickcheck ];
+       homepage = "https://github.com/vincenthz/hs-memory";
+       description = "memory and related abstraction stuff";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "memorypool" = callPackage
     ({ mkDerivation, base, containers, transformers, unsafe, vector }:
      mkDerivation {
@@ -121879,6 +122269,7 @@ self: {
        homepage = "https://github.com/jpvillaisaza/money";
        description = "Money";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "mongoDB" = callPackage
@@ -123437,6 +123828,7 @@ self: {
        homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/Multirec";
        description = "Generic programming for families of recursive datatypes";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "multirec-alt-deriver" = callPackage
@@ -124317,6 +124709,22 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "mysql-haskell-nem" = callPackage
+    ({ mkDerivation, base, bytestring, io-streams, mysql-haskell
+     , scientific, text, time
+     }:
+     mkDerivation {
+       pname = "mysql-haskell-nem";
+       version = "0.1.0.0";
+       sha256 = "7a0868b76edc96a7aff7860f96436b9040f6cb9319dd67f68bfd700948721f0d";
+       libraryHaskellDepends = [
+         base bytestring io-streams mysql-haskell scientific text time
+       ];
+       homepage = "https://github.com/lorenzo/mysql-haskell-nem#readme";
+       description = "Adds a interface like mysql-simple to mysql-haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "mysql-haskell-openssl" = callPackage
     ({ mkDerivation, base, HsOpenSSL, io-streams, mysql-haskell
      , network, tcp-streams, tcp-streams-openssl, wire-streams
@@ -125704,6 +126112,7 @@ self: {
        homepage = "https://github.com/ziocroc/netwire-input-javascript";
        description = "JavaScript instance of netwire-input";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "netwire-vinylglfw-examples" = callPackage
@@ -131316,6 +131725,7 @@ self: {
        homepage = "https://github.com/mb21/pandoc-placetable";
        description = "Pandoc filter to include CSV files";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pandoc-plantuml-diagrams" = callPackage
@@ -134399,6 +134809,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pgp-wordlist_0_1_0_2" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deepseq, doctest
+     , HUnit, tasty, tasty-hunit, tasty-quickcheck, text, vector
+     }:
+     mkDerivation {
+       pname = "pgp-wordlist";
+       version = "0.1.0.2";
+       sha256 = "e28b6fe85222adf1247d5870ab47c68c3d25df3f9ceda104bfb64e1414a92466";
+       libraryHaskellDepends = [ base bytestring containers text vector ];
+       testHaskellDepends = [
+         base bytestring deepseq doctest HUnit tasty tasty-hunit
+         tasty-quickcheck text
+       ];
+       homepage = "https://github.com/quchen/pgp-wordlist";
+       description = "Translate between binary data and a human-readable collection of words";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pgsql-simple" = callPackage
     ({ mkDerivation, attoparsec, base, base16-bytestring, binary
      , blaze-builder, blaze-textual, bytestring, containers
@@ -134550,8 +134979,8 @@ self: {
      }:
      mkDerivation {
        pname = "phoityne-vscode";
-       version = "0.0.10.0";
-       sha256 = "6c002069fa4416c1767affe099102a031e495e74f7ff904ed3d14eef74335916";
+       version = "0.0.11.0";
+       sha256 = "d9d5e2b94ac48b2a7aaa50526b66dfe47de9c368147b64865c3dc2d65c17defb";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -138973,6 +139402,23 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "pretty-simple" = callPackage
+    ({ mkDerivation, base, doctest, Glob, lens, mono-traversable, mtl
+     , parsec, semigroups, transformers
+     }:
+     mkDerivation {
+       pname = "pretty-simple";
+       version = "0.1.0.0";
+       sha256 = "baaf4d5d8aba866e2419b66a67ed3b55a35f9e8e1f40c6c77e2dab21dda1caae";
+       libraryHaskellDepends = [
+         base lens mono-traversable mtl parsec semigroups transformers
+       ];
+       testHaskellDepends = [ base doctest Glob ];
+       homepage = "https://github.com/cdepillabout/pretty-simple";
+       description = "Simple pretty printer for any datatype with a 'Show' instance";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "pretty-sop" = callPackage
     ({ mkDerivation, base, generics-sop, pretty-show }:
      mkDerivation {
@@ -139745,19 +140191,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "profiteur_0_4_0_0" = callPackage
+  "profiteur_0_4_1_0" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, filepath
-     , text, unordered-containers, vector
+     , js-jquery, text, unordered-containers, vector
      }:
      mkDerivation {
        pname = "profiteur";
-       version = "0.4.0.0";
-       sha256 = "8198f5905f8da27ada8c0bce0f5dab39bd1d7d8a802b70a974febc6366e7b91d";
+       version = "0.4.1.0";
+       sha256 = "c9e67c15761d06df8088cdbdfaf56a31f3b7b4c169e5c50418c8cd3a29fd8ef7";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         aeson attoparsec base bytestring filepath text unordered-containers
-         vector
+         aeson attoparsec base bytestring filepath js-jquery text
+         unordered-containers vector
        ];
        homepage = "http://github.com/jaspervdj/profiteur";
        description = "Treemap visualiser for GHC prof files";
@@ -141807,6 +142253,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "qr-repa" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cryptonite, directory
+     , haskell-qrencode, jose-jwt, lens, repa, repa-devil, vector
+     }:
+     mkDerivation {
+       pname = "qr-repa";
+       version = "0.1.0.0";
+       sha256 = "5e84243d64121ddc9ed8554a5783680abb2a228846744bd64ce36e2c90776d37";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring cryptonite directory haskell-qrencode
+         jose-jwt lens repa repa-devil vector
+       ];
+       executableHaskellDepends = [ base bytestring ];
+       homepage = "https://github.com/vmchale/QRRepa#readme";
+       description = "Library to generate QR codes from bytestrings and objects and scale image files";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "qrcode" = callPackage
     ({ mkDerivation, array, base, containers, mtl, vector }:
      mkDerivation {
@@ -141838,12 +142305,12 @@ self: {
          qtc_opengl = null; qtc_script = null; qtc_tools = null;};
 
   "qtah-cpp-qt5" = callPackage
-    ({ mkDerivation, base, qtah-generator, qtbase }:
+    ({ mkDerivation, base, process, qtah-generator, qtbase }:
      mkDerivation {
        pname = "qtah-cpp-qt5";
-       version = "0.1.2";
-       sha256 = "1a99a2c0c5eb8cb60d162298600ee2bba993ce3224ac412cf9eeec386503e258";
-       libraryHaskellDepends = [ base qtah-generator ];
+       version = "0.2.0";
+       sha256 = "d6daf6813855a41d87884cfba1afd21f100aeb5581dbc0edd4148c3a7e77efda";
+       libraryHaskellDepends = [ base process qtah-generator ];
        librarySystemDepends = [ qtbase ];
        homepage = "http://khumba.net/projects/qtah";
        description = "Qt bindings for Haskell - C++ library";
@@ -141857,8 +142324,8 @@ self: {
      }:
      mkDerivation {
        pname = "qtah-examples";
-       version = "0.1.2";
-       sha256 = "eebe064bfa0b93dd850c127632ca59ffa8f269f886ec7e247ec22530e007b442";
+       version = "0.2.0";
+       sha256 = "a2f8e4b352742f97beae28eae0a5d8adbb939b51654274a7e26e3769b2f5f835";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -141872,18 +142339,18 @@ self: {
 
   "qtah-generator" = callPackage
     ({ mkDerivation, base, containers, directory, filepath, haskell-src
-     , hoppy-generator, hoppy-std, mtl, process
+     , hoppy-generator, hoppy-std, mtl, process, transformers
      }:
      mkDerivation {
        pname = "qtah-generator";
-       version = "0.1.2";
-       sha256 = "77ef82acf21be83855ad04c40dfe6aa66439eb6f42f58774687c9d4f5f94c56f";
+       version = "0.2.1";
+       sha256 = "e478535736e46ab6e373dc32993ee139043b64bbe05197d8a8fbc674174b2fef";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base ];
        executableHaskellDepends = [
          base containers directory filepath haskell-src hoppy-generator
-         hoppy-std mtl process
+         hoppy-std mtl process transformers
        ];
        doHaddock = false;
        homepage = "http://khumba.net/projects/qtah";
@@ -141898,8 +142365,8 @@ self: {
      }:
      mkDerivation {
        pname = "qtah-qt5";
-       version = "0.1.2";
-       sha256 = "320c98e0d90381f56ce992fea845839bd966e030d6afa066c83123d40c73da5e";
+       version = "0.2.0";
+       sha256 = "8647a34799bb129436c91a566b6d18ca728fd5943bdebbfc12d90871bc16c68a";
        libraryHaskellDepends = [
          base binary bytestring hoppy-runtime qtah-cpp-qt5 qtah-generator
        ];
@@ -143094,6 +143561,8 @@ self: {
        pname = "raketka";
        version = "1.1.1";
        sha256 = "00de213d145e568d11272776d9c394339aee1b28358995cffb606056bf3c1572";
+       revision = "1";
+       editedCabalFile = "5f63d0731a5172a670fd30076cd7081a63c0237dd940a2d7938a12c6c1fdbea9";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -143109,7 +143578,7 @@ self: {
        ];
        testHaskellDepends = [ base hspec QuickCheck ];
        homepage = "https://github.com/ciez/raketka";
-       description = "basic distributed-process node with configurable peers";
+       description = "distributed-process node";
        license = stdenv.lib.licenses.publicDomain;
      }) {};
 
@@ -148676,7 +149145,7 @@ self: {
        homepage = "http://github.com/agrafix/rocksdb-haskell";
        description = "Haskell bindings to RocksDB";
        license = stdenv.lib.licenses.bsd3;
-       platforms = [ "x86_64-linux" ];
+       platforms = [ "x86_64-darwin" "x86_64-linux" ];
      }) {inherit (pkgs) rocksdb;};
 
   "roguestar" = callPackage
@@ -149002,6 +149471,7 @@ self: {
        homepage = "https://github.com/RoboticsHS/rosmsg-bin#readme";
        description = "ROS message management tools";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "rospkg" = callPackage
@@ -154721,8 +155191,8 @@ self: {
      }:
      mkDerivation {
        pname = "setdown";
-       version = "0.1.0.1";
-       sha256 = "afe89e857793e3189b1fde9372a33fb3edff9c1c82ccc5d2a8b67a74c3620780";
+       version = "0.1.0.3";
+       sha256 = "c41ded101e6bd0bb17106674f49c0a4a06e8a042dcce443cd772e959c6bd98e4";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -155680,8 +156150,8 @@ self: {
      }:
      mkDerivation {
        pname = "shellmate-extras";
-       version = "0.3.4";
-       sha256 = "46aecef64462ab34789f63dd338dc1b72aff77f4eaa2ecbf97c32dd9b6130b52";
+       version = "0.3.4.1";
+       sha256 = "f3dd62394e99af6cf92cb50c8ce1f3cd819448eda3009e8c11bb312e26f9b82e";
        libraryHaskellDepends = [
          base bytestring feed http-conduit http-types mime-types shellmate
          tagsoup text utf8-string xml
@@ -155800,6 +156270,7 @@ self: {
        homepage = "https://github.com/icidasset/shikensu#README";
        description = "A small toolset for building static websites";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "shine" = callPackage
@@ -158944,21 +159415,21 @@ self: {
 
   "snaplet-i18n" = callPackage
     ({ mkDerivation, base, bytestring, configurator, filepath, heist
-     , lens, snap, snap-loader-static, text, xmlhtml
+     , lens, mtl, snap, snap-loader-static, text, transformers, xmlhtml
      }:
      mkDerivation {
        pname = "snaplet-i18n";
-       version = "0.0.5";
-       sha256 = "62b279c4b82358d62273911c917a21f96386c8198a8db5d95738dc32f746827a";
+       version = "0.1.0";
+       sha256 = "8933941904b222dd880b46a34af7c6612f47182e38b24022dbed6c6e505c4e3a";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base configurator filepath heist lens snap snap-loader-static text
-         xmlhtml
+         base configurator filepath heist lens mtl snap snap-loader-static
+         text transformers xmlhtml
        ];
        executableHaskellDepends = [
          base bytestring configurator filepath heist lens snap
-         snap-loader-static text xmlhtml
+         snap-loader-static text transformers xmlhtml
        ];
        homepage = "https://github.com/HaskellCNOrg/snaplet-i18n";
        description = "snaplet-i18n";
@@ -159786,6 +160257,31 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "soap_0_2_3_3" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, configurator
+     , data-default, exceptions, hspec, http-client, http-types, HUnit
+     , iconv, mtl, resourcet, text, unordered-containers, xml-conduit
+     , xml-conduit-writer, xml-types
+     }:
+     mkDerivation {
+       pname = "soap";
+       version = "0.2.3.3";
+       sha256 = "2d1759c83bc75cacc470ffc64af218f971d55875a61c2de10be1276bd9845979";
+       libraryHaskellDepends = [
+         base bytestring conduit configurator data-default exceptions
+         http-client http-types iconv mtl resourcet text
+         unordered-containers xml-conduit xml-conduit-writer xml-types
+       ];
+       testHaskellDepends = [
+         base bytestring hspec HUnit text unordered-containers xml-conduit
+         xml-conduit-writer
+       ];
+       homepage = "https://bitbucket.org/dpwiz/haskell-soap";
+       description = "SOAP client tools";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "soap-openssl" = callPackage
     ({ mkDerivation, base, configurator, data-default, HsOpenSSL
      , http-client, http-client-openssl, soap, text
@@ -159901,8 +160397,8 @@ self: {
      }:
      mkDerivation {
        pname = "socket-io";
-       version = "1.3.5";
-       sha256 = "1604797a7095ef26b733cdff8922bf373fac551ab157c9756b031d191f90903f";
+       version = "1.3.6";
+       sha256 = "6ec1577c7f701253bc85a9df03379d77ae99c33d1db5ee4f7e6b06972701fb1a";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring engine-io mtl stm text
          transformers unordered-containers vector
@@ -161161,6 +161657,50 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "sprinkles" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, array, base, bytestring
+     , Cabal, case-insensitive, cereal, classy-prelude, containers, curl
+     , data-default, directory, filepath, ginger, Glob, hashable, HDBC
+     , HDBC-mysql, HDBC-postgresql, HDBC-sqlite3, heredoc, hsyslog, HTTP
+     , http-types, memcached-binary, mime-types, mtl, network-uri
+     , pandoc, pandoc-creole, pandoc-types, parsec, process
+     , random-shuffle, regex-base, regex-pcre, safe, scientific
+     , system-locale, tasty, tasty-hunit, tasty-quickcheck
+     , template-haskell, temporary, text, time, transformers
+     , unix-compat, unordered-containers, utf8-string, vector, wai
+     , wai-extra, wai-handler-fastcgi, warp, yaml
+     }:
+     mkDerivation {
+       pname = "sprinkles";
+       version = "0.3.5.0";
+       sha256 = "b6e75244028d2de256583a581fb0f12d5bec1d6447cb1d539ca37caa7b2658f7";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-pretty array base bytestring Cabal case-insensitive
+         cereal classy-prelude containers curl data-default directory
+         filepath ginger Glob hashable HDBC HDBC-mysql HDBC-postgresql
+         HDBC-sqlite3 hsyslog HTTP http-types memcached-binary mime-types
+         mtl network-uri pandoc pandoc-creole pandoc-types parsec process
+         random-shuffle regex-base regex-pcre safe scientific system-locale
+         template-haskell text time transformers unix-compat
+         unordered-containers utf8-string vector wai wai-extra
+         wai-handler-fastcgi warp yaml
+       ];
+       executableHaskellDepends = [
+         base classy-prelude data-default parsec safe
+       ];
+       testHaskellDepends = [
+         base classy-prelude data-default directory filepath heredoc
+         regex-base regex-pcre tasty tasty-hunit tasty-quickcheck temporary
+         wai-extra
+       ];
+       homepage = "https://bitbucket.org/tdammers/sprinkles";
+       description = "JSON API to HTML website wrapper";
+       license = stdenv.lib.licenses.bsd3;
+       broken = true;
+     }) {pandoc-creole = null;};
+
   "spritz" = callPackage
     ({ mkDerivation, base, lens, mtl, vector }:
      mkDerivation {
@@ -161245,6 +161785,7 @@ self: {
        ];
        description = "Secure HTTP proxy for authenticating users via OAuth2";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "spsa" = callPackage
@@ -163382,8 +163923,8 @@ self: {
      }:
      mkDerivation {
        pname = "stomp-queue";
-       version = "0.2.2";
-       sha256 = "2ca9ab331d657f1efae64295084fbf3eac05efdb96e186a7f7ba497f24e7d5cf";
+       version = "0.3.1";
+       sha256 = "47dd7f332f2544aaee66fa37ff889cd666c98a8401cec1deeede01b0730b20bb";
        libraryHaskellDepends = [
          attoparsec base bytestring conduit conduit-extra mime mtl
          network-conduit-tls split stompl time utf8-string
@@ -163457,6 +163998,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "storable-endian_0_2_6" = callPackage
+    ({ mkDerivation, base, byteorder }:
+     mkDerivation {
+       pname = "storable-endian";
+       version = "0.2.6";
+       sha256 = "3743ac8f084ed3187b83f17b4fac280e77c5df01f7910f42b6a1bf09d5a65489";
+       libraryHaskellDepends = [ base byteorder ];
+       description = "Storable instances with endianness";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "storable-record" = callPackage
     ({ mkDerivation, base, transformers, utility-ht }:
      mkDerivation {
@@ -163704,15 +164257,15 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "stratosphere_0_3_0" = callPackage
+  "stratosphere_0_3_1" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, directory
      , hashable, hlint, lens, tasty, tasty-hspec, template-haskell, text
      , unordered-containers
      }:
      mkDerivation {
        pname = "stratosphere";
-       version = "0.3.0";
-       sha256 = "628b988750e237e3c1d26de2ccf03753b964fb84f3f46320d2d6a7665aa557a9";
+       version = "0.3.1";
+       sha256 = "dc72586e7cc78d9be49afc9ae99a9713933fd10fa524d55e22ce9ee34e399130";
        libraryHaskellDepends = [
          aeson aeson-pretty base bytestring hashable lens template-haskell
          text unordered-containers
@@ -167751,6 +168304,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "tasty-ant-xml_1_0_3" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath
+     , generic-deriving, ghc-prim, mtl, stm, tagged, tasty, transformers
+     , xml
+     }:
+     mkDerivation {
+       pname = "tasty-ant-xml";
+       version = "1.0.3";
+       sha256 = "34a55d29a962a24aa1d5150795a0cae7a4769950c7ecb7cc1facf3bb0b067562";
+       libraryHaskellDepends = [
+         base containers directory filepath generic-deriving ghc-prim mtl
+         stm tagged tasty transformers xml
+       ];
+       homepage = "http://github.com/ocharles/tasty-ant-xml";
+       description = "Render tasty output to XML for Jenkins";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "tasty-dejafu" = callPackage
     ({ mkDerivation, base, dejafu, tagged, tasty }:
      mkDerivation {
@@ -169799,17 +170371,24 @@ self: {
      }) {inherit (pkgs) icu;};
 
   "text-icu-normalized" = callPackage
-    ({ mkDerivation, base, base-unicode-symbols, bytestring, lens, text
-     , text-icu
+    ({ mkDerivation, base, base-unicode-symbols, bytestring, containers
+     , exceptions, filepath, HUnit, lens, parsec, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , test-framework-th, text, text-icu
      }:
      mkDerivation {
        pname = "text-icu-normalized";
-       version = "0.1.6";
-       sha256 = "b5487346dc50fc9a70160277ae9f32306a4f517f06815785bcc6d0fa47ce94e8";
+       version = "0.3.0";
+       sha256 = "2a82c5bad47e6b75551a70535aeb574214834b0b4fb190f1f10af750a3245ef0";
        libraryHaskellDepends = [
          base base-unicode-symbols bytestring lens text text-icu
        ];
-       homepage = "https://gitlab.com/theunixman/text-icu-normalized";
+       testHaskellDepends = [
+         base base-unicode-symbols bytestring containers exceptions filepath
+         HUnit lens parsec QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2 test-framework-th text text-icu
+       ];
+       homepage = "https://www.lambdanow.us/browser/text-icu-normalized";
        description = "Dealing with Strict Text in NFC normalization";
        license = stdenv.lib.licenses.gpl3;
      }) {};
@@ -171725,14 +172304,14 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "time_1_7" = callPackage
+  "time_1_7_0_1" = callPackage
     ({ mkDerivation, base, deepseq, QuickCheck, test-framework
      , test-framework-quickcheck2, unix
      }:
      mkDerivation {
        pname = "time";
-       version = "1.7";
-       sha256 = "a30e1ea20cc59f3bf6ee2d5fd0a0dfa58f1ec865681d762cf1bb1103562e2a7a";
+       version = "1.7.0.1";
+       sha256 = "2730197c3665a1e5af87475de7a57cf0dd8ddbd339167251b4a44cb3b61407ca";
        libraryHaskellDepends = [ base deepseq ];
        testHaskellDepends = [
          base deepseq QuickCheck test-framework test-framework-quickcheck2
@@ -171920,6 +172499,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "time-parsers_0_1_2_0" = callPackage
+    ({ mkDerivation, attoparsec, base, bifunctors, parsec, parsers
+     , tasty, tasty-hunit, template-haskell, text, time
+     }:
+     mkDerivation {
+       pname = "time-parsers";
+       version = "0.1.2.0";
+       sha256 = "4e50d40f13f8e6c5175be22b91586f909607ecb631f8209ff45bce2031bb3c24";
+       libraryHaskellDepends = [ base parsers template-haskell time ];
+       testHaskellDepends = [
+         attoparsec base bifunctors parsec parsers tasty tasty-hunit
+         template-haskell text time
+       ];
+       homepage = "https://github.com/phadej/time-parsers#readme";
+       description = "Parsers for types in `time`";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "time-patterns" = callPackage
     ({ mkDerivation, base, intervals, lens, thyme, vector-space }:
      mkDerivation {
@@ -172344,23 +172942,24 @@ self: {
      }) {};
 
   "timeseries" = callPackage
-    ({ mkDerivation, base, bytestring, bytestring-time, Cabal, cassava
-     , hspec, QuickCheck, text, time, vector
+    ({ mkDerivation, base, bytestring, Cabal, cassava, hspec
+     , QuickCheck, statistics, text, text-time, time, vector
      }:
      mkDerivation {
        pname = "timeseries";
-       version = "0.1.0";
-       sha256 = "2aef662eb22472b18b4de81d763a2e98a2f2feb8d1658651376c0709c7b088a0";
+       version = "0.3.0";
+       sha256 = "0e59e55b0c1346593f752d88fa69ea9c35fb2942ef13f984727a26ede69d1896";
        libraryHaskellDepends = [
-         base bytestring bytestring-time cassava text time vector
+         base bytestring cassava statistics text text-time time vector
        ];
        testHaskellDepends = [
-         base bytestring bytestring-time Cabal cassava hspec QuickCheck text
-         time vector
+         base bytestring Cabal cassava hspec QuickCheck statistics text
+         text-time time vector
        ];
        homepage = "https://github.com/klangner/timeseries";
        description = "Library for Time Series processing";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "timespan" = callPackage
@@ -172472,6 +173071,7 @@ self: {
          timezone-series
        ];
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "timing-convenience" = callPackage
@@ -172706,6 +173306,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "tls_1_3_9" = callPackage
+    ({ mkDerivation, asn1-encoding, asn1-types, async, base, bytestring
+     , cereal, cryptonite, data-default-class, hourglass, memory, mtl
+     , network, QuickCheck, tasty, tasty-quickcheck, transformers, x509
+     , x509-store, x509-validation
+     }:
+     mkDerivation {
+       pname = "tls";
+       version = "1.3.9";
+       sha256 = "81355e16528796d3097719e74f7f1f8cae50daed06926d1995731bab8e02267b";
+       libraryHaskellDepends = [
+         asn1-encoding asn1-types async base bytestring cereal cryptonite
+         data-default-class memory mtl network transformers x509 x509-store
+         x509-validation
+       ];
+       testHaskellDepends = [
+         base bytestring cereal cryptonite data-default-class hourglass mtl
+         QuickCheck tasty tasty-quickcheck x509 x509-validation
+       ];
+       homepage = "http://github.com/vincenthz/hs-tls";
+       description = "TLS/SSL protocol native implementation (Server and Client)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "tls-debug" = callPackage
     ({ mkDerivation, base, bytestring, cryptonite, data-default-class
      , network, pem, time, tls, x509, x509-store, x509-system
@@ -173454,6 +174079,7 @@ self: {
        ];
        description = "Text transformer and interpreter";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "transformations" = callPackage
@@ -173685,6 +174311,7 @@ self: {
        homepage = "http://www.fpcomplete.com/user/agocorona";
        description = "Remote execution and map-reduce: distributed computing for Transient";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "translatable-intset" = callPackage
@@ -175326,6 +175953,7 @@ self: {
        homepage = "https://github.com/lexi-lambda/type-assertions#readme";
        description = "Runtime type assertions for testing";
        license = stdenv.lib.licenses.isc;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "type-booleans" = callPackage
@@ -177626,8 +178254,8 @@ self: {
     ({ mkDerivation, base, directory, text }:
      mkDerivation {
        pname = "unlit";
-       version = "0.3.2.1";
-       sha256 = "b3cdceb5878989c323e0b45a1f08897d7e29e98a553ce59d694c3889aa5fa852";
+       version = "0.4.0.0";
+       sha256 = "489ecde4843f1911ebdaac3099241d703bb1161f3d386e2b5143f2fd6c355515";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base directory text ];
@@ -178415,6 +179043,7 @@ self: {
        ];
        description = "A mysql-haskell backend for the users library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "users-persistent" = callPackage
@@ -178750,8 +179379,8 @@ self: {
        pname = "uuid";
        version = "1.3.12";
        sha256 = "ed62f1b3f0b19f0d548655ffef5aff066ad5c430fe11e909a1a7e8fc115a89ee";
-       revision = "2";
-       editedCabalFile = "b4efa9a6c09c77d595c054fa1008820922c497e9063c3a8fe20c6949a20143f6";
+       revision = "3";
+       editedCabalFile = "5444a4c5a15bdfd193d50fa7cc6c248fe18cc18810fb3f878a0e3d4dc81a8f21";
        libraryHaskellDepends = [
          base binary bytestring cryptonite memory network-info random text
          time uuid-types
@@ -178765,6 +179394,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "uuid_1_3_13" = callPackage
+    ({ mkDerivation, base, binary, bytestring, cryptohash-md5
+     , cryptohash-sha1, entropy, HUnit, network-info, QuickCheck, random
+     , tasty, tasty-hunit, tasty-quickcheck, text, time, uuid-types
+     }:
+     mkDerivation {
+       pname = "uuid";
+       version = "1.3.13";
+       sha256 = "dfac808a7026217d018b408eab18facc6a85c6183be308d4ac7877e80599b027";
+       libraryHaskellDepends = [
+         base binary bytestring cryptohash-md5 cryptohash-sha1 entropy
+         network-info random text time uuid-types
+       ];
+       testHaskellDepends = [
+         base bytestring HUnit QuickCheck random tasty tasty-hunit
+         tasty-quickcheck
+       ];
+       homepage = "https://github.com/hvr/uuid";
+       description = "For creating, comparing, parsing and printing Universally Unique Identifiers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "uuid-aeson" = callPackage
     ({ mkDerivation, aeson, base, text, uuid }:
      mkDerivation {
@@ -182552,6 +183204,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "wave" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers
+     , data-default-class, hspec, QuickCheck, temporary, transformers
+     }:
+     mkDerivation {
+       pname = "wave";
+       version = "0.1.0";
+       sha256 = "93c38138c1e85124544eadf0d381ce4ce0505a441060d226e8f09baddc4c5915";
+       libraryHaskellDepends = [
+         base bytestring cereal containers data-default-class transformers
+       ];
+       testHaskellDepends = [
+         base bytestring containers data-default-class hspec QuickCheck
+         temporary
+       ];
+       homepage = "https://github.com/mrkkrp/wave";
+       description = "Work with WAVE and RF64 files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "wavefront" = callPackage
     ({ mkDerivation, attoparsec, base, dlist, filepath, mtl, text
      , transformers, vector
@@ -182943,6 +183615,27 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "web3" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base16-bytestring, binary
+     , bytestring, cryptonite, data-default-class, http-client
+     , http-client-tls, memory, mtl, template-haskell, text
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "web3";
+       version = "0.3.2.1";
+       sha256 = "1764b645a09a6a5fdcec05f100cd7c36a542c612da624345100662535783d2b3";
+       libraryHaskellDepends = [
+         aeson attoparsec base base16-bytestring binary bytestring
+         cryptonite data-default-class http-client http-client-tls memory
+         mtl template-haskell text transformers vector
+       ];
+       testHaskellDepends = [ base memory text ];
+       homepage = "https://github.com/airalab/hs-web3#readme";
+       description = "Ethereum API for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "webapi" = callPackage
     ({ mkDerivation, aeson, base, binary, blaze-builder, bytestring
      , bytestring-lexing, bytestring-trie, case-insensitive, containers
@@ -183253,6 +183946,7 @@ self: {
        libraryPkgconfigDepends = [ webkit2gtk ];
        description = "JavaScriptCore FFI from webkitgtk";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {webkit2gtk = null;};
 
   "webkitgtk3" = callPackage
@@ -183830,8 +184524,8 @@ self: {
      }:
      mkDerivation {
        pname = "wild-bind-x11";
-       version = "0.1.0.3";
-       sha256 = "1eed4881d43da9a4169f338d5b503269df8c4c5f92e6da08a12282f2c17f9a36";
+       version = "0.1.0.4";
+       sha256 = "62b6ca3f4b6fdc19dae22126ff831b2633bf2d5e24c0c5bedc2757ea9a59e45a";
        libraryHaskellDepends = [
          base containers fold-debounce stm text transformers wild-bind X11
        ];
@@ -184270,31 +184964,34 @@ self: {
   "wolf" = callPackage
     ({ mkDerivation, aeson, amazonka, amazonka-core, amazonka-s3
      , amazonka-swf, async, base, basic-prelude, bytestring, conduit
-     , conduit-extra, exceptions, fast-logger, formatting, http-conduit
-     , http-types, lens, monad-control, monad-logger, mtl, mtl-compat
-     , optparse-applicative, regex-applicative, regex-compat, resourcet
-     , safe, shelly, system-filepath, tasty, tasty-hunit, text, time
-     , transformers, transformers-base, unordered-containers, uuid, yaml
-     , zlib
+     , conduit-combinators, conduit-extra, directory, exceptions
+     , fast-logger, filemanip, formatting, http-conduit, http-types
+     , lens, lifted-async, lifted-base, monad-control, monad-logger, mtl
+     , mtl-compat, optparse-applicative, optparse-generic, process
+     , regex-applicative, regex-compat, resourcet, safe, shake, shelly
+     , system-filepath, tasty, tasty-hunit, template-haskell, text
+     , text-manipulate, time, transformers, transformers-base
+     , unordered-containers, uuid, yaml, zlib
      }:
      mkDerivation {
        pname = "wolf";
-       version = "0.2.14";
-       sha256 = "0c154567da03ceb1fd748223bce9cb62f6c6b3cede94ab79e1b2693329fcf062";
+       version = "0.3.0";
+       sha256 = "ec7b4b7f3a8eca648d1b31c637dfac10c40a80afc0d72649cdf0308e1170fcc8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson amazonka amazonka-core amazonka-s3 amazonka-swf base
-         basic-prelude bytestring conduit conduit-extra exceptions
-         fast-logger formatting http-conduit http-types lens monad-control
-         monad-logger mtl mtl-compat optparse-applicative regex-applicative
-         regex-compat resourcet safe text time transformers
-         transformers-base unordered-containers uuid yaml
+         basic-prelude bytestring conduit conduit-combinators conduit-extra
+         directory exceptions fast-logger filemanip formatting http-conduit
+         http-types lens lifted-async lifted-base monad-control monad-logger
+         mtl mtl-compat optparse-applicative process regex-applicative
+         regex-compat resourcet safe template-haskell text text-manipulate
+         time transformers transformers-base unordered-containers uuid yaml
        ];
        executableHaskellDepends = [
-         aeson amazonka-core async base basic-prelude bytestring
-         optparse-applicative resourcet shelly system-filepath text
-         transformers yaml zlib
+         aeson amazonka-core async base basic-prelude bytestring directory
+         optparse-applicative optparse-generic resourcet shake shelly
+         system-filepath text transformers yaml zlib
        ];
        testHaskellDepends = [ base basic-prelude tasty tasty-hunit ];
        homepage = "https://github.com/swift-nav/wolf";
@@ -184760,6 +185457,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "writer-cps-mtl_0_1_1_1" = callPackage
+    ({ mkDerivation, base, mtl, transformers, writer-cps-transformers
+     }:
+     mkDerivation {
+       pname = "writer-cps-mtl";
+       version = "0.1.1.1";
+       sha256 = "db7f45ebceb3ecb166422c53d0a80a1c9bece8a958a3a9e4d15d75ada02bbf97";
+       libraryHaskellDepends = [
+         base mtl transformers writer-cps-transformers
+       ];
+       homepage = "https://github.com/minad/writer-cps-mtl#readme";
+       description = "MonadWriter orphan instances for writer-cps-transformers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "writer-cps-transformers" = callPackage
     ({ mkDerivation, base, transformers }:
      mkDerivation {
@@ -186139,6 +186852,7 @@ self: {
        ];
        description = "Generate XML-isomorphic types";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "xml-lens" = callPackage
@@ -190822,6 +191536,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "zip_0_1_4" = callPackage
+    ({ mkDerivation, base, bytestring, bzlib-conduit, case-insensitive
+     , cereal, conduit, conduit-extra, containers, digest, exceptions
+     , filepath, hspec, mtl, path, path-io, plan-b, QuickCheck
+     , resourcet, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "zip";
+       version = "0.1.4";
+       sha256 = "073c9f8320ed16048d099fbec10c42a76ae0bcbd13e344fd0ca99f3a6716db78";
+       libraryHaskellDepends = [
+         base bytestring bzlib-conduit case-insensitive cereal conduit
+         conduit-extra containers digest exceptions filepath mtl path
+         path-io plan-b resourcet text time transformers
+       ];
+       testHaskellDepends = [
+         base bytestring conduit containers exceptions filepath hspec path
+         path-io QuickCheck text time transformers
+       ];
+       homepage = "https://github.com/mrkkrp/zip";
+       description = "Operations on zip archives";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "zip-archive" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , digest, directory, filepath, HUnit, mtl, old-time, pretty
@@ -190911,6 +191650,7 @@ self: {
        homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/Multirec";
        description = "Generic zipper for families of recursive datatypes";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "zippers" = callPackage
diff --git a/pkgs/development/interpreters/gnu-apl/default.nix b/pkgs/development/interpreters/gnu-apl/default.nix
index 789f349fb163..bfb975f152a7 100644
--- a/pkgs/development/interpreters/gnu-apl/default.nix
+++ b/pkgs/development/interpreters/gnu-apl/default.nix
@@ -11,6 +11,15 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ readline gettext ncurses ];
 
+  patchPhase = stdenv.lib.optionalString stdenv.isDarwin ''
+    substituteInPlace src/LApack.cc --replace "malloc.h" "malloc/malloc.h"
+  '';
+
+  configureFlags = stdenv.lib.optionals stdenv.isDarwin [
+    "--disable-dependency-tracking"
+    "--disable-silent-rules"
+  ];
+
   postInstall = ''
     cp -r support-files/ $out/share/doc/
     find $out/share/doc/support-files -name 'Makefile*' -delete
@@ -21,7 +30,7 @@ stdenv.mkDerivation rec {
     homepage    = http://www.gnu.org/software/apl/;
     license     = licenses.gpl3Plus;
     maintainers = [ maintainers.kovirobi ];
-    platforms   = stdenv.lib.platforms.linux;
+    platforms   = with stdenv.lib.platforms; linux ++ darwin;
     inherit version;
 
     longDescription = ''
diff --git a/pkgs/development/libraries/boost/1.62.nix b/pkgs/development/libraries/boost/1.62.nix
new file mode 100644
index 000000000000..871ef392c1ae
--- /dev/null
+++ b/pkgs/development/libraries/boost/1.62.nix
@@ -0,0 +1,12 @@
+{ stdenv, callPackage, fetchurl, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  version = "1.62.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/boost/boost_1_62_0.tar.bz2";
+    # long-form SHA256 from www.boost.org
+    sha256 = "36c96b0f6155c98404091d8ceb48319a28279ca0333fba1ad8611eb90afb2ca0";
+  };
+
+})
diff --git a/pkgs/development/libraries/fmod/default.nix b/pkgs/development/libraries/fmod/default.nix
deleted file mode 100644
index af9460195401..000000000000
--- a/pkgs/development/libraries/fmod/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, fetchurl }:
-
-assert (stdenv.system == "x86_64-linux") || (stdenv.system == "i686-linux");
-let
-  bits = stdenv.lib.optionalString (stdenv.system == "x86_64-linux") "64";
-
-  libPath = stdenv.lib.makeLibraryPath
-    [ stdenv.cc.libc stdenv.cc.cc ] + ":${stdenv.cc.cc.lib}/lib64";
-  patchLib = x: "patchelf --set-rpath ${libPath} ${x}";
-in
-stdenv.mkDerivation rec {
-  name    = "fmod-${version}";
-  version = "4.44.41";
-
-  src = fetchurl {
-    url = "http://www.fmod.org/download/fmodex/api/Linux/fmodapi44441linux.tar.gz";
-    sha256 = "0qjvbhx9g6ijv542n6w3ryv20f74p1qx6bbllda9hl14683z8r8p";
-  };
-
-  dontStrip = true;
-  dontBuild = true;
-
-  installPhase = ''
-    mkdir -p $out/lib $out/include/fmodex
-
-    cd api/inc && cp * $out/include/fmodex && cd ../lib
-    cp libfmodex${bits}-${version}.so  $out/lib/libfmodex.so
-    cp libfmodexL${bits}-${version}.so $out/lib/libfmodexL.so
-
-    ${patchLib "$out/lib/libfmodex.so"}
-    ${patchLib "$out/lib/libfmodexL.so"}
-  '';
-
-  meta = {
-    description = "Programming library and toolkit for the creation and playback of interactive audio";
-    homepage    = "http://www.fmod.org/";
-    license     = stdenv.lib.licenses.unfreeRedistributable;
-    platforms   = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
-  };
-}
diff --git a/pkgs/development/libraries/grantlee/5.x.nix b/pkgs/development/libraries/grantlee/5.x.nix
index 9e697a572b94..b4aa9414163a 100644
--- a/pkgs/development/libraries/grantlee/5.x.nix
+++ b/pkgs/development/libraries/grantlee/5.x.nix
@@ -1,15 +1,13 @@
 { stdenv, fetchurl, qtbase, qtscript, cmake }:
 
 stdenv.mkDerivation rec {
-  name = "grantlee-5.0.0";
+  name = "grantlee-${version}";
+  version = "5.1.0";
 
-# Upstream download server has country code firewall, so I made a mirror.
   src = fetchurl {
-    urls = [
-      "http://downloads.grantlee.org/${name}.tar.gz"
-      "http://www.loegria.net/grantlee/${name}.tar.gz"
-    ];
-    sha256 = "0qdifp1sg87j3869xva5ai2d6d5ph7z4b85wv1fypf2k5sljpwpa";
+    url = "https://github.com/steveire/grantlee/archive/v${version}.tar.gz";
+    sha256 = "1lf9rkv0i0kd7fvpgg5l8jb87zw8dzcwd1liv6hji7g4wlpmfdiq";
+    name = "${name}.tar.gz";
   };
 
   buildInputs = [ qtbase qtscript ];
diff --git a/pkgs/development/libraries/kde-frameworks/kpackage/default.nix b/pkgs/development/libraries/kde-frameworks/kpackage/default.nix
index c3b89a05d198..86ca5935a75d 100644
--- a/pkgs/development/libraries/kde-frameworks/kpackage/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kpackage/default.nix
@@ -1,10 +1,7 @@
-{ kdeFramework, fetchurl, lib, copyPathsToStore
-, ecm
-, karchive
-, kconfig
-, kcoreaddons
-, kdoctools
-, ki18n
+{
+  kdeFramework, fetchurl, lib, copyPathsToStore,
+  ecm, kdoctools,
+  karchive, kconfig, kcoreaddons, ki18n
 }:
 
 kdeFramework {
@@ -12,18 +9,5 @@ kdeFramework {
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ ecm kdoctools ];
   propagatedBuildInputs = [ karchive kconfig kcoreaddons ki18n ];
-  patches =
-    copyPathsToStore (lib.readPathsFromFile ./. ./series)
-    ++ [
-      (fetchurl {
-        url = "https://cgit.kde.org/kpackage.git/patch/?id=26e59d58438cc777873a6afc7817418ec735aaa3";
-        sha256 = "05ad3awdq8cz1bmnhnf1lapvm70z5qc8sbdzrcgxlka7wzdbm5lw";
-        name = "fix-cmake-failure-package-id-collision.patch";
-      })
-      (fetchurl {
-        url = "https://cgit.kde.org/kpackage.git/patch/?id=17915200921836d61266ad93dd6c3b87db1dc9e4";
-        sha256 = "07irfx297lf39cyrv10i3q4z04fr8msm6pcp8mcwvss4gih05b74";
-        name = "fix-cmake-failure-package-id-collision.patch";
-      })
-    ];
+  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
 }
diff --git a/pkgs/development/libraries/kde-frameworks/srcs.nix b/pkgs/development/libraries/kde-frameworks/srcs.nix
index e8ecb3d058fc..7bc0f55dc8b5 100644
--- a/pkgs/development/libraries/kde-frameworks/srcs.nix
+++ b/pkgs/development/libraries/kde-frameworks/srcs.nix
@@ -387,11 +387,11 @@
     };
   };
   kpackage = {
-    version = "5.29.0";
+    version = "5.29.1";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.29/kpackage-5.29.0.tar.xz";
-      sha256 = "1hgzwfb0yxd6n8dc8hrkdsrf21s2xzrka69mhzq0giskpbd2m8fs";
-      name = "kpackage-5.29.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.29/kpackage-5.29.1.tar.xz";
+      sha256 = "1vbwq5s1psii3qa6g260lpar37y19k8b2g5hn3pyx4llz5wnrali";
+      name = "kpackage-5.29.1.tar.xz";
     };
   };
   kparts = {
diff --git a/pkgs/development/libraries/liborc/default.nix b/pkgs/development/libraries/liborc/default.nix
deleted file mode 100644
index 2b298c97379c..000000000000
--- a/pkgs/development/libraries/liborc/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ stdenv, fetchurl }:
-
-stdenv.mkDerivation rec {
-  name = "liborc-${version}";
-  version = "0.4.16";
-
-  src = fetchurl {
-    url = "http://http.debian.net/debian/pool/main/o/orc/orc_${version}.orig.tar.gz";
-    sha256 = "1asq58gm87ig60ib4cs69hyqhnsirqkdlidnchhx83halbdlw3kh";
-  };
-
-  meta = with stdenv.lib; {
-    homepage = https://packages.debian.org/wheezy/liborc-0.4-0;
-    description = "Orc is a library and set of tools for compiling and executing very simple programs that operate on arrays of data.";
-    license = with licenses; [ bsd2 bsd3 ];
-  };
-}
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index 891c861c9fe5..658a2e37883a 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -9,11 +9,11 @@
 # if you update, also bump pythonPackages.libvirt or it will break
 stdenv.mkDerivation rec {
   name = "libvirt-${version}";
-  version = "2.2.0";
+  version = "2.5.0";
 
   src = fetchurl {
     url = "http://libvirt.org/sources/${name}.tar.xz";
-    sha256 = "168ng4k5sik2jiylrlpmqdj3g8hnmsmvh84y8nvfgc7fdbbah5g3";
+    sha256 = "07nbh6zhaxx5i1s1acnppf8rzkzb2ppgv35jw7grbbnnpzpzz7c1";
   };
 
   patches = [ ./build-on-bsd.patch ];
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index edcbc18fa130..89368282f2c9 100644
--- a/pkgs/development/libraries/poppler/default.nix
+++ b/pkgs/development/libraries/poppler/default.nix
@@ -3,13 +3,14 @@
 , withData ? false, poppler_data
 , qt4Support ? false, qt4 ? null
 , qt5Support ? false, qtbase ? null
+, introspectionSupport ? false, gobjectIntrospection ? null
 , utils ? false
 , minimal ? false, suffix ? "glib"
 }:
 
 let # beware: updates often break cups-filters build
-  version = "0.49.0";
-  sha256 = "17x7nc6c0bk4s95nzq4i1qzbl419p76c40pwkksdvp233q75yj0l";
+  version = "0.50.0";
+  sha256 = "0dmwnh59m75vhii6dw63x8l0qa0ha733pb8bdqzr7lw9nwc37jf9";
 in
 stdenv.mkDerivation rec {
   name = "poppler-${suffix}-${version}";
@@ -28,7 +29,8 @@ stdenv.mkDerivation rec {
     [ zlib freetype fontconfig libjpeg openjpeg ]
     ++ optionals (!minimal) [ cairo lcms curl ]
     ++ optional qt4Support qt4
-    ++ optional qt5Support qtbase;
+    ++ optional qt5Support qtbase
+    ++ optional introspectionSupport gobjectIntrospection;
 
   nativeBuildInputs = [ pkgconfig ];
 
@@ -47,7 +49,8 @@ stdenv.mkDerivation rec {
       "--disable-poppler-glib" "--disable-poppler-cpp"
       "--disable-libcurl"
     ]
-    ++ optional (!utils) "--disable-utils" ;
+    ++ optional (!utils) "--disable-utils"
+    ++ optional introspectionSupport "--enable-introspection";
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/qtstyleplugins/default.nix b/pkgs/development/libraries/qtstyleplugins/default.nix
new file mode 100644
index 000000000000..addc13a8c968
--- /dev/null
+++ b/pkgs/development/libraries/qtstyleplugins/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, qmakeHook, pkgconfig, gtk2 }:
+
+stdenv.mkDerivation rec {
+  name = "qtstyleplugins-2016-12-01";
+
+  src = fetchFromGitHub {
+    owner = "qt";
+    repo = "qtstyleplugins";
+    rev = "7aa47640c202cc4a9c16aa7df98191236743c8ba";
+    sha256 = "0pysgn5yhbh85rv7syvf2w9g1gj1z1nwspjri39dc95vj108lin5";
+  };
+
+  buildInputs = [ qmakeHook pkgconfig gtk2 ];
+
+  installPhase = ''
+    make INSTALL_ROOT=$NIX_QT5_TMP install
+    mv $NIX_QT5_TMP/$NIX_QT5_TMP $out
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Additional style plugins for Qt5, including BB10, GTK+, Cleanlooks, Motif, Plastique";
+    homepage = http://blog.qt.io/blog/2012/10/30/cleaning-up-styles-in-qt5-and-adding-fusion/;
+    license = licenses.lgpl21;
+    maintainers = [ maintainers.gnidorah ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/rocksdb/default.nix b/pkgs/development/libraries/rocksdb/default.nix
index a8f8ab31d1c2..9a481c0b20f1 100644
--- a/pkgs/development/libraries/rocksdb/default.nix
+++ b/pkgs/development/libraries/rocksdb/default.nix
@@ -36,13 +36,10 @@ stdenv.mkDerivation rec {
   JEMALLOC_LIB = stdenv.lib.optionalString (malloc == jemalloc) "-ljemalloc";
 
   buildFlags = [
-    "shared_lib"
     "static_lib"
   ];
 
   installFlags = [
-    "install-shared"
-    "install-static"
     "INSTALL_PATH=\${out}"
   ];
 
diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix
index b889ae60d639..20dc23979f5a 100644
--- a/pkgs/development/ruby-modules/gem-config/default.nix
+++ b/pkgs/development/ruby-modules/gem-config/default.nix
@@ -21,7 +21,7 @@
 , libiconv, postgresql, v8_3_16_14, clang, sqlite, zlib, imagemagick
 , pkgconfig , ncurses, xapian, gpgme, utillinux, fetchpatch, tzdata, icu, libffi
 , cmake, libssh2, openssl, mysql, darwin, git, perl, gecode_3, curl
-, libmsgpack, qt48, libsodium, snappy, libossp_uuid
+, libmsgpack, qt48, libsodium, snappy, libossp_uuid, lxc
 }@args:
 
 let
@@ -145,6 +145,10 @@ in
     buildInputs = [ imagemagick pkgconfig which ];
   };
 
+  ruby-lxc = attrs: {
+    buildInputs = [ lxc ];
+  };
+
   ruby-terminfo = attrs: {
     buildInputs = [ ncurses ];
     buildFlags = [
diff --git a/pkgs/development/tools/misc/luarocks/default.nix b/pkgs/development/tools/misc/luarocks/default.nix
index e1741118fb0f..4da105f93035 100644
--- a/pkgs/development/tools/misc/luarocks/default.nix
+++ b/pkgs/development/tools/misc/luarocks/default.nix
@@ -47,6 +47,6 @@ stdenv.mkDerivation {
     description = ''A package manager for Lua'';
     license = stdenv.lib.licenses.mit ;
     maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
 }
diff --git a/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix b/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix
new file mode 100644
index 000000000000..9f318afc67d7
--- /dev/null
+++ b/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix
@@ -0,0 +1,38 @@
+{stdenv, fetchurl, makeWrapper, ocaml, ncurses}:
+let
+  pname = "omake";
+  version = "0.9.8.6-0.rc1";
+  webpage = "http://omake.metaprl.org";
+in
+stdenv.mkDerivation {
+
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "http://pkgs.fedoraproject.org/repo/pkgs/ocaml-omake/${pname}-${version}.tar.gz/fe39a476ef4e33b7ba2ca77a6bcaded2/${pname}-${version}.tar.gz";
+    sha256 = "1sas02pbj56m7wi5vf3vqrrpr4ynxymw2a8ybvfj2dkjf7q9ii13";
+  };
+  patchFlags = "-p0";
+  patches = [ ./warn.patch ];
+
+  buildInputs = [ ocaml makeWrapper ncurses ];
+
+  phases = "unpackPhase patchPhase buildPhase";
+  buildPhase = ''
+    make bootstrap
+    make PREFIX=$out all
+    make PREFIX=$out install
+  '';
+#  prefixKey = "-prefix ";
+#
+#  configureFlags = if transitional then "--transitional" else "--strict";
+#
+#  buildFlags = "world.opt";		
+
+  meta = {
+    description = "Omake build system";
+    homepage = "${webpage}";
+    license = "GPL";
+    platforms = ocaml.meta.platforms or [];
+  };
+}
diff --git a/pkgs/development/tools/ocaml/omake/warn.patch b/pkgs/development/tools/ocaml/omake/warn.patch
new file mode 100644
index 000000000000..4459e89d7f9c
--- /dev/null
+++ b/pkgs/development/tools/ocaml/omake/warn.patch
@@ -0,0 +1,10 @@
+diff -p1 -aur ../omake-0.9.8.6.ori/lib/build/OCaml.om ./lib/build/OCaml.om
+--- ../omake-0.9.8.6.ori/lib/build/OCaml.om	2008-03-05 01:07:25.000000000 +0000
++++ ./lib/build/OCaml.om	2013-06-01 15:52:37.000000000 +0000
+@@ -178,3 +178,3 @@ declare OCAMLDEPFLAGS
+ public.OCAMLPPFLAGS  =
+-public.OCAMLFLAGS    = -warn-error A
++public.OCAMLFLAGS    =
+ public.OCAMLCFLAGS   = -g
+Seulement dans ./lib/build: OCaml.om~
+Seulement dans .: warn.patch
diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix
index 40e42d478612..39c7ca77f8f6 100644
--- a/pkgs/development/tools/vagrant/default.nix
+++ b/pkgs/development/tools/vagrant/default.nix
@@ -2,7 +2,7 @@
 , libxml2, libxslt, makeWrapper, p7zip, xar, gzip, cpio }:
 
 let
-  version = "1.8.7";
+  version = "1.9.1";
   rake = buildRubyGem {
     inherit ruby;
     gemName = "rake";
@@ -17,9 +17,9 @@ let
       else "system ${stdenv.system} not supported";
 
   sha256 = {
-    "x86_64-linux"  = "10c77b643b73dd3ad7a45a89d8ab95b58b79dc10e0cf6e760fe24abc436b2fdb";
-    "i686-linux"    = "9d2a70f34ab65d8d2cb013917f221835432aa63cd4ef781c9fd1404cfcfe7898";
-    "x86_64-darwin" = "14d68f599a620cf421838ed037f0a1c4467e1b67475deeff62330a21fda4937b";
+    "x86_64-linux"  = "0l1if9c4s4wkbi8k00pl7x00lil21izrd8wb9nv2b5q4gqidc1nh";
+    "i686-linux"    = "1789wjwcpgw3mljl49c8v5kycisay684gyalkkvd06928423y9zb";
+    "x86_64-darwin" = "1xrfq1a0xyifkhhjnpm6wsnms9w8c9q5rd2qqn4sm5npl7viy68p";
   }."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
 
   arch = builtins.replaceStrings ["-linux"] [""] stdenv.system;
@@ -122,12 +122,10 @@ in stdenv.mkDerivation rec {
 
   preFixup = ''
     # 'hide' the template file from shebang-patching
-    chmod -x "$out/opt/vagrant/embedded/gems/gems/bundler-1.12.5/lib/bundler/templates/Executable"
     chmod -x "$out/opt/vagrant/embedded/gems/gems/vagrant-$version/plugins/provisioners/salt/bootstrap-salt.sh"
   '';
 
   postFixup = ''
-    chmod +x "$out/opt/vagrant/embedded/gems/gems/bundler-1.12.5/lib/bundler/templates/Executable"
     chmod +x "$out/opt/vagrant/embedded/gems/gems/vagrant-$version/plugins/provisioners/salt/bootstrap-salt.sh"
   '' +
   (stdenv.lib.optionalString stdenv.isDarwin ''
diff --git a/pkgs/games/gzdoom/default.nix b/pkgs/games/gzdoom/default.nix
index 332c2fbeff14..9e6cc48b435c 100644
--- a/pkgs/games/gzdoom/default.nix
+++ b/pkgs/games/gzdoom/default.nix
@@ -1,34 +1,51 @@
-{stdenv, fetchFromGitHub, cmake, fmod, mesa, SDL2}:
+{ stdenv, fetchFromGitHub, cmake, zdoom
+, openal, fluidsynth, soundfont-fluid, mesa_noglu, SDL2
+, bzip2, zlib, libjpeg, libsndfile, mpg123, game-music-emu }:
 
-stdenv.mkDerivation {
-  name = "gzdoom-2015-05-07";
-  src = fetchFromGitHub{
+stdenv.mkDerivation rec {
+  name = "gzdoom-${version}";
+  version = "2.2.0";
+
+  src = fetchFromGitHub {
     owner = "coelckers";
     repo = "gzdoom";
-    rev = "a59824cd8897dea5dd452c31be1328415478f990";
-    sha256 = "1lg9dk5prn2bjmyznq941a862alljvfgbb42whbpg0vw9vhpikak";
+    rev = "g${version}";
+    sha256 = "0xxgd8fa29pcdir1xah5cvx41bfy76p4dydpp13mf44p9pr29hrb";
   };
 
-  buildInputs = [ cmake fmod mesa SDL2 ];
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [
+    SDL2 mesa_noglu openal fluidsynth bzip2 zlib libjpeg libsndfile mpg123
+    game-music-emu
+  ];
+
+  enableParallelBuilding = true;
 
-  cmakeFlags = [ "-DFMOD_LIBRARY=${fmod}/lib/libfmodex.so" ];
+  NIX_CFLAGS_LINK = [ "-lopenal" "-lfluidsynth" ];
 
-  preConfigure=''
-    sed s@gzdoom.pk3@$out/share/gzdoom.pk3@ -i src/version.h
+  preConfigure = ''
+    sed -i \
+      -e "s@/usr/share/sounds/sf2/@${soundfont-fluid}/share/soundfonts/@g" \
+      -e "s@FluidR3_GM.sf2@FluidR3_GM2-2.sf2@g" \
+      src/sound/music_fluidsynth_mididevice.cpp
   '';
 
   installPhase = ''
-    mkdir -p $out/bin
-    cp gzdoom $out/bin
-    mkdir -p $out/share
-    cp gzdoom.pk3 $out/share
+    install -Dm755 gzdoom "$out/lib/gzdoom/gzdoom"
+    for i in *.pk3; do
+      install -Dm644 "$i" "$out/lib/gzdoom/$i"
+    done
+    mkdir $out/bin
+    ln -s $out/lib/gzdoom/gzdoom $out/bin/gzdoom
   '';
 
-  meta = {
-    homepage = https://github.com/coelckers/gzdoom;
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/coelckers/gzdoom";
     description = "A Doom source port based on ZDoom. It features an OpenGL renderer and lots of new features";
-    license = stdenv.lib.licenses.unfree;
-    maintainers = [ stdenv.lib.maintainers.lassulus ];
+    # Doom source license, MAME license
+    license = licenses.unfreeRedistributable;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ lassulus ];
   };
 }
 
diff --git a/pkgs/games/zandronum/default.nix b/pkgs/games/zandronum/default.nix
index 39c1ea6b7469..7b4185594189 100644
--- a/pkgs/games/zandronum/default.nix
+++ b/pkgs/games/zandronum/default.nix
@@ -1,9 +1,11 @@
-{ stdenv, lib, fetchhg, cmake, pkgconfig, makeWrapper
-, SDL, mesa, bzip2, zlib, fmod, libjpeg, fluidsynth, openssl, sqlite-amalgamation
+{ stdenv, lib, fetchhg, cmake, pkgconfig, makeWrapper, callPackage
+, soundfont-fluid, SDL, mesa, bzip2, zlib, libjpeg, fluidsynth, openssl, sqlite-amalgamation, gtk2
 , serverOnly ? false
 }:
 
-let suffix = lib.optionalString serverOnly "-server";
+let
+  suffix = lib.optionalString serverOnly "-server";
+  fmod = callPackage ./fmod.nix { };
 
 # FIXME: drop binary package when upstream fixes their protocol versioning
 in stdenv.mkDerivation {
@@ -18,7 +20,7 @@ in stdenv.mkDerivation {
   # I have no idea why would SDL and libjpeg be needed for the server part!
   # But they are.
   buildInputs = [ openssl bzip2 zlib SDL libjpeg ]
-             ++ lib.optionals (!serverOnly) [ mesa fmod fluidsynth ];
+             ++ lib.optionals (!serverOnly) [ mesa fmod fluidsynth gtk2 ];
 
   nativeBuildInputs = [ cmake pkgconfig makeWrapper ];
 
@@ -26,6 +28,11 @@ in stdenv.mkDerivation {
     ln -s ${sqlite-amalgamation}/* sqlite/
     sed -ie 's| restrict| _restrict|g' dumb/include/dumb.h \
                                        dumb/src/it/*.c
+  '' + lib.optionalString serverOnly ''
+    sed -i \
+      -e "s@/usr/share/sounds/sf2/@${soundfont-fluid}/share/soundfonts/@g" \
+      -e "s@FluidR3_GM.sf2@FluidR3_GM2-2.sf2@g" \
+      src/sound/music_fluidsynth_mididevice.cpp
   '';
 
   cmakeFlags =
@@ -39,27 +46,26 @@ in stdenv.mkDerivation {
 
   installPhase = ''
     mkdir -p $out/bin
-    mkdir -p $out/share/zandronum
+    mkdir -p $out/lib/zandronum
     cp zandronum${suffix} \
-       zandronum.pk3 \
-       skulltag_actors.pk3 \
+       *.pk3 \
        ${lib.optionalString (!serverOnly) "liboutput_sdl.so"} \
-       $out/share/zandronum
+       $out/lib/zandronum
 
     # For some reason, while symlinks work for binary version, they don't for source one.
-    makeWrapper $out/share/zandronum/zandronum${suffix} $out/bin/zandronum${suffix}
+    makeWrapper $out/lib/zandronum/zandronum${suffix} $out/bin/zandronum${suffix}
   '';
 
   postFixup = lib.optionalString (!serverOnly) ''
-    patchelf --set-rpath $(patchelf --print-rpath $out/share/zandronum/zandronum):$out/share/zandronum \
-      $out/share/zandronum/zandronum
+    patchelf --set-rpath $(patchelf --print-rpath $out/lib/zandronum/zandronum):$out/lib/zandronum \
+      $out/lib/zandronum/zandronum
   '';
 
   meta = with stdenv.lib; {
     homepage = http://zandronum.com/;
     description = "Multiplayer oriented port, based off Skulltag, for Doom and Doom II by id Software";
     maintainers = with maintainers; [ lassulus ];
-    license = stdenv.lib.licenses.unfree;
+    license = licenses.unfreeRedistributable;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/fmod/4.24.16.nix b/pkgs/games/zandronum/fmod.nix
index b45ec24ca6bd..b45ec24ca6bd 100644
--- a/pkgs/development/libraries/fmod/4.24.16.nix
+++ b/pkgs/games/zandronum/fmod.nix
diff --git a/pkgs/games/zdoom/default.nix b/pkgs/games/zdoom/default.nix
index ce25f3efda3f..a217c7217b6e 100644
--- a/pkgs/games/zdoom/default.nix
+++ b/pkgs/games/zdoom/default.nix
@@ -1,40 +1,57 @@
-{ stdenv, fetchFromGitHub, cmake, fmod, mesa, SDL }:
-
-stdenv.mkDerivation {
-  name = "zdoom-2.7.1";
-  src = fetchFromGitHub {
-    #url = "https://github.com/rheit/zdoom";
-    owner = "rheit";
-    repo = "zdoom";
-    rev = "2.7.1";
-    sha256 = "00bx4sgl9j1dyih7yysfq4ah6msxw8580g53p99jfym34ky5ppkh";
+{ stdenv, fetchurl, p7zip, cmake
+, SDL2, openal, fluidsynth, soundfont-fluid, bzip2, zlib, libjpeg, game-music-emu
+, libsndfile, mpg123 }:
+
+stdenv.mkDerivation rec {
+  name = "zdoom-${version}";
+  majorVersion = "2.8";
+  version = "${majorVersion}.1";
+
+  src = fetchurl {
+    url = "https://zdoom.org/files/zdoom/${majorVersion}/zdoom-${version}-src.7z";
+    sha256 = "0453fqrh9l00xwphfxni5qkf9y134n3s1mr1dvi5cbkxcva7j8bq";
   };
 
-  buildInputs = [ cmake fmod mesa SDL ];
+  nativeBuildInputs = [ p7zip cmake ];
+  buildInputs = [
+    SDL2 openal fluidsynth bzip2 zlib libjpeg game-music-emu libsndfile mpg123
+  ];
 
   cmakeFlags = [
-    "-DFMOD_LIBRARY=${fmod}/lib/libfmodex.so"
-    "-DSDL_INCLUDE_DIR=${SDL.dev}/include"
+    "-DFORCE_INTERNAL_GME=OFF"
+    "-DGME_INCLUDE_DIR=${game-music-emu}/include"
+    "-DGME_LIBRARIES=${game-music-emu}/lib/libgme.so"
   ];
 
-  NIX_CFLAGS_COMPILE = [ "-I ${SDL.dev}/include/SDL" ];
-   
+  sourceRoot = ".";
+
+  enableParallelBuilding = true;
+
+  NIX_CFLAGS_LINK = [ "-lopenal" "-lfluidsynth" ];
+
   preConfigure = ''
-    sed s@zdoom.pk3@$out/share/zdoom.pk3@ -i src/version.h
- '';
+    sed -i \
+      -e "s@/usr/share/sounds/sf2/@${soundfont-fluid}/share/soundfonts/@g" \
+      -e "s@FluidR3_GM.sf2@FluidR3_GM2-2.sf2@g" \
+      src/sound/music_fluidsynth_mididevice.cpp
+  '';
 
   installPhase = ''
+    install -Dm755 zdoom "$out/lib/zdoom/zdoom"
+    for i in *.pk3; do
+      install -Dm644 "$i" "$out/lib/zdoom/$i"
+    done
     mkdir -p $out/bin
-    cp zdoom $out/bin
-    mkdir -p $out/share
-    cp zdoom.pk3 $out/share
+    ln -s $out/lib/zdoom/zdoom $out/bin/zdoom
   '';
 
-  meta = {
-    homepage = http://zdoom.org/;
+  meta = with stdenv.lib; {
+    homepage = "http://zdoom.org/";
     description = "Enhanced port of the official DOOM source code";
-    license = stdenv.lib.licenses.unfree;
-    maintainers = [ stdenv.lib.maintainers.lassulus ];
+    # Doom source license, MAME license
+    license = licenses.unfreeRedistributable;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ lassulus ];
   };
 }
 
diff --git a/pkgs/misc/screensavers/light-locker/default.nix b/pkgs/misc/screensavers/light-locker/default.nix
index 80e405d4442f..b13e9c7866c9 100644
--- a/pkgs/misc/screensavers/light-locker/default.nix
+++ b/pkgs/misc/screensavers/light-locker/default.nix
@@ -5,6 +5,8 @@
 , glib
 , pkgconfig
 , libX11
+, libXScrnSaver
+, libXxf86misc
 , gtk3
 , dbus_glib
 , systemd
@@ -23,18 +25,33 @@ stdenv.mkDerivation rec {
     sha256 = "0ygkp5vgkx2nfhfql6j2jsfay394gda23ir3sx4f72j4agsirjvj";
   };
 
-  buildInputs = [ which xfce.xfce4_dev_tools glib pkgconfig libX11 gtk3 dbus_glib systemd wrapGAppsHook ];
+  # Patch so that systemd is "found" when configuring.
+  patches = [ ./systemd.patch ];
+
+  buildInputs = [ which xfce.xfce4_dev_tools glib systemd pkgconfig
+                  libX11 libXScrnSaver libXxf86misc gtk3 dbus_glib wrapGAppsHook ];
 
   preConfigure = ''
     ./autogen.sh
   '';
 
+  configureFlags = [ "--with-xf86gamma-ext" "--with-mit-ext"
+                     "--with-dpms-ext" "--with-systemd"
+                     # ConsoleKit and UPower were dropped in favor
+                     # of systemd replacements
+                     "--without-console-kit" "--without-upower" ];
+
   meta = with stdenv.lib; {
     homepage = https://github.com/the-cavalry/light-locker;
-    description = "Light-locker is a simple locker";
+    description = "A simple session-locker for LightDM";
     longDescription = ''
-      light-locker is a simple locker (forked from gnome-screensaver) that aims to have simple, sane, secure defaults and be well integrated with the desktop while not carrying any desktop-specific dependencies.
-      It relies on lightdm for locking and unlocking your session via ConsoleKit/UPower or logind/systemd.
+      A simple locker (forked from gnome-screensaver) that aims to
+      have simple, sane, secure defaults and be well integrated with
+      the desktop while not carrying any desktop-specific
+      dependencies.
+
+      It relies on LightDM for locking and unlocking your session via
+      ConsoleKit/UPower or logind/systemd.
     '';
     license = licenses.gpl2;
     maintainers = with maintainers; [ obadz ];
diff --git a/pkgs/misc/screensavers/light-locker/systemd.patch b/pkgs/misc/screensavers/light-locker/systemd.patch
new file mode 100644
index 000000000000..9cba8b9c0d2f
--- /dev/null
+++ b/pkgs/misc/screensavers/light-locker/systemd.patch
@@ -0,0 +1,13 @@
+diff --git a/configure.ac.in b/configure.ac.in
+index f7d5f5d..341bc83 100644
+--- a/configure.ac.in
++++ b/configure.ac.in
+@@ -424,7 +424,7 @@ AC_ARG_WITH(systemd,
+             [with_systemd=$withval], [with_systemd=auto])
+ 
+ PKG_CHECK_MODULES(SYSTEMD,
+-                  [libsystemd-login],
++                  [libsystemd],
+                   [have_systemd=yes], [have_systemd=no])
+ 
+ if test "x$with_systemd" = "xauto" ; then
diff --git a/pkgs/os-specific/darwin/apple-sdk/default.nix b/pkgs/os-specific/darwin/apple-sdk/default.nix
index 1148fe5c4a16..7a85790c57e6 100644
--- a/pkgs/os-specific/darwin/apple-sdk/default.nix
+++ b/pkgs/os-specific/darwin/apple-sdk/default.nix
@@ -1,29 +1,42 @@
-{ stdenv, fetchurl, xar, gzip, cpio, pkgs }:
+{ stdenv, fetchurl, xar, xz, cpio, pkgs, python }:
 
 let
+  # TODO: make this available to other packages and generalize the unpacking a bit
+  # from https://gist.github.com/pudquick/ff412bcb29c9c1fa4b8d
+  unpbzx = fetchurl {
+    url    = "https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py";
+    sha256 = "0jgp6qbfl36i0jlz7as5zk2w20z4ca8wlrhdw49lwsld6wi3rfhc";
+  };
+
   # sadly needs to be exported because security_tool needs it
   sdk = stdenv.mkDerivation rec {
-    version = "10.9";
+    version = "10.11";
     name    = "MacOS_SDK-${version}";
 
+    # This URL comes from https://swscan.apple.com/content/catalogs/others/index-10.11-1.sucatalog, which we found by:
+    #  1. Google: site:swscan.apple.com and look for a name that seems appropriate for your version
+    #  2. In the resulting file, search for a file called DevSDK ending in .pkg
+    #  3. ???
+    #  4. Profit
     src = fetchurl {
-      url    = "http://swcdn.apple.com/content/downloads/27/02/031-06182/xxog8vxu8i6af781ivf4uhy6yt1lslex34/DevSDK_OSX109.pkg";
-      sha256 = "16b7aplha5573yl1d44nl2yxzp0w2hafihbyh7930wrcvba69iy4";
+      url    = "http://swcdn.apple.com/content/downloads/61/58/031-85396/fsu2775ydsciy13wycm3zngxrjcp0eqsl2/DevSDK_OSX1011.pkg";
+      sha256 = "182yh8li653pjrzgk7s2dvsqm7vwkk6ry8n31qqs8c0xr67yrqgl";
     };
 
-    buildInputs = [ xar gzip cpio ];
+    buildInputs = [ xar xz cpio python ];
 
     phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
 
     unpackPhase = ''
       xar -x -f $src
+      python ${unpbzx} Payload
     '';
 
     installPhase = ''
       start="$(pwd)"
       mkdir -p $out
       cd $out
-      cat $start/Payload | gzip -d | cpio -idm
+      cat $start/Payload.*.xz | xz -d | cpio -idm
 
       mv usr/* .
       rmdir usr
@@ -114,6 +127,7 @@ let
         popd >/dev/null
       }
 
+
       linkFramework "${name}.framework"
     '';
 
diff --git a/pkgs/os-specific/darwin/apple-sdk/frameworks.nix b/pkgs/os-specific/darwin/apple-sdk/frameworks.nix
index 3ecb35114220..cc99de258b23 100644
--- a/pkgs/os-specific/darwin/apple-sdk/frameworks.nix
+++ b/pkgs/os-specific/darwin/apple-sdk/frameworks.nix
@@ -52,6 +52,7 @@ with frameworks; with libs; {
   GSS                     = [];
   GameController          = [];
   GameKit                 = [ Foundation ];
+  Hypervisor              = [];
   ICADevices              = [ Carbon CF IOBluetooth ];
   IMServicePlugIn         = [];
   IOBluetoothUI           = [ IOBluetooth ];
@@ -116,4 +117,6 @@ with frameworks; with libs; {
   OpenDirectory       = [];
   Quartz              = [ QuickLook QTKit ];
   QuartzCore          = [ ApplicationServices CF CoreVideo OpenCL ];
+
+  vmnet = [];
 }
diff --git a/pkgs/os-specific/linux/batman-adv/alfred.nix b/pkgs/os-specific/linux/batman-adv/alfred.nix
index 6a5dced454c0..0ee928754db7 100644
--- a/pkgs/os-specific/linux/batman-adv/alfred.nix
+++ b/pkgs/os-specific/linux/batman-adv/alfred.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, gpsd, libcap, libnl }:
 
 let
-  ver = "2016.4";
+  ver = "2016.5";
 in
 stdenv.mkDerivation rec {
   name = "alfred-${ver}";
 
   src = fetchurl {
     url = "http://downloads.open-mesh.org/batman/releases/batman-adv-${ver}/${name}.tar.gz";
-    sha256 = "0p8x8m1bdk560d64v010ck7dgm301cy7panxijczcf4p74clh835";
+    sha256 = "1ln997qyknkfm7xp4vx5lm0z833ksn1gn4dyjvr3qr1pgyzvmcrp";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/os-specific/linux/batman-adv/batctl.nix b/pkgs/os-specific/linux/batman-adv/batctl.nix
index 4fd022a418bb..c8cab86413fb 100644
--- a/pkgs/os-specific/linux/batman-adv/batctl.nix
+++ b/pkgs/os-specific/linux/batman-adv/batctl.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, libnl }:
 
 let
-  ver = "2016.4";
+  ver = "2016.5";
 in
 stdenv.mkDerivation rec {
   name = "batctl-${ver}";
 
   src = fetchurl {
     url = "http://downloads.open-mesh.org/batman/releases/batman-adv-${ver}/${name}.tar.gz";
-    sha256 = "1ybn2akwj29hsjps6qgvg1ncf238002d3r7fik627ig8cgmx0wi4";
+    sha256 = "1saa088ggsr7bwlvnzpgjj6zqn51j0km96f4x1djhj55hwfypv87";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/os-specific/linux/batman-adv/default.nix b/pkgs/os-specific/linux/batman-adv/default.nix
index ce0ef1ad1055..044469986245 100644
--- a/pkgs/os-specific/linux/batman-adv/default.nix
+++ b/pkgs/os-specific/linux/batman-adv/default.nix
@@ -2,14 +2,14 @@
 
 #assert stdenv.lib.versionOlder kernel.version "3.17";
 
-let base = "batman-adv-2016.4"; in
+let base = "batman-adv-2016.5"; in
 
 stdenv.mkDerivation rec {
   name = "${base}-${kernel.version}";
 
   src = fetchurl {
     url = "http://downloads.open-mesh.org/batman/releases/${base}/${base}.tar.gz";
-    sha256 = "1sshl700gwfnqih95q1kp7sya71svp8px2rn14dbb790hgfkc4mw";
+    sha256 = "1dqdzpxdrgqpgkc6bqfvbvx5x18bpd9y459j0iyva47lqj8gr86h";
   };
 
   hardeningDisable = [ "pic" ];
diff --git a/pkgs/os-specific/linux/kexectools/arm.patch b/pkgs/os-specific/linux/kexectools/arm.patch
new file mode 100644
index 000000000000..9c1d482c81ad
--- /dev/null
+++ b/pkgs/os-specific/linux/kexectools/arm.patch
@@ -0,0 +1,28 @@
+Upstream kexec-tools 2.0.13 does not pack arm phys_to_virt.h and iomem.h,
+include them here for a temporary fix
+
+diff -uprN kexec-tools/kexec/arch/arm/iomem.h kexec-tools.1/kexec/arch/arm/iomem.h
+--- kexec-tools/kexec/arch/arm/iomem.h	1970-01-01 08:00:00.000000000 +0800
++++ kexec-tools.1/kexec/arch/arm/iomem.h	2016-08-09 15:38:26.938594379 +0800
+@@ -0,0 +1,9 @@
++#ifndef IOMEM_H
++#define IOMEM_H
++
++#define SYSTEM_RAM		"System RAM\n"
++#define SYSTEM_RAM_BOOT		"System RAM (boot alias)\n"
++#define CRASH_KERNEL		"Crash kernel\n"
++#define CRASH_KERNEL_BOOT	"Crash kernel (boot alias)\n"
++
++#endif
+diff -uprN kexec-tools/kexec/arch/arm/phys_to_virt.h kexec-tools.1/kexec/arch/arm/phys_to_virt.h
+--- kexec-tools/kexec/arch/arm/phys_to_virt.h	1970-01-01 08:00:00.000000000 +0800
++++ kexec-tools.1/kexec/arch/arm/phys_to_virt.h	2016-08-09 14:50:30.104143361 +0800
+@@ -0,0 +1,8 @@
++#ifndef PHYS_TO_VIRT_H
++#define PHYS_TO_VIRT_H
++
++#include <stdint.h>
++
++extern uint64_t phys_offset;
++
++#endif
diff --git a/pkgs/os-specific/linux/kexectools/default.nix b/pkgs/os-specific/linux/kexectools/default.nix
index 1b18fb590170..cd2833617b92 100644
--- a/pkgs/os-specific/linux/kexectools/default.nix
+++ b/pkgs/os-specific/linux/kexectools/default.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
     sha256 = "1k75p9h29xx57l1c69ravm4pg9pmriqxmwja12hgrnvi251ayjw7";
   };
 
+  patches = [ ./arm.patch ];
+
   hardeningDisable = [ "format" "pic" "relro" ];
 
   buildInputs = [ zlib ];
diff --git a/pkgs/os-specific/linux/tp_smapi/default.nix b/pkgs/os-specific/linux/tp_smapi/default.nix
index f0f25f14e496..272b1368dec4 100644
--- a/pkgs/os-specific/linux/tp_smapi/default.nix
+++ b/pkgs/os-specific/linux/tp_smapi/default.nix
@@ -1,13 +1,12 @@
-{stdenv, fetchurl, kernel}:
+{ stdenv, fetchurl, kernel, writeScript, coreutils, gnugrep, jq, curl
+}:
 
-stdenv.mkDerivation rec {
-  version = "0.42";
-  name = "tp_smapi-${version}-${kernel.version}";
+let
+  data = stdenv.lib.importJSON ./update.json;
+in stdenv.mkDerivation rec {
+  name = "tp_smapi-${data.version}-${kernel.version}";
 
-  src = fetchurl {
-    url = "https://github.com/evgeni/tp_smapi/releases/download/tp-smapi%2F0.42/tp_smapi-${version}.tgz";
-    sha256 = "09rdg7fm423x6sbbw3lvnvmk4nyc33az8ar93xgq0n9qii49z3bv";
-  };
+  src = fetchurl  { inherit (data) url sha256; };
 
   hardeningDisable = [ "pic" ];
 
@@ -25,6 +24,10 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = import ./update.nix {
+    inherit writeScript coreutils gnugrep jq curl;
+  };
+
   meta = {
     description = "IBM ThinkPad hardware functions driver";
     homepage = "https://github.com/evgeni/tp_smapi/tree/tp-smapi/0.41";
diff --git a/pkgs/os-specific/linux/tp_smapi/update.json b/pkgs/os-specific/linux/tp_smapi/update.json
new file mode 100644
index 000000000000..15e9801e7f25
--- /dev/null
+++ b/pkgs/os-specific/linux/tp_smapi/update.json
@@ -0,0 +1,5 @@
+{
+  "version": "0.42",
+  "url": "https://github.com/evgeni/tp_smapi/archive/tp-smapi/0.42.tar.gz",
+  "sha256": "cd28bf6ee21b2c27b88d947cb0bfcb19648c7daa5d350115403dbcad05849381"
+}
diff --git a/pkgs/os-specific/linux/tp_smapi/update.nix b/pkgs/os-specific/linux/tp_smapi/update.nix
new file mode 100644
index 000000000000..0c97d18472cd
--- /dev/null
+++ b/pkgs/os-specific/linux/tp_smapi/update.nix
@@ -0,0 +1,23 @@
+{ writeScript, coreutils, gnugrep, jq, curl
+}:
+
+writeScript "update-tp_smapi" ''
+PATH=${coreutils}/bin:${gnugrep}/bin:${jq}/bin:${curl}/bin
+
+pushd pkgs/os-specific/linux/tp_smapi
+
+tmpfile=`mktemp`
+tags=`curl -s https://api.github.com/repos/evgeni/tp_smapi/tags`
+latest_tag=`echo $tags | jq -r '.[] | .name' | grep -oP "^tp-smapi/\K.*" | sort --version-sort | tail -1`
+sha256=`curl -sL "https://github.com/evgeni/tp_smapi/archive/tp-smapi/$latest_tag.tar.gz" | sha256sum | cut -d" " -f1`
+
+cat > update.json <<EOF
+{
+  "version": "$latest_tag",
+  "url": "https://github.com/evgeni/tp_smapi/archive/tp-smapi/$latest_tag.tar.gz",
+  "sha256": "$sha256"
+}
+EOF
+
+popd
+''
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index d1301fad7abc..00f9287bea53 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -9,15 +9,28 @@ let
       sha256 = "0gmx4y5kqqphnq3m7xk2vpzb0w2a4palicw7wfdr1q2schl9fhz2";
     };
   };
+  matrix-synapse-ldap3 = pythonPackages.buildPythonApplication rec {
+    name = "matrix-synapse-ldap3-${version}";
+    version = "0.1.1";
+
+    src = fetchFromGitHub {
+      owner = "matrix-org";
+      repo = "matrix-synapse-ldap3";
+      rev = "564eb3f109ce7f1082c47d5f8efaa792d90467f1";
+      sha256 = "1mkjlvy7a3rq405m59ihkh1wq7pa4l03fp8hgwwyjnbmz25bqmbk";
+    };
+
+    propagatedBuildInputs = with pythonPackages; [ service-identity ldap3 twisted ];
+  };
 in pythonPackages.buildPythonApplication rec {
   name = "matrix-synapse-${version}";
-  version = "0.18.4";
+  version = "0.18.5";
 
   src = fetchFromGitHub {
     owner = "matrix-org";
     repo = "synapse";
     rev = "v${version}";
-    sha256 = "0hcag9a4wd6a9q0ln5l949xr1bhmk1zrnf9vf3qi3lzxgi0rbm98";
+    sha256 = "1l9vfx08alf71323jrfjjvcb7pww613dwxskdgc1bplnva4khj4f";
   };
 
   patches = [ ./matrix-synapse.patch ];
@@ -25,9 +38,9 @@ in pythonPackages.buildPythonApplication rec {
   propagatedBuildInputs = with pythonPackages; [
     blist canonicaljson daemonize dateutil frozendict pillow pybcrypt pyasn1
     pydenticon pymacaroons-pynacl pynacl pyopenssl pysaml2 pytz requests2
-    service-identity signedjson systemd twisted ujson unpaddedbase64 pyyaml
+    signedjson systemd twisted ujson unpaddedbase64 pyyaml
     matrix-angular-sdk bleach netaddr jinja2 psycopg2
-    ldap3 psutil msgpack lxml
+    psutil msgpack lxml matrix-synapse-ldap3
   ];
 
   # Checks fail because of Tox.
diff --git a/pkgs/servers/matrix-synapse/matrix-synapse.patch b/pkgs/servers/matrix-synapse/matrix-synapse.patch
index a6a393ea56c3..288e6ff16245 100644
--- a/pkgs/servers/matrix-synapse/matrix-synapse.patch
+++ b/pkgs/servers/matrix-synapse/matrix-synapse.patch
@@ -3,18 +3,18 @@ new file mode 120000
 index 0000000..2f1d413
 --- /dev/null
 +++ b/homeserver
-@@ -0,0 +1 @@
+@@ -0,0 +1,1 @@
 +synapse/app/homeserver.py
 \ No newline at end of file
 diff --git a/setup.py b/setup.py
-index 9d24761..f3e6a00 100755
+index b00c2af..c7f6e0a 100755
 --- a/setup.py
 +++ b/setup.py
-@@ -85,6 +85,6 @@ setup(
+@@ -92,6 +92,6 @@ setup(
      include_package_data=True,
      zip_safe=False,
      long_description=long_description,
 -    scripts=["synctl"] + glob.glob("scripts/*"),
 +    scripts=["synctl", "homeserver"] + glob.glob("scripts/*"),
-     cmdclass={'test': Tox},
+     cmdclass={'test': TestCommand},
  )
diff --git a/pkgs/servers/nosql/riak-cs/2.1.1.nix b/pkgs/servers/nosql/riak-cs/2.1.1.nix
index 439af4da565b..a0df98faf360 100644
--- a/pkgs/servers/nosql/riak-cs/2.1.1.nix
+++ b/pkgs/servers/nosql/riak-cs/2.1.1.nix
@@ -1,11 +1,13 @@
-{ stdenv, lib, fetchurl, unzip, erlang, git, wget, which, pam, coreutils, riak }:
+{ stdenv, lib, fetchurl, unzip, erlang, git, wget, which, pam, coreutils, riak
+, Carbon ? null, Cocoa ? null }:
 
 stdenv.mkDerivation rec {
   name = "riak_cs-2.1.1";
 
   buildInputs = [
-    which unzip erlang pam git wget
-  ];
+    which unzip erlang git wget
+  ] ++ lib.optionals stdenv.isDarwin [ Carbon Cocoa ]
+    ++ lib.optional stdenv.isLinux [ pam ];
 
   src = fetchurl {
     url = "http://s3.amazonaws.com/downloads.basho.com/riak-cs/2.1/2.1.1/riak-cs-2.1.1.tar.gz";
@@ -60,7 +62,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Dynamo inspired NoSQL DB by Basho with S3 compatibility";
-    platforms   = [ "x86_64-linux" ];
+    platforms   = [ "x86_64-linux" "x86_64-darwin" ];
     license     = licenses.asl20;
     maintainer  = with maintainers; [ mdaiter ];
   };
diff --git a/pkgs/servers/nosql/riak-cs/stanchion.nix b/pkgs/servers/nosql/riak-cs/stanchion.nix
index 5835b7e29c93..8ea71d611ebb 100644
--- a/pkgs/servers/nosql/riak-cs/stanchion.nix
+++ b/pkgs/servers/nosql/riak-cs/stanchion.nix
@@ -1,11 +1,13 @@
-{ stdenv, lib, fetchurl, unzip, erlang, git, wget, which, pam, coreutils, riak }:
+{ stdenv, lib, fetchurl, unzip, erlang, git, wget, which, pam, coreutils, riak 
+, Carbon ? null, Cocoa ? null }:
 
 stdenv.mkDerivation rec {
   name = "stanchion-2.1.1";
 
   buildInputs = [
-    which unzip erlang pam git wget
-  ];
+    which unzip erlang git wget
+  ] ++ lib.optionals stdenv.isDarwin [ Carbon Cocoa ]
+    ++ lib.optional stdenv.isLinux [ pam ];
 
   src = fetchurl {
     url = "http://s3.amazonaws.com/downloads.basho.com/stanchion/2.1/2.1.1/stanchion-2.1.1.tar.gz";
@@ -57,7 +59,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     maintainers = with maintainers; [ mdaiter ];
     description = "Manager for Riak CS";
-    platforms   = [ "x86_64-linux" ];
+    platforms   = [ "x86_64-linux" "x86_64-darwin" ];
     license = licenses.asl20;
   };
 }
diff --git a/pkgs/servers/squid/default.nix b/pkgs/servers/squid/default.nix
index e12d7e9b97d0..b64dfeda667a 100644
--- a/pkgs/servers/squid/default.nix
+++ b/pkgs/servers/squid/default.nix
@@ -1,25 +1,36 @@
-{ fetchurl, stdenv, perl, lib, openldap, pam, db, cyrus_sasl, libcap,
-expat, libxml2, libtool, openssl}:
+{ stdenv, fetchurl, perl, openldap, pam, db, cyrus_sasl, libcap
+, expat, libxml2, openssl }:
+
 stdenv.mkDerivation rec {
-  name = "squid-3.5.19";
+  name = "squid-3.5.23";
+
   src = fetchurl {
-    url = "http://www.squid-cache.org/Versions/v3/3.5/${name}.tar.bz2";
-    sha256 = "1iy2r7r12xv0q9414rczbqbbggyyxgdmg21bynpygwkgalaz1dxx";
+    url = "http://www.squid-cache.org/Versions/v3/3.5/${name}.tar.xz";
+    sha256 = "1nqbljph2mbxjy1jzsis5vplfvvc2y6rdlxy609zx4hyyjchqk7s";
   };
-  buildInputs = [perl openldap pam db cyrus_sasl libcap expat libxml2
-    libtool openssl];
+
+  buildInputs = [
+    perl openldap pam db cyrus_sasl libcap expat libxml2 openssl
+  ];
+
   configureFlags = [
     "--enable-ipv6"
     "--disable-strict-error-checking"
     "--disable-arch-native"
     "--with-openssl"
     "--enable-ssl-crtd"
+    "--enable-linux-netfilter"
+    "--enable-storeio=ufs,aufs,diskd,rock"
+    "--enable-removal-policies=lru,heap"
+    "--enable-delay-pools"
+    "--enable-x-accelerator-vary"
   ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A caching proxy for the Web supporting HTTP, HTTPS, FTP, and more";
     homepage = "http://www.squid-cache.org";
-    license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ fpletz ];
   };
 }
diff --git a/pkgs/shells/oh-my-zsh/default.nix b/pkgs/shells/oh-my-zsh/default.nix
index 4e76c7aef335..8ae11e7e75c8 100644
--- a/pkgs/shells/oh-my-zsh/default.nix
+++ b/pkgs/shells/oh-my-zsh/default.nix
@@ -7,12 +7,12 @@
 
 stdenv.mkDerivation rec {
   name = "oh-my-zsh-${version}";
-  version = "2016-11-16";
+  version = "2016-12-14";
 
   src = fetchgit {
     url = "https://github.com/robbyrussell/oh-my-zsh";
-    rev = "3477ff25274fa75bd9e6110f391f6ad98ca2af72";
-    sha256 = "07fvxg5jbw41j4nrs31hm0dfrwdh01gf5ik21gb4b4ddig2mjhc9";
+    rev = "67dad45b38b7f0bafcaf7679da6eb4596301843b";
+    sha256 = "1adgj0p4c8aq9rpkv33k8ra69922vfkjw63b666i66v6zr0s8znp";
   };
 
   phases = "installPhase";
diff --git a/pkgs/tools/admin/google-cloud-sdk/default.nix b/pkgs/tools/admin/google-cloud-sdk/default.nix
index 90bfd97ab593..dd8aada62fe8 100644
--- a/pkgs/tools/admin/google-cloud-sdk/default.nix
+++ b/pkgs/tools/admin/google-cloud-sdk/default.nix
@@ -7,18 +7,18 @@ assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
 
 stdenv.mkDerivation rec {
   name = "google-cloud-sdk-${version}";
-  version = "134.0.0";
+  version = "138.0.0";
 
   src =
     if stdenv.system == "i686-linux" then
       fetchurl {
         url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/${name}-linux-x86.tar.gz";
-        sha256 = "0pv2whqqcjvz3x02rn08vyssvbqxsncqvx9916v2ycdpiymffdz0";
+        sha256 = "1z2v4bg743qkdlmyyy0z2j5s0g10vbc1643gxrhyz491sk6sp616";
       }
     else
       fetchurl {
         url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/${name}-linux-x86_64.tar.gz";
-        sha256 = "1kji861ii4ig73scg64lijcqdg2p0d2i2af1fdbkils0imwa3m5l";
+        sha256 = "1y64bx9vj6rrapffr7zwxbxxbqlddx91n82kr99mwv19n11hydyw";
       };
 
   buildInputs = [python27 makeWrapper];
diff --git a/pkgs/tools/archivers/p7zip/default.nix b/pkgs/tools/archivers/p7zip/default.nix
index 1af3f53ade91..2b61b5b2679f 100644
--- a/pkgs/tools/archivers/p7zip/default.nix
+++ b/pkgs/tools/archivers/p7zip/default.nix
@@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  setupHook = ./setup-hook.sh;
+
   meta = {
     homepage = http://p7zip.sourceforge.net/;
     description = "A port of the 7-zip archiver";
diff --git a/pkgs/tools/archivers/p7zip/setup-hook.sh b/pkgs/tools/archivers/p7zip/setup-hook.sh
new file mode 100644
index 000000000000..4dc88f07c0bd
--- /dev/null
+++ b/pkgs/tools/archivers/p7zip/setup-hook.sh
@@ -0,0 +1,5 @@
+unpackCmdHooks+=(_try7zip)
+_try7zip() {
+    if ! [[ "$curSrc" =~ \.7z$ ]]; then return 1; fi
+    7z x "$curSrc"
+}
diff --git a/pkgs/tools/misc/goaccess/default.nix b/pkgs/tools/misc/goaccess/default.nix
index 4b352f512082..424a84637a53 100644
--- a/pkgs/tools/misc/goaccess/default.nix
+++ b/pkgs/tools/misc/goaccess/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, geoipWithDatabase, ncurses, glib }:
 
 stdenv.mkDerivation rec {
-  version = "1.0";
+  version = "1.1.1";
   name = "goaccess-${version}";
 
   src = fetchurl {
     url = "http://tar.goaccess.io/goaccess-${version}.tar.gz";
-    sha256 = "1zma9p0gwxwl9kgq47i487fy1q8567fqnpik0zacjhgmpnzry3h0";
+    sha256 = "1lxnhvh4xhkgzdv0l2fiza2099phn9zs04p9cqfhhl5k6xq18wsc";
   };
 
   configureFlags = [
diff --git a/pkgs/tools/misc/kdecoration-viewer/default.nix b/pkgs/tools/misc/kdecoration-viewer/default.nix
new file mode 100644
index 000000000000..c32a814f2328
--- /dev/null
+++ b/pkgs/tools/misc/kdecoration-viewer/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub
+, cmake, ecm, qtquickcontrols, kconfigwidgets, kdeclarative, kdecoration }:
+
+stdenv.mkDerivation rec {
+  name = "kdecoration-viewer-2015-08-20";
+
+  src = fetchFromGitHub {
+    owner = "KDE";
+    repo = "kdecoration-viewer";
+    rev = "d7174acee01475fbdb71cfd48ca49d487a141701";
+    sha256 = "1cc4xxv72a82p1w9r76090xba7g069r41bi4zx32k4gz3vyl1am6";
+  };
+
+  buildInputs = [ cmake ecm qtquickcontrols kconfigwidgets kdeclarative kdecoration ];
+
+  meta = with stdenv.lib; {
+    description = "Allows to preview a KDecoration plugin";
+    longDescription = ''
+      kdecoration-viewer allows to preview a KDecoration plugin. Put your plugins under
+      $QT_PLUGIN_PATH/org.kde.kdecoration2 to preview.
+    '';
+    homepage = https://blog.martin-graesslin.com/blog/2014/07/kdecoration2-the-road-ahead/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.gnidorah ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/misc/parted/default.nix b/pkgs/tools/misc/parted/default.nix
index cfce018a2361..58e7a17a57f3 100644
--- a/pkgs/tools/misc/parted/default.nix
+++ b/pkgs/tools/misc/parted/default.nix
@@ -29,7 +29,10 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional (devicemapper == null) "--disable-device-mapper"
     ++ stdenv.lib.optional enableStatic "--enable-static";
 
-  doCheck = true;
+  # Tests are currently failing because Hydra runs builds as uid 0.
+  # It'd be better to try to fix these tests, but this is blocking
+  # all NixOS Hydra builds right now.
+  doCheck = false;
 
   preCheck =
     stdenv.lib.optionalString doCheck
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index db11875afa08..808ba21ab660 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -15,11 +15,11 @@ with stdenv.lib;
 buildPythonApplication rec {
 
   name = "youtube-dl-${version}";
-  version = "2016.12.12";
+  version = "2016.12.15";
 
   src = fetchurl {
     url = "https://yt-dl.org/downloads/${version}/${name}.tar.gz";
-    sha256 = "643efa7755ac4aa03a241f106d8923dfd5dbaf8d3c14e56b696048c4f2fab430";
+    sha256 = "85d937a6edb8c14f8eac1b17d2e5d45574c7ec3f2cb792781ac1d8fb6a6ca39e";
   };
 
   buildInputs = [ makeWrapper zip ] ++ optional generateManPage pandoc;
diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix
index 46b85aefca5f..da52bde56bd6 100644
--- a/pkgs/tools/security/tor/default.nix
+++ b/pkgs/tools/security/tor/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "tor-0.2.8.10";
+  name = "tor-0.2.8.12";
 
   src = fetchurl {
     url = "https://archive.torproject.org/tor-package-archive/${name}.tar.gz";
-    sha256 = "0kcw9hq4xz8p91xwyhjfry5p1dmn7vvnhpfz66vl9gsfndbqr2y8";
+    sha256 = "1bsagy4gcf6hgq04q949hv45ljb36j3ylxxn22cwxy4whgr4hmxk";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/system/ior/default.nix b/pkgs/tools/system/ior/default.nix
new file mode 100644
index 000000000000..6b294931851d
--- /dev/null
+++ b/pkgs/tools/system/ior/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, openmpi, automake, autoconf, perl }:
+
+let
+  version = "3.0.1";
+  sha256 = "039rh4z3lsj4vqjsqgakk0b7dkrdrkkzj0p1cjikpc9gn36zpghc";
+in
+
+stdenv.mkDerivation rec {
+  name = "ior-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/LLNL/ior/archive/${version}.tar.gz";
+    inherit sha256;
+  };
+
+  buildInputs = [ openmpi automake autoconf perl ];
+
+  enableParallelBuilding = true;
+
+  preConfigure = "./bootstrap";
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.nersc.gov/users/computational-systems/cori/nersc-8-procurement/trinity-nersc-8-rfp/nersc-8-trinity-benchmarks/ior/";
+    description = "Parallel file system I/O performance test";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ bzizou ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 010b59711887..d6e770ac4044 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2247,6 +2247,8 @@ in
   ioping = callPackage ../tools/system/ioping { };
 
   iops = callPackage ../tools/system/iops { };
+  
+  ior = callPackage ../tools/system/ior { };
 
   iodine = callPackage ../tools/networking/iodine { };
 
@@ -3166,6 +3168,8 @@ in
 
   paper-gtk-theme = callPackage ../misc/themes/paper { };
 
+  paperwork = callPackage ../applications/office/paperwork { };
+
   par2cmdline = callPackage ../tools/networking/par2cmdline { };
 
   parallel = callPackage ../tools/misc/parallel { };
@@ -5322,7 +5326,9 @@ in
     lua = lua5_1;
   };
 
-  teyjus = callPackage ../development/compilers/teyjus { };
+  teyjus = callPackage ../development/compilers/teyjus {
+    omake = omake_rc1;
+  };
 
   thrust = callPackage ../development/tools/thrust {
     gconf = pkgs.gnome2.GConf;
@@ -6374,6 +6380,8 @@ in
     inherit (ocamlPackages_4_02) ocaml;
   };
 
+  inherit (ocamlPackages) omake_rc1;
+
   omniorb = callPackage ../development/tools/omniorb { };
 
   opengrok = callPackage ../development/tools/misc/opengrok { };
@@ -6723,6 +6731,7 @@ in
   boost155 = callPackage ../development/libraries/boost/1.55.nix { };
   boost159 = callPackage ../development/libraries/boost/1.59.nix { };
   boost160 = callPackage ../development/libraries/boost/1.60.nix { };
+  boost162 = callPackage ../development/libraries/boost/1.62.nix { };
   boost = boost160;
 
   boost_process = callPackage ../development/libraries/boost-process { };
@@ -7036,10 +7045,6 @@ in
   fltk13 = callPackage ../development/libraries/fltk { };
   fltk = self.fltk13;
 
-  fmod = callPackage ../development/libraries/fmod { };
-
-  fmod42416 = callPackage ../development/libraries/fmod/4.24.16.nix { };
-
   fplll = callPackage ../development/libraries/fplll {};
   fplll_20160331 = callPackage ../development/libraries/fplll/20160331.nix {};
 
@@ -8248,8 +8253,6 @@ in
 
   libopus = callPackage ../development/libraries/libopus { };
 
-  liborc = callPackage ../development/libraries/liborc { };
-
   libosinfo = callPackage ../development/libraries/libosinfo {
     inherit (gnome3) libsoup;
   };
@@ -8925,6 +8928,10 @@ in
 
   poppler = callPackage ../development/libraries/poppler { lcms = lcms2; };
 
+  poppler_gi = lowPrio (poppler.override {
+    introspectionSupport = true;
+  });
+
   poppler_min = poppler.override { # TODO: maybe reduce even more
     minimal = true;
     suffix = "min";
@@ -9086,6 +9093,8 @@ in
       withQt5 = true;
     };
 
+    qtstyleplugins = callPackage ../development/libraries/qtstyleplugins { };
+
     quazip = callPackage ../development/libraries/quazip {
       qt = qtbase;
     };
@@ -10293,10 +10302,12 @@ in
   riak = callPackage ../servers/nosql/riak/2.1.1.nix { };
 
   riak-cs = callPackage ../servers/nosql/riak-cs/2.1.1.nix {
+    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
     erlang = erlang_basho_R16B02;
   };
 
   stanchion = callPackage ../servers/nosql/riak-cs/stanchion.nix {
+    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
     erlang = erlang_basho_R16B02;
   };
 
@@ -12255,6 +12266,7 @@ in
   };
 
   audacious = callPackage ../applications/audio/audacious { };
+  audaciousQt5 = qt5.callPackage ../applications/audio/audacious/qt-5.nix { };
 
   audacity = callPackage ../applications/audio/audacity { };
 
@@ -13162,6 +13174,8 @@ in
     boost = boost155;
   };
 
+  fte = callPackage ../applications/editors/fte { };
+
   game-music-emu = callPackage ../applications/audio/game-music-emu { };
 
   gcolor2 = callPackage ../applications/graphics/gcolor2 { };
@@ -13602,6 +13616,8 @@ in
 
   kdeconnect = qt5.callPackage ../applications/misc/kdeconnect { };
 
+  kdecoration-viewer = kde5.callPackage ../tools/misc/kdecoration-viewer {};
+
   kdevelop-pg-qt = kde5.callPackage ../applications/editors/kdevelop5/kdevelop-pg-qt.nix {};
 
   kdevelop = kde5.callPackage ../applications/editors/kdevelop5/kdevelop.nix {
@@ -16176,7 +16192,6 @@ in
   xsokoban = callPackage ../games/xsokoban { };
 
   zandronum = callPackage ../games/zandronum {
-    fmod = fmod42416;
     cmake = cmake_2_8;
   };
 
@@ -17642,7 +17657,11 @@ in
 
   xcftools = callPackage ../tools/graphics/xcftools { };
 
-  xhyve = callPackage ../applications/virtualization/xhyve { };
+  xhyve = callPackage ../applications/virtualization/xhyve {
+    inherit (darwin.apple_sdk.frameworks) Hypervisor vmnet;
+    inherit (darwin.apple_sdk.libs) xpc;
+    inherit (darwin) libobjc;
+  };
 
   xinput_calibrator = callPackage ../tools/X11/xinput_calibrator { };
 
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index dc497b125e61..6e3f98c7ba2e 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -649,6 +649,8 @@ let
 
     trv = callPackage ../development/tools/misc/trv { };
 
+    omake_rc1 = callPackage ../development/tools/ocaml/omake/0.9.8.6-rc1.nix { };
+
     verasco = callPackage ../development/tools/analysis/verasco (
       if system == "x86_64-linux"
       then { tools = pkgs.pkgsi686Linux.stdenv.cc; }
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index f85bf3766bb6..a03b5a8168ae 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -4228,13 +4228,22 @@ in {
 
   cython = buildPythonPackage rec {
     name = "Cython-${version}";
-    version = "0.25.1";
+    version = "0.25.2";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/C/Cython/${name}.tar.gz";
-      sha256 = "e0941455769335ec5afb17dee36dc3833b7edc2ae20a8ed5806c58215e4b6669";
+      sha256 = "01h3lrf6d98j07iakifi81qjszh6faa37ibx7ylva1vsqbwx2hgi";
     };
 
+    # On i686-linux and Python 2.x this test fails because the result is "3L"
+    # instead of "3", so let's fix it in-place.
+    #
+    # Upstream issue: https://github.com/cython/cython/issues/1548
+    postPatch = optionalString (stdenv.isi686 && !isPy3k) ''
+      sed -i -e 's/\(>>> *\)\(verify_resolution_GH1533()\)/\1int(\2)/' \
+        tests/run/cpdef_enums.pyx
+    '';
+
     buildInputs = with self; [ pkgs.glibcLocales pkgs.pkgconfig pkgs.gdb ];
     # For testing
     nativeBuildInputs = with self; [ numpy pkgs.ncurses ];
@@ -5049,6 +5058,13 @@ in {
     buildInputs = with self; [ pytest ];
     propagatedBuildInputs = with self; [ pytestcache pep8 ];
 
+    checkPhase = ''
+      py.test
+    '';
+
+    # Fails
+    doCheck = false;
+
     meta = {
       license = licenses.mit;
       website = "https://pypi.python.org/pypi/pytest-pep8";
@@ -8257,6 +8273,7 @@ in {
         pytestcov
         pytestflakes
         pytestpep8
+        pytest
         mock
       ]
       # pathlib was made part of standard library in 3.5:
@@ -8419,7 +8436,42 @@ in {
       license = licenses.mit;
     };
   };
- 
+
+  paperwork-backend = buildPythonPackage rec {
+    name = "paperwork-backend-${version}";
+    version = "1.0.6";
+
+    src = pkgs.fetchFromGitHub {
+      owner = "jflesch";
+      repo = "paperwork-backend";
+      rev = version;
+      sha256 = "11jbhv9xcpimp9iq2b1hlpljzij73s86rb5lpgzhslqc7zmm5bxn";
+    };
+
+    # Python 2.x is not supported.
+    disabled = !isPy3k && !isPyPy;
+
+    # Make sure that chkdeps exits with status 1 if a dependency is not found.
+    postPatch = ''
+      sed -i -e '/print.*Missing dependencies/,/^ *$/ {
+        /^ *$/ a \    sys.exit(1)
+      }' scripts/paperwork-shell
+    '';
+
+    preCheck = "\"$out/bin/paperwork-shell\" chkdeps paperwork_backend";
+
+    propagatedBuildInputs = with self; [
+      pyenchant simplebayes pillow pycountry whoosh termcolor
+      python-Levenshtein pyinsane2 pygobject3 pyocr pkgs.poppler_gi
+    ];
+
+    meta = {
+      description = "Backend part of Paperwork (Python API, no UI)";
+      homepage = "https://github.com/jflesch/paperwork-backend";
+      license = licenses.gpl3Plus;
+    };
+  };
+
   pathtools = buildPythonPackage rec {
     name = "pathtools-${version}";
     version = "0.1.2";
@@ -8807,6 +8859,39 @@ in {
     };
   };
 
+  pypillowfight = buildPythonPackage rec {
+    name = "pypillowfight-${version}";
+    version = "0.2.1";
+
+    src = pkgs.fetchFromGitHub {
+      owner = "jflesch";
+      repo = "libpillowfight";
+      rev = version;
+      sha256 = "1rwmajsy9qhl3qhhy5mw0xmr3n8abxcq8baidpn0sxv6yjg2369z";
+    };
+
+    # Disable certain tests. Reported upstream at:
+    # https://github.com/jflesch/libpillowfight/issues/2
+    postPatch = ''
+      sed -i -e '/test_\(all_2\|ace\)/i \    @unittest.expectedFailure' \
+        tests/tests_ace.py tests/tests_all.py
+    '';
+
+    # Python 2.x is not supported, see:
+    # https://github.com/jflesch/libpillowfight/issues/1
+    disabled = !isPy3k && !isPyPy;
+
+    # This is needed by setup.py regardless of whether tests are enabled.
+    buildInputs = [ self.nose ];
+    propagatedBuildInputs = [ self.pillow ];
+
+    meta = {
+      description = "Library containing various image processing algorithms";
+      homepage = "https://github.com/jflesch/libpillowfight";
+      license = licenses.gpl3Plus;
+    };
+  };
+
   python-axolotl = buildPythonPackage rec {
     name = "python-axolotl-${version}";
     version = "0.1.35";
@@ -11066,15 +11151,17 @@ in {
 
   flake8 = buildPythonPackage rec {
     name = "flake8-${version}";
-    version = "2.6.2";
+    version = "3.2.1";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/f/flake8/${name}.tar.gz";
-      sha256 = "0y57hzal0j84dh9i1g1g6dc4aywvrnhy2fjmmbglpv5ajihxh713";
+      sha256 = "c7c460b5aff3a2063c798a77af18ec70af3941d35a22e2e76965e3c0e0b36055";
     };
 
-    buildInputs = with self; [ nose mock ];
-    propagatedBuildInputs = with self; [ pyflakes pycodestyle mccabe ];
+    buildInputs = with self; [ pytest mock pytestrunner ];
+    propagatedBuildInputs = with self; [ pyflakes pycodestyle mccabe ]
+      ++ optionals (pythonOlder "3.4") [ enum34 ]
+      ++ optionals (pythonOlder "3.2") [ configparser ];
 
     meta = {
       description = "Code checking using pep8 and pyflakes";
@@ -11084,35 +11171,6 @@ in {
     };
   };
 
-  flake8_3 = buildPythonPackage rec {
-    name = "flake8-${version}";
-    version = "3.0.4";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/f/flake8/${name}.tar.gz";
-      sha256 = "03cpdrjxh0fyi2qpdxbbrmxw7whiq3xr3p958gr6yzghk34i1hml";
-    };
-
-    buildInputs = with self; [ nose mock pytestrunner pytest ];
-    propagatedBuildInputs = with self; [ pyflakes mccabe_0_5 enum34 configparser pycodestyle ];
-
-    patches = [
-      ../development/python-modules/flake8/move-pytest-config-to-pytest-ini.patch
-    ];
-
-    # Tests fail due to missing ini file.
-    preCheck = ''
-      touch tox.ini
-    '';
-
-    meta = {
-      description = "Code checking using pep8 and pyflakes";
-      homepage = http://pypi.python.org/pypi/flake8;
-      license = licenses.mit;
-      maintainers = with maintainers; [ ];
-    };
-  };
-
   flaky = buildPythonPackage rec {
     name = "flaky-${version}";
     version = "3.1.0";
@@ -11135,11 +11193,11 @@ in {
   };
 
   flask = buildPythonPackage {
-    name = "flask-0.10.1";
+    name = "flask-0.11.1";
 
     src = pkgs.fetchurl {
-      url = "mirror://pypi/F/Flask/Flask-0.10.1.tar.gz";
-      sha256 = "4c83829ff83d408b5e1d4995472265411d2c414112298f2eb4b359d9e4563373";
+      url = "mirror://pypi/F/Flask/Flask-0.11.1.tar.gz";
+      sha256 = "03kbfll4sj3v5z7r31c7bhfpi11r1np076d4p1k2kg4yzcmkywdl";
     };
 
     propagatedBuildInputs = with self; [ itsdangerous click werkzeug jinja2 ];
@@ -12384,13 +12442,13 @@ in {
 
   hetzner = buildPythonPackage rec {
     name = "hetzner-${version}";
-    version = "0.7.4";
+    version = "0.7.5";
 
     src = pkgs.fetchFromGitHub {
       repo = "hetzner";
       owner = "RedMoonStudios";
       rev = "v${version}";
-      sha256 = "04dlixczzvpimk48p87ix7j9q54jy46cwn4f05n2dlzsyc5vvxin";
+      sha256 = "1fw7i1z4a39i1ljd9qd4f5p1p3a4257jfglkdpw90xjwl7fdpq42";
     };
 
     # not there yet, but coming soon.
@@ -13877,11 +13935,11 @@ in {
 
 
   lxml = buildPythonPackage ( rec {
-    name = "lxml-3.4.4";
+    name = "lxml-3.7.0";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/l/lxml/${name}.tar.gz";
-      sha256 = "16a0fa97hym9ysdk3rmqz32xdjqmy4w34ld3rm3jf5viqjx65lxk";
+      sha256 = "9c62eb2a1862e1ae285d7e7e3b7dc8772d387b19258086afcec143c6b7b8a5c9";
     };
 
     buildInputs = with self; [ pkgs.libxml2 pkgs.libxslt ];
@@ -14165,22 +14223,13 @@ in {
 
 
   mccabe = buildPythonPackage (rec {
-    name = "mccabe-0.4.0";
+    name = "mccabe-0.5.3";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/m/mccabe/${name}.tar.gz";
-      sha256 = "0yr08a36h8lqlif10l4xcikbbig7q8f41gqywir7rrvnv3mi4aws";
+      sha256 = "16293af41e7242031afd73896fef6458f4cad38201d21e28f344fff50ae1c25e";
     };
 
-    # See https://github.com/flintwork/mccabe/issues/31
-    postPatch = ''
-      cp "${pkgs.fetchurl {
-        url = "https://raw.githubusercontent.com/flintwork/mccabe/"
-            + "e8aea16d28e92bd3c62601275762fc9c16808f6c/test_mccabe.py";
-        sha256 = "0xhjxpnaxvbpi4myj9byrban7a5nrw931br9sgvfk42ayg4sn6lm";
-      }}" test_mccabe.py
-    '';
-
     buildInputs = with self; [ pytestrunner pytest ];
 
     meta = {
@@ -18823,7 +18872,7 @@ in {
       sha256 = "0ee9975c05602e755ff5000232e0335ba30d507f6261922a658ee11b1cec36d1";
     };
 
-    doCheck = !isPyPy;
+    doCheck = !stdenv.isDarwin && !isPyPy;
 
     # Disable imagefont tests, because they don't work well with infinality:
     # https://github.com/python-pillow/Pillow/issues/1259
@@ -20071,12 +20120,13 @@ in {
   };
 
   pyflakes = buildPythonPackage rec {
-    name = "pyflakes-${version}";
-    version = "1.0.0";
+    pname = "pyflakes";
+    version = "1.3.0";
+    name = "${pname}-${version}";
 
     src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pyflakes/${name}.tar.gz";
-      sha256 = "f39e33a4c03beead8774f005bd3ecf0c3f2f264fa0201de965fce0aff1d34263";
+      url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
+      sha256 = "a4f93317c97a9d9ed71d6ecfe08b68e3de9fea3f4d94dcd1d9d83ccbf929bc31";
     };
 
     buildInputs = with self; [ unittest2 ];
@@ -20441,6 +20491,44 @@ in {
     };
   };
 
+  pyinsane2 = buildPythonPackage rec {
+    name = "pyinsane2-${version}";
+    version = "2.0.9";
+
+    src = pkgs.fetchurl {
+      url = "mirror://pypi/p/pyinsane2/${name}.tar.gz";
+      sha256 = "1g4a1zhrrs7smmnsm7x8j5lvsz0r6rr2jgjykc9c1jlscz3yr747";
+    };
+
+    postPatch = ''
+      # pyinsane2 forks itself, so we need to re-inject the PYTHONPATH.
+      sed -i -e '/os.putenv.*PYINSANE_DAEMON/ {
+        a \        os.putenv("PYTHONPATH", ":".join(sys.path))
+      }' src/pyinsane2/sane/abstract_proc.py
+
+      sed -i -e 's,"libsane.so.1","${pkgs.sane-backends}/lib/libsane.so",' \
+        src/pyinsane2/sane/rawapi.py
+    '';
+
+    # Tests require a scanner to be physically connected, so let's just do a
+    # quick check whether initialization works.
+    checkPhase = ''
+      python -c 'import pyinsane2; pyinsane2.init()'
+    '';
+
+    # This is needed by setup.py regardless of whether tests are enabled.
+    buildInputs = [ self.nose ];
+
+    propagatedBuildInputs = [ self.pillow ];
+
+    meta = {
+      homepage = "https://github.com/jflesch/pyinsane";
+      description = "Access and use image scanners";
+      license = licenses.gpl3Plus;
+      platforms = platforms.linux;
+    };
+  };
+
   pyjwt = buildPythonPackage rec {
     version = "1.4.2";
     name = "pyjwt-${version}";
@@ -20519,6 +20607,64 @@ in {
     };
   };
 
+  pyocr = buildPythonPackage rec {
+    name = "pyocr-${version}";
+    version = "0.4.4";
+
+    # Don't fetch from PYPI because it doesn't contain tests.
+    src = pkgs.fetchFromGitHub {
+      owner = "jflesch";
+      repo = "pyocr";
+      rev = version;
+      sha256 = "09s7dxin8ams0f3xab60f45l3nn236a8win9yfyq9aqy9mm946ak";
+    };
+
+    postPatch = ''
+      sed -i \
+        -e 's,^\(TESSERACT_CMD *= *\).*,\1"${pkgs.tesseract}/bin/tesseract",' \
+        -e 's,^\(CUNEIFORM_CMD *= *\).*,\1"${pkgs.cuneiform}/bin/cuneiform",' \
+        -e '/^CUNIFORM_POSSIBLE_PATHS *= *\[/,/^\]$/ {
+          c CUNIFORM_POSSIBLE_PATHS = ["${pkgs.cuneiform}/share/cuneiform"]
+        }' src/pyocr/{tesseract,cuneiform}.py
+
+      sed -i -r \
+        -e 's,"libtesseract\.so\.3","${pkgs.tesseract}/lib/libtesseract.so",' \
+        -e 's,^(TESSDATA_PREFIX *=).*,\1 "${pkgs.tesseract}/share/tessdata",' \
+        src/pyocr/libtesseract/tesseract_raw.py
+
+      # Disable specific tests that are probably failing because of this issue:
+      # https://github.com/jflesch/pyocr/issues/52
+      for test in $disabledTests; do
+        file="''${test%%:*}"
+        fun="''${test#*:}"
+        echo "$fun = unittest.expectedFailure($fun)" >> "tests/tests_$file.py"
+      done
+    '';
+
+    disabledTests = [
+      "cuneiform:TestTxt.test_basic"
+      "cuneiform:TestTxt.test_european"
+      "cuneiform:TestTxt.test_french"
+      "cuneiform:TestWordBox.test_basic"
+      "cuneiform:TestWordBox.test_european"
+      "cuneiform:TestWordBox.test_french"
+      "libtesseract:TestBasicDoc.test_basic"
+      "libtesseract:TestDigitLineBox.test_digits"
+      "libtesseract:TestLineBox.test_japanese"
+      "libtesseract:TestTxt.test_japanese"
+      "libtesseract:TestWordBox.test_japanese"
+      "tesseract:TestDigitLineBox.test_digits"
+      "tesseract:TestTxt.test_japanese"
+    ];
+
+    propagatedBuildInputs = [ self.pillow self.six ];
+
+    meta = {
+      homepage = "https://github.com/jflesch/pyocr";
+      description = "A Python wrapper for Tesseract and Cuneiform";
+      license = licenses.gpl3Plus;
+    };
+  };
 
   pyparsing = buildPythonPackage rec {
     name = "pyparsing-${version}";
@@ -23154,6 +23300,35 @@ in {
     };
   };
 
+  simplebayes = buildPythonPackage rec {
+    name = "simplebayes-${version}";
+    version = "1.5.8";
+
+    # Use GitHub instead of pypi, because it contains tests.
+    src = pkgs.fetchFromGitHub {
+      repo = "simplebayes";
+      owner = "hickeroar";
+      # NOTE: This is actually 1.5.8 but the tag is wrong!
+      rev = "1.5.7";
+      sha256 = "0mp7rvfdmpfxnka4czw3lv5kkh6gdxh6dm4r6hcln1zzfg9lxp4h";
+    };
+
+    checkInputs = [ self.nose self.mock ];
+
+    postPatch = optionalString isPy3k ''
+      sed -i -e 's/open *(\([^)]*\))/open(\1, encoding="utf-8")/' setup.py
+    '';
+
+    checkPhase = "nosetests tests/test.py";
+
+    meta = {
+      description = "Memory-based naive bayesian text classifier";
+      homepage = "https://github.com/hickeroar/simplebayes";
+      license = licenses.mit;
+      platforms = platforms.all;
+    };
+  };
+
   simplegeneric = buildPythonPackage rec {
     version = "0.8.1";
     name = "simplegeneric-${version}";
@@ -23710,6 +23885,8 @@ in {
     };
 
     propagatedBuildInputs = with self; [ click configobj contexter jinja2 pytest ];
+
+    meta.broken = true;
   };
 
   pychef = buildPythonPackage rec {
@@ -24097,7 +24274,7 @@ in {
       # but that url does not work. This following web page points to the
       # download link and has some information about the package.
       homepage = http://pypi.python.org/pypi/Skype4Py/1.0.32.0;
-
+      broken = true;
       license = "BSD";
     };
   });
@@ -28343,13 +28520,13 @@ EOF
   };
 
   libvirt = let
-    version = "2.2.0";
+    version = "2.5.0";
   in assert version == pkgs.libvirt.version; pkgs.stdenv.mkDerivation rec {
     name = "libvirt-python-${version}";
 
     src = pkgs.fetchurl {
       url = "http://libvirt.org/sources/python/${name}.tar.gz";
-      sha256 = "0xpamw9gjmahvrbfkxjlplgdbhjr35vpp3a942bmw9qqy2rjwsxs";
+      sha256 = "1lanyrk4invs5j4jrd7yvy7g8kilihjbcrgs5arx8k3bs9x7izgl";
     };
 
     buildInputs = with self; [ python pkgs.pkgconfig pkgs.libvirt lxml ];
@@ -29421,12 +29598,12 @@ EOF
   };
 
   neovim = buildPythonPackage rec {
-    version = "0.1.10";
+    version = "0.1.12";
     name = "neovim-${version}";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/n/neovim/${name}.tar.gz";
-      sha256 = "1n6xxh0n250qbvrdl0cw114d890nfv6d0wjk5wpr505sg2bg9jx4";
+      sha256 = "1pll4jjqdq54d867hgqnnpiiz4pz4bbjrnh6binbp7djcbgrb8zq";
     };
 
     buildInputs = with self; [ nose ];
@@ -31054,14 +31231,15 @@ EOF
 
   more-itertools = buildPythonPackage rec {
     name = "more-itertools-${version}";
-    version = "2.2";
+    version = "2.4.1";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/m/more-itertools/${name}.tar.gz";
-      sha256 = "1q3wqsg44z01g7i5z6j1wc0nf5c5h8g77xny6fia2gddqw2jxrlk";
+      sha256 = "95a222d01df60c888d56d86f91219bfbd47106a534e89ca7f80fb555cfbe08c1";
     };
 
-    propagatedBuildInputs = with self; [ nose ];
+    buildInputs = with self; [ nose ];
+    propagatedBuildInputs = with self; [ six ];
 
     meta = {
       homepage = https://more-itertools.readthedocs.org;