about summary refs log tree commit diff
path: root/pkgs/applications
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2014-11-05 15:00:44 +0100
committerVladimír Čunát <vcunat@gmail.com>2014-11-05 15:00:44 +0100
commit52404a868ddc6665da66f54dab5f102908843784 (patch)
treeda856ff0f583e67a7a209d8d75826f796df5a3bb /pkgs/applications
parentc0e2aceef46033e43ab8b4f6aa0b36b25ba35f3d (diff)
parent8e02bde1a8ea913ecaa4801898057968412efa01 (diff)
downloadnixlib-52404a868ddc6665da66f54dab5f102908843784.tar
nixlib-52404a868ddc6665da66f54dab5f102908843784.tar.gz
nixlib-52404a868ddc6665da66f54dab5f102908843784.tar.bz2
nixlib-52404a868ddc6665da66f54dab5f102908843784.tar.lz
nixlib-52404a868ddc6665da66f54dab5f102908843784.tar.xz
nixlib-52404a868ddc6665da66f54dab5f102908843784.tar.zst
nixlib-52404a868ddc6665da66f54dab5f102908843784.zip
Merge recent master into staging
Nixpkgs Hydra: ?compare=1157272

TODO: port e22889064f82be3

Conflicts:
	nixos/tests/gnome3_10.nix (auto-solved)
	pkgs/applications/video/aegisub/default.nix
	pkgs/development/libraries/boost/1.55.nix
Diffstat (limited to 'pkgs/applications')
-rw-r--r--pkgs/applications/audio/guitarix/default.nix2
-rw-r--r--pkgs/applications/audio/ingen/default.nix2
-rw-r--r--pkgs/applications/audio/pamixer/default.nix2
-rw-r--r--pkgs/applications/audio/picard/default.nix35
-rw-r--r--pkgs/applications/audio/yoshimi/default.nix2
-rw-r--r--pkgs/applications/editors/emacs-24/macport-24.3.nix100
-rw-r--r--pkgs/applications/editors/emacs-24/macport-24.4.nix (renamed from pkgs/applications/editors/emacs-24/macport.nix)0
-rw-r--r--pkgs/applications/editors/emacs-modes/magit/default.nix9
-rw-r--r--pkgs/applications/editors/idea/default.nix107
-rw-r--r--pkgs/applications/editors/kdevelop/default.nix4
-rw-r--r--pkgs/applications/editors/vim/macvim.nix10
-rw-r--r--pkgs/applications/graphics/freecad/default.nix2
-rw-r--r--pkgs/applications/graphics/geeqie/default.nix40
-rw-r--r--pkgs/applications/graphics/luminance-hdr/default.nix2
-rw-r--r--pkgs/applications/graphics/openimageio/default.nix2
-rw-r--r--pkgs/applications/graphics/openscad/default.nix2
-rw-r--r--pkgs/applications/graphics/rapcad/default.nix8
-rw-r--r--pkgs/applications/graphics/sxiv/146.patch25
-rw-r--r--pkgs/applications/graphics/sxiv/default.nix23
-rw-r--r--pkgs/applications/graphics/synfigstudio/default.nix26
-rw-r--r--pkgs/applications/graphics/zgrviewer/default.nix4
-rw-r--r--pkgs/applications/misc/bitcoin/default.nix4
-rw-r--r--pkgs/applications/misc/bitcoin/dogecoin.nix1
-rw-r--r--pkgs/applications/misc/blender/default.nix2
-rw-r--r--pkgs/applications/misc/d4x/default.nix4
-rw-r--r--pkgs/applications/misc/freicoin/default.nix2
-rw-r--r--pkgs/applications/misc/gnuradio/default.nix2
-rw-r--r--pkgs/applications/misc/kdeconnect/default.nix10
-rw-r--r--pkgs/applications/misc/librecad/2.0.nix2
-rw-r--r--pkgs/applications/misc/monero/default.nix2
-rw-r--r--pkgs/applications/misc/namecoin/default.nix2
-rw-r--r--pkgs/applications/misc/namecoin/qt.nix2
-rw-r--r--pkgs/applications/misc/twmn/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/default.nix200
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb219
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/generate_sources.rb48
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/sources.nix192
-rw-r--r--pkgs/applications/networking/browsers/firefox/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/ekiga/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/kadu/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/twinkle/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/vacuum/default.nix8
-rw-r--r--pkgs/applications/networking/linssid/default.nix2
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix124
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/generate_nix.rb213
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/generate_sources.rb46
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix120
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/eiskaltdcpp/default.nix2
-rw-r--r--pkgs/applications/networking/p2p/frostwire/default.nix36
-rw-r--r--pkgs/applications/networking/p2p/qbittorrent/default.nix15
-rw-r--r--pkgs/applications/networking/p2p/twister/default.nix1
-rw-r--r--pkgs/applications/office/ledger/3.0.nix2
-rw-r--r--pkgs/applications/office/libreoffice/default.nix22
-rw-r--r--pkgs/applications/office/libreoffice/libreoffice-srcs.nix6
-rw-r--r--pkgs/applications/science/electronics/pulseview/default.nix2
-rw-r--r--pkgs/applications/science/logic/coq/HEAD.nix6
-rw-r--r--pkgs/applications/science/logic/coq/default.nix4
-rw-r--r--pkgs/applications/science/logic/stp/default.nix2
-rw-r--r--pkgs/applications/science/math/sage/default.nix9
-rw-r--r--pkgs/applications/version-management/gource/default.nix4
-rw-r--r--pkgs/applications/video/aegisub/default.nix1
-rw-r--r--pkgs/applications/video/gnash/default.nix9
-rw-r--r--pkgs/applications/video/mkvtoolnix/default.nix1
-rw-r--r--pkgs/applications/video/mythtv/default.nix22
-rw-r--r--pkgs/applications/video/mythtv/settings.patch13
-rw-r--r--pkgs/applications/video/xbmc/default.nix6
-rw-r--r--pkgs/applications/video/xbmc/plugins.nix6
-rw-r--r--pkgs/applications/video/xbmc/wrapper.nix9
-rw-r--r--pkgs/applications/virtualization/virt-viewer/default.nix4
-rw-r--r--pkgs/applications/virtualization/virtualbox/default.nix8
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions/default.nix2
72 files changed, 832 insertions, 992 deletions
diff --git a/pkgs/applications/audio/guitarix/default.nix b/pkgs/applications/audio/guitarix/default.nix
index fd61c65dba2e..5e88da8f856e 100644
--- a/pkgs/applications/audio/guitarix/default.nix
+++ b/pkgs/applications/audio/guitarix/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    avahi boost boost.lib eigen fftw gettext glib glibmm gtk gtkmm intltool
+    avahi boost eigen fftw gettext glib glibmm gtk gtkmm intltool
     jack2 ladspaH librdf libsndfile lilv lv2 pkgconfig python serd sord sratom
   ];
 
diff --git a/pkgs/applications/audio/ingen/default.nix b/pkgs/applications/audio/ingen/default.nix
index f6c0d9e99450..450b57a68195 100644
--- a/pkgs/applications/audio/ingen/default.nix
+++ b/pkgs/applications/audio/ingen/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation  rec {
   };
 
   buildInputs = [
-    boost boost.lib ganv glibmm gtk gtkmm jack2 lilv lv2 pkgconfig python
+    boost ganv glibmm gtk gtkmm jack2 lilv lv2 pkgconfig python
     raul serd sord sratom suil
   ];
 
diff --git a/pkgs/applications/audio/pamixer/default.nix b/pkgs/applications/audio/pamixer/default.nix
index 769af20c0ed0..d273c2381778 100644
--- a/pkgs/applications/audio/pamixer/default.nix
+++ b/pkgs/applications/audio/pamixer/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     sha256 = "03r0sbfj85wp6yxa87pjg69ivmk0mxxa2nykr8gf2c607igmb034";
   };
 
-  buildInputs = [ pulseaudio boost boost.lib ];
+  buildInputs = [ pulseaudio boost ];
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/applications/audio/picard/default.nix b/pkgs/applications/audio/picard/default.nix
index 235a81a6a32a..d0c3f010e6e1 100644
--- a/pkgs/applications/audio/picard/default.nix
+++ b/pkgs/applications/audio/picard/default.nix
@@ -1,26 +1,17 @@
-{ stdenv, fetchurl, pythonPackages, gettext, pyqt4
-, pkgconfig, libdiscid, libofa, ffmpeg, chromaprint
+{ stdenv, buildPythonPackage, fetchurl, gettext
+, pkgconfig, libofa, ffmpeg, chromaprint
+, pyqt4, mutagen, python-libdiscid
 }:
 
-pythonPackages.buildPythonPackage rec {
+let version = "1.3"; in
+buildPythonPackage {
   name = "picard-${version}";
-  namePrefix = "";
-  version = "1.2";
 
   src = fetchurl {
-    url = "http://ftp.musicbrainz.org/pub/musicbrainz/picard/${name}.tar.gz";
-    sha256 = "0sbsf8hzxhxcnnjqvsd6mc23lmk7w33nln0f3w72f89mjgs6pxm6";
+    url = "ftp://ftp.musicbrainz.org/pub/musicbrainz/picard/picard-${version}.tar.gz";
+    sha256 = "06s90w1j29qhd931dgj752k5v4pjbvxiz6g0613xzj3ms8zsrlys";
   };
 
-  postPatch = let
-    discid = "${libdiscid}/lib/libdiscid.so.0";
-    fpr = "${chromaprint}/bin/fpcalc";
-  in ''
-    substituteInPlace picard/disc.py --replace libdiscid.so.0 ${discid}
-    substituteInPlace picard/const.py \
-        --replace "FPCALC_NAMES = [" "FPCALC_NAMES = ['${fpr}',"
-  '';
-
   buildInputs = [
     pkgconfig
     ffmpeg
@@ -29,19 +20,11 @@ pythonPackages.buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    pythonPackages.mutagen
     pyqt4
-    libdiscid
+    mutagen
+    python-libdiscid
   ];
 
-  configurePhase = ''
-    python setup.py config
-  '';
-
-  buildPhase = ''
-    python setup.py build
-  '';
-
   installPhase = ''
     python setup.py install --prefix="$out"
   '';
diff --git a/pkgs/applications/audio/yoshimi/default.nix b/pkgs/applications/audio/yoshimi/default.nix
index ec168486f6d3..bab6cdcf33f0 100644
--- a/pkgs/applications/audio/yoshimi/default.nix
+++ b/pkgs/applications/audio/yoshimi/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation  rec {
   };
 
   buildInputs = [
-    alsaLib boost boost.lib cairo fftwSinglePrec fltk jack2 libsndfile mesa
+    alsaLib boost cairo fftwSinglePrec fltk jack2 libsndfile mesa
     minixml zlib xorg.libpthreadstubs
   ];
 
diff --git a/pkgs/applications/editors/emacs-24/macport-24.3.nix b/pkgs/applications/editors/emacs-24/macport-24.3.nix
new file mode 100644
index 000000000000..d9b32351040b
--- /dev/null
+++ b/pkgs/applications/editors/emacs-24/macport-24.3.nix
@@ -0,0 +1,100 @@
+{ stdenv, fetchurl, ncurses, pkgconfig, texinfo, libxml2, gnutls
+}:
+
+stdenv.mkDerivation rec {
+  emacsName = "emacs-24.3";
+  name = "${emacsName}-mac-4.8";
+
+  #builder = ./builder.sh;
+
+  src = fetchurl {
+    url = "mirror://gnu/emacs/${emacsName}.tar.xz";
+    sha256 = "1385qzs3bsa52s5rcncbrkxlydkw0ajzrvfxgv8rws5fx512kakh";
+  };
+
+  macportSrc = fetchurl {
+    url = "ftp://ftp.math.s.chiba-u.ac.jp/emacs/${name}.tar.gz";
+    sha256 = "194y341zrpjp75mc3099kjc0inr1d379wwsnav257bwsc967h8yx";
+  };
+
+  patches = [ ./darwin-new-sections.patch ];
+
+  buildInputs = [ ncurses pkgconfig texinfo libxml2 gnutls ];
+
+  postUnpack = ''
+    mv $emacsName $name
+    tar xzf $macportSrc
+    mv $name $emacsName
+  '';
+
+  preConfigure = ''
+    patch -p0 < patch-mac
+
+    # The search for 'tputs' will fail because it's in ncursesw within the
+    # ncurses package, yet Emacs' configure script only looks in ncurses.
+    # Further, we need to make sure that the -L option occurs before mention
+    # of the library, so that it finds it within the Nix store.
+    sed -i 's/tinfo ncurses/tinfo ncursesw/' configure
+    ncurseslib=$(echo ${ncurses}/lib | sed 's#/#\\/#g')
+    sed -i "s/OLIBS=\$LIBS/OLIBS=\"-L$ncurseslib \$LIBS\"/" configure
+    sed -i 's/LIBS="\$LIBS_TERMCAP \$LIBS"/LIBS="\$LIBS \$LIBS_TERMCAP"/' configure
+
+    configureFlagsArray=(
+      LDFLAGS=-L${ncurses}/lib
+      --with-xml2=yes
+      --with-gnutls=yes
+      --with-mac
+      --enable-mac-app=$out/Applications
+    )
+    makeFlagsArray=(
+      CFLAGS=-O3
+      LDFLAGS="-O3 -L${ncurses}/lib"
+    );
+  '';
+
+  postInstall = ''
+    cat >$out/share/emacs/site-lisp/site-start.el <<EOF
+    ;; nixos specific load-path
+    (when (getenv "NIX_PROFILES") (setq load-path
+                          (append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/"))
+                             (split-string (getenv "NIX_PROFILES"))))
+                    load-path)))
+
+    ;; make tramp work for NixOS machines
+    (eval-after-load 'tramp '(add-to-list 'tramp-remote-path "/run/current-system/sw/bin"))
+    EOF
+  '';
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "GNU Emacs 24, the extensible, customizable text editor";
+    homepage    = http://www.gnu.org/software/emacs/;
+    license     = licenses.gpl3Plus;
+    maintainers = with maintainers; [ jwiegley ];
+    platforms   = platforms.darwin;
+
+    longDescription = ''
+      GNU Emacs is an extensible, customizable text editor—and more.  At its
+      core is an interpreter for Emacs Lisp, a dialect of the Lisp
+      programming language with extensions to support text editing.
+
+      The features of GNU Emacs include: content-sensitive editing modes,
+      including syntax coloring, for a wide variety of file types including
+      plain text, source code, and HTML; complete built-in documentation,
+      including a tutorial for new users; full Unicode support for nearly all
+      human languages and their scripts; highly customizable, using Emacs
+      Lisp code or a graphical interface; a large number of extensions that
+      add other functionality, including a project planner, mail and news
+      reader, debugger interface, calendar, and more.  Many of these
+      extensions are distributed with GNU Emacs; others are available
+      separately.
+
+      This is "Mac port" addition to GNU Emacs 24. This provides a native
+      GUI support for Mac OS X 10.4 - 10.9. Note that Emacs 23 and later
+      already contain the official GUI support via the NS (Cocoa) port for
+      Mac OS X 10.4 and later. So if it is good enough for you, then you
+      don't need to try this.
+    '';
+  };
+}
diff --git a/pkgs/applications/editors/emacs-24/macport.nix b/pkgs/applications/editors/emacs-24/macport-24.4.nix
index b357d19b6746..b357d19b6746 100644
--- a/pkgs/applications/editors/emacs-24/macport.nix
+++ b/pkgs/applications/editors/emacs-24/macport-24.4.nix
diff --git a/pkgs/applications/editors/emacs-modes/magit/default.nix b/pkgs/applications/editors/emacs-modes/magit/default.nix
index 4a8d8b20d04a..676a86985f8f 100644
--- a/pkgs/applications/editors/emacs-modes/magit/default.nix
+++ b/pkgs/applications/editors/emacs-modes/magit/default.nix
@@ -1,16 +1,13 @@
 { stdenv, fetchFromGitHub, emacs, texinfo, gitModes, git }:
 
-let
-  version = "90141016";
-in
 stdenv.mkDerivation rec {
-  name = "magit-${version}";
+  name = "magit-90141025";
 
   src = fetchFromGitHub {
     owner = "magit";
     repo = "magit";
-    rev = version;
-    sha256 = "11d3gzj0hlb7wqsjzjb0vf9i0ik4xzwdyayjy4hfgx0gjmymkfx3";
+    rev = "50c08522c8a3c67e0f3b821fe4df61e8bd456ff9";
+    sha256 = "0mzyx72pidzvla1x2qszn3c60n2j0n8i5k875c4difvd1n4p0vsk";
   };
 
   buildInputs = [ emacs texinfo git ];
diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix
index 7fbe58f1b292..7c81f3c5c81a 100644
--- a/pkgs/applications/editors/idea/default.nix
+++ b/pkgs/applications/editors/idea/default.nix
@@ -109,36 +109,27 @@ let
       };
     });
 
-  buildPycharm = { name, version, build, src, license, description }:
+  buildClion = { name, version, build, src, license, description }:
     (mkIdeaProduct rec {
       inherit name version build src;
-      product = "PyCharm";
+      patchSnappy = false;
+      product = "CLion";
       meta = with stdenv.lib; {
-        homepage = "https://www.jetbrains.com/pycharm/";
+        homepage = "https://www.jetbrains.com/clion/";
         inherit description license;
         longDescription = ''
-          Python IDE with complete set of tools for productive
-          development with Python programming language. In addition, the
-          IDE provides high-class capabilities for professional Web
-          development with Django framework and Google App Engine. It
-          has powerful coding assistance, navigation, a lot of
-          refactoring features, tight integration with various Version
-          Control Systems, Unit testing, powerful all-singing
-          all-dancing Debugger and entire customization. PyCharm is
-          developer driven IDE. It was developed with the aim of
-          providing you almost everything you need for your comfortable
-          and productive development!
+          Enhancing productivity for every C and C++
+          developer on Linux, OS X and Windows.
         '';
-        maintainers = with maintainers; [ jgeerds ];
+        maintainers = with maintainers; [ edwtjo ];
         platforms = platforms.linux;
       };
-    }).override {
-      propagatedUserEnvPkgs = [ python ];
-    };
+    });
 
   buildIdea = { name, version, build, src, license, description }:
     (mkIdeaProduct rec {
       inherit name version build src;
+      patchSnappy = false;
       product = "IDEA";
       meta = with stdenv.lib; {
         homepage = "https://www.jetbrains.com/idea/";
@@ -153,6 +144,19 @@ let
       };
     });
 
+  buildRubyMine = { name, version, build, src, license, description }:
+    (mkIdeaProduct rec {
+      inherit name version build src;
+      product = "RubyMine";
+      meta = with stdenv.lib; {
+        homepage = "https://www.jetbrains.com/ruby/";
+        inherit description license;
+        longDescription = description;
+        maintainers = with maintainers; [ edwtjo ];
+        platforms = platforms.linux;
+      };
+    });
+
   buildPhpStorm = { name, version, build, src, license, description }:
     (mkIdeaProduct {
       inherit name version build src;
@@ -171,6 +175,33 @@ let
       };
     });
 
+  buildPycharm = { name, version, build, src, license, description }:
+    (mkIdeaProduct rec {
+      inherit name version build src;
+      product = "PyCharm";
+      meta = with stdenv.lib; {
+        homepage = "https://www.jetbrains.com/pycharm/";
+        inherit description license;
+        longDescription = ''
+          Python IDE with complete set of tools for productive
+          development with Python programming language. In addition, the
+          IDE provides high-class capabilities for professional Web
+          development with Django framework and Google App Engine. It
+          has powerful coding assistance, navigation, a lot of
+          refactoring features, tight integration with various Version
+          Control Systems, Unit testing, powerful all-singing
+          all-dancing Debugger and entire customization. PyCharm is
+          developer driven IDE. It was developed with the aim of
+          providing you almost everything you need for your comfortable
+          and productive development!
+        '';
+        maintainers = with maintainers; [ jgeerds ];
+        platforms = platforms.linux;
+      };
+    }).override {
+      propagatedUserEnvPkgs = [ python ];
+    };
+
 in
 
 {
@@ -188,27 +219,51 @@ in
     };
   };
 
+  clion = buildClion rec {
+    name = "clion";
+    version = "eap";
+    build = "138.2344.17";
+    description  = "C/C++ IDE. New. Intelligent. Cross-platform.";
+    license = stdenv.lib.licenses.unfree;
+    src = fetchurl {
+      url = "http://download.jetbrains.com/cpp/${name}-${build}.tar.gz";
+      sha256 = "4b568d31132a787b748bc41c69b614dcd90229db69b02406677361bc077efab3";
+    };
+  };
+
   idea-community = buildIdea rec {
     name = "idea-community-${version}";
-    version = "13.1.5";
-    build = "IC-135.1289";
+    version = "14pre";
+    build = "IC-139.222.5";
     description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
-      url = "http://download-ln.jetbrains.com/idea/ideaIC-${version}.tar.gz";
-      sha256 = "e08b9adad0ed9aa62a43f3026a1b499d1663710314d00a3bec2e171a6c375f09";
+      url = "http://download-ln.jetbrains.com/idea/idea${build}.tar.gz";
+      sha256 = "e2c696f465da36b77148a61b45f35f8f08ceae3b624904de8f7cccf0e7c20ce2";
     };
   };
 
   idea-ultimate = buildIdea rec {
     name = "idea-ultimate-${version}";
-    version = "13.1.5";
-    build = "IU-135.1289";
+    version = "14pre";
+    build = "IU-139.222.5";
     description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
-      url = "http://download-ln.jetbrains.com/idea/ideaIU-${version}.tar.gz";
-      sha256 = "0800b1ffc135f884e46f1004289fb75850148d705afc447d3374cfd281c231a2";
+      url = "http://download-ln.jetbrains.com/idea/idea${build}.tar.gz";
+      sha256 = "d8e8927adebdc4d2e5f1f5bfb0ecc97c3e561b74d56391898dd36abe89a4f170";
+    };
+  };
+
+  ruby-mine = buildRubyMine rec {
+    name = "ruby-mine-${version}";
+    version = "6.3.3";
+    build = "135.1104";
+    description = "The Most Intelligent Ruby and Rails IDE";
+    license = stdenv.lib.licenses.unfree;
+    src = fetchurl {
+      url = "http://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
+      sha256 = "58d555c2702a93fe62f3809a5cc34e566ecce0c3f1f15daaf87744402157dfac";
     };
   };
 
diff --git a/pkgs/applications/editors/kdevelop/default.nix b/pkgs/applications/editors/kdevelop/default.nix
index 945a6210e786..b98e02fd7b98 100644
--- a/pkgs/applications/editors/kdevelop/default.nix
+++ b/pkgs/applications/editors/kdevelop/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, kdevplatform, cmake, pkgconfig, automoc4, shared_mime_info,
-  kdebase_workspace, gettext, perl, okteta, qjson }:
+  kdebase_workspace, gettext, perl, okteta, qjson, kate, konsole, kde_runtime, oxygen_icons }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake pkgconfig automoc4 shared_mime_info gettext perl ];
 
+  propagatedUserEnvPkgs = [ kdevplatform kate konsole kde_runtime oxygen_icons ];
+
   NIX_CFLAGS_COMPILE = "-I${okteta}/include/KDE";
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/editors/vim/macvim.nix b/pkgs/applications/editors/vim/macvim.nix
index 8fc3a4108d2d..784be80ecf48 100644
--- a/pkgs/applications/editors/vim/macvim.nix
+++ b/pkgs/applications/editors/vim/macvim.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, ncurses, gettext,
+{ stdenv, fetchurl, ncurses, gettext,
   pkgconfig, cscope, python, ruby, tcl, perl, luajit
 }:
 
@@ -7,11 +7,9 @@ stdenv.mkDerivation rec {
 
   version = "7.4.479";
 
-  src = fetchFromGitHub {
-    owner = "genoma";
-    repo = "macvim";
-    rev = "f9c084b97fa9d5cad2448dfd3eff3d9b7f0fac59";
-    sha256 = "190bngg8m4bwqcia7w24gn7mmqkhk0mavxy81ziwysam1f652ymf";
+  src = fetchurl {
+    url = "https://github.com/genoma/macvim/archive/g-snapshot-21.tar.gz";
+    sha256 = "1s86dpb8bcxh309gikiz8gm9ygv3d2jy6i4qlnxarbvcdk65fzv4";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/graphics/freecad/default.nix b/pkgs/applications/graphics/freecad/default.nix
index 0235f892b8dc..a7665177046b 100644
--- a/pkgs/applications/graphics/freecad/default.nix
+++ b/pkgs/applications/graphics/freecad/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ cmake coin3d xercesc ode eigen qt4 opencascade gts boost
-    boost.lib zlib python swig gfortran soqt libf2c makeWrapper matplotlib
+    zlib python swig gfortran soqt libf2c makeWrapper matplotlib
     pycollada pyside pysideShiboken
   ];
 
diff --git a/pkgs/applications/graphics/geeqie/default.nix b/pkgs/applications/graphics/geeqie/default.nix
index e914186ac815..0db1f211e564 100644
--- a/pkgs/applications/graphics/geeqie/default.nix
+++ b/pkgs/applications/graphics/geeqie/default.nix
@@ -1,5 +1,6 @@
-{ stdenv, fetchgit, pkgconfig, autoconf, automake, gtk, libpng, exiv2, lcms
-, intltool, gettext, libchamplain, fbida }:
+{ stdenv, fetchgit, autoconf, automake, libtool, pkgconfig, gtk, libpng, exiv2
+, lcms, intltool, gettext, libchamplain, fbida
+}:
 
 stdenv.mkDerivation rec {
   name = "geeqie-${version}";
@@ -11,22 +12,25 @@ stdenv.mkDerivation rec {
     sha256 = "1h9w0jrcqcp5jjgmks5pvpppnfxhcd1s3vqlyb3qyil2wfk8n8wp";
   };
 
-  preConfigure = "./autogen.sh";
-
-  configureFlags = [ "--enable-gps" ];
-
-  buildInputs =
-    [ pkgconfig autoconf automake gtk libpng exiv2 lcms intltool gettext
-      libchamplain
-    ];
-
-  postInstall =
-    ''
-      # Allow geeqie to find exiv2 and exiftran, necessary to
-      # losslessly rotate JPEG images.
-      sed -i $out/lib/geeqie/geeqie-rotate \
-          -e '1 a export PATH=${exiv2}/bin:${fbida}/bin:$PATH'
-    '';
+  configureFlags = [
+    "--enable-gps"
+  ];
+
+  configurePhase = ''
+    ./autogen.sh $configureFlags --prefix="$out"
+  '';
+
+  buildInputs = [
+    autoconf automake libtool pkgconfig gtk libpng exiv2 lcms intltool gettext
+    libchamplain
+  ];
+
+  postInstall = ''
+    # Allow geeqie to find exiv2 and exiftran, necessary to
+    # losslessly rotate JPEG images.
+    sed -i $out/lib/geeqie/geeqie-rotate \
+        -e '1 a export PATH=${exiv2}/bin:${fbida}/bin:$PATH'
+  '';
 
   meta = with stdenv.lib; {
     description = "Lightweight GTK+ based image viewer";
diff --git a/pkgs/applications/graphics/luminance-hdr/default.nix b/pkgs/applications/graphics/luminance-hdr/default.nix
index 7f2d3e245890..7558b0aef4b6 100644
--- a/pkgs/applications/graphics/luminance-hdr/default.nix
+++ b/pkgs/applications/graphics/luminance-hdr/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
 
-  buildInputs = [ qt5 boost boost.lib exiv2 fftwFloat gsl ilmbase lcms2 libraw libtiff openexr ];
+  buildInputs = [ qt5 boost exiv2 fftwFloat gsl ilmbase lcms2 libraw libtiff openexr ];
 
   nativeBuildInputs = [ cmake pkgconfig ];
 
diff --git a/pkgs/applications/graphics/openimageio/default.nix b/pkgs/applications/graphics/openimageio/default.nix
index f6d7c25b196d..00ba14d98af6 100644
--- a/pkgs/applications/graphics/openimageio/default.nix
+++ b/pkgs/applications/graphics/openimageio/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    boost boost.lib cmake ilmbase libjpeg libpng libtiff opencolorio openexr
+    boost cmake ilmbase libjpeg libpng libtiff opencolorio openexr
     unzip
   ];
 
diff --git a/pkgs/applications/graphics/openscad/default.nix b/pkgs/applications/graphics/openscad/default.nix
index 67611d2f67cc..e6d5ee5528f0 100644
--- a/pkgs/applications/graphics/openscad/default.nix
+++ b/pkgs/applications/graphics/openscad/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    qt4 bison flex eigen boost boost.lib mesa glew opencsg cgal mpfr gmp glib
+    qt4 bison flex eigen boost mesa glew opencsg cgal mpfr gmp glib
     pkgconfig
   ];
 
diff --git a/pkgs/applications/graphics/rapcad/default.nix b/pkgs/applications/graphics/rapcad/default.nix
index b314bdaf6baa..b8a07f01e03a 100644
--- a/pkgs/applications/graphics/rapcad/default.nix
+++ b/pkgs/applications/graphics/rapcad/default.nix
@@ -1,16 +1,16 @@
-{stdenv, fetchgit, qt4, cgal, boost, gmp, mpfr, flex, bison, dxflib}: 
+{stdenv, fetchgit, qt5, cgal, boost, gmp, mpfr, flex, bison, dxflib, readline }: 
 
 stdenv.mkDerivation rec {
-  version = "0.8.0";
+  version = "0.9.5";
   name = "rapcad-${version}";
 
   src = fetchgit {
     url = "https://github.com/GilesBathgate/RapCAD.git";
     rev = "refs/tags/v${version}";
-    sha256 = "37c7107dc4fcf8942a4ad35377c4e42e6aedfa35296e5fcf8d84882ae35087c7";
+    sha256 = "15c18jvgbwyrfhv7r35ih0gzx35vjlsbi984h1sckgh2z17hjq8l";
   };
   
-  buildInputs = [qt4 cgal boost boost.lib gmp mpfr flex bison dxflib];
+  buildInputs = [qt5 cgal boost gmp mpfr flex bison dxflib readline ];
 
   configurePhase = ''
     qmake;
diff --git a/pkgs/applications/graphics/sxiv/146.patch b/pkgs/applications/graphics/sxiv/146.patch
deleted file mode 100644
index ad1b030e1a46..000000000000
--- a/pkgs/applications/graphics/sxiv/146.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From b901236261dc717dc08ed10f63e2d5cd3f3031f8 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Bart=C5=82omiej=20Piotrowski?= <b@bpiotrowski.pl>
-Date: Tue, 27 May 2014 11:46:06 +0200
-Subject: [PATCH] Fix build with giflib >= 5.1.0.
-
----
- image.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/image.c b/image.c
-index e62a69f..7eec544 100644
---- a/image.c
-+++ b/image.c
-@@ -278,7 +278,11 @@ bool img_load_gif(img_t *img, const fileinfo_t *file)
- 		}
- 	} while (rec != TERMINATE_RECORD_TYPE);
- 
-+#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 && GIFLIB_MINOR >= 1
-+	DGifCloseFile(gif, NULL);
-+#else
- 	DGifCloseFile(gif);
-+#endif
- 
- 	if (err && !file->loaded)
- 		warn("corrupted gif file: %s", file->name);
diff --git a/pkgs/applications/graphics/sxiv/default.nix b/pkgs/applications/graphics/sxiv/default.nix
index b62bbb57f642..e7e52f91b499 100644
--- a/pkgs/applications/graphics/sxiv/default.nix
+++ b/pkgs/applications/graphics/sxiv/default.nix
@@ -1,20 +1,21 @@
-{ stdenv, fetchurl, libX11, imlib2, giflib }:
+{ stdenv, fetchgit, libX11, imlib2, giflib, libexif }:
 
 stdenv.mkDerivation rec {
-  name = "sxiv-1.2";
+  version = "1.3-git";
+  name = "sxiv-${version}";
 
-  src = fetchurl {
-    url = "https://github.com/muennich/sxiv/archive/v1.2.tar.gz";
-    name = "${name}.tar.gz";
-    sha256 = "1wwcxy2adc67xd8x6c2sayy1cjcwrv2lvv1iwln7y4w992gbcxmc";
+  src = fetchgit {
+    url = "git@github.com:muennich/sxiv.git";
+    rev = "f55d9f4283f7133ab5a137fc04ee19d1df62fafb";
+    sha256 = "85f734f40fdc837514b72694de12bac92fe130286fa6f1dc374e94d575ca8280";
   };
 
-  patches = [ ./146.patch ];
-
-  buildInputs = [ libX11 imlib2 giflib ];
-
-  prePatch = ''sed -i "s@/usr/local@$out@" Makefile'';
+  postUnpack = ''
+    substituteInPlace $sourceRoot/Makefile \
+      --replace /usr/local $out
+  '';
 
+  buildInputs = [ libX11 imlib2 giflib libexif ];
   meta = {
     description = "Simple X Image Viewer";
     homepage = "https://github.com/muennich/sxiv";
diff --git a/pkgs/applications/graphics/synfigstudio/default.nix b/pkgs/applications/graphics/synfigstudio/default.nix
index 59ca7b7374d4..6af51e817785 100644
--- a/pkgs/applications/graphics/synfigstudio/default.nix
+++ b/pkgs/applications/graphics/synfigstudio/default.nix
@@ -4,14 +4,14 @@
 }:
 
 let
-  version = "0.64.1";
+  version = "0.64.2";
 
   ETL = stdenv.mkDerivation rec {
     name = "ETL-0.04.17";
 
     src = fetchurl {
        url = "mirror://sourceforge/synfig/${name}.tar.gz";
-       sha256 = "13kpiswgcpsif9fwcplqr0405aqavqn390cjnivkn3pxv0d2q8iy";
+       sha256 = "1i2m31y5hdwr365z3zmfh5p3zm4ga4l4yqrl1qrmjryqqzkw200l";
     };
   };
 
@@ -20,32 +20,40 @@ let
 
     src = fetchurl {
        url = "mirror://sourceforge/synfig/synfig-${version}.tar.gz";
-       sha256 = "1b4ksxnqbaq4rxlvasmrvk7z4jvjbsg4ns3cns2qcnz64dyvbgda";
+       sha256 = "04mx321z929ngl65hfc1hv5jw37wqbh8y2avmpvajagvn6lp3zdl";
     };
 
+    configureFlags = [
+      "--with-boost=${boost.dev}"
+      "--with-boost-libdir=${boost.lib}/lib"
+    ];
+
     patches = [ ./synfig-cstring.patch ];
 
     buildInputs = [
-      ETL boost boost.lib cairo gettext glibmm libsigcxx libtool libxmlxx pango
+      ETL boost cairo gettext glibmm libsigcxx libtool libxmlxx pango
       pkgconfig
     ];
-
-    configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ];
   };
 in
 stdenv.mkDerivation rec {
   name = "synfigstudio-${version}";
 
   src = fetchurl {
-       url = "mirror://sourceforge/synfig/${name}.tar.gz";
-       sha256 = "0nl6vpsn5dcjd5qhbrmd0j4mr3wddvymkg9414m77cdpz4l8b9v2";
-    };
+    url = "mirror://sourceforge/synfig/${name}.tar.gz";
+    sha256 = "13hw4z6yx70g4mnjmvmxkk7b1qzlwmqjhxflq5dd6cqdsmfw9mc7";
+  };
 
   buildInputs = [
     ETL boost cairo fontsConf gettext glibmm gtk gtkmm imagemagick intltool
     intltool libsigcxx libtool libxmlxx pkgconfig synfig
   ];
 
+  configureFlags = [
+    "--with-boost=${boost.dev}"
+    "--with-boost-libdir=${boost.lib}/lib"
+  ];
+
   preBuild = ''
     export FONTCONFIG_FILE=${fontsConf}
   '';
diff --git a/pkgs/applications/graphics/zgrviewer/default.nix b/pkgs/applications/graphics/zgrviewer/default.nix
index 4eefd5749b65..a6c299d1ab3a 100644
--- a/pkgs/applications/graphics/zgrviewer/default.nix
+++ b/pkgs/applications/graphics/zgrviewer/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, jre, unzip}:
 stdenv.mkDerivation rec {
-  version = "0.8.2";
+  version = "0.9.0";
   pname = "zgrviewer";
   name="${pname}-${version}";
   src = fetchurl {
     url = "mirror://sourceforge/zvtm/${pname}/${version}/${name}.zip";
-    sha256 = "a76b9865c1490a6cfc08911592a19c15fe5972bf58e017cb31db580146f069bb";
+    sha256 = "1yg2rck81sqqrgfi5kn6c1bz42dr7d0zqpcsdjhicssi1y159f23";
   };
   buildInputs = [jre unzip];
   buildPhase = "";
diff --git a/pkgs/applications/misc/bitcoin/default.nix b/pkgs/applications/misc/bitcoin/default.nix
index 242ee4e9c9f5..808984ad664d 100644
--- a/pkgs/applications/misc/bitcoin/default.nix
+++ b/pkgs/applications/misc/bitcoin/default.nix
@@ -23,10 +23,6 @@ stdenv.mkDerivation rec {
     cd bitcoin*
   '';
 
-  configureFlags = [
-    "--with-boost=${boost}"
-  ];
-
   preCheck = ''
     # At least one test requires writing in $HOME
     HOME=$TMPDIR
diff --git a/pkgs/applications/misc/bitcoin/dogecoin.nix b/pkgs/applications/misc/bitcoin/dogecoin.nix
index 7ace3c161c7b..21da32104d34 100644
--- a/pkgs/applications/misc/bitcoin/dogecoin.nix
+++ b/pkgs/applications/misc/bitcoin/dogecoin.nix
@@ -30,7 +30,6 @@ let
       ./autogen.sh \
       && ./configure --prefix=$out \
                      --with-incompatible-bdb \
-                     --with-boost-libdir=${boost}/lib \
                      ${ if withGui then "--with-gui" else "" }
     '';
 
diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix
index 5b2c5776cf43..01f9b861bf27 100644
--- a/pkgs/applications/misc/blender/default.nix
+++ b/pkgs/applications/misc/blender/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs =
-    [ SDL boost boost.lib cmake ffmpeg gettext glew ilmbase libXi
+    [ SDL boost cmake ffmpeg gettext glew ilmbase libXi
       libjpeg libpng libsamplerate libsndfile libtiff mesa openal
       opencolorio openexr openimageio /* openjpeg */ python zlib fftw
     ]
diff --git a/pkgs/applications/misc/d4x/default.nix b/pkgs/applications/misc/d4x/default.nix
index d6ca3939d137..66fceec9a51b 100644
--- a/pkgs/applications/misc/d4x/default.nix
+++ b/pkgs/applications/misc/d4x/default.nix
@@ -10,10 +10,6 @@ stdenv.mkDerivation {
     sha256 = "1i1jj02bxynisqapv31481sz9jpfp3f023ky47spz1v1wlwbs13m";
   };
 
-  configurePhase = "./configure --prefix=\$out "
-    + " --with-boost-libdir=\$boost/lib"
-    + " --with-boost-includedir=\$boost/include";
-    
   buildInputs = [ gtk glib pkgconfig openssl boost ];
 
   meta = { 
diff --git a/pkgs/applications/misc/freicoin/default.nix b/pkgs/applications/misc/freicoin/default.nix
index 06ea5e9ad5cb..65265fc07a5a 100644
--- a/pkgs/applications/misc/freicoin/default.nix
+++ b/pkgs/applications/misc/freicoin/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   # I think that openssl and zlib are required, but come through other
   # packages
-  buildInputs = [ db boost boost.lib gmp mpfr miniupnpc qt4 unzip ];
+  buildInputs = [ db boost gmp mpfr miniupnpc qt4 unzip ];
 
   configurePhase = "qmake";
 
diff --git a/pkgs/applications/misc/gnuradio/default.nix b/pkgs/applications/misc/gnuradio/default.nix
index db8595e1baa8..045d6f9f92ab 100644
--- a/pkgs/applications/misc/gnuradio/default.nix
+++ b/pkgs/applications/misc/gnuradio/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    cmake pkgconfig git boost boost.lib cppunit fftw python swig2 orc lxml qt4
+    cmake pkgconfig git boost cppunit fftw python swig2 orc lxml qt4
     qwt alsaLib SDL libusb1 uhd gsl makeWrapper
   ];
 
diff --git a/pkgs/applications/misc/kdeconnect/default.nix b/pkgs/applications/misc/kdeconnect/default.nix
index 663ce872e222..dcb83d7a79d6 100644
--- a/pkgs/applications/misc/kdeconnect/default.nix
+++ b/pkgs/applications/misc/kdeconnect/default.nix
@@ -1,15 +1,17 @@
-{ stdenv, fetchurl, gettext, kdelibs, libXtst, makeWrapper, qca2, qca2_ossl, qjson }:
+{ stdenv, fetchurl, gettext, kdelibs, libXtst, libfakekey, makeWrapper, pkgconfig, qca2, qca2_ossl
+, qjson
+}:
 
 stdenv.mkDerivation rec {
   name = "kdeconnect-${version}";
-  version = "0.7.2";
+  version = "0.7.3";
 
   src = fetchurl {
     url = "http://download.kde.org/unstable/kdeconnect/${version}/src/kdeconnect-kde-${version}.tar.xz";
-    sha256 = "1v7sicgy39n8pn7nzq9f7lkmwbcvavhy3b66agyhxwmyzz6mcd4g";
+    sha256 = "1vrr047bq5skxvibv5pb9ch9dxh005zmar017jzbyb9hilxr8kg4";
   };
 
-  buildInputs = [ gettext kdelibs libXtst makeWrapper qca2 qca2_ossl qjson ];
+  buildInputs = [ gettext kdelibs libXtst libfakekey makeWrapper pkgconfig qca2 qca2_ossl qjson ];
 
   postInstall = ''
     wrapProgram $out/lib/kde4/libexec/kdeconnectd --prefix QT_PLUGIN_PATH : ${qca2_ossl}/lib/qt4/plugins
diff --git a/pkgs/applications/misc/librecad/2.0.nix b/pkgs/applications/misc/librecad/2.0.nix
index 8b7a9a40c872..6cc775b72d39 100644
--- a/pkgs/applications/misc/librecad/2.0.nix
+++ b/pkgs/applications/misc/librecad/2.0.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
   '';
 
   configurePhase = ''
-    qmake librecad.pro PREFIX=$out MUPARSER_DIR=${muparser} BOOST_DIR=${boost}
+    qmake librecad.pro PREFIX=$out MUPARSER_DIR=${muparser} BOOST_DIR=${boost.dev}
   '';
 
   installPhase = ''
diff --git a/pkgs/applications/misc/monero/default.nix b/pkgs/applications/misc/monero/default.nix
index 52e8d20495b9..1fe5406384f8 100644
--- a/pkgs/applications/misc/monero/default.nix
+++ b/pkgs/applications/misc/monero/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
     sha256 = "0bbhqjjzh922aymjqrnl2hd3r8x6p7x5aa5jidv3l4d77drhlgzy";
   };
 
-  buildInputs = [ cmake boost boost.lib ];
+  buildInputs = [ cmake boost ];
 
   # these tests take a long time and don't
   # always complete in the build environment
diff --git a/pkgs/applications/misc/namecoin/default.nix b/pkgs/applications/misc/namecoin/default.nix
index 94ee63fe2de2..d9e09923c3be 100644
--- a/pkgs/applications/misc/namecoin/default.nix
+++ b/pkgs/applications/misc/namecoin/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   # Don't build with miniupnpc due to namecoin using a different verison that
   # ships with NixOS and it is API incompatible.
-  buildInputs = [ db4 boost boost.lib openssl unzip ];
+  buildInputs = [ db4 boost openssl unzip ];
 
   patchPhase = ''
     sed -e 's/-Wl,-Bstatic//g' -e 's/-l gthread-2.0//g' -e 's/-l z//g' -i src/Makefile
diff --git a/pkgs/applications/misc/namecoin/qt.nix b/pkgs/applications/misc/namecoin/qt.nix
index 6b63bf7ca348..2a83a4d11d6f 100644
--- a/pkgs/applications/misc/namecoin/qt.nix
+++ b/pkgs/applications/misc/namecoin/qt.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
 
   # Don't build with miniupnpc due to namecoin using a different verison that
   # ships with NixOS and it is API incompatible.
-  buildInputs = [ db4 boost boost.lib openssl unzip qt4 ];
+  buildInputs = [ db4 boost openssl unzip qt4 ];
 
   configurePhase = ''
     qmake USE_UPNP=-
diff --git a/pkgs/applications/misc/twmn/default.nix b/pkgs/applications/misc/twmn/default.nix
index e144d12f762e..65c2ccb5ff0b 100644
--- a/pkgs/applications/misc/twmn/default.nix
+++ b/pkgs/applications/misc/twmn/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "1jd2y0ydcpjdmjbx77lw35710sqfwbgyrnpv66mi3gwvrbyiwpf3";
   };
 
-  buildInputs = [ qt4 pkgconfig boost boost.lib ];
+  buildInputs = [ qt4 pkgconfig boost ];
   propagatedBuildInputs = [ dbus ];
 
   configurePhase = "qmake";
diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix
index ecf8dbc0fc61..7e48eb83653d 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -1,8 +1,3 @@
-# This file is generated from generate_nix.rb. DO NOT EDIT.
-# Execute the following command in a temporary directory to update the file.
-#
-# ruby generate_nix.rb > default.nix
-
 { stdenv, fetchurl, config
 , alsaLib
 , atk
@@ -21,7 +16,10 @@
 , gtk
 , libX11
 , libXScrnSaver
+, libXcomposite
+, libXdamage
 , libXext
+, libXfixes
 , libXinerama
 , libXrender
 , libXt
@@ -39,191 +37,10 @@
 
 assert stdenv.isLinux;
 
-let
-  version = "32.0.3";
-  sources = [
-    { locale = "ach"; arch = "linux-i686"; sha256 = "fd22fab9da5ba843876e0daf7db5069e3898a8bd548f8b324169914c88c02a10"; }
-    { locale = "ach"; arch = "linux-x86_64"; sha256 = "221028e98d8cb1cb330da4d2707c7cf98d2ae0066081f0b505d6cc4fa8fd4b30"; }
-    { locale = "af"; arch = "linux-i686"; sha256 = "37c93da084d25bd47c6aaf5389846ba4ac1e68a8989c03890b69142a46a2dddc"; }
-    { locale = "af"; arch = "linux-x86_64"; sha256 = "91dc95820faca47b031a8685a12e67d2f0b7f2cc9be5ff40f316bcf4c4110eee"; }
-    { locale = "an"; arch = "linux-i686"; sha256 = "c1251a6eb097cfc2bfa1fb137bcfcfbea333d457d57de3dce40ca60b96b07a53"; }
-    { locale = "an"; arch = "linux-x86_64"; sha256 = "fe010c04615c743f0500f9066bfab2e53d799074cbbd17c458b072ee741547f6"; }
-    { locale = "ar"; arch = "linux-i686"; sha256 = "e3482b3f6629c3addba28f86496c6608823b0a462ebca259bc9acc9ccadd07f3"; }
-    { locale = "ar"; arch = "linux-x86_64"; sha256 = "d2ba7625730d461d5f870ad4151991071ed36f141c65872d2e9493108d495603"; }
-    { locale = "as"; arch = "linux-i686"; sha256 = "7f44156bd7087d5ddb46f8ecbcf2d7468b32cca7ed7ac88989e604b9853d603b"; }
-    { locale = "as"; arch = "linux-x86_64"; sha256 = "a189cb96dedc9943362eaa70e851c64e0115c6c526d9d38a38ce2d79d80dea56"; }
-    { locale = "ast"; arch = "linux-i686"; sha256 = "5d62d0d12f4cd678567b470a1b6d94ea5889a5c6530a5d3d0b4d07c04bae1f18"; }
-    { locale = "ast"; arch = "linux-x86_64"; sha256 = "2e6f1caf2432ae2e6b6b3125449f7dcca1e2a3658ce267a0320aa449934260d8"; }
-    { locale = "be"; arch = "linux-i686"; sha256 = "d41d7abad29170d7d5df953bf9f3f22c56df8e85ddb4ba657cc0cbf357cdef0f"; }
-    { locale = "be"; arch = "linux-x86_64"; sha256 = "c899602dcf3ca72c657cc30ea54f986f44943ea9583da1dd6d48ebfe4489b7be"; }
-    { locale = "bg"; arch = "linux-i686"; sha256 = "e4ed4c432b3f399a2f7aa93ae62ae1ffadd8e4758c44f359a0faa401c014a3da"; }
-    { locale = "bg"; arch = "linux-x86_64"; sha256 = "138dc4afa256ca1a6f50ea250df5a032c69020f629e2b91843947e73f8e665c9"; }
-    { locale = "bn-BD"; arch = "linux-i686"; sha256 = "30f450b36b71431f87e016c09ab0e26f8ed72ee7a0cede0689be13d8b61a882c"; }
-    { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "ad320fef3271f5c6955404847552d11800ca8e8d7821cda53eb3311b6014281f"; }
-    { locale = "bn-IN"; arch = "linux-i686"; sha256 = "1e4b1b3d06cbda0aacb1d971b9a70f5648f05e9ad225de87739baef602b3d58f"; }
-    { locale = "bn-IN"; arch = "linux-x86_64"; sha256 = "51264d05eb58cec598a726b8e29e583355431c429a6f9eeddc16360ad0ef0dd5"; }
-    { locale = "br"; arch = "linux-i686"; sha256 = "e0e661d835297bb895ee3d2887fb4321b9c3c5af73edf5d36d365b254b0dc731"; }
-    { locale = "br"; arch = "linux-x86_64"; sha256 = "94c8e2b56ec784f3e2912a36bece9866c20e419069591517477b67156ad65f47"; }
-    { locale = "bs"; arch = "linux-i686"; sha256 = "ea2950b6c81b6cb108b518320c0e53406c972b6d46944fec39f92c10722be7ca"; }
-    { locale = "bs"; arch = "linux-x86_64"; sha256 = "4ceba96a76ec7631dc524d3e3b56c5994967b7ef227f38d3e3aa435c131f561a"; }
-    { locale = "ca"; arch = "linux-i686"; sha256 = "eb68c1f8e99ab00ddb9861ece4f1d17ca07c7e77fd4c2d4f4ff233f6f0018ba4"; }
-    { locale = "ca"; arch = "linux-x86_64"; sha256 = "17fe82eeeeb6c385010980984b04a8e71d3770a0d36d83e26786a5884aed7c05"; }
-    { locale = "cs"; arch = "linux-i686"; sha256 = "69e2a0769284464a95db122fa97f1dfb268b02b754fe6a4842683fd4c94d9a13"; }
-    { locale = "cs"; arch = "linux-x86_64"; sha256 = "bebaef3126c14b4d23c024176170aabb090463cae1a1b72b6b498ab3720bb9cf"; }
-    { locale = "csb"; arch = "linux-i686"; sha256 = "9ac7be93d0c3a72460ee3fea75621008bee5b2e85b78796f02eded8239562d81"; }
-    { locale = "csb"; arch = "linux-x86_64"; sha256 = "1af41e62a6c9ee47dad2d031fd7dcc0ff8b773ac7a912e6888f068e533972dd4"; }
-    { locale = "cy"; arch = "linux-i686"; sha256 = "339ff34b6b6d79db48b83ec9cc34fcb853652795e648c82845bbccf910b4286f"; }
-    { locale = "cy"; arch = "linux-x86_64"; sha256 = "686e466692bda17671d2ebf3683d03671c8d063c6a6008f3b27455656a584c95"; }
-    { locale = "da"; arch = "linux-i686"; sha256 = "67f0ee2e479c49853929cfb1b7fefe95d25d563d67f88f1560b21abf60cd67d6"; }
-    { locale = "da"; arch = "linux-x86_64"; sha256 = "d9f7cbbaa576e501edc9c03df922f708562ef1d3f84eefe010b8138b23399e40"; }
-    { locale = "de"; arch = "linux-i686"; sha256 = "a294f585d7f8247ecffd6c71beff75ea07f1ffb1af17830aa54904b6e9c4a71c"; }
-    { locale = "de"; arch = "linux-x86_64"; sha256 = "6dd118ebe633c66ebc7ef0bf71dcc4d5c2ce42552a4b981b74442e184fa8f3a9"; }
-    { locale = "dsb"; arch = "linux-i686"; sha256 = "7b989e4a804e366b7dc4fcd500968851e0978b2cd0f9da95e6f6504b9ccff7de"; }
-    { locale = "dsb"; arch = "linux-x86_64"; sha256 = "aa41149f4f2bc6020980920bdf85d57157ad3cee7dd7be0fa3328ecbb11007bf"; }
-    { locale = "el"; arch = "linux-i686"; sha256 = "f1b5bc91e4e34d6f17f3e4ed65fc3ab71e066b41df3ec0ff8c1156a4a51d7fb9"; }
-    { locale = "el"; arch = "linux-x86_64"; sha256 = "fb602fcc45c21c26aa7d15924182d9158064d43c14c44c62786427eaf51d4b1f"; }
-    { locale = "en-GB"; arch = "linux-i686"; sha256 = "ad269f2192a1d635b8b930aa58a0303a544221e53b38aa8c464c81d807e28477"; }
-    { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "31ac6558c5a1deb512e937a52ca48d2183881de53685ca0dfaa63dc4495e0a73"; }
-    { locale = "en-US"; arch = "linux-i686"; sha256 = "265ae5df1a5f2edeae8d08bdcde45df0920f6fb0ad70385371d06ff890017982"; }
-    { locale = "en-US"; arch = "linux-x86_64"; sha256 = "1a917f88835d8796c52a52ed5c14a9ea71e595de8515ced1ca1356995f529bd6"; }
-    { locale = "en-ZA"; arch = "linux-i686"; sha256 = "e345f37777a2d7fc763c24c7fb4fe3c6a99c2310066ad405c375b8af069eca84"; }
-    { locale = "en-ZA"; arch = "linux-x86_64"; sha256 = "d86bf38fb667938852531f081caefe10baba79dc35ff737fa468744911f6968b"; }
-    { locale = "eo"; arch = "linux-i686"; sha256 = "7b4069d26d4abfdd9878192fc7c5a54686687c401425205bce064d9720ae6f7c"; }
-    { locale = "eo"; arch = "linux-x86_64"; sha256 = "b1a1b3b8c0c72856e5bb6058dd0ea2dabf2d9dee084f0355a248bee253838b29"; }
-    { locale = "es-AR"; arch = "linux-i686"; sha256 = "5ef56bebe60802f449bcbd1e53ae6726c5109c559a8a9707269de2a31481764a"; }
-    { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "65f909b7f1e67cfcebbc8cab1377b967095b5a7f9650c7fa861544bbc874b59f"; }
-    { locale = "es-CL"; arch = "linux-i686"; sha256 = "0b7499173c0f44ccc4cecb49e1801bb596d7a027c5ee39678252530672785906"; }
-    { locale = "es-CL"; arch = "linux-x86_64"; sha256 = "69573ffa581de80f21c0201083febcc7de5549d9e567f02227f7d4567c1a97f8"; }
-    { locale = "es-ES"; arch = "linux-i686"; sha256 = "640bc3111816383cb69e59039289737ca5d16ec2f5238b694348e9df1db794a0"; }
-    { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "fca7e225eac47f200c3cd01ee617a1fc6bbd728eddba30bb4583eb486155ab47"; }
-    { locale = "es-MX"; arch = "linux-i686"; sha256 = "32342a144805a3c4e6bab5de0411116862d0b8276befa6f8689eca5d9da01860"; }
-    { locale = "es-MX"; arch = "linux-x86_64"; sha256 = "cc189b4d4abdd9e90fd0dbfcc5b683e2a717f1f41a7930d9c0b6c405de97a9b3"; }
-    { locale = "et"; arch = "linux-i686"; sha256 = "b203934a8292393d84f389ca3a13d25e0c9602a10faf60804b435cf45f2fd691"; }
-    { locale = "et"; arch = "linux-x86_64"; sha256 = "4384025c813efa759c2dd62ed735d662f26d1037e95e892050987d4b2f602a45"; }
-    { locale = "eu"; arch = "linux-i686"; sha256 = "179fb3acef15d262a9d2f7347a32f1d99bbcd5048c5cab5b69aaccb35afe82f2"; }
-    { locale = "eu"; arch = "linux-x86_64"; sha256 = "cec3a33bc9950f97f14fc6493158e095e7a1660e4d104c2ff23ce655813d28cc"; }
-    { locale = "fa"; arch = "linux-i686"; sha256 = "7ce8f6af63ad6d683e5e70e9b077c2452a7c0c040bad83efceab860e3d41d288"; }
-    { locale = "fa"; arch = "linux-x86_64"; sha256 = "14f7b3f7c7eff44db26c3b55ae85b8625354f1962315fd40e3df4199b067d303"; }
-    { locale = "ff"; arch = "linux-i686"; sha256 = "f4c9eb89160a5d4bf815715860fc4bc6bc7954e544182e60b204a031f83be5e0"; }
-    { locale = "ff"; arch = "linux-x86_64"; sha256 = "b774f005bb5dee44eb0974834b42441b47a68f733ef22446b2547aef898b0c02"; }
-    { locale = "fi"; arch = "linux-i686"; sha256 = "873cf1d866f5db419549a9c39fad9524599a737d80c6568d7a5c9c3739d36cd4"; }
-    { locale = "fi"; arch = "linux-x86_64"; sha256 = "29f179920b198403f983b11bbd3f1b2d2cb83c65f5f8edcff63dd891d50c413a"; }
-    { locale = "fr"; arch = "linux-i686"; sha256 = "ade608f8965144177d656d33ff4fa2f8fbd8f54861fca68ac74abab9ca085ad5"; }
-    { locale = "fr"; arch = "linux-x86_64"; sha256 = "9bfade44971633bca8b12d6e2e05de6d20ec55e368d78da49e44a0131e9d94bb"; }
-    { locale = "fy-NL"; arch = "linux-i686"; sha256 = "6124308765f3456ac066dc734d245c455168d66ed59a8a65edc1b59ff1130169"; }
-    { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "9a60afeb858c1e48e21e112f772bc2efd3ef2891b51d0241384658905b140709"; }
-    { locale = "ga-IE"; arch = "linux-i686"; sha256 = "2de086f287e86d29579896e8fdd9a4d43ba5ed49b5042e4b5c71ff6380d21467"; }
-    { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "4f2cb11d743ac7d6fb5bc319c940729aa81d9ac97545cf5c6096fcd0d2e7de69"; }
-    { locale = "gd"; arch = "linux-i686"; sha256 = "c18e5614d73f79df017b1cdedb6949e907ffcdc4152ddfbd56f79242a742f13a"; }
-    { locale = "gd"; arch = "linux-x86_64"; sha256 = "4b64e007698b2433ead4b14b87c06fd1682ebe7e90ee881d310a8cdab2cd4d13"; }
-    { locale = "gl"; arch = "linux-i686"; sha256 = "b319a40c4fa9c81533f431e95ad8f33d365aa799d3dccde5188beb3442c8422d"; }
-    { locale = "gl"; arch = "linux-x86_64"; sha256 = "04a9103e56982e4529c361647ccef527cfbbbb4e88a96a708c0665ee04accd44"; }
-    { locale = "gu-IN"; arch = "linux-i686"; sha256 = "a15bd410f9bdfde48438db95c44d91472f5567bd41c529b13a7b4d057f97a6b3"; }
-    { locale = "gu-IN"; arch = "linux-x86_64"; sha256 = "8046ecbabf700872e4e8cf5d1a1d3df53f984a00415e49cb1d21bd507533f4c9"; }
-    { locale = "he"; arch = "linux-i686"; sha256 = "8369eeb403ef55e61263eafb61e8265f130d5fe4dc277b5e68f6efb65edf6702"; }
-    { locale = "he"; arch = "linux-x86_64"; sha256 = "a602a9944685ce688a002ea87178e1231170b78ba6ee911a3c7effa41768ecb1"; }
-    { locale = "hi-IN"; arch = "linux-i686"; sha256 = "6eb2e8fa05bf7470f1be9756a5e529e5949f3e0796a0c663ee44c7264846fd3b"; }
-    { locale = "hi-IN"; arch = "linux-x86_64"; sha256 = "7e39439801361ab9051941323987364678ef9b1fc8e765bfad2d39d836b7bf85"; }
-    { locale = "hr"; arch = "linux-i686"; sha256 = "84cabd389757c61cea75ffc642a4b52e544e841a124066701eb071d2d88c15ed"; }
-    { locale = "hr"; arch = "linux-x86_64"; sha256 = "0bc123e9a5190d155727971c2bed078a5e6b857daa22f2f4bcee4aee76e07bbc"; }
-    { locale = "hsb"; arch = "linux-i686"; sha256 = "7a5d5a4a7a936defd6c3ea3b04550e39398428f90722d521490b700133964f82"; }
-    { locale = "hsb"; arch = "linux-x86_64"; sha256 = "545ec5865ce941ca3bc635032cd65215111d56b3f0d68814efdd8ecacaab1d1d"; }
-    { locale = "hu"; arch = "linux-i686"; sha256 = "b540eadbfa2bf5232049e30167ccf16249786f612ec152c14999e660eceb6497"; }
-    { locale = "hu"; arch = "linux-x86_64"; sha256 = "4f64d672481bfe88f40fcf944d98fafceae18372c1e2373bba8172877d7555b8"; }
-    { locale = "hy-AM"; arch = "linux-i686"; sha256 = "f5ace133a64745ecf564996ebd6be55ce3ee0ee5be2ed8fe6c66414833d1e479"; }
-    { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "e949bffb9180b0ccdc6794b99b3897f9f30dbea84d9d218cd68477634eb58b25"; }
-    { locale = "id"; arch = "linux-i686"; sha256 = "73f2d64106a3404f6edcc66ab59091ffedb0fcd0c7f475becebebdfc4df41e1c"; }
-    { locale = "id"; arch = "linux-x86_64"; sha256 = "20d9193d9fc95a3e040220373c216913ca0099989d665b516b1e5de1cd7bf05b"; }
-    { locale = "is"; arch = "linux-i686"; sha256 = "d6bdeb739b5db8c8a25239963bf2f0d096b76f5914f8f4f4a4843e611beaad9f"; }
-    { locale = "is"; arch = "linux-x86_64"; sha256 = "300ccec13085aee1b011dd0058c279a31981b3e91280440672e09c71c4dd0eda"; }
-    { locale = "it"; arch = "linux-i686"; sha256 = "1e02459ec7e62ca3038018e6c88f410e53b0d7b3d1b6cb94d74ad0218a54a948"; }
-    { locale = "it"; arch = "linux-x86_64"; sha256 = "ba8e8a9ab5f391a5560b7bfd41dd853c6b52c2ff59ce8424f96236263985029d"; }
-    { locale = "ja"; arch = "linux-i686"; sha256 = "681589c9748b0c7f78ba5c4afa0f254af6f92a0c0cfb504df6b29f94a917f8bb"; }
-    { locale = "ja"; arch = "linux-x86_64"; sha256 = "7c6447f4dd823e1517ce12ad0b295b53a22d3a0855e1660fac9563a91f6999c2"; }
-    { locale = "kk"; arch = "linux-i686"; sha256 = "0303c9b812115d3ada0d8fdfcf8e77143f4239440935bfaad5340d33a3270b8b"; }
-    { locale = "kk"; arch = "linux-x86_64"; sha256 = "168b2ae2ac9168ae674d8649840fd7cc93d95325c7c0d60d7251239b776e5886"; }
-    { locale = "km"; arch = "linux-i686"; sha256 = "04ba6e90f883e52809e51202356e4abda62ae40bb0ed225965ec8eeca333457d"; }
-    { locale = "km"; arch = "linux-x86_64"; sha256 = "4903ca63d1ffdafbb7ae36eb7221992101a8a013928e25a820aac51022cdbade"; }
-    { locale = "kn"; arch = "linux-i686"; sha256 = "2fc54219aa69f963c86e47fc2cafd78bfad2bbd2a11d2fb947786eaa30cfe255"; }
-    { locale = "kn"; arch = "linux-x86_64"; sha256 = "8fd8e3de5ba9bf2f408da21bdedc1d2baf269fb33251d38fc84ec8b9c2fc86a8"; }
-    { locale = "ko"; arch = "linux-i686"; sha256 = "eba2c630a59006bad5ff822409c18008e46a327e2903d88461dc88a54f573baa"; }
-    { locale = "ko"; arch = "linux-x86_64"; sha256 = "baaafa60c8101ea2dfab30149e7ac6b953a63fb7c835e6aa1488349ce8a98384"; }
-    { locale = "ku"; arch = "linux-i686"; sha256 = "b1333ed8afb9cd20b0e24d25e5747f466050acf1fc4ae2924df1bb345ce49f90"; }
-    { locale = "ku"; arch = "linux-x86_64"; sha256 = "dd87578c93884388871680ef66f1d37e78f78939e7182a7d3a41fd8287afcdb8"; }
-    { locale = "lij"; arch = "linux-i686"; sha256 = "6bdab68412b7d08da2023da4346eeac231bbda2de36d7225b7f7bdd23a36dbd6"; }
-    { locale = "lij"; arch = "linux-x86_64"; sha256 = "d31d69421e74bf089e74f70e5c595284a8b60ce153c7c3ffd83e808adb1bf371"; }
-    { locale = "lt"; arch = "linux-i686"; sha256 = "4e15475eed19edf5080695da8c9dc94d3bc28e064a30065a1adeb6ea11adcce9"; }
-    { locale = "lt"; arch = "linux-x86_64"; sha256 = "f5b94a979a1863d068e4f35f71476677febe23de0de2dd803f44e57d2a196c55"; }
-    { locale = "lv"; arch = "linux-i686"; sha256 = "177f771d821f7501d906fea0bec54d6064e36ce74dc5e17596cdbc460b7c0115"; }
-    { locale = "lv"; arch = "linux-x86_64"; sha256 = "a958f13c3be77bdd1ea10edb5a453f54aaf6b2b7d00981762ea946abb2aa0a7c"; }
-    { locale = "mai"; arch = "linux-i686"; sha256 = "32ee3fdb74c2023952071679cfc271ef548b0ba278619f0d2c2f19596c1b5fa1"; }
-    { locale = "mai"; arch = "linux-x86_64"; sha256 = "c4bb89d5c9b16a4814a628ee31f8628cf287864db44d55ba11321d8203a1fd1c"; }
-    { locale = "mk"; arch = "linux-i686"; sha256 = "b7ef5bee8ed38ba31ee2e2c1ab010e3a385b97096fff0120bb279e82b6220464"; }
-    { locale = "mk"; arch = "linux-x86_64"; sha256 = "edf82adb52759c0d60f4bbf23ba1e0b2f7bb47475c80621a508e8a46c6221d06"; }
-    { locale = "ml"; arch = "linux-i686"; sha256 = "265e68ed9ca02987ca9bc165b4fb69217e4e7aaf73d7ceb83eb0a3d472a3cbed"; }
-    { locale = "ml"; arch = "linux-x86_64"; sha256 = "948eae17ae44b03c01124243f2246abe98fa6fdd17e9f174a8b1387f87994ff4"; }
-    { locale = "mr"; arch = "linux-i686"; sha256 = "d3941188b754ec8219b0682eb8c3b531debbeccc0a5738a6304bb18075e473a6"; }
-    { locale = "mr"; arch = "linux-x86_64"; sha256 = "b40f07132f883a703caefc275ad4a3a6d65f0e5535067595ddd9e7ff604ca315"; }
-    { locale = "ms"; arch = "linux-i686"; sha256 = "217ae6fba0bb782e84bfc7d7658971c72a8922c4b8ae32abcacd8548c3b865ea"; }
-    { locale = "ms"; arch = "linux-x86_64"; sha256 = "74d4a6123c40d92db7690e518d6943c916ee5a8ad266c94bdb8edc0e31f7e744"; }
-    { locale = "nb-NO"; arch = "linux-i686"; sha256 = "cc66fba1d389994b079962e78a7aeb2e4df8c3eea785ada286983a12329c2699"; }
-    { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "20161c2e0fdfdc65625d31d6ec1fbbdf2b88281e44b9dcbc9c4e5a07bf03d105"; }
-    { locale = "nl"; arch = "linux-i686"; sha256 = "a8b86126c00e2fefe05a3783e03c7f3f6ca9575180b3b275b1dbb85c68cb126a"; }
-    { locale = "nl"; arch = "linux-x86_64"; sha256 = "61fea91996c56b7279dc88714567b3e63f69d1b56a2922ea9886b74a69045d53"; }
-    { locale = "nn-NO"; arch = "linux-i686"; sha256 = "594e4c7393b6692bcbff4a732cb22687207cdbbfeb1d66bd10d7784fa60b1fd1"; }
-    { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "ae78c76d203532c34023f06a6c7a3f26e864a1b95aca358b7c680e275b250c8a"; }
-    { locale = "or"; arch = "linux-i686"; sha256 = "b26642112413d3c53c6275a8b2bbaf162f4bdbaf9002ad4479b807e3447b2abe"; }
-    { locale = "or"; arch = "linux-x86_64"; sha256 = "d212b39c68a7cf8619c946ff7e94c2081ba2a9fca3ed599870167477a887fe87"; }
-    { locale = "pa-IN"; arch = "linux-i686"; sha256 = "e28e4bec4e4f9d151bdc1e1ffbd42266052fbd81a479c70196a614f825e42f9f"; }
-    { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "4874f5407d8040a5e447d5a22a8d9e433a6bda273bc813654d95e0b9abb02af5"; }
-    { locale = "pl"; arch = "linux-i686"; sha256 = "f738a7209e3da17fbc2c955148ef1e0ec08878acf374b9bff2ae6cb0b3b50138"; }
-    { locale = "pl"; arch = "linux-x86_64"; sha256 = "b78325bc9ab80c176ba266cc6c46933f78ba69e0da44e6526e7b433336534d11"; }
-    { locale = "pt-BR"; arch = "linux-i686"; sha256 = "dc1564eeb496b1b8584338879d26cfbe4e2191eef204c80ee6a2f9c2d4722426"; }
-    { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "48c8bb9a52ae80c74f6fe379b28cf072d8275158326e752c776c27409578fcfe"; }
-    { locale = "pt-PT"; arch = "linux-i686"; sha256 = "0e74d57776d68d3d35e26b5fabdb66016a00d8bf22c6ec458ffea2e2e233227d"; }
-    { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "61d5fbc72f928e59cdf93ef08684e4d598b154638bf88cdace7d274874efa040"; }
-    { locale = "rm"; arch = "linux-i686"; sha256 = "1baa7d0d61394c3108ff7d91798fa917e63a1a0943785f94697619cbb684148a"; }
-    { locale = "rm"; arch = "linux-x86_64"; sha256 = "5cec6c5c013997f1ebade4d139d055b1df3fb5ed75dd41e335535dbfc6bc9359"; }
-    { locale = "ro"; arch = "linux-i686"; sha256 = "78e4f327a928aed2342d845c9e8e4458eca8f77898aa2a7dd5f7ca55fc61a62b"; }
-    { locale = "ro"; arch = "linux-x86_64"; sha256 = "320c3dbd605c650b378ed8e93e8b2518039c8efab27471012a498dbc51d1cac3"; }
-    { locale = "ru"; arch = "linux-i686"; sha256 = "3fc9d98a86e63717dfeaa58ece0dbbb1a0523801c56c056ff74a60491a27fcb9"; }
-    { locale = "ru"; arch = "linux-x86_64"; sha256 = "1d95e946fbb109380ad2e2fd5986f12211241113e218ae7ecb43e009b7aa5a37"; }
-    { locale = "si"; arch = "linux-i686"; sha256 = "12d8e83cc703c00da6054bd32bdf39993b588cbb5374880a3961d5ab476b6d29"; }
-    { locale = "si"; arch = "linux-x86_64"; sha256 = "4ce710ccda7b56a46a8fea2f42c499aa2296377a0979f76f19563caa85f4517e"; }
-    { locale = "sk"; arch = "linux-i686"; sha256 = "86b726c25de378d53a8220681468fec88a7d525288b02eb9b700b12f87739ffc"; }
-    { locale = "sk"; arch = "linux-x86_64"; sha256 = "bf8f6bb1b5fd7c82ca14f1802e7914e10b981c04d3ca89df983fe07d7df5b88c"; }
-    { locale = "sl"; arch = "linux-i686"; sha256 = "39aaca3b7a559346aa418fd4abb1f2a44dc71901050a212178e3cbc7b870e6b1"; }
-    { locale = "sl"; arch = "linux-x86_64"; sha256 = "85f5f097c7b9a07bbcb97caa9c8e5cfd16d3636ae17b41ec32e91d1238134db9"; }
-    { locale = "son"; arch = "linux-i686"; sha256 = "2b5a33079e835afdf0246f8b4dec1db92fcc861636a75333c75f6d5d40c14201"; }
-    { locale = "son"; arch = "linux-x86_64"; sha256 = "4d91324e9b7f88db822216440d5420b0c8b0898bdf77699a6b0fde1ab4db2f0c"; }
-    { locale = "sq"; arch = "linux-i686"; sha256 = "e3e0194f5e72904b056be4b3e941c015d5af0d9f1a349fa39492a6cefaf5236d"; }
-    { locale = "sq"; arch = "linux-x86_64"; sha256 = "45767fa6b57fb21399d4850fa88a3435e3fe0bb679de56fc1c28767eca235ba5"; }
-    { locale = "sr"; arch = "linux-i686"; sha256 = "0f7addd1581d8552b874651bc8dde5b2fe4d4b814c694272674fb5f7732000be"; }
-    { locale = "sr"; arch = "linux-x86_64"; sha256 = "7b68d38004216c86e3eb648fa78b06da88a703d68343f723f8e9d577d4c1224c"; }
-    { locale = "sv-SE"; arch = "linux-i686"; sha256 = "5f76d137052ff04da12e80f08a34a09c6ccd92d9ddf2f6efcf193940a948f86c"; }
-    { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "1aac59a70ac58bfe1926e87a850d7a5a2783332cfd49d9df1ad1fd3e276a9a29"; }
-    { locale = "ta"; arch = "linux-i686"; sha256 = "2716d50134514693b5d6edafc7c127c708b9973c39d42823987061547e4c18be"; }
-    { locale = "ta"; arch = "linux-x86_64"; sha256 = "9c9310ad313227cab38d8cd9ff6c4d9c15037bd39777a7fbd4b23ca71a1ac48e"; }
-    { locale = "te"; arch = "linux-i686"; sha256 = "ac7d78ab767b13810ef7f313c2ba92067756082667db0e256e916f1f0be8c9fa"; }
-    { locale = "te"; arch = "linux-x86_64"; sha256 = "cd6fc0d115fb67272f205a3595c82107dc8b20ce0696a2de8da6f82a7ae07112"; }
-    { locale = "th"; arch = "linux-i686"; sha256 = "2d17b346aa296b79e880b83185d3608de4369de62e2e0ce2cfb8d2f3dd6ee97f"; }
-    { locale = "th"; arch = "linux-x86_64"; sha256 = "331f2c59b2659c65c6899455e9ce55cd54b8debf4d17a60a8d6e76e2198080b6"; }
-    { locale = "tr"; arch = "linux-i686"; sha256 = "491550857b3b2b3643f1798a9e871492177cdddfd17366057d147e1fbe1ca40e"; }
-    { locale = "tr"; arch = "linux-x86_64"; sha256 = "aa8677def660eb8a3d258e7e7da05972e84be96807c8c7912f15bde05d749af7"; }
-    { locale = "uk"; arch = "linux-i686"; sha256 = "9ebb7a0997353bc84b5d48ffae1631d30a70ecc3ed21010fc8499513e3404651"; }
-    { locale = "uk"; arch = "linux-x86_64"; sha256 = "d686139d6622d6867cb9af95ec0c5e79866974d12468722d40c0ede104897034"; }
-    { locale = "vi"; arch = "linux-i686"; sha256 = "e56c74b2f6752667f9448c081114065aa0d1c63979cc4bbbf1965a7acc62133e"; }
-    { locale = "vi"; arch = "linux-x86_64"; sha256 = "41c79d4bcca7c28d02108129de1c8c93f5666bbaf651faef1eb9b424d4e8cb5d"; }
-    { locale = "xh"; arch = "linux-i686"; sha256 = "89f30d4950fec07c9f1df426c1e5e9f72ab15efa5db93d243418909369d69f03"; }
-    { locale = "xh"; arch = "linux-x86_64"; sha256 = "f97ea6169a6bdd4e48a0aee72ca709ebc1e2032a406d3dde6d8a6719b8429ee7"; }
-    { locale = "zh-CN"; arch = "linux-i686"; sha256 = "9ad1e75c6ca5f38bb565e747cec2901ad567efd69efa56328b912e37239f5b9e"; }
-    { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "400baea252b6f92051e7b054bdb4a4827571036ff7def10cbd841cfe2eaea60a"; }
-    { locale = "zh-TW"; arch = "linux-i686"; sha256 = "2e7bc62dd7c6c41c5feaf8cf9131bbbb0f0a3403870e57066a98147275b120fd"; }
-    { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "f2d620e5f4e8baac689557dc34ce582aaf36bcf4253c4f7cb00db52e1e1db98e"; }
-    { locale = "zu"; arch = "linux-i686"; sha256 = "c9915d4f1b637934ba22dbb81aa2f711417fd5600c6efe25781f11bbd0c707cc"; }
-    { locale = "zu"; arch = "linux-x86_64"; sha256 = "8fa84e20fb1e21947a8f727bb881d8249bf384944ee9693314cb39715547da5d"; }
-  ];
+# imports `version` and `sources`
+with (import ./sources.nix);
 
+let
   arch = if stdenv.system == "i686-linux"
     then "linux-i686"
     else "linux-x86_64";
@@ -247,7 +64,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/${version}/${source.arch}/${source.locale}/firefox-${version}.tar.bz2";
-    inherit (source) sha256;
+    inherit (source) sha1;
   };
 
   phases = "unpackPhase installPhase";
@@ -271,7 +88,10 @@ stdenv.mkDerivation {
       gtk
       libX11
       libXScrnSaver
+      libXcomposite
+      libXdamage
       libXext
+      libXfixes
       libXinerama
       libXrender
       libXt
diff --git a/pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb b/pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb
deleted file mode 100644
index 7936741cb3e7..000000000000
--- a/pkgs/applications/networking/browsers/firefox-bin/generate_nix.rb
+++ /dev/null
@@ -1,219 +0,0 @@
-# TODO share code with thunderbird-bin/generate_nix.rb
-
-version = if ARGV.empty?
-            "latest"
-          else
-            ARGV[0]
-          end
-
-base_path = "download-installer.cdn.mozilla.net/pub/firefox/releases"
-
-arches = ["linux-i686", "linux-x86_64"]
-
-arches.each do |arch|
-  system("wget", "--recursive", "--continue", "--no-parent", "--reject-regex", ".*\\?.*", "--reject", "xpi", "http://#{base_path}/#{version}/#{arch}/")
-end
-
-locales = Dir.glob("#{base_path}/#{version}/#{arches[0]}/*").map do |path|
-  File.basename(path)
-end.sort
-
-locales.delete("index.html")
-locales.delete("xpi")
-
-# real version number, e.g. "30.0" instead of "latest".
-real_version = Dir.glob("#{base_path}/#{version}/#{arches[0]}/#{locales[0]}/firefox-*")[0].match(/firefox-([0-9.]*)/)[1][0..-2]
-
-locale_arch_path_tuples = locales.flat_map do |locale|
-  arches.map do |arch|
-    path = Dir.glob("#{base_path}/#{version}/#{arch}/#{locale}/firefox-*")[0]
-
-    [locale, arch, path]
-  end
-end
-
-paths = locale_arch_path_tuples.map do |tuple| tuple[2] end
-
-hashes = IO.popen(["sha256sum", "--binary", *paths]) do |input|
-  input.each_line.map do |line|
-    $stderr.puts(line)
-
-    line.match(/^[0-9a-f]*/)[0]
-  end
-end
-
-
-puts(<<"EOH")
-# This file is generated from generate_nix.rb. DO NOT EDIT.
-# Execute the following command in a temporary directory to update the file.
-#
-# ruby generate_nix.rb > default.nix
-
-{ stdenv, fetchurl, config
-, alsaLib
-, atk
-, cairo
-, cups
-, dbus_glib
-, dbus_libs
-, fontconfig
-, freetype
-, gconf
-, gdk_pixbuf
-, glib
-, glibc
-, gst_plugins_base
-, gstreamer
-, gtk
-, libX11
-, libXScrnSaver
-, libXext
-, libXinerama
-, libXrender
-, libXt
-, libcanberra
-, libgnome
-, libgnomeui
-, mesa
-, nspr
-, nss
-, pango
-, heimdal
-, pulseaudio
-, systemd
-}:
-
-assert stdenv.isLinux;
-
-let
-  version = "#{real_version}";
-  sources = [
-EOH
-
-locale_arch_path_tuples.zip(hashes) do |tuple, hash|
-  locale, arch, path = tuple
-
-  puts(%Q|    { locale = "#{locale}"; arch = "#{arch}"; sha256 = "#{hash}"; }|)
-end
-
-puts(<<'EOF')
-  ];
-
-  arch = if stdenv.system == "i686-linux"
-    then "linux-i686"
-    else "linux-x86_64";
-
-  isPrefixOf = prefix: string:
-    builtins.substring 0 (builtins.stringLength prefix) string == prefix;
-
-  sourceMatches = locale: source:
-      (isPrefixOf source.locale locale) && source.arch == arch;
-
-  systemLocale = config.i18n.defaultLocale or "en-US";
-
-  defaultSource = stdenv.lib.findFirst (sourceMatches "en-US") {} sources;
-
-  source = stdenv.lib.findFirst (sourceMatches systemLocale) defaultSource sources;
-
-in
-
-stdenv.mkDerivation {
-  name = "firefox-bin-${version}";
-
-  src = fetchurl {
-    url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/${version}/${source.arch}/${source.locale}/firefox-${version}.tar.bz2";
-    inherit (source) sha256;
-  };
-
-  phases = "unpackPhase installPhase";
-
-  libPath = stdenv.lib.makeLibraryPath
-    [ stdenv.gcc.gcc
-      alsaLib
-      atk
-      cairo
-      cups
-      dbus_glib
-      dbus_libs
-      fontconfig
-      freetype
-      gconf
-      gdk_pixbuf
-      glib
-      glibc
-      gst_plugins_base
-      gstreamer
-      gtk
-      libX11
-      libXScrnSaver
-      libXext
-      libXinerama
-      libXrender
-      libXt
-      libcanberra
-      libgnome
-      libgnomeui
-      mesa
-      nspr
-      nss
-      pango
-      heimdal
-      pulseaudio
-      systemd
-    ] + ":" + stdenv.lib.makeSearchPath "lib64" [
-      stdenv.gcc.gcc
-    ];
-
-  # "strip" after "patchelf" may break binaries.
-  # See: https://github.com/NixOS/patchelf/issues/10
-  dontStrip = 1;
-
-  installPhase =
-    ''
-      mkdir -p "$prefix/usr/lib/firefox-bin-${version}"
-      cp -r * "$prefix/usr/lib/firefox-bin-${version}"
-
-      mkdir -p "$out/bin"
-      ln -s "$prefix/usr/lib/firefox-bin-${version}/firefox" "$out/bin/"
-
-      for executable in \
-        firefox mozilla-xremote-client firefox-bin plugin-container \
-        updater crashreporter webapprt-stub
-      do
-        patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-          "$out/usr/lib/firefox-bin-${version}/$executable"
-      done
-
-      for executable in \
-        firefox mozilla-xremote-client firefox-bin plugin-container \
-        updater crashreporter webapprt-stub libxul.so
-      do
-        patchelf --set-rpath "$libPath" \
-          "$out/usr/lib/firefox-bin-${version}/$executable"
-      done
-
-      # Create a desktop item.
-      mkdir -p $out/share/applications
-      cat > $out/share/applications/firefox.desktop <<EOF
-      [Desktop Entry]
-      Type=Application
-      Exec=$out/bin/firefox
-      Icon=$out/lib/firefox-bin-${version}/chrome/icons/default/default256.png
-      Name=Firefox
-      GenericName=Web Browser
-      Categories=Application;Network;
-      EOF
-    '';
-
-  meta = with stdenv.lib; {
-    description = "Mozilla Firefox, free web browser";
-    homepage = http://www.mozilla.org/firefox/;
-    license = {
-      shortName = "unfree"; # not sure
-      fullName = "unfree";
-      url = http://www.mozilla.org/en-US/foundation/trademarks/policy/;
-    };
-    platforms = platforms.linux;
-  };
-}
-EOF
diff --git a/pkgs/applications/networking/browsers/firefox-bin/generate_sources.rb b/pkgs/applications/networking/browsers/firefox-bin/generate_sources.rb
new file mode 100644
index 000000000000..eabff067f750
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox-bin/generate_sources.rb
@@ -0,0 +1,48 @@
+# TODO share code with thunderbird-bin/generate_sources.rb
+
+require "open-uri"
+
+version = if ARGV.empty?
+            "latest"
+          else
+            ARGV[0]
+          end
+
+base_path = "http://download-installer.cdn.mozilla.net/pub/firefox/releases"
+
+Source = Struct.new(:hash, :arch, :locale, :filename)
+
+sources = open("#{base_path}/#{version}/SHA1SUMS") do |input|
+  input.readlines
+end.select do |line|
+  /\/firefox-.*\.tar\.bz2$/ === line && !(/source/ === line)
+end.map do |line|
+  hash, name = line.chomp.split(/ +/)
+  Source.new(hash, *(name.split("/")))
+end.sort_by do |source|
+  [source.locale, source.arch]
+end
+
+real_version = sources[0].filename.match(/firefox-([0-9.]*)\.tar\.bz2/)[1]
+
+arches = ["linux-i686", "linux-x86_64"]
+
+puts(<<"EOH")
+# This file is generated from generate_nix.rb. DO NOT EDIT.
+# Execute the following command in a temporary directory to update the file.
+#
+# ruby generate_source.rb > source.nix
+
+{
+  version = "#{real_version}";
+  sources = [
+EOH
+
+sources.each do |source|
+  puts(%Q|    { locale = "#{source.locale}"; arch = "#{source.arch}"; sha1 = "#{source.hash}"; }|)
+end
+
+puts(<<'EOF')
+  ];
+}
+EOF
diff --git a/pkgs/applications/networking/browsers/firefox-bin/sources.nix b/pkgs/applications/networking/browsers/firefox-bin/sources.nix
new file mode 100644
index 000000000000..3129498d59c1
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox-bin/sources.nix
@@ -0,0 +1,192 @@
+# This file is generated from generate_nix.rb. DO NOT EDIT.
+# Execute the following command in a temporary directory to update the file.
+#
+# ruby generate_source.rb > source.nix
+
+{
+  version = "33.0.2";
+  sources = [
+    { locale = "ach"; arch = "linux-i686"; sha1 = "84289121c49e9472972f04cafa707abef6d40ab4"; }
+    { locale = "ach"; arch = "linux-x86_64"; sha1 = "b048883f61a09b3a4d46b5b35dfa44df108c013d"; }
+    { locale = "af"; arch = "linux-i686"; sha1 = "2a8bf42955842920044a119b5da480dd40fd99f0"; }
+    { locale = "af"; arch = "linux-x86_64"; sha1 = "c5cd176dc69eea6d3a933b58661704c8c381ca70"; }
+    { locale = "an"; arch = "linux-i686"; sha1 = "8aab040e91770e347bd89a77d6cc3e2f822f1b01"; }
+    { locale = "an"; arch = "linux-x86_64"; sha1 = "fba44ab169b11a78b3616a4bcfa9a813626306a5"; }
+    { locale = "ar"; arch = "linux-i686"; sha1 = "3ca9bee8dfe329198669c27a7743504767e4311c"; }
+    { locale = "ar"; arch = "linux-x86_64"; sha1 = "4420c6974845d5b036ca8465fd530ff477302b6e"; }
+    { locale = "as"; arch = "linux-i686"; sha1 = "85d3f501184ed7bf4fbf2328d7797dc7656c60ea"; }
+    { locale = "as"; arch = "linux-x86_64"; sha1 = "7b79e41bbecb87df2b79c41fd6f4efe5fc5a62f1"; }
+    { locale = "ast"; arch = "linux-i686"; sha1 = "65dc73669af6965ef7cc3e937070a629a91d27c0"; }
+    { locale = "ast"; arch = "linux-x86_64"; sha1 = "5ba415acaf6aaf00ef9603b1bd7c28067a38c06f"; }
+    { locale = "az"; arch = "linux-i686"; sha1 = "161ffff8bba5bd7e3fdfff2cbbe06788a75a1786"; }
+    { locale = "az"; arch = "linux-x86_64"; sha1 = "305c54bf69d82270beaf9268d4936c04465efc19"; }
+    { locale = "be"; arch = "linux-i686"; sha1 = "a4677e7a0013390c99dc117e70f7be344487b9fa"; }
+    { locale = "be"; arch = "linux-x86_64"; sha1 = "9d2a5a92c74dcb4ecc960fda83cda4d6a6a333e7"; }
+    { locale = "bg"; arch = "linux-i686"; sha1 = "06cd3eeb03646b2301f779859b6121e33946b9f9"; }
+    { locale = "bg"; arch = "linux-x86_64"; sha1 = "f352868b172f54d007b72b6364ecd9a073a086e3"; }
+    { locale = "bn-BD"; arch = "linux-i686"; sha1 = "b487c35201063e0b3b1751361973e86bbb6d3646"; }
+    { locale = "bn-BD"; arch = "linux-x86_64"; sha1 = "e5d827177cc3bb9adcb74f01e4937ba77982c2d8"; }
+    { locale = "bn-IN"; arch = "linux-i686"; sha1 = "edb44f171a1d70a7e4c8a0eddceb603b511210f8"; }
+    { locale = "bn-IN"; arch = "linux-x86_64"; sha1 = "dcc2e0ac1c5bb8b06e6daeb8a98d8598664864f9"; }
+    { locale = "br"; arch = "linux-i686"; sha1 = "eb21581ed2c552383e868cf2d689517642b66f47"; }
+    { locale = "br"; arch = "linux-x86_64"; sha1 = "bfedb09a7ad5998b90fc3471115be0a607b0f6ca"; }
+    { locale = "bs"; arch = "linux-i686"; sha1 = "23507b237d3968ceb1a987326ac62d94f9df65ea"; }
+    { locale = "bs"; arch = "linux-x86_64"; sha1 = "47f485cd621bd892994292ed564b90269e2a2754"; }
+    { locale = "ca"; arch = "linux-i686"; sha1 = "e69ae2cf47575cca8403e9d8273161c9f23b28d7"; }
+    { locale = "ca"; arch = "linux-x86_64"; sha1 = "fbe9546b99ffadd68c05783fa14eb56465eda3cc"; }
+    { locale = "cs"; arch = "linux-i686"; sha1 = "dd523103288e93513fa366a2ddbeaa554fdbb176"; }
+    { locale = "cs"; arch = "linux-x86_64"; sha1 = "55c0db80a935cecce7551008fcc389f4fb742748"; }
+    { locale = "csb"; arch = "linux-i686"; sha1 = "66704c774f8aa5b6ed08b5ad418474e39092ec6d"; }
+    { locale = "csb"; arch = "linux-x86_64"; sha1 = "01f72eafcf9b16ba9030956c147fd0198bbc7920"; }
+    { locale = "cy"; arch = "linux-i686"; sha1 = "900d37825d69a9ac26f1876b6967f5b7499bbd85"; }
+    { locale = "cy"; arch = "linux-x86_64"; sha1 = "52da4de76b59a234b933c49ed760f223c7c4c15d"; }
+    { locale = "da"; arch = "linux-i686"; sha1 = "a750e76cd0c9a0f9188642a14339d7c9173cd720"; }
+    { locale = "da"; arch = "linux-x86_64"; sha1 = "59e5293f5862f583b9dccc4c33441773e024f90f"; }
+    { locale = "de"; arch = "linux-i686"; sha1 = "d83b88f086bfc5cfedf15c02ed4b5359abaec1e3"; }
+    { locale = "de"; arch = "linux-x86_64"; sha1 = "a8d3c09b24c9554205d0f7b09b3281ae55e3a7ef"; }
+    { locale = "dsb"; arch = "linux-i686"; sha1 = "123923553c828e8190c265ffbfc423a1744ae031"; }
+    { locale = "dsb"; arch = "linux-x86_64"; sha1 = "51cd2a899d18239e653460eff4b5fb9a3c792cad"; }
+    { locale = "el"; arch = "linux-i686"; sha1 = "280719149af0cbc2ed3216d2f7217e60bfdfa2d1"; }
+    { locale = "el"; arch = "linux-x86_64"; sha1 = "854c5243738cd462465b38fe09da05bcf336fd8e"; }
+    { locale = "en-GB"; arch = "linux-i686"; sha1 = "1db81b7381b6217b2d041b2faaca83a90be48640"; }
+    { locale = "en-GB"; arch = "linux-x86_64"; sha1 = "0de6a9f1ae3f7db8d30cb1b38da6bc928a56a373"; }
+    { locale = "en-US"; arch = "linux-i686"; sha1 = "2a92e782d140055690ce9ac89be46ef2e0664260"; }
+    { locale = "en-US"; arch = "linux-x86_64"; sha1 = "dd511606189c45f830e196b396ee62682ef4116b"; }
+    { locale = "en-ZA"; arch = "linux-i686"; sha1 = "89e0abd4a56ad8d7cfa750e8c1c44e70320ebdbd"; }
+    { locale = "en-ZA"; arch = "linux-x86_64"; sha1 = "873a055caa419904a1c82c29407f7f5d2b6baf70"; }
+    { locale = "eo"; arch = "linux-i686"; sha1 = "369dda2004fadc6d6f58c8f5eb86515eb0fc1c4a"; }
+    { locale = "eo"; arch = "linux-x86_64"; sha1 = "c25e885800ee5a84e05919aee38f29608e878b9f"; }
+    { locale = "es-AR"; arch = "linux-i686"; sha1 = "d334207e5b0456ad90b12b9a713e446b6d0a59e6"; }
+    { locale = "es-AR"; arch = "linux-x86_64"; sha1 = "d6938e9c0e150fcb468301dd12d657e44a6fd216"; }
+    { locale = "es-CL"; arch = "linux-i686"; sha1 = "8a3e3f6302e260857ff09a737e8272d59c3490be"; }
+    { locale = "es-CL"; arch = "linux-x86_64"; sha1 = "5eb5e282d60f97bc723a362dad92d7d14a0ee9e2"; }
+    { locale = "es-ES"; arch = "linux-i686"; sha1 = "69149b7d4309b51ae87deb834d5ab1836dcfb7d4"; }
+    { locale = "es-ES"; arch = "linux-x86_64"; sha1 = "840c817433ec950a0284b4ff59e0634111cff3ae"; }
+    { locale = "es-MX"; arch = "linux-i686"; sha1 = "0a2ddb4b2b92264372b1bdf5ad957147610c5383"; }
+    { locale = "es-MX"; arch = "linux-x86_64"; sha1 = "aab30300c0062f0b3839201cecda6fdd974638ff"; }
+    { locale = "et"; arch = "linux-i686"; sha1 = "a09b9a0c58afbb1a19e841a4f72cca699d0f14e4"; }
+    { locale = "et"; arch = "linux-x86_64"; sha1 = "2c23762407edee338a53f50e9c9f5a884bc2c479"; }
+    { locale = "eu"; arch = "linux-i686"; sha1 = "2b118062f5c8f93cb2be5aa298d4e2caae0302f8"; }
+    { locale = "eu"; arch = "linux-x86_64"; sha1 = "ae2841ec555a74d129052f6af9931d1927bdcccb"; }
+    { locale = "fa"; arch = "linux-i686"; sha1 = "604a2be7317416e31ba2d1705c587a29b9dcfc57"; }
+    { locale = "fa"; arch = "linux-x86_64"; sha1 = "3c53a30d4383d05a12631feb72be8aac88b4ad9e"; }
+    { locale = "ff"; arch = "linux-i686"; sha1 = "7229ddd990a18eddafe2478db0e082b108a18972"; }
+    { locale = "ff"; arch = "linux-x86_64"; sha1 = "0555b251a17ff1fb700e891676987f98a110ec1a"; }
+    { locale = "fi"; arch = "linux-i686"; sha1 = "e04a02fcffab0db1e85b4cee754d5ba8006cf387"; }
+    { locale = "fi"; arch = "linux-x86_64"; sha1 = "d85c3448d2b685fb69cb7f567ee50c21a4d66345"; }
+    { locale = "fr"; arch = "linux-i686"; sha1 = "7be35c9e5bca6b83b3123468333d05360cb212ff"; }
+    { locale = "fr"; arch = "linux-x86_64"; sha1 = "01a9900d207f44456f55499b5c8074983001a896"; }
+    { locale = "fy-NL"; arch = "linux-i686"; sha1 = "aab9b751d299d6ea3b5914b33b6ba22d45a1a800"; }
+    { locale = "fy-NL"; arch = "linux-x86_64"; sha1 = "146f82bc19217b2736e82f6cdf8c367dfe546b0e"; }
+    { locale = "ga-IE"; arch = "linux-i686"; sha1 = "21420623f201278b788f3ebf8ea075d5cd2720cc"; }
+    { locale = "ga-IE"; arch = "linux-x86_64"; sha1 = "888112fc030689f48889227765377dab969e07db"; }
+    { locale = "gd"; arch = "linux-i686"; sha1 = "528b236cb8553576adceb5ffe73a52f07a2bbab7"; }
+    { locale = "gd"; arch = "linux-x86_64"; sha1 = "41d5a5cd74e61d5274774842f224daf22ad9751a"; }
+    { locale = "gl"; arch = "linux-i686"; sha1 = "36397364384b61a083e9cfb4535749b08fd35d68"; }
+    { locale = "gl"; arch = "linux-x86_64"; sha1 = "08a80c6088abf0b970e1bbce1370de24ba3e50bf"; }
+    { locale = "gu-IN"; arch = "linux-i686"; sha1 = "cecf38096e029453ffbaf5ce14333836754f05dc"; }
+    { locale = "gu-IN"; arch = "linux-x86_64"; sha1 = "87515724726efd12eab5018d6062ef8a4bec19c6"; }
+    { locale = "he"; arch = "linux-i686"; sha1 = "ca162ce8e0d33883489923f714cb6880eed4ddf6"; }
+    { locale = "he"; arch = "linux-x86_64"; sha1 = "bdc063b683ccdc26e8d3314aac9a89beffb855dc"; }
+    { locale = "hi-IN"; arch = "linux-i686"; sha1 = "6054818606b0e004f16d503f6772897bc556cea5"; }
+    { locale = "hi-IN"; arch = "linux-x86_64"; sha1 = "b52d98d4bc6825e923ad438b0a4e7989e8cabe3a"; }
+    { locale = "hr"; arch = "linux-i686"; sha1 = "d75988c20d86068523dc2bfbf6f1b6a9fdf50ea2"; }
+    { locale = "hr"; arch = "linux-x86_64"; sha1 = "0eb0eb3bcf947a5df91552a520c3dae502e8ca12"; }
+    { locale = "hsb"; arch = "linux-i686"; sha1 = "6a7af0b5e6f9e7673c41b69c0b20b619657670e1"; }
+    { locale = "hsb"; arch = "linux-x86_64"; sha1 = "eba91ab9ce2c8b4951c201f8ca0247c8810991ce"; }
+    { locale = "hu"; arch = "linux-i686"; sha1 = "0277e06231e406fca6594489d0629a2df28b099a"; }
+    { locale = "hu"; arch = "linux-x86_64"; sha1 = "1049f9deef387f7e51d5b1b87677a236ecd8e8bc"; }
+    { locale = "hy-AM"; arch = "linux-i686"; sha1 = "da5b737c60c95df82a464e3028869892ac083f22"; }
+    { locale = "hy-AM"; arch = "linux-x86_64"; sha1 = "e9bcab47f9870b0dce22f764d78acdb9c8fdc3a2"; }
+    { locale = "id"; arch = "linux-i686"; sha1 = "c76ff5c58977afcedf88ea354596329d83dbfcd4"; }
+    { locale = "id"; arch = "linux-x86_64"; sha1 = "9cd4cfa700f96654608956932cc16d0b60d3de72"; }
+    { locale = "is"; arch = "linux-i686"; sha1 = "b79c4c2131e8ba15d6f31f0609616476b91b739b"; }
+    { locale = "is"; arch = "linux-x86_64"; sha1 = "feaa1616f97e1145554fdd93f1f5310dbf35c30a"; }
+    { locale = "it"; arch = "linux-i686"; sha1 = "e3c1658e92f1ef6ec98c2dce0269eba3c64a4312"; }
+    { locale = "it"; arch = "linux-x86_64"; sha1 = "608298dad85daa4ca08996cfe20a1602a951dcba"; }
+    { locale = "ja"; arch = "linux-i686"; sha1 = "eacc6251f1fca09b41e84d43f84ae49c87619c55"; }
+    { locale = "ja"; arch = "linux-x86_64"; sha1 = "110e1ad59d404aa4bcbf5ed6781a93a27d9756d0"; }
+    { locale = "kk"; arch = "linux-i686"; sha1 = "772ad939e83fb889ac24cafba5006395757d73b8"; }
+    { locale = "kk"; arch = "linux-x86_64"; sha1 = "2d0e1909f76f9007a63afd1aadd3175a3dc5bade"; }
+    { locale = "km"; arch = "linux-i686"; sha1 = "284d52d38a58c392dfa4deac506b26c8dcc8a8d7"; }
+    { locale = "km"; arch = "linux-x86_64"; sha1 = "acf596620f0de73eb51b2ff1687ee5723e1939bd"; }
+    { locale = "kn"; arch = "linux-i686"; sha1 = "b4e3aa3ca7dbad47db42dc10e486d38b4515decc"; }
+    { locale = "kn"; arch = "linux-x86_64"; sha1 = "b24aedb7ed569666e979ef71c54b99c5f0fdecc5"; }
+    { locale = "ko"; arch = "linux-i686"; sha1 = "29e54578a74203613e084a5ef36e05a7fff0e0c7"; }
+    { locale = "ko"; arch = "linux-x86_64"; sha1 = "858fb59b17acbc8027ab5962ed4a4c45b0e3afd7"; }
+    { locale = "ku"; arch = "linux-i686"; sha1 = "ee5b0d2fa065d4f488f9871cb034db27ef02580c"; }
+    { locale = "ku"; arch = "linux-x86_64"; sha1 = "31bbfb80de63d24022c7779ded2e31a32dbdca0e"; }
+    { locale = "lij"; arch = "linux-i686"; sha1 = "4e82e29fbf6485ea16ce0766764ac62ed848b94d"; }
+    { locale = "lij"; arch = "linux-x86_64"; sha1 = "cbe98fdf2eb3001968d0df0769e0cd0902b06fbc"; }
+    { locale = "lt"; arch = "linux-i686"; sha1 = "d12ae187d164616e89cf4eed77e5927e575128d2"; }
+    { locale = "lt"; arch = "linux-x86_64"; sha1 = "518a384b8ad40ea9efe659a896b0512948e1e987"; }
+    { locale = "lv"; arch = "linux-i686"; sha1 = "88c90db1b921a76cb85632e0f362b122d4da411c"; }
+    { locale = "lv"; arch = "linux-x86_64"; sha1 = "3c2a1c0b507c486b709c1010343a97bc8f7c3e77"; }
+    { locale = "mai"; arch = "linux-i686"; sha1 = "5b73e8d4a01826f3b27664b9289953ad3784793b"; }
+    { locale = "mai"; arch = "linux-x86_64"; sha1 = "d988bee839d38d09b990cc93107cc2f53e236928"; }
+    { locale = "mk"; arch = "linux-i686"; sha1 = "dce5f05792e19ae41352b33a15721e91b1ec51d8"; }
+    { locale = "mk"; arch = "linux-x86_64"; sha1 = "92025b929fceecefc7bc120a3bf7cbd4374dadb0"; }
+    { locale = "ml"; arch = "linux-i686"; sha1 = "073aee45ae60efb142514353125f8f73d07cb41b"; }
+    { locale = "ml"; arch = "linux-x86_64"; sha1 = "0aa10e353aacc98de2799c42fb1a767a2db073df"; }
+    { locale = "mr"; arch = "linux-i686"; sha1 = "96f72aa8dbde2c807d314dffe7b17d9ef8cd4cbb"; }
+    { locale = "mr"; arch = "linux-x86_64"; sha1 = "0153e84af4ee51cfe046b7419471788becae94bb"; }
+    { locale = "ms"; arch = "linux-i686"; sha1 = "a5a9a008006830b903aff077dd4ecbd88f56e065"; }
+    { locale = "ms"; arch = "linux-x86_64"; sha1 = "d62254d76c09c6e7ecf5b8fce5f16c19f6778f95"; }
+    { locale = "nb-NO"; arch = "linux-i686"; sha1 = "23552008764881e8132ad918f7fee319d8663665"; }
+    { locale = "nb-NO"; arch = "linux-x86_64"; sha1 = "eb42bdb42d0e51b1c68dc50b8da066682afa6a68"; }
+    { locale = "nl"; arch = "linux-i686"; sha1 = "88fea28ecd7f8257fac516183e48f6a23599850b"; }
+    { locale = "nl"; arch = "linux-x86_64"; sha1 = "9f5002532f94726b53de4c2ea9e0099a2b88e4cc"; }
+    { locale = "nn-NO"; arch = "linux-i686"; sha1 = "005f55140ced2888691c3695f491063874c083e0"; }
+    { locale = "nn-NO"; arch = "linux-x86_64"; sha1 = "9e8c4103fe98a591ca62f8bf3b73dd91ff8e6973"; }
+    { locale = "or"; arch = "linux-i686"; sha1 = "20f94f1c14cfcd95825cbf0613e94b4bf4db8e55"; }
+    { locale = "or"; arch = "linux-x86_64"; sha1 = "9a31112abecd538e1b9489b16a89fd5c8bb10d25"; }
+    { locale = "pa-IN"; arch = "linux-i686"; sha1 = "fa6d6e65d14f7b771c65465b67f1ceca83402051"; }
+    { locale = "pa-IN"; arch = "linux-x86_64"; sha1 = "9268ffeb1982f08044ab882224aad93da4064340"; }
+    { locale = "pl"; arch = "linux-i686"; sha1 = "97b6e4700c6cd35a40e9256dc558cc0f01198c75"; }
+    { locale = "pl"; arch = "linux-x86_64"; sha1 = "46c721a5c778a7dbc51f6a89ef29ee00203a64f9"; }
+    { locale = "pt-BR"; arch = "linux-i686"; sha1 = "11f6f7868a6733a2459d3e36e106526eb0a2b44f"; }
+    { locale = "pt-BR"; arch = "linux-x86_64"; sha1 = "d276a761068f662b59c7d832f24bd756eda5a37a"; }
+    { locale = "pt-PT"; arch = "linux-i686"; sha1 = "3eeb28a4a01d13111a2214ee64647f332d476088"; }
+    { locale = "pt-PT"; arch = "linux-x86_64"; sha1 = "a55faf0846dbf8e964402e75f7c213968afd4568"; }
+    { locale = "rm"; arch = "linux-i686"; sha1 = "471757165eeeeb2e97f3a2e71fc942ad7f7719e4"; }
+    { locale = "rm"; arch = "linux-x86_64"; sha1 = "3583eaf02e502d1346de9ef769a9df236a78599d"; }
+    { locale = "ro"; arch = "linux-i686"; sha1 = "1b93473d549e639b9e3f29e31387fb79ae373d94"; }
+    { locale = "ro"; arch = "linux-x86_64"; sha1 = "dc0255b15ff129cb38eaa0a52d61a2f74bbcf7bc"; }
+    { locale = "ru"; arch = "linux-i686"; sha1 = "43ba7700c44d26b6433678d7dd6e0a0c14d93f45"; }
+    { locale = "ru"; arch = "linux-x86_64"; sha1 = "46bc5736bbfcfb948e9980dbc63b901753e16862"; }
+    { locale = "si"; arch = "linux-i686"; sha1 = "d445f110df79720b14fd6f445167a706b116488b"; }
+    { locale = "si"; arch = "linux-x86_64"; sha1 = "b4b3db391ae6e2d503633245878a00f4e33e0d43"; }
+    { locale = "sk"; arch = "linux-i686"; sha1 = "3080a0fb40da4e96943114d20f1f72529d0667bf"; }
+    { locale = "sk"; arch = "linux-x86_64"; sha1 = "7158353b5310e77ca0497c288f0662e1f922fb7a"; }
+    { locale = "sl"; arch = "linux-i686"; sha1 = "24260e9b0fcb7313a3eebe5070e0a94b27bf81a2"; }
+    { locale = "sl"; arch = "linux-x86_64"; sha1 = "9a5add8d7300ddc64089e02404825514ff17647a"; }
+    { locale = "son"; arch = "linux-i686"; sha1 = "600913614d41258cc77cf506cc13d1ddab40625d"; }
+    { locale = "son"; arch = "linux-x86_64"; sha1 = "b278970e4ca2ccb2dd3491a905bbdbbf0d70490e"; }
+    { locale = "sq"; arch = "linux-i686"; sha1 = "5f15a63b1648e44ae9551aba26e81ec48a6bdfae"; }
+    { locale = "sq"; arch = "linux-x86_64"; sha1 = "cbb9ed192d45f6acaaa27ecfa41b618053c6d7d6"; }
+    { locale = "sr"; arch = "linux-i686"; sha1 = "6ef381a41653bdaeb86315c090fcbc31b9dc606b"; }
+    { locale = "sr"; arch = "linux-x86_64"; sha1 = "0c0957b8bf14789c1d535044ab4c23c6da7b7fb0"; }
+    { locale = "sv-SE"; arch = "linux-i686"; sha1 = "1e1aff3b58c5545d4fca293e36392d1bfa94ad84"; }
+    { locale = "sv-SE"; arch = "linux-x86_64"; sha1 = "6af5115d5c998f01fc47a632a2043d1796dc0e48"; }
+    { locale = "ta"; arch = "linux-i686"; sha1 = "69b0da1959ebe1216042b7e9eb50ce35c1d32dd6"; }
+    { locale = "ta"; arch = "linux-x86_64"; sha1 = "423f5eee83bedcc10aaf43ba78fe8eda221f7225"; }
+    { locale = "te"; arch = "linux-i686"; sha1 = "05c078b8532236c8807366058fa56d86f7d9f202"; }
+    { locale = "te"; arch = "linux-x86_64"; sha1 = "36edfcbe5eee5700b99285d4be56d812f8d6126c"; }
+    { locale = "th"; arch = "linux-i686"; sha1 = "f1dbcb989ab807dde9c718564f2a6666e541fb08"; }
+    { locale = "th"; arch = "linux-x86_64"; sha1 = "6b97dc0cfb18c168b909e80a0cf6944197fcf971"; }
+    { locale = "tr"; arch = "linux-i686"; sha1 = "a5311e7bbece416d44659fb6a026d1c4b7e559ad"; }
+    { locale = "tr"; arch = "linux-x86_64"; sha1 = "75c876fc07f088b4909cc07892e15b9cda8d7d57"; }
+    { locale = "uk"; arch = "linux-i686"; sha1 = "24bcdf22c9887b6272289fc74ec9b7c5ca210fd6"; }
+    { locale = "uk"; arch = "linux-x86_64"; sha1 = "4d334079f0314f3ec7ad201b3ff3a47c096820c7"; }
+    { locale = "vi"; arch = "linux-i686"; sha1 = "31a06884815086e2c2e5f2e346b645e7831bbe0f"; }
+    { locale = "vi"; arch = "linux-x86_64"; sha1 = "f842a69f2b9ac552227fc70c9f83851d6e493111"; }
+    { locale = "xh"; arch = "linux-i686"; sha1 = "feab880c09ad8b7cda7cae61886da651c21e54e6"; }
+    { locale = "xh"; arch = "linux-x86_64"; sha1 = "b30851acdbaba53791698277d4285da3229707ae"; }
+    { locale = "zh-CN"; arch = "linux-i686"; sha1 = "27166890fc8b804fe092fad68b04c59ee9705b70"; }
+    { locale = "zh-CN"; arch = "linux-x86_64"; sha1 = "e7f8aac338aa457bc8de8dc68e7d8f0af6303420"; }
+    { locale = "zh-TW"; arch = "linux-i686"; sha1 = "e9ea70c45439fd09a8b36694a9e59d7161aa6341"; }
+    { locale = "zh-TW"; arch = "linux-x86_64"; sha1 = "c907e3c10dddfb313c7570fe8232c74673d2fc93"; }
+    { locale = "zu"; arch = "linux-i686"; sha1 = "d1aad06eeebd135c65092f78d50f2b9c64705320"; }
+    { locale = "zu"; arch = "linux-x86_64"; sha1 = "2fbb2d086c8260dda2485c430143a53c4f1383f0"; }
+  ];
+}
diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix
index ab3a454eb63a..22b6756f0a1e 100644
--- a/pkgs/applications/networking/browsers/firefox/default.nix
+++ b/pkgs/applications/networking/browsers/firefox/default.nix
@@ -15,14 +15,14 @@
 
 assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
 
-let version = "33.0.1"; in
+let version = "33.0.2"; in
 
 stdenv.mkDerivation rec {
   name = "firefox-${version}";
 
   src = fetchurl {
     url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${version}/source/firefox-${version}.source.tar.bz2";
-    sha1 = "09b9ca1f6af1e0ff8716d559ccf55801ae1a8f2d";
+    sha1 = "60657ba123df85a632822974d8f914cc8c35a738";
   };
 
   buildInputs =
diff --git a/pkgs/applications/networking/instant-messengers/ekiga/default.nix b/pkgs/applications/networking/instant-messengers/ekiga/default.nix
index 41bd4ca45131..cae9fe294f34 100644
--- a/pkgs/applications/networking/instant-messengers/ekiga/default.nix
+++ b/pkgs/applications/networking/instant-messengers/ekiga/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
                   perl perlXMLParser evolution_data_server gnome_doc_utils avahi
                   libsigcxx gtk dbus_glib libnotify libXext xextproto sqlite
                   gnome3.libsoup glib gnome3.gnome_icon_theme_symbolic
-                  hicolor_icon_theme gnome3.gnome_icon_theme boost boost.lib
+                  hicolor_icon_theme gnome3.gnome_icon_theme boost
                   autoreconfHook pkgconfig libxml2 videoproto unixODBC db nspr
                   nss zlib libsecret libXrandr randrproto which libxslt libtasn1
                   gmp nettle makeWrapper ];
diff --git a/pkgs/applications/networking/instant-messengers/kadu/default.nix b/pkgs/applications/networking/instant-messengers/kadu/default.nix
index a74460c3e39b..44cf13e2917c 100644
--- a/pkgs/applications/networking/instant-messengers/kadu/default.nix
+++ b/pkgs/applications/networking/instant-messengers/kadu/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation {
 
-  name = "kadu-0.12.2";
+  name = "kadu-0.12.3";
 
   src = fetchurl {
-    url = http://download.kadu.im/stable/kadu-0.12.2.tar.bz2;
-    sha256 = "0rqhkiyn8c7jigpxmvwh7daxsgjxlvd16zjdss1azdzd9x2dbym1";
+    url = http://download.kadu.im/stable/kadu-0.12.3.tar.bz2;
+    sha256 = "1a5q5b8pm253cwg6ahahjdm8jxj0pv41apyi1nvvy08bs38bn1yn";
   };
 
   buildInputs = [ cmake qt4 libgadu libXScrnSaver libsndfile libX11 alsaLib aspell libidn qca2 phonon pkgconfig
diff --git a/pkgs/applications/networking/instant-messengers/twinkle/default.nix b/pkgs/applications/networking/instant-messengers/twinkle/default.nix
index 961ab997384e..c7f33c1f5805 100644
--- a/pkgs/applications/networking/instant-messengers/twinkle/default.nix
+++ b/pkgs/applications/networking/instant-messengers/twinkle/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   configureFlags = "--with-extra-includes=${libjpeg}/include";
 
   buildInputs =
-    [ pkgconfig autoreconfHook commoncpp2 openssl boost boost.lib libsndfile
+    [ pkgconfig autoreconfHook commoncpp2 openssl boost libsndfile
       libxml2 libjpeg readline qt3 perl file
       # optional ? :
       alsaLib speex
diff --git a/pkgs/applications/networking/instant-messengers/vacuum/default.nix b/pkgs/applications/networking/instant-messengers/vacuum/default.nix
index ad8b677a2ec5..205c21adab42 100644
--- a/pkgs/applications/networking/instant-messengers/vacuum/default.nix
+++ b/pkgs/applications/networking/instant-messengers/vacuum/default.nix
@@ -12,17 +12,17 @@ let
   buildInputs = map (n: builtins.getAttr n x)
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
-    version="1.2.3";
+    version="1.2.4";
     baseName="vacuum-im";
     name="${baseName}-${version}";
-    url="http://vacuum-im.googlecode.com/files/vacuum-${version}.tar.xz";
-    hash="037k2b2kkp2ywkrshqa0fj18mkd2jq60x4x62kzbrsvb85qcbbxh";
+    url="https://googledrive.com/host/0B7A5K_290X8-d1hjQmJaSGZmTTA/vacuum-1.2.4.tar.gz";
+    sha256="10qxpfbbaagqcalhk0nagvi5irbbz5hk31w19lba8hxf6pfylrhf";
   };
 in
 rec {
   src = a.fetchurl {
     url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+    sha256 = sourceInfo.sha256;
   };
 
   inherit (sourceInfo) name version;
diff --git a/pkgs/applications/networking/linssid/default.nix b/pkgs/applications/networking/linssid/default.nix
index 00ff1110c32f..2b4c5f564bec 100644
--- a/pkgs/applications/networking/linssid/default.nix
+++ b/pkgs/applications/networking/linssid/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "13d35rlcjncd8lx3khkgn9x8is2xjd5fp6ns5xsn3w6l4xj9b4gl";
   };
 
-  buildInputs = [ qt5 pkgconfig boost boost.lib ];
+  buildInputs = [ qt5 pkgconfig boost ];
 
   postPatch = ''
     sed -e "s|/usr/include/|/nonexistent/|g" -i linssid-app/*.pro
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
index b239e915a3da..41a24dc8a9f7 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
@@ -1,8 +1,3 @@
-# This file is generated from generate_nix.rb. DO NOT EDIT.
-# Execute the following command in a temporary directory to update the file.
-#
-# ruby generate_nix.rb > default.nix
-
 { stdenv, fetchurl, config
 , gconf
 , alsaLib
@@ -39,121 +34,10 @@
 
 assert stdenv.isLinux;
 
-let
-  version = "31.2.0";
-  sources = [
-    { locale = "tr"; arch = "linux-i686"; sha256 = "02dc838606507040c73ddff4a1b60fec7d6e613aa08da2ce1c76e9c367bc29e5"; }
-    { locale = "tr"; arch = "linux-x86_64"; sha256 = "a93243ab5b1d64a94bf10833d6b8985a65906d0be24bdcdd7b5babfb1d466bcd"; }
-    { locale = "nl"; arch = "linux-i686"; sha256 = "d675da8358bf4ed519ee49dcc2c2162075b5e9e0fca244b474322a7614f535da"; }
-    { locale = "nl"; arch = "linux-x86_64"; sha256 = "4e8f9e3f9fe851dc38deae42443cf884776e1d93abf34ce6963651a85afdc4a9"; }
-    { locale = "he"; arch = "linux-i686"; sha256 = "8a769559e73abfdb610891a23538ef38df3852ffb39d02cba96e6a8ec914f94a"; }
-    { locale = "he"; arch = "linux-x86_64"; sha256 = "e53b95914753b8640b69e104fbf5efb2fddcecc17eded23974c08274378105c2"; }
-    { locale = "bg"; arch = "linux-i686"; sha256 = "60deb9deb678c9e5233d9c0146aa4fc8a74b9ba9b5be43ed8c5a452039b8307d"; }
-    { locale = "bg"; arch = "linux-x86_64"; sha256 = "73e5c984d5d3fa17f93cb947fd63671fba66bab94117db84e187cb9260500101"; }
-    { locale = "si"; arch = "linux-i686"; sha256 = "669d825940712d7f10c7303e3e0a0ed9c48e9e5c26b0c035ed58bf8694d5ddc3"; }
-    { locale = "si"; arch = "linux-x86_64"; sha256 = "e60e048af0c965ac6f2adedb58e192d6d4208bf7f57dcef13b899da04ca14420"; }
-    { locale = "zh-CN"; arch = "linux-i686"; sha256 = "f5f5b653e17b495c3cb4b1a26b39d3fdbeedb22c8d733cb2f3b6e57d46269949"; }
-    { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "653cc18216f5fc156feef73170f903471480612a4de6df4efa3cce79b58fee28"; }
-    { locale = "ro"; arch = "linux-i686"; sha256 = "5cc87c9c84c205f99dc3fa58be8fedd72b9afccb69c91616f11929e2a7e075fd"; }
-    { locale = "ro"; arch = "linux-x86_64"; sha256 = "dc6e8f5dd30a7e2dcfebabfcc508de89cde3754c036811df7168f4f1e53c1477"; }
-    { locale = "ast"; arch = "linux-i686"; sha256 = "653025d1260db10310f8d689cb4554acf7a6388a99bac977b6f59b683d7e5983"; }
-    { locale = "ast"; arch = "linux-x86_64"; sha256 = "1a4623f94b4c68b6b89ec53c512f860388965dc36f2d06272341a194dc85eef6"; }
-    { locale = "pl"; arch = "linux-i686"; sha256 = "0e0ae13028d5f65a54398c634ed5b4a6685e2dc84b05121e71a0c0ca7a04053e"; }
-    { locale = "pl"; arch = "linux-x86_64"; sha256 = "2589909994cfa059d55a75b7d8f756c09f67994034f7f45c7b5b8805302645bf"; }
-    { locale = "gl"; arch = "linux-i686"; sha256 = "155e79bad6226eb2231a08856415b5e4a15cb02235b0b17ff7c0378c38d2dc93"; }
-    { locale = "gl"; arch = "linux-x86_64"; sha256 = "688d3c51645061fda283e2d486de1306f0b457149c82cbd20c7c019e76ed98b2"; }
-    { locale = "ja"; arch = "linux-i686"; sha256 = "90b3bbc31046daada0ce995108fb9542aeb878220579836ed0e5b14088199795"; }
-    { locale = "ja"; arch = "linux-x86_64"; sha256 = "ebd172d4a74ef757ceace8799c752e34fa0fb41dd5f4083d2aad2df4efd0329b"; }
-    { locale = "ca"; arch = "linux-i686"; sha256 = "c1502e310fd4b0a682fef147b4f5a97db972ed49916012a145ce6d5c4afd6452"; }
-    { locale = "ca"; arch = "linux-x86_64"; sha256 = "bac8bfe883d35f3624bae8cd4d831694a8e3f2b319a912ad5007e39483a22e70"; }
-    { locale = "fr"; arch = "linux-i686"; sha256 = "d0315db23af439e736e02d93d2467c86fe2a186c849aef32e928adb5059fa7fd"; }
-    { locale = "fr"; arch = "linux-x86_64"; sha256 = "8d5c5c4ac8865ee233ea10d2c4b153bb47cf4df4047dfae9aa7b5722c293e5cc"; }
-    { locale = "fy-NL"; arch = "linux-i686"; sha256 = "9bbac5b2d4ada74e6cdc8730997d47043d319a79a61636322038584265001fed"; }
-    { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "ac828318d8ce07332af73b3146f77825e51e8df8e858c0596589dbdfb2c8718f"; }
-    { locale = "sl"; arch = "linux-i686"; sha256 = "16276607ffd4fa9fac4077cfc6da91ced5d5a4b08d804726d9d4b7e870cc25f2"; }
-    { locale = "sl"; arch = "linux-x86_64"; sha256 = "7e1c2f2aaa973b7a19518c62beb43130d7fb95d4c5aecd3370d7ab2fb59f37c5"; }
-    { locale = "be"; arch = "linux-i686"; sha256 = "48b27779e6ee95971d72a6be14e69ac1e724f5450126ad2627a9b2f0511b663c"; }
-    { locale = "be"; arch = "linux-x86_64"; sha256 = "ebd551829f7a66b47a82cad5db79a27126719af71ada250dbaedf292077e9c8e"; }
-    { locale = "ko"; arch = "linux-i686"; sha256 = "8f92e772ce7c54d6210c83fee257c9cc0b2a3542f41ac2059ea377c64d4f59ed"; }
-    { locale = "ko"; arch = "linux-x86_64"; sha256 = "b2cec9901318ec0754e8caca2d56e6e4d08deb4aa21db7fb04c555062b84b9be"; }
-    { locale = "hr"; arch = "linux-i686"; sha256 = "c5a1da56142398fc79b6d356d600f8228b0a4f1ac40d04df4ff5c25564b77a6f"; }
-    { locale = "hr"; arch = "linux-x86_64"; sha256 = "5d0308e1c08960a26ac3328eb5be4c237e2320a38a6db077186f1d1a278feb8d"; }
-    { locale = "nn-NO"; arch = "linux-i686"; sha256 = "d0abb5c4657a4a04999a44f96d00271e8dc3ad79ae0e78cf4b820fc2fd29b266"; }
-    { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "fdde99be62fe6a911711e1ba69a2babcdba53216a5942494ab7e52cada8bf893"; }
-    { locale = "vi"; arch = "linux-i686"; sha256 = "d0420a7ccd8f4fcd7f56497636baa701c71576d3b88440b609cbb3ebf245d4e4"; }
-    { locale = "vi"; arch = "linux-x86_64"; sha256 = "5657eb2a99f7c2cf32297bbb45fab4c0eb2dd48ba4ba98487beed18aa5e85ada"; }
-    { locale = "es-AR"; arch = "linux-i686"; sha256 = "fe60d3b13e964bd99730e8082b742729084e87f6a285deb8cd2383dccf881f1c"; }
-    { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "76faee1fd8da11731ece128832997de0f10501040921e6abb46fc0ae4922d568"; }
-    { locale = "el"; arch = "linux-i686"; sha256 = "c1ad068c565abb7b3f16c843f6974fcec6f46714c3f9afb193d10ffa3773cbff"; }
-    { locale = "el"; arch = "linux-x86_64"; sha256 = "b5cd4fb82525b67ef199b9eadaebe25f70a29e1dc43b2ad0f0074bf7d01a05f0"; }
-    { locale = "is"; arch = "linux-i686"; sha256 = "195cb61263c4c01c345a5effcb5f4f6741a1ee10f716006a614d55721b013e48"; }
-    { locale = "is"; arch = "linux-x86_64"; sha256 = "42447cb7c7689623a34607a0aa1a9866552756576932d45a4721c5fe8541070f"; }
-    { locale = "ru"; arch = "linux-i686"; sha256 = "6c0f45046e4d1910a20e245f0b69af5b4fb2a9507abd99217bffe68bf213061e"; }
-    { locale = "ru"; arch = "linux-x86_64"; sha256 = "408f3b38fc416cc12640af0928fbea1506eae3f4a65b6b3b889bca54bb0a1521"; }
-    { locale = "pt-BR"; arch = "linux-i686"; sha256 = "330f4546fe50d717fc66b8417405d3c1eef8ca4f312b21563c426739eee4724a"; }
-    { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "283d3e581ebb84059985aad40f72338a77b068e27b8247e0ac16b915ed16f797"; }
-    { locale = "hy-AM"; arch = "linux-i686"; sha256 = "8068738dbfc0ed5f5a08b1b4a65a5e9e1ac780de43fc5f27c269dcd5e9998f97"; }
-    { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "a101856b6151cae9d33a909d1a0fc11eb26439ca161db55dc262bf86bb457c29"; }
-    { locale = "sk"; arch = "linux-i686"; sha256 = "5a790cc811d8e392daa83b11feb232092ab97dc8c9fc0bb47b4013751a30f76e"; }
-    { locale = "sk"; arch = "linux-x86_64"; sha256 = "7842ceeab524c98387ca6319735bf7c331d34bcfde395078cc32c443e69962ef"; }
-    { locale = "sr"; arch = "linux-i686"; sha256 = "06ded63a3d09af09ac68b318f79f07e924addb30d4c11903b6a86ba3ef476761"; }
-    { locale = "sr"; arch = "linux-x86_64"; sha256 = "53a99f98398b2044866422ca44b496d489c0b78724f28afb4f919eca656d528a"; }
-    { locale = "en-US"; arch = "linux-i686"; sha256 = "4c4da90f383d7b43e97e471656a6cfbbd44d1b80d57b8b2405497678aced46b5"; }
-    { locale = "en-US"; arch = "linux-x86_64"; sha256 = "41ff22bc9a41aa0e71deebce4894e99f3e3737a57279a1488bf9d2f869cd56ad"; }
-    { locale = "es-ES"; arch = "linux-i686"; sha256 = "e11451297f17febcf0057ae02dc15a298aacc865146e1aac363300dac6de57c5"; }
-    { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "0e5d389a2c5b673b423dd2afad375eb6a7e05c8eb0b07ceb4975d658827d6cf5"; }
-    { locale = "gd"; arch = "linux-i686"; sha256 = "5fc40508e7a6228065084fc91431af3b9231c6ce46ae3e88ef249ad67bf1b545"; }
-    { locale = "gd"; arch = "linux-x86_64"; sha256 = "ef365e27b05f4bd0c8211ed9e54ecfa4983111be74261303870a8d22e6093c08"; }
-    { locale = "fi"; arch = "linux-i686"; sha256 = "9461f7d3953dc6aa5c9d2406331138a5e34d114eb5b48b09b562dade25a38ab7"; }
-    { locale = "fi"; arch = "linux-x86_64"; sha256 = "6a0310cc0e0a5d9e1590c735e91e8c1bb85358687f4a6a59219de05bb0cf9d1d"; }
-    { locale = "de"; arch = "linux-i686"; sha256 = "b4fd29c1bd06c5d6b85aeb6434746f1fa0af627c5795ce2ebc7d3dddcf78e9e6"; }
-    { locale = "de"; arch = "linux-x86_64"; sha256 = "b24afec0b5de5e872848dfcd609f1cf81fe2eed96cc9ee1a5f17fd1b68750d34"; }
-    { locale = "sq"; arch = "linux-i686"; sha256 = "a78274174c8c26426d9f7e85589f6143f47fab9ce8eb9bbb91fc6c9444c1470d"; }
-    { locale = "sq"; arch = "linux-x86_64"; sha256 = "18c6ee5a732d777d9326593a4edfc30f11acdfef2397aa55c436d54a99de9c3a"; }
-    { locale = "sv-SE"; arch = "linux-i686"; sha256 = "3e12328500db45ecfb4572c3cad8b75a46d930ec57a426c8fbe6dd8e033f3cfc"; }
-    { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "a76f785c8c0b17f3962a94d4cee5bce9be7b91fd2805133f490ad516ba2d5ad8"; }
-    { locale = "hu"; arch = "linux-i686"; sha256 = "72e1d888516119a6aa21d077fbe8faefc5cf13e8e422ae26aeed4416700f16af"; }
-    { locale = "hu"; arch = "linux-x86_64"; sha256 = "962f0b046ab3f385348022d78ffffdae6137b351c5031453f62b5fa1dd44a9b3"; }
-    { locale = "nb-NO"; arch = "linux-i686"; sha256 = "b5b11886e19a03e219bb803c7853bded9c5e4a2cde0a33abba4c0665a44ec8f4"; }
-    { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "faa18298e02ecd0eca77f4e68e88ebb91ca8ea3abb6241f53d82e1db7db95076"; }
-    { locale = "cs"; arch = "linux-i686"; sha256 = "03b23597d55f1db442f8147bcff7108e3b520e0b5d05d819df07915ba6baa35f"; }
-    { locale = "cs"; arch = "linux-x86_64"; sha256 = "3dea9adb367958babb54dce3102d43d316088aa6140101d18a59cda20522d78f"; }
-    { locale = "br"; arch = "linux-i686"; sha256 = "7b1814286847188ca68b3f24457b3a6ee5cd967833bf789104db0fedd2993941"; }
-    { locale = "br"; arch = "linux-x86_64"; sha256 = "7605776d4a72d82fc65280df0cf9812f134a1dc790e0f60f089f287f38ed5db0"; }
-    { locale = "pt-PT"; arch = "linux-i686"; sha256 = "da8177ab1912d5a0047dd2f6848a421c8fe32d39bacb64e76e0633ddaca5f4de"; }
-    { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "60b1c2f1f209c5e16c6f29c0a5bcaf46c04bb2ae289925761193387ae65fe18d"; }
-    { locale = "rm"; arch = "linux-i686"; sha256 = "29e073a8068f7d060cf2818d85d465df3f606aba95e867dc9aa67533d09e4b55"; }
-    { locale = "rm"; arch = "linux-x86_64"; sha256 = "8d8ac419650a9cd0b138aa823dcfb67e47f8522a5d51625090c26c45a5c577a7"; }
-    { locale = "lt"; arch = "linux-i686"; sha256 = "9d537ff70f06a5189296a99126a57ab8664266ec2da673671e60e97678d3ed9d"; }
-    { locale = "lt"; arch = "linux-x86_64"; sha256 = "77f30fb2b94fa7cb690c5c0f2fff0ec89c1aa8f8915891d17a66357ddd10d462"; }
-    { locale = "eu"; arch = "linux-i686"; sha256 = "1b613c1cf303a65c3065fc3edf15c6a051c1a7e347512e39cce425ef02828c3c"; }
-    { locale = "eu"; arch = "linux-x86_64"; sha256 = "a02a04bc88efca8523b4af8e4962b205ad13d9eb9879405db57356966b12202b"; }
-    { locale = "it"; arch = "linux-i686"; sha256 = "baede1707cca4ff149956884f855fa0077c372275f6be6f59d32e47cc6509b5b"; }
-    { locale = "it"; arch = "linux-x86_64"; sha256 = "e49f0b02d323e2f83d0da2a5ec2e4585693362545e50bfba51e273d0edf52813"; }
-    { locale = "id"; arch = "linux-i686"; sha256 = "31691ec0b51d19bdab2efe2ab1813bd3363e71ad62bc4f5a860e017516509ad5"; }
-    { locale = "id"; arch = "linux-x86_64"; sha256 = "c6241fb8cd1d83ac5753518c2cc215ee831fa24b816a5a522029d14cea24b15b"; }
-    { locale = "da"; arch = "linux-i686"; sha256 = "aa6c91c15ff9f1769d727883c17720a2732ede4b786c4bff7d42fe25c129246b"; }
-    { locale = "da"; arch = "linux-x86_64"; sha256 = "b940f8ab5b2ad50faedc4520f4a7bd5936debfd70b2fa86b2abf955a22557b20"; }
-    { locale = "ta-LK"; arch = "linux-i686"; sha256 = "cc70eb04cbab5bcd674e40c4d58760c07353726c968f766fc749fcd7154fddd9"; }
-    { locale = "ta-LK"; arch = "linux-x86_64"; sha256 = "948172b68287b1cd8a1d7a32b3e7fd5494390aefea1683cbad34f12ba5d241a7"; }
-    { locale = "uk"; arch = "linux-i686"; sha256 = "6b45d36abc8fe1c731baf855866000ffa08671d025ab97b5301b22079765d70c"; }
-    { locale = "uk"; arch = "linux-x86_64"; sha256 = "9d619639157c645bc34628b7c31ccfb4e8223b891cf8e99118e7b767f7f5e24b"; }
-    { locale = "zh-TW"; arch = "linux-i686"; sha256 = "a9176628228c3f3e07d2929caa872b4a24d9f620de79a148c01f0716c9dd058f"; }
-    { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "f067e1f516d639b2cc997019a39b568d6377437d2d6810fb87d23a64e72995a0"; }
-    { locale = "ar"; arch = "linux-i686"; sha256 = "7b016747c9e9066a8e4383303ee22e600d3b00716c53755c95067dc8b6267046"; }
-    { locale = "ar"; arch = "linux-x86_64"; sha256 = "f798804c9aa0eb8fd9cde80acf8a2ebc3b4855588ff14092da935cd77bbc660a"; }
-    { locale = "en-GB"; arch = "linux-i686"; sha256 = "7a19e07c52de321f8f182bd14fdaf137b120167d9d2ab4929476f7cf9a94a744"; }
-    { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "b66b2ff31cc778f52ce9e987f38a93f973c04dacbf04559b1872537a083cb98e"; }
-    { locale = "ga-IE"; arch = "linux-i686"; sha256 = "7599ba2b65fcac92464c2ee480c4c823cd0f35661fa30982575e6f87069d3e58"; }
-    { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "e81f157f75f2eb94f28dc7f2da5c1d0fbb8f8077c28c3afdb2144dd906ce773f"; }
-    { locale = "bn-BD"; arch = "linux-i686"; sha256 = "bdcafd77469b70a8e02cacab63503e4ba085e3b4230e012313f743a130448cb1"; }
-    { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "2f57c5353e75ec9dd56abf4c4f197af64648e3e2e927b7c868db6f664abb2e14"; }
-    { locale = "pa-IN"; arch = "linux-i686"; sha256 = "f9d8a77df3e4718260e9235ce09008a224e02bde12efe5a88c9341432637f0c4"; }
-    { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "46a4ae81ecd6fb22aed54a0ca40ddf292adc94b37b38a57e9ab64f5bed8b0a39"; }
-    { locale = "et"; arch = "linux-i686"; sha256 = "f03136ad26eb1d5ead82e26e8620e3cd1b7f30ceb552329d008a33bcb2e930c4"; }
-    { locale = "et"; arch = "linux-x86_64"; sha256 = "d2e446dea1db14210da9e1556614a92954c61ce00b24958ea4c2a61b597c0b13"; }
-  ];
+# imports `version` and `sources`
+with (import ./sources.nix);
 
+let
   arch = if stdenv.system == "i686-linux"
     then "linux-i686"
     else "linux-x86_64";
@@ -177,7 +61,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://download-installer.cdn.mozilla.net/pub/thunderbird/releases/${version}/${source.arch}/${source.locale}/thunderbird-${version}.tar.bz2";
-    inherit (source) sha256;
+    inherit (source) sha1;
   };
 
   phases = "unpackPhase installPhase";
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/generate_nix.rb b/pkgs/applications/networking/mailreaders/thunderbird-bin/generate_nix.rb
deleted file mode 100644
index fe2ed59389ef..000000000000
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/generate_nix.rb
+++ /dev/null
@@ -1,213 +0,0 @@
-version = if ARGV.empty?
-            "latest"
-          else
-            ARGV[0]
-          end
-
-base_path = "download-installer.cdn.mozilla.net/pub/thunderbird/releases"
-
-arches = ["linux-i686", "linux-x86_64"]
-
-arches.each do |arch|
-  system("wget", "--recursive", "--continue", "--no-parent", "--reject-regex", ".*\\?.*", "--reject", "xpi", "http://#{base_path}/#{version}/#{arch}/")
-end
-
-locales = Dir.glob("#{base_path}/#{version}/#{arches[0]}/*").map do |path|
-  File.basename(path)
-end
-
-locales.delete("index.html")
-locales.delete("xpi")
-
-real_version = Dir.glob("#{base_path}/#{version}/#{arches[0]}/#{locales[0]}/thunderbird-*")[0].match(/thunderbird-([0-9.]*)/)[1][0..-2]
-
-locale_arch_path_tuples = locales.flat_map do |locale|
-  arches.map do |arch|
-    path = Dir.glob("#{base_path}/#{version}/#{arch}/#{locale}/thunderbird-*")[0]
-
-    [locale, arch, path]
-  end
-end
-
-paths = locale_arch_path_tuples.map do |tuple| tuple[2] end
-
-hashes = IO.popen(["sha256sum", "--binary", *paths]) do |input|
-  input.each_line.map do |line|
-    $stderr.puts(line)
-
-    line.match(/^[0-9a-f]*/)[0]
-  end
-end
-
-
-puts(<<"EOH")
-# This file is generated from generate_nix.rb. DO NOT EDIT.
-# Execute the following command in a temporary directory to update the file.
-#
-# ruby generate_nix.rb > default.nix
-
-{ stdenv, fetchurl, config
-, gconf
-, alsaLib
-, at_spi2_atk
-, atk
-, cairo
-, cups
-, curl
-, dbus_glib
-, dbus_libs
-, fontconfig
-, freetype
-, gdk_pixbuf
-, glib
-, glibc
-, gst_plugins_base
-, gstreamer
-, gtk
-, kerberos
-, libX11
-, libXScrnSaver
-, libXext
-, libXinerama
-, libXrender
-, libXt
-, libcanberra
-, libgnome
-, libgnomeui
-, mesa
-, nspr
-, nss
-, pango
-}:
-
-assert stdenv.isLinux;
-
-let
-  version = "#{real_version}";
-  sources = [
-EOH
-
-locale_arch_path_tuples.zip(hashes) do |tuple, hash|
-  locale, arch, path = tuple
-
-  puts(%Q|    { locale = "#{locale}"; arch = "#{arch}"; sha256 = "#{hash}"; }|)
-end
-
-puts(<<'EOF')
-  ];
-
-  arch = if stdenv.system == "i686-linux"
-    then "linux-i686"
-    else "linux-x86_64";
-
-  isPrefixOf = prefix: string:
-    builtins.substring 0 (builtins.stringLength prefix) string == prefix;
-
-  sourceMatches = locale: source:
-      (isPrefixOf source.locale locale) && source.arch == arch;
-
-  systemLocale = config.i18n.defaultLocale or "en-US";
-
-  defaultSource = stdenv.lib.findFirst (sourceMatches "en-US") {} sources;
-
-  source = stdenv.lib.findFirst (sourceMatches systemLocale) defaultSource sources;
-
-in
-
-stdenv.mkDerivation {
-  name = "thunderbird-bin-${version}";
-
-  src = fetchurl {
-    url = "http://download-installer.cdn.mozilla.net/pub/thunderbird/releases/${version}/${source.arch}/${source.locale}/thunderbird-${version}.tar.bz2";
-    inherit (source) sha256;
-  };
-
-  phases = "unpackPhase installPhase";
-
-  libPath = stdenv.lib.makeLibraryPath
-    [ stdenv.gcc.gcc
-      gconf
-      alsaLib
-      at_spi2_atk
-      atk
-      cairo
-      cups
-      curl
-      dbus_glib
-      dbus_libs
-      fontconfig
-      freetype
-      gdk_pixbuf
-      glib
-      glibc
-      gst_plugins_base
-      gstreamer
-      gtk
-      kerberos
-      libX11
-      libXScrnSaver
-      libXext
-      libXinerama
-      libXrender
-      libXt
-      libcanberra
-      libgnome
-      libgnomeui
-      mesa
-      nspr
-      nss
-      pango
-    ] + ":" + stdenv.lib.makeSearchPath "lib64" [
-      stdenv.gcc.gcc
-    ];
-
-  installPhase =
-    ''
-      mkdir -p "$prefix/usr/lib/thunderbird-bin-${version}"
-      cp -r * "$prefix/usr/lib/thunderbird-bin-${version}"
-
-      mkdir -p "$out/bin"
-      ln -s "$prefix/usr/lib/thunderbird-bin-${version}/thunderbird" "$out/bin/"
-
-      for executable in \
-        thunderbird mozilla-xremote-client thunderbird-bin plugin-container \
-        updater
-      do
-        patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-          "$out/usr/lib/thunderbird-bin-${version}/$executable"
-      done
-
-      for executable in \
-        thunderbird mozilla-xremote-client thunderbird-bin plugin-container \
-        updater libxul.so
-      do
-        patchelf --set-rpath "$libPath" \
-          "$out/usr/lib/thunderbird-bin-${version}/$executable"
-      done
-
-      # Create a desktop item.
-      mkdir -p $out/share/applications
-      cat > $out/share/applications/thunderbird.desktop <<EOF
-      [Desktop Entry]
-      Type=Application
-      Exec=$out/bin/thunderbird
-      Icon=$out/lib/thunderbird-bin-${version}/chrome/icons/default/default256.png
-      Name=Thunderbird
-      GenericName=Mail Reader
-      Categories=Application;Network;
-      EOF
-    '';
-
-  meta = with stdenv.lib; {
-    description = "Mozilla Thunderbird, a full-featured email client";
-    homepage = http://www.mozilla.org/thunderbird/;
-    license = {
-      shortName = "unfree"; # not sure
-      fullName = "unfree";
-      url = http://www.mozilla.org/en-US/foundation/trademarks/policy/;
-    };
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
-    platforms = platforms.linux;
-  };
-}
-EOF
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/generate_sources.rb b/pkgs/applications/networking/mailreaders/thunderbird-bin/generate_sources.rb
new file mode 100644
index 000000000000..72b9d1599e0f
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/generate_sources.rb
@@ -0,0 +1,46 @@
+require "open-uri"
+
+version = if ARGV.empty?
+            "latest"
+          else
+            ARGV[0]
+          end
+
+base_path = "http://download-installer.cdn.mozilla.net/pub/thunderbird/releases"
+
+Source = Struct.new(:hash, :arch, :locale, :filename)
+
+sources = open("#{base_path}/#{version}/SHA1SUMS") do |input|
+  input.readlines
+end.select do |line|
+  /\/thunderbird-.*\.tar\.bz2$/ === line && !(/source/ === line)
+end.map do |line|
+  hash, name = line.chomp.split(/ +/)
+  Source.new(hash, *(name.split("/")))
+end.sort_by do |source|
+  [source.locale, source.arch]
+end
+
+real_version = sources[0].filename.match(/thunderbird-([0-9.]*)\.tar\.bz2/)[1]
+
+arches = ["linux-i686", "linux-x86_64"]
+
+puts(<<"EOH")
+# This file is generated from generate_nix.rb. DO NOT EDIT.
+# Execute the following command in a temporary directory to update the file.
+#
+# ruby generate_source.rb > source.nix
+
+{
+  version = "#{real_version}";
+  sources = [
+EOH
+
+sources.each do |source|
+  puts(%Q|    { locale = "#{source.locale}"; arch = "#{source.arch}"; sha1 = "#{source.hash}"; }|)
+end
+
+puts(<<'EOF')
+  ];
+}
+EOF
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
new file mode 100644
index 000000000000..803657f12930
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
@@ -0,0 +1,120 @@
+# This file is generated from generate_nix.rb. DO NOT EDIT.
+# Execute the following command in a temporary directory to update the file.
+#
+# ruby generate_source.rb > source.nix
+
+{
+  version = "31.2.0";
+  sources = [
+    { locale = "ar"; arch = "linux-i686"; sha1 = "d56d0a2590e04fca857f5083be846b8de73a138c"; }
+    { locale = "ar"; arch = "linux-x86_64"; sha1 = "8e6f0280225e71859cedf72307e12179e71b2bca"; }
+    { locale = "ast"; arch = "linux-i686"; sha1 = "ca2544e5b09b065df8763e8c803856a3313c12b7"; }
+    { locale = "ast"; arch = "linux-x86_64"; sha1 = "71487e868e4a2a87fc2f1550c3c6959016cf4de4"; }
+    { locale = "be"; arch = "linux-i686"; sha1 = "1620d97545765499b37eb05d04bf6d9ee1470544"; }
+    { locale = "be"; arch = "linux-x86_64"; sha1 = "1aebaef6d0e05c6e8ca0d7673b5ab7d9123305ed"; }
+    { locale = "bg"; arch = "linux-i686"; sha1 = "af62f41d3abb604ea4c9bd7ef297eaa28f65e00c"; }
+    { locale = "bg"; arch = "linux-x86_64"; sha1 = "d67bba94639d967e65328fb989696e4e461a0bd3"; }
+    { locale = "bn-BD"; arch = "linux-i686"; sha1 = "7d7180ab9fdb0694ea93842f79411038f576c3a9"; }
+    { locale = "bn-BD"; arch = "linux-x86_64"; sha1 = "4794ee971d932272ac809e2cdf432de5f38e0073"; }
+    { locale = "br"; arch = "linux-i686"; sha1 = "533b40426ca2ad796ffe8ce45051701c27c179be"; }
+    { locale = "br"; arch = "linux-x86_64"; sha1 = "921b1d5a09a3ee282dead4762176eade35a18270"; }
+    { locale = "ca"; arch = "linux-i686"; sha1 = "01858a6bd869dd5060899af428924c3e5d700ee6"; }
+    { locale = "ca"; arch = "linux-x86_64"; sha1 = "1d64573818675c956b4b61b5501b1c2420dfd894"; }
+    { locale = "cs"; arch = "linux-i686"; sha1 = "582dacac45ba886232cc0e9b2757996af1c61fd6"; }
+    { locale = "cs"; arch = "linux-x86_64"; sha1 = "6dc0aa493e90c1c24b2cb3c323a4778413371486"; }
+    { locale = "da"; arch = "linux-i686"; sha1 = "c64e7c50015d4cd633695f98715b6082f23bfb5f"; }
+    { locale = "da"; arch = "linux-x86_64"; sha1 = "10bc1b1758a1cc53fb9503d8ae02c92e640bfb13"; }
+    { locale = "de"; arch = "linux-i686"; sha1 = "69be28626ef89fba20b568cc026786c82a6a3dd6"; }
+    { locale = "de"; arch = "linux-x86_64"; sha1 = "4d43592b2b28241c3e95c089f52b5adfb6c60d80"; }
+    { locale = "el"; arch = "linux-i686"; sha1 = "881a8a8021ee63ed0d62c594bee464532b2d63f9"; }
+    { locale = "el"; arch = "linux-x86_64"; sha1 = "53a30b91a9391e673537ba23ab194573bb40535f"; }
+    { locale = "en-GB"; arch = "linux-i686"; sha1 = "acc98d20faccfcbaaff944957b334598faf73351"; }
+    { locale = "en-GB"; arch = "linux-x86_64"; sha1 = "01ba64dc0228f17c3afc86559a541bc1fd71646a"; }
+    { locale = "en-US"; arch = "linux-i686"; sha1 = "fb035b98358fd697e31162f639a5f01d1f43490b"; }
+    { locale = "en-US"; arch = "linux-x86_64"; sha1 = "26be2c2f908054dc3c8b3d53bfe3a840aae56428"; }
+    { locale = "es-AR"; arch = "linux-i686"; sha1 = "10049cd0188485a6ab61519402fa74d62e9cab2b"; }
+    { locale = "es-AR"; arch = "linux-x86_64"; sha1 = "f579cd0579ff249dc100658cc0e7e6677a28976d"; }
+    { locale = "es-ES"; arch = "linux-i686"; sha1 = "fb9174c60d66141fdf568c92259b02579e70e9fe"; }
+    { locale = "es-ES"; arch = "linux-x86_64"; sha1 = "8f0f216d81badf5bffd976c0472d9f1318672e48"; }
+    { locale = "et"; arch = "linux-i686"; sha1 = "052477b4febfb97d446976d81453289850a61aa3"; }
+    { locale = "et"; arch = "linux-x86_64"; sha1 = "6a6341649624e9932714d32d750501e71dbb3106"; }
+    { locale = "eu"; arch = "linux-i686"; sha1 = "effe11b4ab62a11c110e0edfd9b46c5c8f259133"; }
+    { locale = "eu"; arch = "linux-x86_64"; sha1 = "5152d64bf47f7b92a1e33b42ba1b48596f7069d8"; }
+    { locale = "fi"; arch = "linux-i686"; sha1 = "6b3019504e9a97db8eae5a35c2b963ebdca144ed"; }
+    { locale = "fi"; arch = "linux-x86_64"; sha1 = "a44a93c9c727ecb64f6f83a3fa6c66fc0f1a1153"; }
+    { locale = "fr"; arch = "linux-i686"; sha1 = "31c96279136afe886465eae51b6f32d3f13e53bb"; }
+    { locale = "fr"; arch = "linux-x86_64"; sha1 = "c2923291007f5480d2913d6093b38233939f089a"; }
+    { locale = "fy-NL"; arch = "linux-i686"; sha1 = "00425ba7a789dca73ad5cb3a65bc08040f1a8d2f"; }
+    { locale = "fy-NL"; arch = "linux-x86_64"; sha1 = "a462db5d04e8ad7c3840912b8445041391d01973"; }
+    { locale = "ga-IE"; arch = "linux-i686"; sha1 = "2158427e0f838e958d40a1d3b6a4e50127ac00ea"; }
+    { locale = "ga-IE"; arch = "linux-x86_64"; sha1 = "2390c016ee8b52cf927e4f9cb74b20d65fe06de3"; }
+    { locale = "gd"; arch = "linux-i686"; sha1 = "d7e2675b58ff68bff21fb9d0ce0643073df4e491"; }
+    { locale = "gd"; arch = "linux-x86_64"; sha1 = "ba01c8483e05a4b612443c8172737d901f665666"; }
+    { locale = "gl"; arch = "linux-i686"; sha1 = "9e2895f43b978304e42ec714b01857f494cea265"; }
+    { locale = "gl"; arch = "linux-x86_64"; sha1 = "c1cf1ee118b1133f8df6314a2aa8e83be14b4d5b"; }
+    { locale = "he"; arch = "linux-i686"; sha1 = "a0a872333657bccb342a086a576f273fd34a2d21"; }
+    { locale = "he"; arch = "linux-x86_64"; sha1 = "6ceb775435b2ed0a14f11c096b595361baf6282d"; }
+    { locale = "hr"; arch = "linux-i686"; sha1 = "8975da24b95de228584cd5c8ab8c6d174f0fcd60"; }
+    { locale = "hr"; arch = "linux-x86_64"; sha1 = "23467c23408408c878afe00244bf4779b1eead03"; }
+    { locale = "hu"; arch = "linux-i686"; sha1 = "690b220b01a1bcd683409fca76d50a507e09241e"; }
+    { locale = "hu"; arch = "linux-x86_64"; sha1 = "99ff74aab54f05295199edcb0e06b0fc68bff234"; }
+    { locale = "hy-AM"; arch = "linux-i686"; sha1 = "ed490aa96fce3e61c61ea60f7353edc06fffb5ce"; }
+    { locale = "hy-AM"; arch = "linux-x86_64"; sha1 = "f907190eedbcca43e830f632416a0cfd4df9c77e"; }
+    { locale = "id"; arch = "linux-i686"; sha1 = "3e328a1dd6c29f38913171aae8939f636eb9c845"; }
+    { locale = "id"; arch = "linux-x86_64"; sha1 = "ed074968abf7fb207c747c88a21d1f5834228445"; }
+    { locale = "is"; arch = "linux-i686"; sha1 = "2da9b0ade06b20c19a90eb192c85e17ed96487b1"; }
+    { locale = "is"; arch = "linux-x86_64"; sha1 = "7eefd8c52f95ed4c011ec1b95b4b7b1237801cdd"; }
+    { locale = "it"; arch = "linux-i686"; sha1 = "c46a316fe393dd2353802e488a31b55699ee8d62"; }
+    { locale = "it"; arch = "linux-x86_64"; sha1 = "3e13de5f40f71455a1bf2e562c0ea07833ed28a6"; }
+    { locale = "ja"; arch = "linux-i686"; sha1 = "1a3e904090d6786f23b88cd91afa2f34fc732c70"; }
+    { locale = "ja"; arch = "linux-x86_64"; sha1 = "8b8259bb4cbd30bc0e7aff95585d3f29e9bdd566"; }
+    { locale = "ko"; arch = "linux-i686"; sha1 = "af8db8f0a4329babec9ede706ce36e0f5dcc714e"; }
+    { locale = "ko"; arch = "linux-x86_64"; sha1 = "0397e824b2f2158b0862fe2ac7d192bc8c2c0a8b"; }
+    { locale = "lt"; arch = "linux-i686"; sha1 = "b53dae618889ef676053154517b69c05f0051ffe"; }
+    { locale = "lt"; arch = "linux-x86_64"; sha1 = "cb82a5027aecb830197b764c86452a008da5f55f"; }
+    { locale = "nb-NO"; arch = "linux-i686"; sha1 = "7cca3934255d4f73f35fff9ef90e0c2ea48e856b"; }
+    { locale = "nb-NO"; arch = "linux-x86_64"; sha1 = "4b86d7723efd32be9722012e17ca0d49560fe22a"; }
+    { locale = "nl"; arch = "linux-i686"; sha1 = "dc7430d675f88aa0f7e4b78fa93572305ed97222"; }
+    { locale = "nl"; arch = "linux-x86_64"; sha1 = "e9e9f7ed4308d496bb6490ac252f236bcd659bda"; }
+    { locale = "nn-NO"; arch = "linux-i686"; sha1 = "5a5f40de1986de090a59205446ce5918910c2ae1"; }
+    { locale = "nn-NO"; arch = "linux-x86_64"; sha1 = "649eea7ff3be8b2d8cb0fa9df623e8f38117132d"; }
+    { locale = "pa-IN"; arch = "linux-i686"; sha1 = "5255472c604dd97b44433ab76c34d4e6c1e44d17"; }
+    { locale = "pa-IN"; arch = "linux-x86_64"; sha1 = "8a1e3a0ec2400a43b41856fb111e86392d29a1fe"; }
+    { locale = "pl"; arch = "linux-i686"; sha1 = "b279dbd5bfe1e45ac65891b6632461c8f76ac9b0"; }
+    { locale = "pl"; arch = "linux-x86_64"; sha1 = "46b827110e9bb188075fa58088b2bec1a2762609"; }
+    { locale = "pt-BR"; arch = "linux-i686"; sha1 = "f2bcec6668773a907368d9d04cc3fb018992637c"; }
+    { locale = "pt-BR"; arch = "linux-x86_64"; sha1 = "f91868c8678862da540e7e7ba9fc1ae1756de0db"; }
+    { locale = "pt-PT"; arch = "linux-i686"; sha1 = "4f62468a76e73b98f85bc13c48ad0e9c62cded36"; }
+    { locale = "pt-PT"; arch = "linux-x86_64"; sha1 = "a3647ab9b35f22e6ca6b0f943321f40c4376659f"; }
+    { locale = "rm"; arch = "linux-i686"; sha1 = "fb0af4d895b50cbb20fa049c83c0f47f8cf494d4"; }
+    { locale = "rm"; arch = "linux-x86_64"; sha1 = "49501a9a00349a2db0be269831b76021f5a4d116"; }
+    { locale = "ro"; arch = "linux-i686"; sha1 = "4b03ae9f43f6b1c473fe170fae4141a1aa2898d5"; }
+    { locale = "ro"; arch = "linux-x86_64"; sha1 = "0e0dc3b8836696b5453cef65c343b77c42df0e7a"; }
+    { locale = "ru"; arch = "linux-i686"; sha1 = "35c31b019b2c97f534f8ca33dcfb00503c712704"; }
+    { locale = "ru"; arch = "linux-x86_64"; sha1 = "814eb4985e17a88af793e1e9dd657fd9b9a32822"; }
+    { locale = "si"; arch = "linux-i686"; sha1 = "f700ffb1ce581fc19f4abbaa9139d4be904bace4"; }
+    { locale = "si"; arch = "linux-x86_64"; sha1 = "bd772880dac1bee8208dbf6a3e1a244af2d884aa"; }
+    { locale = "sk"; arch = "linux-i686"; sha1 = "6ff95241e3feab5c003a0dc9020ab089d0286f0e"; }
+    { locale = "sk"; arch = "linux-x86_64"; sha1 = "7dfb864346fd853d83d910d98e1e530f049372d6"; }
+    { locale = "sl"; arch = "linux-i686"; sha1 = "f9f824a578f77c13a8e39c9c5e756de8e05255cb"; }
+    { locale = "sl"; arch = "linux-x86_64"; sha1 = "32e1e3983f0ea5e972f82d3c0f4663386f8da991"; }
+    { locale = "sq"; arch = "linux-i686"; sha1 = "5b04196a291058c7c68485a245d73d01a2adfc27"; }
+    { locale = "sq"; arch = "linux-x86_64"; sha1 = "1860030149e4568e8b24922dbed0673bc72aa7a2"; }
+    { locale = "sr"; arch = "linux-i686"; sha1 = "c88e8d47f4078cb06600c4b6128b3d7a62239608"; }
+    { locale = "sr"; arch = "linux-x86_64"; sha1 = "195c76ce3b8cbc4d8a6cfb015116bbf57ffbed7e"; }
+    { locale = "sv-SE"; arch = "linux-i686"; sha1 = "d19cfcfce1118693c0dee00dc8dbdc657932e817"; }
+    { locale = "sv-SE"; arch = "linux-x86_64"; sha1 = "92a1bd6764eef68e537c45c77b893da55ba910bc"; }
+    { locale = "ta-LK"; arch = "linux-i686"; sha1 = "4bf45f785006cf30305d11aedf00d0038995e7e2"; }
+    { locale = "ta-LK"; arch = "linux-x86_64"; sha1 = "30be2773e6922e6abc4af33cca35964425059fca"; }
+    { locale = "tr"; arch = "linux-i686"; sha1 = "3a7de4dbed32a7d7b0faa20246f2ffc07ab31b44"; }
+    { locale = "tr"; arch = "linux-x86_64"; sha1 = "d64aea1cdf318d08321681f70ff22d7f80ae9e4e"; }
+    { locale = "uk"; arch = "linux-i686"; sha1 = "48d3a17e0b24c55e1fe3b73b019365e38653b187"; }
+    { locale = "uk"; arch = "linux-x86_64"; sha1 = "ba89e2038eac2e8ad34ac4296feda8c62f170143"; }
+    { locale = "vi"; arch = "linux-i686"; sha1 = "06ebf22992bc3890df6fae5955bb9791b9bb1339"; }
+    { locale = "vi"; arch = "linux-x86_64"; sha1 = "3e5d8b660e799eeeb37bb5b0fbf86d4d44fa31ba"; }
+    { locale = "zh-CN"; arch = "linux-i686"; sha1 = "5a697d19c7890f600697dea64aa5ecff8ef0e5a1"; }
+    { locale = "zh-CN"; arch = "linux-x86_64"; sha1 = "3226435da70e0aae98eaee1fb1c9a87af7167403"; }
+    { locale = "zh-TW"; arch = "linux-i686"; sha1 = "53a2c162f9186dca91cc35f5298285f4f9da7a55"; }
+    { locale = "zh-TW"; arch = "linux-x86_64"; sha1 = "12cdf96a7cc3ea40cd9542d8a7d16827116e65d7"; }
+  ];
+}
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
index fa48a8a0a2f5..e6ba7e21dc8e 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
@@ -13,7 +13,7 @@
   enableOfficialBranding ? false
 }:
 
-let version = "31.1.2"; in
+let version = "31.2.0"; in
 let verName = "${version}"; in
 
 stdenv.mkDerivation rec {
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "ftp://ftp.mozilla.org/pub/thunderbird/releases/${verName}/source/thunderbird-${verName}.source.tar.bz2";
-    sha1 = "a3983e7d29bd70e8117ca26f5b9873c68675caa9";
+    sha1 = "87dff89388bd7ec51876e1bdbd82bc3fe60006b6";
   };
 
   buildInputs = # from firefox30Pkgs.xulrunner, but without gstreamer and libvpx
diff --git a/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix b/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix
index ba71e1985b46..e4ca6d423cdc 100644
--- a/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix
+++ b/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "3d9170645450f9cb0a605278b8646fec2110b9637910d86fd27cf245cbe24eaf";
   };
 
-  buildInputs = [ cmake pkgconfig qt4 boost boost.lib bzip2 libX11 pcre libidn lua5 miniupnpc aspell gettext ];
+  buildInputs = [ cmake pkgconfig qt4 boost bzip2 libX11 pcre libidn lua5 miniupnpc aspell gettext ];
 
   cmakeFlags = ''
     -DUSE_ASPELL=ON
diff --git a/pkgs/applications/networking/p2p/frostwire/default.nix b/pkgs/applications/networking/p2p/frostwire/default.nix
new file mode 100644
index 000000000000..1a598ad17b0f
--- /dev/null
+++ b/pkgs/applications/networking/p2p/frostwire/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, jre }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  version = "6.0.0";
+  name = "frostwire-${version}";
+
+  src = fetchurl {
+    url = "http://dl.frostwire.com/frostwire/${version}/frostwire-${version}.x86_64.tar.gz";
+    sha256 = "73d6e3db9971becf1c5b7faf12b62fa3ac0a243ac06b8b4eada9118f56990177";
+  };
+
+  inherit jre;
+
+  installPhase = ''
+    jar=$(ls */*.jar)
+    
+    mkdir -p $out/share/java
+    mv $jar $out/share/java
+    
+    mkdir -p $out/bin
+    cat > $out/bin/frostwire <<EOF
+    #! $SHELL -e
+    exec $out/share/java/frostwire
+    EOF
+    chmod +x $out/bin/frostwire
+  '';
+
+  meta = {
+    homepage = http://www.frostwire.com/;
+    description = "BitTorrent Client and Cloud File Downloader";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.gavin ];
+  };
+}
diff --git a/pkgs/applications/networking/p2p/qbittorrent/default.nix b/pkgs/applications/networking/p2p/qbittorrent/default.nix
index ccf129881f5d..51c43771bcf7 100644
--- a/pkgs/applications/networking/p2p/qbittorrent/default.nix
+++ b/pkgs/applications/networking/p2p/qbittorrent/default.nix
@@ -2,18 +2,21 @@
 , pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "qbittorrent-3.1.10";
+  name = "qbittorrent-3.1.11";
 
   src = fetchurl {
     url = "mirror://sourceforge/qbittorrent/${name}.tar.xz";
-    sha256 = "0xhqli191r5v9b5x6wj1wsjlj6svf6ldgzl7jza39q3ipr5c2pg6";
+    sha256 = "0qvz8ifk01b9sw9x5yh3b5kmssx5yi026zvgvabdvfaqkvcmw43i";
   };
 
-  buildInputs = [ qt4 which dbus_libs boost libtorrentRasterbar
-    pkgconfig ];
+  buildInputs = [
+    qt4 which dbus_libs boost libtorrentRasterbar pkgconfig
+  ];
 
-  configureFlags = "--with-libboost-inc=${boost}/include "
-    + "--with-libboost-lib=${boost}/lib";
+  configureFlags = [
+    "--with-libboost-lib=${boost.lib}/lib"
+    "--with-libboost-inc=${boost.dev}/include"
+  ];
 
   # https://github.com/qbittorrent/qBittorrent/issues/1992 
   #enableParallelBuilding = true;
diff --git a/pkgs/applications/networking/p2p/twister/default.nix b/pkgs/applications/networking/p2p/twister/default.nix
index 13f6b2bcce4a..e6fd674e9e7c 100644
--- a/pkgs/applications/networking/p2p/twister/default.nix
+++ b/pkgs/applications/networking/p2p/twister/default.nix
@@ -26,7 +26,6 @@ in stdenv.mkDerivation rec {
   configureFlags = [
     "--with-libgeoip"
     "--with-libiconv"
-    "--with-boost=${boost}"
     "--disable-deprecated-functions"
     "--enable-tests"
     "--enable-python-binding"
diff --git a/pkgs/applications/office/ledger/3.0.nix b/pkgs/applications/office/ledger/3.0.nix
index 22f15f652175..6118d377a79f 100644
--- a/pkgs/applications/office/ledger/3.0.nix
+++ b/pkgs/applications/office/ledger/3.0.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
     sha256 = "0fmmhr3as4v2kb6h64k1fq979080cqhd75jvxfg7axk2mylb6b3q";
   };
 
-  buildInputs = [ cmake boost boost.lib gmp mpfr libedit python texinfo gnused ];
+  buildInputs = [ cmake boost gmp mpfr libedit python texinfo gnused ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix
index e7583c437c81..036f21fdead3 100644
--- a/pkgs/applications/office/libreoffice/default.nix
+++ b/pkgs/applications/office/libreoffice/default.nix
@@ -24,7 +24,7 @@ let
   langsSpaces = stdenv.lib.concatStringsSep " " langs;
   major = "4";
   minor = "3";
-  patch = "1";
+  patch = "3";
   tweak = "2";
   subdir = "${major}.${minor}.${patch}";
   version = "${subdir}${if tweak == "" then "" else "."}${tweak}";
@@ -40,9 +40,9 @@ let
        sha256 = "10amvz7fzr1kcy3svfspkdykmspqgpjdmk44cyr406wi7v4lwnf9";
      };
 
-     configureFlags = "--with-boost=${boost}";
+     buildInputs = [ boost mdds pkgconfig ];
 
-     buildInputs = [ boost boost.lib mdds pkgconfig ];
+     configureFlags = [ "--with-boost=${boost.dev}" ];
   };
 
   fetchThirdParty = {name, md5, brief, subDir ? ""}: fetchurl {
@@ -60,9 +60,10 @@ let
       (x: x.name == "${name}.tar.bz2")
       ("Error: update liborcus version inside LO expression")
       (import ./libreoffice-srcs.nix));
-    configureFlags = "--with-boost=${boost}";
 
-    buildInputs = [ boost boost.lib mdds pkgconfig zlib libixion ];
+    buildInputs = [ boost mdds pkgconfig zlib libixion ];
+
+    configureFlags = [ "--with-boost=${boost.dev}" ];
   };
 
   fetchSrc = {name, sha256}: fetchurl {
@@ -79,14 +80,14 @@ let
 
     translations = fetchSrc {
       name = "translations";
-      sha256 = "0vj1fpr99cb124hag0hijpp3pfbbi0gak56qiikxbwbq7mab6p9h";
+      sha256 = "0jpkkb71fbiid12r2dpvak304hlvx4ws1bk2yrb3narz15wzcvjr";
     };
 
     # TODO: dictionaries
 
     help = fetchSrc {
       name = "help";
-      sha256 = "1q0vzfla764zjz6xcx6r4nc8rikwb3pr2jsraj28hhwr5b26gdfz";
+      sha256 = "0vd4ndnqy7xjlxh9flfp84jy82bvaq80pxcsx6lsarxsb4cvw7sz";
     };
 
   };
@@ -96,7 +97,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
-    sha256 = "0s1j5y1gfyf3r53bbqnzirx17p49i8ah07737nrzik0ggps3lgd5";
+    sha256 = "0abmrn8iwwsbvi9dxq1pnirclxvfb33ngg7lpsj0y5lf0jpgpbb0";
   };
 
   # Openoffice will open libcups dynamically, so we link it directly
@@ -183,6 +184,8 @@ stdenv.mkDerivation rec {
   '';
 
   configureFlags = [
+    "--with-boost=${boost.dev}"
+    "--with-boost-libdir=${boost.lib}/lib"
     "--with-vendor=NixOS"
 
     # Without these, configure does not finish
@@ -198,7 +201,6 @@ stdenv.mkDerivation rec {
     "--with-system-headers"
     "--with-system-openssl"
     "--with-system-openldap"
-    "--with-boost-libdir=${boost.lib}/lib"
     "--without-system-libwps"  # TODO
     "--without-doxygen"
 
@@ -236,7 +238,7 @@ stdenv.mkDerivation rec {
   '';
 
   buildInputs = with xorg;
-    [ ant ArchiveZip autoconf automake bison boost boost.lib cairo clucene_core
+    [ ant ArchiveZip autoconf automake bison boost cairo clucene_core
       CompressZlib cppunit cups curl db dbus_glib expat file flex fontconfig
       freetype GConf getopt gnome_vfs gperf gst_plugins_base gstreamer gtk
       hunspell icu jdk kde4.kdelibs lcms libcdr libexttextcat unixODBC libjpeg
diff --git a/pkgs/applications/office/libreoffice/libreoffice-srcs.nix b/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
index 6110a54feb55..7460f7e1fd68 100644
--- a/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
+++ b/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
@@ -525,4 +525,10 @@
   md5 = "44d667c142d7cda120332623eab69f40";
   brief = true;
 }
+{
+  name = "libgltf-0.0.2.tar.bz2";
+  md5 = "d63a9f47ab048f5009d90693d6aa6424";
+  brief = true;
+  subDir = "libgltf/";
+}
 ]
diff --git a/pkgs/applications/science/electronics/pulseview/default.nix b/pkgs/applications/science/electronics/pulseview/default.nix
index f9369efe96e5..07724d932541 100644
--- a/pkgs/applications/science/electronics/pulseview/default.nix
+++ b/pkgs/applications/science/electronics/pulseview/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "1pf1dgwd9j586nqmni6gqf3qxrsmawcmi9wzqfzqkjci18xd7dgy";
   };
 
-  buildInputs = [ pkgconfig cmake glib qt4 boost boost.lib libsigrok
+  buildInputs = [ pkgconfig cmake glib qt4 boost libsigrok
     libsigrokdecode libserialport libzip udev libusb1 libftdi
   ];
 
diff --git a/pkgs/applications/science/logic/coq/HEAD.nix b/pkgs/applications/science/logic/coq/HEAD.nix
index bf426bc42c2f..c9c8396c37a7 100644
--- a/pkgs/applications/science/logic/coq/HEAD.nix
+++ b/pkgs/applications/science/logic/coq/HEAD.nix
@@ -3,7 +3,7 @@
 {stdenv, fetchgit, writeText, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null}:
 
 let
-  version = "8.5pre-2313bde0";
+  version = "8.5pre-edbd6a21";
   coq-version = "8.5";
   buildIde = lablgtk != null;
   ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else "";
@@ -17,8 +17,8 @@ stdenv.mkDerivation {
 
   src = fetchgit {
     url = git://scm.gforge.inria.fr/coq/coq.git;
-    rev = "2313bde0116a5916912bebbaca77d291f7b2760a";
-    sha256 = "116b8060a47a7b2d0cac72d86f7e320bec99b6d450614d1e6b92ff919619c509";
+    rev = "edbd6a211c934778d9721c36463836ef902b4fdd";
+    sha256 = "19zk1lghqljh86z2kv6kpxwzinpkbwxzf244dmszx31zw4zdrskl";
   };
 
   buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ];
diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix
index f0f62bfb3537..721cd4ffa083 100644
--- a/pkgs/applications/science/logic/coq/default.nix
+++ b/pkgs/applications/science/logic/coq/default.nix
@@ -3,7 +3,7 @@
 {stdenv, fetchurl, pkgconfig, writeText, ocaml, findlib, camlp5, ncurses, lablgtk ? null}:
 
 let
-  version = "8.4pl4";
+  version = "8.4pl5";
   coq-version = "8.4";
   buildIde = lablgtk != null;
   ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else "";
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://coq.inria.fr/distrib/V${version}/files/coq-${version}.tar.gz";
-    sha256 = "00bzf4kfbd0g279jrr8ynzvb9wqcly3wi577bkrxivhrg2msxhq6";
+    sha256 = "0iajsabyrgypk1ncm0kqcxqv02k24xa1bayaxacjgmsqiavmm09m";
   };
 
   buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ];
diff --git a/pkgs/applications/science/logic/stp/default.nix b/pkgs/applications/science/logic/stp/default.nix
index 109d9fe3d4be..cfe96bc6983a 100644
--- a/pkgs/applications/science/logic/stp/default.nix
+++ b/pkgs/applications/science/logic/stp/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
     rev    = "3aa11620a823d617fc033d26aedae91853d18635";
     sha256 = "832520787f57f63cf47364d080f30ad10d6d6e00f166790c19b125be3d6dd45c";
   };
-  buildInputs = [ cmake boost boost.lib bison flex perl zlib ];
+  buildInputs = [ cmake boost bison flex perl zlib ];
   cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];
   patchPhase = ''
       sed -e 's,^export(PACKAGE.*,,' -i CMakeLists.txt
diff --git a/pkgs/applications/science/math/sage/default.nix b/pkgs/applications/science/math/sage/default.nix
index ced8b6f95bb6..a27a93dd2c64 100644
--- a/pkgs/applications/science/math/sage/default.nix
+++ b/pkgs/applications/science/math/sage/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   name = "sage-6.1.1";
 
   src = fetchurl {
-    url = "http://mirrors.xmission.com/sage/src/sage-6.1.1.tar.gz";
+    url = "mirror://sagemath/${name}.tar.gz";
     sha256 = "0kbzs0l9q7y34jv3f8rd1c2mrjsjkdgaw6mfdwjlpg9g4gghmq5y";
   };
 
@@ -23,9 +23,8 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = http://www.scilab.org/;
-    description = "Scientific software package for numerical computations (Matlab lookalike)";
-    # see http://www.scilab.org/legal
-    license = "SciLab";
+    homepage = "http://www.sagemath.org";
+    description = "A free open source mathematics software system";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/applications/version-management/gource/default.nix b/pkgs/applications/version-management/gource/default.nix
index 74eee4778472..56095762f04b 100644
--- a/pkgs/applications/version-management/gource/default.nix
+++ b/pkgs/applications/version-management/gource/default.nix
@@ -13,10 +13,10 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     glew SDL ftgl pkgconfig libpng libjpeg pcre SDL_image mesa
-    boost boost.lib glm
+    boost glm
   ];
 
-  configureFlags = "--with-boost-libdir=${boost.lib}/lib";
+  configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ];
 
   NIX_CFLAGS_COMPILE = "-fpermissive"; # fix build with newer gcc versions
 
diff --git a/pkgs/applications/video/aegisub/default.nix b/pkgs/applications/video/aegisub/default.nix
index 746e7afb38d4..c32235a592fd 100644
--- a/pkgs/applications/video/aegisub/default.nix
+++ b/pkgs/applications/video/aegisub/default.nix
@@ -41,7 +41,6 @@ stdenv.mkDerivation rec {
     ++ optional portaudioSupport portaudio
     ;
 
-  configureFlags = "--with-boost-libdir=${boost.lib}/lib/";
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/video/gnash/default.nix b/pkgs/applications/video/gnash/default.nix
index 879fa08ea382..5a519e231c80 100644
--- a/pkgs/applications/video/gnash/default.nix
+++ b/pkgs/applications/video/gnash/default.nix
@@ -30,12 +30,11 @@ stdenv.mkDerivation rec {
     patch -p1 < ${patch_CVE}
 
     # Add all libs to `macros/libslist', a list of library search paths.
-    for lib in ${lib.concatStringsSep " "
-                                      (map (lib: "\"${lib}\"/lib")
-                                           (buildInputs ++ [stdenv.glibc]))}
-    do
+    libs=$(echo "$NIX_LDFLAGS" | tr ' ' '\n' | sed -n 's/.*-L\(.*\).*/\1/p')
+    for lib in $libs; do
       echo -n "$lib " >> macros/libslist
     done
+    echo -n "${stdenv.glibc}/lib" >> macros/libslist
 
     # Make sure to honor $TMPDIR, for chroot builds.
     for file in configure gui/Makefile.in Makefile.in
@@ -54,7 +53,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     gettext x11 SDL SDL_mixer gstreamer gst_plugins_base gst_plugins_good
     gst_ffmpeg speex libtool
-    libogg libxml2 libjpeg mesa libpng libungif boost boost.lib freetype agg
+    libogg libxml2 libjpeg mesa libpng libungif boost freetype agg
     dbus curl pkgconfig glib gtk gtkglext pangox_compat
     xulrunner
     makeWrapper
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
index 1523aa4377df..a6c2ff0b822a 100644
--- a/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/pkgs/applications/video/mkvtoolnix/default.nix
@@ -28,7 +28,6 @@ stdenv.mkDerivation rec {
     expat wxGTK zlib ruby gettext pkgconfig curl
   ];
 
-  configureFlags = "--with-boost-libdir=${boost}/lib";
   buildPhase = ''
     ruby ./drake
   '';
diff --git a/pkgs/applications/video/mythtv/default.nix b/pkgs/applications/video/mythtv/default.nix
index a4fe07b2d053..2bc635d510eb 100644
--- a/pkgs/applications/video/mythtv/default.nix
+++ b/pkgs/applications/video/mythtv/default.nix
@@ -1,22 +1,32 @@
 { stdenv, fetchurl, which, qt4, x11, pulseaudio, fftwSinglePrec
 , lame, zlib, mesa, alsaLib, freetype, perl, pkgconfig
 , libX11, libXv, libXrandr, libXvMC, libXinerama, libXxf86vm, libXmu
+, yasm, libuuid, taglib, libtool, autoconf, automake, file
 }:
 
 stdenv.mkDerivation rec {
-  name = "mythtv-0.24.2";
+  name = "mythtv-${version}";
+  version = "0.27.4";
 
   src = fetchurl {
-    url = "http://ftp.osuosl.org/pub/mythtv/${name}.tar.bz2";
-    sha256 = "14mkyf2b26pc9spx6lg15mml0nqyg1r3qnq8m9dz3110h771y2db";
+    url = "https://github.com/MythTV/mythtv/archive/v${version}.tar.gz";
+    sha256 = "0nrn4fbkkzh43n7jgbv21i92sb4z4yacwj9yj6m3hjbffzy4ywqz";
   };
 
+  sourceRoot = "${name}/mythtv";
+
   buildInputs = [
     freetype qt4 lame zlib x11 mesa perl alsaLib pulseaudio fftwSinglePrec
     libX11 libXv libXrandr libXvMC libXmu libXinerama libXxf86vm libXmu
+    libuuid taglib
   ];
+  nativeBuildInputs = [ pkgconfig which yasm libtool autoconf automake file ];
 
-  nativeBuildInputs = [ pkgconfig which ];
-
-  patches = [ ./settings.patch ];
+  meta = with stdenv.lib; {
+    homepage = "https://www.mythtv.org/";
+    description = "Open Source DVR";
+    license = licenses.gpl2;
+    meta.platforms = platforms.linux;
+    maintainers = [ maintainers.titanous ];
+  };
 }
diff --git a/pkgs/applications/video/mythtv/settings.patch b/pkgs/applications/video/mythtv/settings.patch
deleted file mode 100644
index ec1e70097921..000000000000
--- a/pkgs/applications/video/mythtv/settings.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 05db819..383036d 100644
---- a/Makefile
-+++ b/Makefile
-@@ -53,7 +53,7 @@ i18n/Makefile: i18n/i18n.pro
- locales/Makefile: locales/locales.pro
- 
- $(addsuffix /Makefile,$(QT_SUBDIRS)): %/Makefile :
--	cd $*; $(QMAKE) QMAKE=$(QMAKE) -o $(@F) $(<F)
-+	cd $*; $(QMAKE) QMAKE=$(QMAKE) PREFIX=${PREFIX} -o $(@F) $(<F)
- 
- $(SUBDIRS): $(addsuffix /Makefile,$(SUBDIRS)) version.cpp
- 	$(MAKE) -C $@
diff --git a/pkgs/applications/video/xbmc/default.nix b/pkgs/applications/video/xbmc/default.nix
index a82abb220050..65a930a261c9 100644
--- a/pkgs/applications/video/xbmc/default.nix
+++ b/pkgs/applications/video/xbmc/default.nix
@@ -99,11 +99,11 @@ stdenv.mkDerivation rec {
       done
     '';
 
-    meta = {
+    meta = with stdenv.lib; {
       homepage = http://xbmc.org/;
       description = "Media center";
       license = "GPLv2";
-      platforms = stdenv.lib.platforms.linux;
-      maintainers = [ stdenv.lib.maintainers.iElectric ];
+      platforms = platforms.linux;
+      maintainers = [ maintainers.iElectric maintainers.titanous ];
     };
 }
diff --git a/pkgs/applications/video/xbmc/plugins.nix b/pkgs/applications/video/xbmc/plugins.nix
index 16484e018335..f1d4d50f37d7 100644
--- a/pkgs/applications/video/xbmc/plugins.nix
+++ b/pkgs/applications/video/xbmc/plugins.nix
@@ -81,13 +81,13 @@ in
 
     plugin = "svtplay";
     namespace = "plugin.video.svtplay";
-    version = "4.0.8";
+    version = "4.0.9";
 
     src = fetchFromGitHub {
       owner = "nilzen";
       repo = "xbmc-" + plugin;
-      rev = "967dc429201200200dba0e755ede3a0e9cb1b137";
-      sha256 = "0kaxcci9zbblpkn1mrmdl49844r90agww41frz9vw6q2ajq1z16k";
+      rev = "29a754e49584d1ca32f0c07b87304669cf266bb0";
+      sha256 = "0k7mwaknw4h1jlq7ialbzgxxpb11j8bk29dx2gimp40lvnyw4yhz";
     };
 
     meta = with stdenv.lib; {
diff --git a/pkgs/applications/video/xbmc/wrapper.nix b/pkgs/applications/video/xbmc/wrapper.nix
index b1017c7098c7..90413c1769aa 100644
--- a/pkgs/applications/video/xbmc/wrapper.nix
+++ b/pkgs/applications/video/xbmc/wrapper.nix
@@ -28,8 +28,15 @@ stdenv.mkDerivation {
     do
       $(ln -s $share $out/share/xbmc/.)
     done)
-    makeWrapper ${xbmc}/bin/xbmc $out/bin/xbmc \
+    $(for passthrough in icons xsessions applications
+    do
+      ln -s ${xbmc}/share/$passthrough $out/share/
+    done)
+    $(for exe in xbmc{,-standalone}
+    do
+    makeWrapper ${xbmc}/bin/$exe $out/bin/$exe \
       --prefix XBMC_HOME : $out/share/xbmc;
+    done)
   '';
 
   preferLocalBuilds = true;
diff --git a/pkgs/applications/virtualization/virt-viewer/default.nix b/pkgs/applications/virtualization/virt-viewer/default.nix
index 1da4a521da75..b49bd40136f3 100644
--- a/pkgs/applications/virtualization/virt-viewer/default.nix
+++ b/pkgs/applications/virtualization/virt-viewer/default.nix
@@ -7,10 +7,10 @@ with stdenv.lib;
 
 let sourceInfo = rec {
     baseName="virt-viewer";
-    version="0.6.0";
+    version="1.0";
     name="${baseName}-${version}";
     url="http://virt-manager.org/download/sources/${baseName}/${name}.tar.gz";
-    hash="0svalnr6k8rjadysnxixygk3bdx04asmwx75bhrbljyicba216v6";
+    hash="09sf1xzvw2yysv4c1jkqlzrazdg501r4j12hiwjdzk5swk6lppw0";
 }; in
 
 stdenv.mkDerivation  {
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index 3fa97e78835e..68ac9ea0716e 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -12,7 +12,7 @@ with stdenv.lib;
 
 let
 
-  version = "4.3.16"; # changes ./guest-additions as well
+  version = "4.3.18"; # changes ./guest-additions as well
 
   forEachModule = action: ''
     for mod in \
@@ -32,13 +32,13 @@ let
   '';
 
   # See https://github.com/NixOS/nixpkgs/issues/672 for details
-  extpackRevision = "95972";
+  extpackRevision = "96516";
   extensionPack = requireFile rec {
     name = "Oracle_VM_VirtualBox_Extension_Pack-${version}-${extpackRevision}.vbox-extpack";
     # IMPORTANT: Hash must be base16 encoded because it's used as an input to
     # VBoxExtPackHelperApp!
     # Tip: see http://dlc.sun.com.edgesuite.net/virtualbox/4.3.10/SHA256SUMS
-    sha256 = "93b01ac2c575388ea6ae994450907c24e30a788c271ae9ff18512a06f28d9abd";
+    sha256 = "9c98f8256935492e6e45f7998e1c0e2fd859d87b24123d35ea0065fd0fd62d60";
     message = ''
       In order to use the extension pack, you need to comply with the VirtualBox Personal Use
       and Evaluation License (PUEL) by downloading the related binaries from:
@@ -57,7 +57,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
-    sha256 = "99c32e646dbc93cbf4cc0b62ca6c1d24113a295fd758dc15724c14908dd6dcb3";
+    sha256 = "9798acbc78b2645f2a02446ef6be181ede1a377792007af2a3280c962edc24cb";
   };
 
   buildInputs =
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
index 9552e7264c5a..978f05acbc4f 100644
--- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
-    sha256 = "d58f678613bd37f5f94bcf324708af63572fc8582833a2558574090231fd080f";
+    sha256 = "e5b425ec4f6a62523855c3cbd3975d17f962f27df093d403eab27c0e7f71464a";
   };
 
   KERN_DIR = "${kernel.dev}/lib/modules/*/build";