summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2013-03-07 19:33:52 +0100
committerEelco Dolstra <eelco.dolstra@logicblox.com>2013-03-07 19:33:52 +0100
commit674c51af3c0f3f1c65e1975893fdf6438bc57f28 (patch)
tree3020861cf515bc567e191361357d42e11ac817ee
parentda437144fa4f446e91b5f7f78b55faa4d12de58a (diff)
parentd742d26b0d8c7125fb29417fcb40e2665e10100d (diff)
downloadnixlib-674c51af3c0f3f1c65e1975893fdf6438bc57f28.tar
nixlib-674c51af3c0f3f1c65e1975893fdf6438bc57f28.tar.gz
nixlib-674c51af3c0f3f1c65e1975893fdf6438bc57f28.tar.bz2
nixlib-674c51af3c0f3f1c65e1975893fdf6438bc57f28.tar.lz
nixlib-674c51af3c0f3f1c65e1975893fdf6438bc57f28.tar.xz
nixlib-674c51af3c0f3f1c65e1975893fdf6438bc57f28.tar.zst
nixlib-674c51af3c0f3f1c65e1975893fdf6438bc57f28.zip
Merge remote-tracking branch 'origin/master' into stdenv-updates
-rw-r--r--pkgs/applications/audio/drumkv1/default.nix21
-rw-r--r--pkgs/applications/audio/jack-oscrolloscope/default.nix26
-rw-r--r--pkgs/applications/audio/mopidy/default.nix2
-rw-r--r--pkgs/applications/audio/mopidy/git.nix2
-rw-r--r--pkgs/applications/audio/samplv1/default.nix21
-rw-r--r--pkgs/applications/audio/synthv1/default.nix21
-rw-r--r--pkgs/applications/graphics/mypaint/default.nix35
-rw-r--r--pkgs/applications/misc/zathura/builder.sh12
-rw-r--r--pkgs/applications/misc/zathura/core/default.nix11
-rw-r--r--pkgs/applications/misc/zathura/default.nix10
-rw-r--r--pkgs/applications/misc/zathura/icon.xpm120
-rw-r--r--pkgs/applications/networking/browsers/chromium/sources.nix18
-rw-r--r--pkgs/applications/networking/p2p/transmission/default.nix17
-rw-r--r--pkgs/applications/version-management/git-and-tools/github-backup/default.nix8
-rw-r--r--pkgs/applications/video/mkvtoolnix/default.nix7
-rw-r--r--pkgs/applications/video/mplayer/default.nix5
-rw-r--r--pkgs/build-support/release/source-tarball.nix20
-rw-r--r--pkgs/development/compilers/sbcl/default.nix8
-rw-r--r--pkgs/development/interpreters/python/docs/2.6-html.nix11
-rw-r--r--pkgs/development/interpreters/python/docs/2.6-pdf-a4.nix11
-rw-r--r--pkgs/development/interpreters/python/docs/2.6-pdf-letter.nix11
-rw-r--r--pkgs/development/interpreters/python/docs/2.6-text.nix11
-rw-r--r--pkgs/development/interpreters/python/docs/2.7-html.nix11
-rw-r--r--pkgs/development/interpreters/python/docs/2.7-pdf-a4.nix11
-rw-r--r--pkgs/development/interpreters/python/docs/2.7-pdf-letter.nix11
-rw-r--r--pkgs/development/interpreters/python/docs/2.7-text.nix11
-rw-r--r--pkgs/development/interpreters/python/docs/3.0-html.nix11
-rw-r--r--pkgs/development/interpreters/python/docs/3.0-pdf-a4.nix11
-rw-r--r--pkgs/development/interpreters/python/docs/3.0-pdf-letter.nix11
-rw-r--r--pkgs/development/interpreters/python/docs/3.0-text.nix11
-rw-r--r--pkgs/development/interpreters/python/docs/3.1-html.nix11
-rw-r--r--pkgs/development/interpreters/python/docs/3.1-pdf-a4.nix11
-rw-r--r--pkgs/development/interpreters/python/docs/3.1-pdf-letter.nix11
-rw-r--r--pkgs/development/interpreters/python/docs/3.1-text.nix11
-rw-r--r--pkgs/development/interpreters/python/docs/3.2-html.nix11
-rw-r--r--pkgs/development/interpreters/python/docs/3.2-pdf-a4.nix11
-rw-r--r--pkgs/development/interpreters/python/docs/3.2-pdf-letter.nix11
-rw-r--r--pkgs/development/interpreters/python/docs/3.2-text.nix11
-rw-r--r--pkgs/development/interpreters/python/docs/3.3-html.nix11
-rw-r--r--pkgs/development/interpreters/python/docs/3.3-pdf-a4.nix11
-rw-r--r--pkgs/development/interpreters/python/docs/3.3-pdf-letter.nix11
-rw-r--r--pkgs/development/interpreters/python/docs/3.3-text.nix11
-rw-r--r--pkgs/development/interpreters/python/docs/default.nix152
-rwxr-xr-xpkgs/development/interpreters/python/docs/generate.sh16
-rw-r--r--pkgs/development/interpreters/python/docs/template.nix11
-rw-r--r--pkgs/development/interpreters/ruby/fix-gem-nix-versions.patch35
-rw-r--r--pkgs/development/interpreters/ruby/generated.nix112
-rw-r--r--pkgs/development/interpreters/ruby/patches.nix7
-rw-r--r--pkgs/development/libraries/ffmpeg/1.0.nix85
-rw-r--r--pkgs/development/libraries/gmp/5.0.5.nix7
-rw-r--r--pkgs/development/libraries/haskell/OpenAL/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/2.6.nix15
-rw-r--r--pkgs/development/libraries/haskell/basic-prelude/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/bifunctors/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/binary/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/blaze-html/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/classy-prelude/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/diagrams/core.nix5
-rw-r--r--pkgs/development/libraries/haskell/flexible-defaults/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/ghc-mod/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/ghc-vis/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/github/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/happstack/happstack-server.nix5
-rw-r--r--pkgs/development/libraries/haskell/highlighting-kate/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hp2any-core/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hp2any-graph/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/persistent-sqlite/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/resourcet/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/shakespeare-js/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/shelly/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/syb/0.4.0.nix15
-rw-r--r--pkgs/development/libraries/haskell/th-extras/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/uu-parsinglib/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/xdot/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/xml-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yaml/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-test/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/zip-archive/default.nix5
-rw-r--r--pkgs/development/libraries/libchop/default.nix3
-rw-r--r--pkgs/development/libraries/libchop/gets-undeclared.patch71
-rw-r--r--pkgs/development/libraries/openmpi/default.nix11
-rw-r--r--pkgs/development/libraries/sodium/default.nix28
-rw-r--r--pkgs/development/libraries/sodium/default.upstream1
-rw-r--r--pkgs/development/mobile/androidenv/build-app.nix3
-rw-r--r--pkgs/development/mobile/titaniumenv/build-app.nix5
-rw-r--r--pkgs/development/mobile/titaniumenv/examples/default.nix22
-rw-r--r--pkgs/development/tools/haskell/cabal2nix/default.nix4
-rw-r--r--pkgs/development/tools/misc/ctags/default.nix27
-rw-r--r--pkgs/development/tools/misc/gob2/default.nix9
-rw-r--r--pkgs/games/eduke32/default.nix10
-rw-r--r--pkgs/games/xboard/default.nix13
-rw-r--r--pkgs/lib/attrsets.nix13
-rw-r--r--pkgs/misc/emulators/wine/default.nix5
-rw-r--r--pkgs/os-specific/linux/bbswitch/default.nix13
-rw-r--r--pkgs/os-specific/linux/cifs-utils/default.nix2
-rw-r--r--pkgs/os-specific/linux/cifs-utils/find-systemd-ask-password-via-path.patch22
-rw-r--r--pkgs/os-specific/linux/kernel/generic.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.0.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.7.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.8.nix5
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.9.nix280
-rw-r--r--pkgs/os-specific/linux/kernel/linux.upstream.template13
-rw-r--r--pkgs/os-specific/linux/kernel/manual-config.nix42
-rw-r--r--pkgs/os-specific/linux/qemu-kvm/default.nix4
-rw-r--r--pkgs/os-specific/linux/xf86-video-nested/default.nix4
-rw-r--r--pkgs/servers/amqp/rabbitmq-server/default.nix7
-rw-r--r--pkgs/servers/search/elasticsearch/default.nix21
-rw-r--r--pkgs/servers/search/elasticsearch/es-home.patch20
-rw-r--r--pkgs/servers/sql/oracle-xe/default.nix83
-rw-r--r--pkgs/servers/x11/xorg/default.nix6
-rw-r--r--pkgs/stdenv/generic/default.nix90
-rw-r--r--pkgs/tools/text/recode/default.nix51
-rw-r--r--pkgs/tools/text/recode/recode-3.6-as-if.patch19
-rw-r--r--pkgs/tools/text/recode/recode-3.6-gettextfix.diff23
-rw-r--r--pkgs/top-level/all-packages.nix206
-rw-r--r--pkgs/top-level/python-packages.nix30
-rw-r--r--pkgs/top-level/release-python.nix2
121 files changed, 1680 insertions, 730 deletions
diff --git a/pkgs/applications/audio/drumkv1/default.nix b/pkgs/applications/audio/drumkv1/default.nix
new file mode 100644
index 000000000000..7fdd04ce96b8
--- /dev/null
+++ b/pkgs/applications/audio/drumkv1/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, jackaudio, libsndfile, lv2, qt4 }:
+
+stdenv.mkDerivation rec {
+  name = "drumkv1-${version}";
+  version = "0.3.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/drumkv1/${name}.tar.gz";
+    sha256 = "0bafg06iavri9dmg7hpz554kpqf1iv9crcdq46y4n4wyyxd7kajl";
+  };
+
+  buildInputs = [ jackaudio libsndfile lv2 qt4 ];
+
+  meta = with stdenv.lib; {
+    description = "An old-school drum-kit sampler synthesizer with stereo fx";
+    homepage = http://drumkv1.sourceforge.net/;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.goibhniu ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/audio/jack-oscrolloscope/default.nix b/pkgs/applications/audio/jack-oscrolloscope/default.nix
new file mode 100644
index 000000000000..dbceb0a336c5
--- /dev/null
+++ b/pkgs/applications/audio/jack-oscrolloscope/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, SDL, jackaudio, mesa, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "jack_oscrolloscope-${version}";
+  version = "0.7";
+
+  src = fetchurl {
+    url = "http://das.nasophon.de/download/${name}.tar.gz";
+    sha256 = "1pl55in0sj7h5r06n1v91im7d18pplvhbjhjm1fdl39zwnyxiash";
+  };
+
+  buildInputs = [ SDL jackaudio mesa pkgconfig ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv jack_oscrolloscope $out/bin/
+  '';
+
+  meta = with stdenv.lib; { 
+    description = "A simple waveform viewer for JACK";
+    homepage = http://das.nasophon.de/jack_oscrolloscope;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.goibhniu ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/mopidy/default.nix b/pkgs/applications/audio/mopidy/default.nix
index 934669f225c6..d285c4b0e237 100644
--- a/pkgs/applications/audio/mopidy/default.nix
+++ b/pkgs/applications/audio/mopidy/default.nix
@@ -14,7 +14,7 @@ pythonPackages.buildPythonPackage rec {
   };
 
   propagatedBuildInputs = with pythonPackages; [
-   gst_python pygobject pykka pyspotify pylast
+   gst_python pygobject pykka pyspotify pylast cherrypy ws4py
   ];
 
   # python zip complains about old timestamps
diff --git a/pkgs/applications/audio/mopidy/git.nix b/pkgs/applications/audio/mopidy/git.nix
index 81728e646c3e..2b5e1627ac63 100644
--- a/pkgs/applications/audio/mopidy/git.nix
+++ b/pkgs/applications/audio/mopidy/git.nix
@@ -14,7 +14,7 @@ pythonPackages.buildPythonPackage rec {
   };
 
   propagatedBuildInputs = with pythonPackages; [
-   gst_python pygobject pykka pyspotify pylast
+   gst_python pygobject pykka pyspotify pylast cherrypy ws4py
   ];
 
   # python zip complains about old timestamps
diff --git a/pkgs/applications/audio/samplv1/default.nix b/pkgs/applications/audio/samplv1/default.nix
new file mode 100644
index 000000000000..584b23b6a01c
--- /dev/null
+++ b/pkgs/applications/audio/samplv1/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, jackaudio, libsndfile, lv2, qt4 }:
+
+stdenv.mkDerivation rec {
+  name = "samplv1-${version}";
+  version = "0.3.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/samplv1/${name}.tar.gz";
+    sha256 = "1j6q3ywbdsyhskc60p7k8ph058ylrrmjmri3q1wr2d2akcaqvb7m";
+  };
+
+  buildInputs = [ jackaudio libsndfile lv2 qt4 ];
+
+  meta = with stdenv.lib; {
+    description = "An old-school all-digital polyphonic sampler synthesizer with stereo fx";
+    homepage = http://samplv1.sourceforge.net/;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.goibhniu ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/audio/synthv1/default.nix b/pkgs/applications/audio/synthv1/default.nix
new file mode 100644
index 000000000000..aadce32dda41
--- /dev/null
+++ b/pkgs/applications/audio/synthv1/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, qt4, jackaudio, lv2 }:
+
+stdenv.mkDerivation rec {
+  name = "synthv1-${version}";
+  version = "0.3.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/synthv1/${name}.tar.gz";
+    sha256 = "1230yf49qfw540yvp5n7sh6mf3k8590pzwc5mragd3nd6k6apgw9";
+  };
+
+  buildInputs = [ qt4 jackaudio lv2 ];
+
+  meta = with stdenv.lib; {
+    description = "An old-school 4-oscillator subtractive polyphonic synthesizer with stereo fx";
+    homepage = http://synthv1.sourceforge.net/;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.goibhniu ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/graphics/mypaint/default.nix b/pkgs/applications/graphics/mypaint/default.nix
new file mode 100644
index 000000000000..a59498b8f141
--- /dev/null
+++ b/pkgs/applications/graphics/mypaint/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, gettext, glib, gtk, json_c, lcms2, libpng
+, makeWrapper, pkgconfig, pygtk, python, pythonPackages, scons, swig
+}:
+
+stdenv.mkDerivation rec {
+  name = "mypaint-${version}";
+  version = "1.1.0";
+
+  src = fetchurl {
+    url = "http://download.gna.org/mypaint/${name}.tar.bz2";
+    sha256 = "0f7848hr65h909c0jkcx616flc0r4qh53g3kd1cgs2nr1pjmf3bq";
+  };
+
+  buildInputs = [ 
+    gettext glib gtk json_c lcms2 libpng makeWrapper pkgconfig pygtk
+    python scons swig
+  ];
+ 
+  propagatedBuildInputs = [ pythonPackages.numpy ];
+
+  buildPhase = "scons prefix=$out";
+
+  installPhase = ''
+    scons prefix=$out install
+    wrapProgram $out/bin/mypaint --prefix PYTHONPATH : $PYTHONPATH
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A graphics application for digital painters";
+    homepage = http://mypaint.intilinux.com;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.goibhniu ];
+  };
+}
diff --git a/pkgs/applications/misc/zathura/builder.sh b/pkgs/applications/misc/zathura/builder.sh
index 9ca45b2cc992..149481367b42 100644
--- a/pkgs/applications/misc/zathura/builder.sh
+++ b/pkgs/applications/misc/zathura/builder.sh
@@ -1,11 +1,21 @@
 source $stdenv/setup
 
 mkdir -pv $out/bin/
+mkdir -pv $out/share/
+mkdir -pv $out/share/applications/
+mkdir -pv $out/share/pixmaps/
 
 cat > $out/bin/zathura <<EOF
 #!/bin/sh
-exec $zathura --plugins-dir=$plugins_path "\$@"
+exec $zathura_core/bin/zathura --plugins-dir=$plugins_path "\$@"
 EOF
 
+cp -rv $zathura_core/share/man $out/share
+cp -rv $zathura_core/share/locale $out/share
+cp -rv $icon $out/share/pixmaps/pwmt.xpm
+
+cat $zathura_core/share/applications/zathura.desktop > $out/share/applications/zathura.desktop
+echo "Icon=pwmt" >> $out/share/applications/zathura.desktop
+
 chmod 755 $out/bin/zathura
 
diff --git a/pkgs/applications/misc/zathura/core/default.nix b/pkgs/applications/misc/zathura/core/default.nix
index f56becf4512a..a3726fd460de 100644
--- a/pkgs/applications/misc/zathura/core/default.nix
+++ b/pkgs/applications/misc/zathura/core/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gtk, girara, gettext }:
+{ stdenv, fetchurl, pkgconfig, gtk, girara, gettext, docutils }:
 
 stdenv.mkDerivation rec {
 
@@ -13,7 +13,14 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ pkgconfig gtk girara gettext ];
 
-  makeFlags = "PREFIX=$(out)";
+  # Bug in zathura build system: we should remove empty manfiles in order them
+  # to be compiled properly
+  preBuild = ''
+    rm zathura.1
+    rm zathurarc.5
+  '';
+
+  makeFlags = [ "PREFIX=$(out)" "RSTTOMAN=${docutils}/bin/rst2man.py" "VERBOSE=1" ];
 
   meta = {
     homepage = http://pwmt.org/projects/zathura/;
diff --git a/pkgs/applications/misc/zathura/default.nix b/pkgs/applications/misc/zathura/default.nix
index b5e0092975c2..8bdc7865832d 100644
--- a/pkgs/applications/misc/zathura/default.nix
+++ b/pkgs/applications/misc/zathura/default.nix
@@ -1,4 +1,4 @@
-{ callPackage, pkgs }:
+{ callPackage, pkgs, fetchurl }:
 
 rec {
   inherit (pkgs) stdenv;
@@ -11,7 +11,9 @@ rec {
 
   zathura_ps = callPackage ./ps { };
 
-  zathuraWrapper = stdenv.mkDerivation rec {
+  zathuraWrapper = stdenv.mkDerivation {
+
+    inherit zathura_core;
 
     name = "zathura-${zathura_core.version}";
 
@@ -21,7 +23,7 @@ rec {
       zathura_ps
     ];
 
-    zathura = "${zathura_core}/bin/zathura";
+    icon = ./icon.xpm;
 
     builder = ./builder.sh;
 
@@ -36,7 +38,7 @@ rec {
       '';
       license = stdenv.lib.licenses.zlib;
       platforms = stdenv.lib.platforms.linux;
-      maintainers = [ stdenv.lib.maintainers.garbas ];
+      maintainers = [ stdenv.lib.maintainers.garbas stdenv.lib.maintainers.smironov ];
     };
   };
 }
diff --git a/pkgs/applications/misc/zathura/icon.xpm b/pkgs/applications/misc/zathura/icon.xpm
new file mode 100644
index 000000000000..a863c5ddb090
--- /dev/null
+++ b/pkgs/applications/misc/zathura/icon.xpm
@@ -0,0 +1,120 @@
+/* XPM */
+static char *freeimage[] = {
+/* width height num_colors chars_per_pixel */
+"16 16 96 2",
+/* colors */
+"   c #1e1e1e",
+" . c #222222",
+" X c #212121",
+" o c #535353",
+" O c #a4a4a4",
+" + c #202020",
+" @ c #252525",
+" # c #3c3c3c",
+" $ c #292929",
+" % c #979797",
+" & c #cccccc",
+" * c #303030",
+" = c #1f1f1f",
+" - c #494949",
+" ; c #dddddd",
+" : c #696969",
+" > c #232323",
+" , c #262626",
+" < c #adadad",
+" 1 c #bbbbbb",
+" 2 c #1d1d1d",
+" 3 c #1c1c1c",
+" 4 c #5e5e5e",
+" 5 c #e8e8e8",
+" 6 c #9c9c9c",
+" 7 c #242424",
+" 8 c #b1b1b1",
+" 9 c #b3b3b3",
+" 0 c #090909",
+" q c #161616",
+" w c #131313",
+" e c #4d4d4d",
+" r c #dedede",
+" t c #afafaf",
+" y c #282828",
+" u c #393939",
+" i c #c4c4c4",
+" p c #dcdcdc",
+" a c #9a9a9a",
+" s c #a2a2a2",
+" d c #ababab",
+" f c #313131",
+" g c #a7a7a7",
+" h c #e4e4e4",
+" j c #f2f2f2",
+" k c #eaeaea",
+" l c #e2e2e2",
+" z c #f0f0f0",
+" x c #d5d5d5",
+" c c #737373",
+" v c #323232",
+" b c #808080",
+" n c #7a7a7a",
+" m c #d3d3d3",
+" M c #e5e5e5",
+" N c #8a8a8a",
+" B c #cbcbcb",
+" V c #b5b5b5",
+" C c #b9b9b9",
+" Z c #272727",
+" A c #b4b4b4",
+" S c #bababa",
+" D c #2d2d2d",
+" F c #414141",
+" G c #444444",
+" H c #f4f4f4",
+" J c #838383",
+" K c #cfcfcf",
+" L c #fafafa",
+" P c #efefef",
+" I c #e3e3e3",
+" U c #8d8d8d",
+" Y c #656565",
+" T c #ffffff",
+" R c #fbfbfb",
+" E c #e9e9e9",
+" W c #bdbdbd",
+" Q c #e1e1e1",
+" ! c #dfdfdf",
+" ~ c #646464",
+" ^ c #3a3a3a",
+" / c #a1a1a1",
+" ( c #999999",
+" ) c #c0c0c0",
+" _ c #3b3b3b",
+" ` c #acacac",
+" ' c #050505",
+" ] c #151515",
+" [ c #1b1b1b",
+" { c #1a1a1a",
+" } c #b2b2b2",
+" | c #a5a5a5",
+".  c #c5c5c5",
+".. c #a6a6a6",
+".X c #bfbfbf",
+".o c #747474",
+/* pixels */
+"                                ",
+"   . . . X X X X . o O + X . .  ",
+"   . . X @ # $ . @ % & * = . .  ",
+"   . .   - ; : > , < 1 2 X . .  ",
+"   . . 3 4 5 6 7 7 8 9 0 q q 3  ",
+"   . + w e r t y u i p a s d 4  ",
+"   X f g h j k p l z z x g c v  ",
+"   X f b n m M N c B V 3 , > X  ",
+"   X X   w V C $ Z A S + $ , .  ",
+"   D F G u S H 1 J K L P I U @  ",
+"   Y T T T R E & W Q ! d g ~ 7  ",
+"   ^ / 6 ( ; ) _ 2 ` 8 ' ] [ X  ",
+"   + > 7 { A } 7 @ |.  $ + . .  ",
+"   X X X ].. 8 Z 7 n.X + X . .  ",
+"   . . . { n.o 7 . @ y X X . .  ",
+"                                "
+};
+
diff --git a/pkgs/applications/networking/browsers/chromium/sources.nix b/pkgs/applications/networking/browsers/chromium/sources.nix
index 9c483aa17029..a14b10fcfde7 100644
--- a/pkgs/applications/networking/browsers/chromium/sources.nix
+++ b/pkgs/applications/networking/browsers/chromium/sources.nix
@@ -1,18 +1,18 @@
 # This file is autogenerated from update.sh in the same directory.
 {
   dev = {
-    version = "26.0.1410.12";
-    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-26.0.1410.12.tar.xz";
-    sha256 = "1cfzvlldzgm53jwys5zbrd4rszkinsr4n5ky5rcg6p6nw73b4hmj";
+    version = "26.0.1410.28";
+    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-26.0.1410.28.tar.xz";
+    sha256 = "1g32xyh06xsqkli0g83flqr1qvx2yxb7vaqshf9wcyqgkyzvy7il";
   };
   beta = {
-    version = "26.0.1410.12";
-    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-26.0.1410.12.tar.xz";
-    sha256 = "1cfzvlldzgm53jwys5zbrd4rszkinsr4n5ky5rcg6p6nw73b4hmj";
+    version = "26.0.1410.28";
+    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-26.0.1410.28.tar.xz";
+    sha256 = "1g32xyh06xsqkli0g83flqr1qvx2yxb7vaqshf9wcyqgkyzvy7il";
   };
   stable = {
-    version = "25.0.1364.97";
-    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-25.0.1364.97.tar.bz2";
-    sha256 = "1r8khcic82m6g5i7669q8fxsfhjrlvp99iggqc5qpihljsz33ghm";
+    version = "25.0.1364.152";
+    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-25.0.1364.152.tar.bz2";
+    sha256 = "1v8zpqk3q21d5hars1clss75n187hlg4zxbr68jj1ysmqclzbni8";
   };
 }
diff --git a/pkgs/applications/networking/p2p/transmission/default.nix b/pkgs/applications/networking/p2p/transmission/default.nix
index 0a86e140347d..c59fddf6364b 100644
--- a/pkgs/applications/networking/p2p/transmission/default.nix
+++ b/pkgs/applications/networking/p2p/transmission/default.nix
@@ -1,20 +1,23 @@
-{ stdenv, fetchurl, pkgconfig, openssl, curl, intltool, libevent, gtkClient ? true, gtk }:
+{ stdenv, fetchurl, pkgconfig, openssl, curl, intltool, libevent,
+  file, inotifyTools, gtk ? null }:
 
 stdenv.mkDerivation rec {
-  name = "transmission-2.52";
+  name = "transmission-2.60"; # transmission >= 2.61 requires gtk3
 
   src = fetchurl {
     url = "http://download.transmissionbt.com/files/${name}.tar.xz";
-    sha256 = "05sfq5h3731xc9a1k5r1q4gbs9yk0dr229asfxjjgg0lw1xzppdw";
+    sha256 = "1ramdliyy8j7qqpkxg643lda11ynxwfhq6qcs31fr3h9x72l0rg4";
   };
 
-  buildInputs = [ pkgconfig openssl curl intltool libevent ] ++
-                stdenv.lib.optional gtkClient gtk;
+  buildInputs = [ pkgconfig openssl curl intltool libevent
+                  file inotifyTools gtk ];
 
-  configureFlags = if gtkClient then "--enable-gtk" else "--disable-gtk";
+  preConfigure = ''
+    sed -i -e 's|/usr/bin/file|${file}/bin/file|g' configure
+  '';
 
   postInstall = ''
-    rm $out/share/icons/hicolor/icon-theme.cache
+    rm -f $out/share/icons/hicolor/icon-theme.cache
   '';
 
   meta = {
diff --git a/pkgs/applications/version-management/git-and-tools/github-backup/default.nix b/pkgs/applications/version-management/git-and-tools/github-backup/default.nix
index a2489dbc6281..6897ef003ad5 100644
--- a/pkgs/applications/version-management/git-and-tools/github-backup/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/github-backup/default.nix
@@ -1,11 +1,15 @@
-{ cabal, extensibleExceptions, filepath, github, hslogger, IfElse
+{ cabal, fetchurl, extensibleExceptions, filepath, github, hslogger, IfElse
 , MissingH, mtl, network, prettyShow
 }:
 
 cabal.mkDerivation (self: {
   pname = "github-backup";
   version = "1.20120314";
-  sha256 = "07ilb6cg1kbz4id53l4m46wjxzs7yxcmpz6280ym6k885dras5v2";
+  src = fetchurl {
+    url = "https://github.com/joeyh/github-backup/archive/1.20120314.tar.gz";
+    sha256 = "0rmgkylsnxbry02g5bxq5af03azgydfz6dzyvqzbhnkwavhqdlqy";
+    name = "github-backup-${self.pname}.tar.gz";
+  };
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
index 1dc58607de06..c2563b5e298e 100644
--- a/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/pkgs/applications/video/mkvtoolnix/default.nix
@@ -16,11 +16,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "mkvtoolnix-5.9.0";
+  name = "mkvtoolnix-6.1.0";
 
   src = fetchurl {
-    url = "http://www.bunkus.org/videotools/mkvtoolnix/sources/${name}.tar.bz2";
-    sha256 = "1qdxzi72w5p77brlpp7y7llsgzlvl4p8fk1kzg934cqw6cqza4yr";
+    url = "http://www.bunkus.org/videotools/mkvtoolnix/sources/${name}.tar.xz";
+    sha256 = "01k5al3886cyi97kynx5hf98z5p7mb8vd2m057gbp1k10zblcb9x";
   };
 
   buildInputs = [ libmatroska flac libvorbis file boost lzo xdg_utils expat wxGTK zlib ruby gettext pkgconfig curl ];
@@ -39,4 +39,3 @@ stdenv.mkDerivation rec {
     homepage = http://www.bunkus.org/videotools/mkvtoolnix/;
   };
 }
-
diff --git a/pkgs/applications/video/mplayer/default.nix b/pkgs/applications/video/mplayer/default.nix
index 0c22379c577e..d86b81be7563 100644
--- a/pkgs/applications/video/mplayer/default.nix
+++ b/pkgs/applications/video/mplayer/default.nix
@@ -152,6 +152,8 @@ stdenv.mkDerivation rec {
 
   NIX_LDFLAGS = stdenv.lib.optionalString x11Support "-lX11 -lXext";
 
+  installTargets = [ "install" ] ++ stdenv.lib.optional x11Support "install-gui";
+
   enableParallelBuilding = true;
 
   # Provide a reasonable standard font.  Maybe we should symlink here.
@@ -159,6 +161,9 @@ stdenv.mkDerivation rec {
     ''
       mkdir -p $out/share/mplayer
       cp ${freefont_ttf}/share/fonts/truetype/FreeSans.ttf $out/share/mplayer/subfont.ttf
+      if test -f $out/share/applications/mplayer.desktop ; then
+        echo "NoDisplay=True" >> $out/share/applications/mplayer.desktop
+      fi
     '';
 
   crossAttrs = {
diff --git a/pkgs/build-support/release/source-tarball.nix b/pkgs/build-support/release/source-tarball.nix
index 5ba1356a17fb..b50077975c1f 100644
--- a/pkgs/build-support/release/source-tarball.nix
+++ b/pkgs/build-support/release/source-tarball.nix
@@ -6,23 +6,15 @@
 , buildInputs ? []
 , name ? "source-tarball"
 , version ? "0"
-, versionSuffix ? 
+, versionSuffix ?
     if officialRelease
     then ""
     else "pre${toString (src.rev or src.revCount or "")}"
 , src, stdenv, autoconf, automake, libtool
+, # By default, provide all the GNU Build System as input.
+  bootstrapBuildInputs ? [ autoconf automake libtool ]
 , ... } @ args:
 
-let
-
-  # By default, provide all the GNU Build System as input.
-  bootstrapBuildInputs =
-    if (args ? bootstrapBuildInputs)
-    then args.bootstrapBuildInputs
-    else [ autoconf automake libtool ];
-
-in
-
 stdenv.mkDerivation (
 
   # First, attributes that can be overriden by the caller (via args):
@@ -82,17 +74,17 @@ stdenv.mkDerivation (
   }
 
   # Then, the caller-supplied attributes.
-  // args // 
+  // args //
 
   # And finally, our own stuff.
   {
     name = name + "-" + version + versionSuffix;
 
     buildInputs = buildInputs ++ bootstrapBuildInputs;
-    
+
     preUnpack = ''
       mkdir -p $out/nix-support
-    '';  
+    '';
 
     postUnpack = ''
       # Set all source files to the current date.  This is because Nix
diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix
index 2535fb603ba7..22a561d2c2da 100644
--- a/pkgs/development/compilers/sbcl/default.nix
+++ b/pkgs/development/compilers/sbcl/default.nix
@@ -4,11 +4,11 @@ let
   s= # Generated upstream information
   rec {
     baseName="sbcl";
-    version="1.1.4";
+    version="1.1.5";
     name="${baseName}-${version}";
-    hash="1k7p986hsd3yygzrsc0w68maflvhbg4gcmi3rbylyn0mi8pxb2s6";
-    url="mirror://sourceforge/project/sbcl/sbcl/${version}/sbcl-${version}-source.tar.bz2";
-    sha256="1k7p986hsd3yygzrsc0w68maflvhbg4gcmi3rbylyn0mi8pxb2s6";
+    hash="01wi9aah9rrs7rbjrjrkwjxq03kapyzm48iyhz38fvaqhl7phw78";
+    url="mirror://sourceforge/project/sbcl/sbcl/1.1.5/sbcl-1.1.5-source.tar.bz2";
+    sha256="01wi9aah9rrs7rbjrjrkwjxq03kapyzm48iyhz38fvaqhl7phw78";
   };
   buildInputs = with a; [
     clisp makeWrapper
diff --git a/pkgs/development/interpreters/python/docs/2.6-html.nix b/pkgs/development/interpreters/python/docs/2.6-html.nix
index 481998ae5916..2b41f122fa9b 100644
--- a/pkgs/development/interpreters/python/docs/2.6-html.nix
+++ b/pkgs/development/interpreters/python/docs/2.6-html.nix
@@ -1,15 +1,18 @@
 # This file was generated and will be overwritten by ./generate.sh
 
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, lib }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "python26-docs-html-2.6.8";
   src = fetchurl {
     url = http://docs.python.org/ftp/python/doc/2.6.8/python-2.6.8-docs-html.tar.bz2;
     sha256 = "09kznik9ahmnrqw9gkr7mjv3b3zr258f2fm27n12hrrwwsaszkni";
   };
   installPhase = ''
-    mkdir -p $out/share/docs
-    cp -R ./ $out/share/docs/
+    mkdir -p $out/share/doc/python26
+    cp -R ./ $out/share/doc/python26/html
   '';
+  meta = {
+    maintainers = [ lib.maintainers.chaoflow ];
+  };
 }
diff --git a/pkgs/development/interpreters/python/docs/2.6-pdf-a4.nix b/pkgs/development/interpreters/python/docs/2.6-pdf-a4.nix
index 1a718819ac0e..ec031821a03f 100644
--- a/pkgs/development/interpreters/python/docs/2.6-pdf-a4.nix
+++ b/pkgs/development/interpreters/python/docs/2.6-pdf-a4.nix
@@ -1,15 +1,18 @@
 # This file was generated and will be overwritten by ./generate.sh
 
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, lib }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "python26-docs-pdf-a4-2.6.8";
   src = fetchurl {
     url = http://docs.python.org/ftp/python/doc/2.6.8/python-2.6.8-docs-pdf-a4.tar.bz2;
     sha256 = "07k8n9zhd59s1yn8ahsizkaqnv969p0f2c2acxgxrxhhyy842pp8";
   };
   installPhase = ''
-    mkdir -p $out/share/docs
-    cp -R ./ $out/share/docs/
+    mkdir -p $out/share/doc/python26
+    cp -R ./ $out/share/doc/python26/pdf-a4
   '';
+  meta = {
+    maintainers = [ lib.maintainers.chaoflow ];
+  };
 }
diff --git a/pkgs/development/interpreters/python/docs/2.6-pdf-letter.nix b/pkgs/development/interpreters/python/docs/2.6-pdf-letter.nix
index 305c456efc45..7cacf7778348 100644
--- a/pkgs/development/interpreters/python/docs/2.6-pdf-letter.nix
+++ b/pkgs/development/interpreters/python/docs/2.6-pdf-letter.nix
@@ -1,15 +1,18 @@
 # This file was generated and will be overwritten by ./generate.sh
 
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, lib }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "python26-docs-pdf-letter-2.6.8";
   src = fetchurl {
     url = http://docs.python.org/ftp/python/doc/2.6.8/python-2.6.8-docs-pdf-letter.tar.bz2;
     sha256 = "01r87m8hb7f9ql4j9zcjcrr9150nsk23sj8cy02vygr83sc1ldmq";
   };
   installPhase = ''
-    mkdir -p $out/share/docs
-    cp -R ./ $out/share/docs/
+    mkdir -p $out/share/doc/python26
+    cp -R ./ $out/share/doc/python26/pdf-letter
   '';
+  meta = {
+    maintainers = [ lib.maintainers.chaoflow ];
+  };
 }
diff --git a/pkgs/development/interpreters/python/docs/2.6-text.nix b/pkgs/development/interpreters/python/docs/2.6-text.nix
index 6ced3597eeb8..eb394a3f3e2d 100644
--- a/pkgs/development/interpreters/python/docs/2.6-text.nix
+++ b/pkgs/development/interpreters/python/docs/2.6-text.nix
@@ -1,15 +1,18 @@
 # This file was generated and will be overwritten by ./generate.sh
 
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, lib }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "python26-docs-text-2.6.8";
   src = fetchurl {
     url = http://docs.python.org/ftp/python/doc/2.6.8/python-2.6.8-docs-text.tar.bz2;
     sha256 = "05wsdh6ilgkclgak09fq7fsx5kflkmqq8dyxi2rpydx289cw3a8c";
   };
   installPhase = ''
-    mkdir -p $out/share/docs
-    cp -R ./ $out/share/docs/
+    mkdir -p $out/share/doc/python26
+    cp -R ./ $out/share/doc/python26/text
   '';
+  meta = {
+    maintainers = [ lib.maintainers.chaoflow ];
+  };
 }
diff --git a/pkgs/development/interpreters/python/docs/2.7-html.nix b/pkgs/development/interpreters/python/docs/2.7-html.nix
index 1c8ef0bc4603..3885b43960f5 100644
--- a/pkgs/development/interpreters/python/docs/2.7-html.nix
+++ b/pkgs/development/interpreters/python/docs/2.7-html.nix
@@ -1,15 +1,18 @@
 # This file was generated and will be overwritten by ./generate.sh
 
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, lib }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "python27-docs-html-2.7.3";
   src = fetchurl {
     url = http://docs.python.org/ftp/python/doc/2.7.3/python-2.7.3-docs-html.tar.bz2;
     sha256 = "1hg92n0mzl9w6j33b2h0bf2vy6fsxnpxfdc3qw760vcm0y00155j";
   };
   installPhase = ''
-    mkdir -p $out/share/docs
-    cp -R ./ $out/share/docs/
+    mkdir -p $out/share/doc/python27
+    cp -R ./ $out/share/doc/python27/html
   '';
+  meta = {
+    maintainers = [ lib.maintainers.chaoflow ];
+  };
 }
diff --git a/pkgs/development/interpreters/python/docs/2.7-pdf-a4.nix b/pkgs/development/interpreters/python/docs/2.7-pdf-a4.nix
index d2d9f3616cee..d8dde17ac66a 100644
--- a/pkgs/development/interpreters/python/docs/2.7-pdf-a4.nix
+++ b/pkgs/development/interpreters/python/docs/2.7-pdf-a4.nix
@@ -1,15 +1,18 @@
 # This file was generated and will be overwritten by ./generate.sh
 
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, lib }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "python27-docs-pdf-a4-2.7.3";
   src = fetchurl {
     url = http://docs.python.org/ftp/python/doc/2.7.3/python-2.7.3-docs-pdf-a4.tar.bz2;
     sha256 = "13da88panq5b6qfhf8k4dgqgxkg4ydcac5cx69a3f35s1w90xdjr";
   };
   installPhase = ''
-    mkdir -p $out/share/docs
-    cp -R ./ $out/share/docs/
+    mkdir -p $out/share/doc/python27
+    cp -R ./ $out/share/doc/python27/pdf-a4
   '';
+  meta = {
+    maintainers = [ lib.maintainers.chaoflow ];
+  };
 }
diff --git a/pkgs/development/interpreters/python/docs/2.7-pdf-letter.nix b/pkgs/development/interpreters/python/docs/2.7-pdf-letter.nix
index 0361d3a20278..32581cd229a9 100644
--- a/pkgs/development/interpreters/python/docs/2.7-pdf-letter.nix
+++ b/pkgs/development/interpreters/python/docs/2.7-pdf-letter.nix
@@ -1,15 +1,18 @@
 # This file was generated and will be overwritten by ./generate.sh
 
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, lib }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "python27-docs-pdf-letter-2.7.3";
   src = fetchurl {
     url = http://docs.python.org/ftp/python/doc/2.7.3/python-2.7.3-docs-pdf-letter.tar.bz2;
     sha256 = "0x41phsdrpivhzkchswsliyx3a10n7gzc9irkrw6rz22j81bfydg";
   };
   installPhase = ''
-    mkdir -p $out/share/docs
-    cp -R ./ $out/share/docs/
+    mkdir -p $out/share/doc/python27
+    cp -R ./ $out/share/doc/python27/pdf-letter
   '';
+  meta = {
+    maintainers = [ lib.maintainers.chaoflow ];
+  };
 }
diff --git a/pkgs/development/interpreters/python/docs/2.7-text.nix b/pkgs/development/interpreters/python/docs/2.7-text.nix
index 4422822cced9..590192383016 100644
--- a/pkgs/development/interpreters/python/docs/2.7-text.nix
+++ b/pkgs/development/interpreters/python/docs/2.7-text.nix
@@ -1,15 +1,18 @@
 # This file was generated and will be overwritten by ./generate.sh
 
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, lib }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "python27-docs-text-2.7.3";
   src = fetchurl {
     url = http://docs.python.org/ftp/python/doc/2.7.3/python-2.7.3-docs-text.tar.bz2;
     sha256 = "1rxlb3jhh3892y65i45nk1y2lx981fr22a5hmfkp9gvjvdykjnzp";
   };
   installPhase = ''
-    mkdir -p $out/share/docs
-    cp -R ./ $out/share/docs/
+    mkdir -p $out/share/doc/python27
+    cp -R ./ $out/share/doc/python27/text
   '';
+  meta = {
+    maintainers = [ lib.maintainers.chaoflow ];
+  };
 }
diff --git a/pkgs/development/interpreters/python/docs/3.0-html.nix b/pkgs/development/interpreters/python/docs/3.0-html.nix
index 6abc92b18539..fb793da3e5ff 100644
--- a/pkgs/development/interpreters/python/docs/3.0-html.nix
+++ b/pkgs/development/interpreters/python/docs/3.0-html.nix
@@ -1,15 +1,18 @@
 # This file was generated and will be overwritten by ./generate.sh
 
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, lib }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "python30-docs-html-3.0.1";
   src = fetchurl {
     url = http://docs.python.org/ftp/python/doc/3.0.1/python-3.0.1-docs-html.tar.bz2;
     sha256 = "0ybjnhg8qfr9kc4axm5xlghkz9dmsg6b1caj6m4gz28q89vggv3c";
   };
   installPhase = ''
-    mkdir -p $out/share/docs
-    cp -R ./ $out/share/docs/
+    mkdir -p $out/share/doc/python30
+    cp -R ./ $out/share/doc/python30/html
   '';
+  meta = {
+    maintainers = [ lib.maintainers.chaoflow ];
+  };
 }
diff --git a/pkgs/development/interpreters/python/docs/3.0-pdf-a4.nix b/pkgs/development/interpreters/python/docs/3.0-pdf-a4.nix
index 658cfd27ee7b..e4b185a11c6b 100644
--- a/pkgs/development/interpreters/python/docs/3.0-pdf-a4.nix
+++ b/pkgs/development/interpreters/python/docs/3.0-pdf-a4.nix
@@ -1,15 +1,18 @@
 # This file was generated and will be overwritten by ./generate.sh
 
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, lib }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "python30-docs-pdf-a4-3.0.1";
   src = fetchurl {
     url = http://docs.python.org/ftp/python/doc/3.0.1/python-3.0.1-docs-pdf-a4.tar.bz2;
     sha256 = "1qgcydqxxhy317lkzzs2v5as4hcwcblir8y3mdr173qsg51iggra";
   };
   installPhase = ''
-    mkdir -p $out/share/docs
-    cp -R ./ $out/share/docs/
+    mkdir -p $out/share/doc/python30
+    cp -R ./ $out/share/doc/python30/pdf-a4
   '';
+  meta = {
+    maintainers = [ lib.maintainers.chaoflow ];
+  };
 }
diff --git a/pkgs/development/interpreters/python/docs/3.0-pdf-letter.nix b/pkgs/development/interpreters/python/docs/3.0-pdf-letter.nix
index 5a86ea0a7017..1373ae21284b 100644
--- a/pkgs/development/interpreters/python/docs/3.0-pdf-letter.nix
+++ b/pkgs/development/interpreters/python/docs/3.0-pdf-letter.nix
@@ -1,15 +1,18 @@
 # This file was generated and will be overwritten by ./generate.sh
 
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, lib }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "python30-docs-pdf-letter-3.0.1";
   src = fetchurl {
     url = http://docs.python.org/ftp/python/doc/3.0.1/python-3.0.1-docs-pdf-letter.tar.bz2;
     sha256 = "1x59q0k6fv55vvpsgr5xcq66k5zsd0f142cp6aa4rb6c81i31yml";
   };
   installPhase = ''
-    mkdir -p $out/share/docs
-    cp -R ./ $out/share/docs/
+    mkdir -p $out/share/doc/python30
+    cp -R ./ $out/share/doc/python30/pdf-letter
   '';
+  meta = {
+    maintainers = [ lib.maintainers.chaoflow ];
+  };
 }
diff --git a/pkgs/development/interpreters/python/docs/3.0-text.nix b/pkgs/development/interpreters/python/docs/3.0-text.nix
index 4031594e768d..c37fa99f7c5b 100644
--- a/pkgs/development/interpreters/python/docs/3.0-text.nix
+++ b/pkgs/development/interpreters/python/docs/3.0-text.nix
@@ -1,15 +1,18 @@
 # This file was generated and will be overwritten by ./generate.sh
 
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, lib }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "python30-docs-text-3.0.1";
   src = fetchurl {
     url = http://docs.python.org/ftp/python/doc/3.0.1/python-3.0.1-docs-text.tar.bz2;
     sha256 = "12qlh9ywbnw50wk5siq7lmhr935dd16q3vjbii6gfv0g80b1byzx";
   };
   installPhase = ''
-    mkdir -p $out/share/docs
-    cp -R ./ $out/share/docs/
+    mkdir -p $out/share/doc/python30
+    cp -R ./ $out/share/doc/python30/text
   '';
+  meta = {
+    maintainers = [ lib.maintainers.chaoflow ];
+  };
 }
diff --git a/pkgs/development/interpreters/python/docs/3.1-html.nix b/pkgs/development/interpreters/python/docs/3.1-html.nix
index 7226cbde3bdf..625aa181c63f 100644
--- a/pkgs/development/interpreters/python/docs/3.1-html.nix
+++ b/pkgs/development/interpreters/python/docs/3.1-html.nix
@@ -1,15 +1,18 @@
 # This file was generated and will be overwritten by ./generate.sh
 
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, lib }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "python31-docs-html-3.1.5";
   src = fetchurl {
     url = http://docs.python.org/ftp/python/doc/3.1.5/python-3.1.5-docs-html.tar.bz2;
     sha256 = "187shb92218k0i07hj9ak1kqbqjcxkivmwxlzj18v791l7x7qcpz";
   };
   installPhase = ''
-    mkdir -p $out/share/docs
-    cp -R ./ $out/share/docs/
+    mkdir -p $out/share/doc/python31
+    cp -R ./ $out/share/doc/python31/html
   '';
+  meta = {
+    maintainers = [ lib.maintainers.chaoflow ];
+  };
 }
diff --git a/pkgs/development/interpreters/python/docs/3.1-pdf-a4.nix b/pkgs/development/interpreters/python/docs/3.1-pdf-a4.nix
index ddde9ccfe2e9..564103dd101a 100644
--- a/pkgs/development/interpreters/python/docs/3.1-pdf-a4.nix
+++ b/pkgs/development/interpreters/python/docs/3.1-pdf-a4.nix
@@ -1,15 +1,18 @@
 # This file was generated and will be overwritten by ./generate.sh
 
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, lib }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "python31-docs-pdf-a4-3.1.5";
   src = fetchurl {
     url = http://docs.python.org/ftp/python/doc/3.1.5/python-3.1.5-docs-pdf-a4.tar.bz2;
     sha256 = "0kbj6b43gnwlb1czkzmirasmc31j10plq0rlb9s9rh8phqnbmhx1";
   };
   installPhase = ''
-    mkdir -p $out/share/docs
-    cp -R ./ $out/share/docs/
+    mkdir -p $out/share/doc/python31
+    cp -R ./ $out/share/doc/python31/pdf-a4
   '';
+  meta = {
+    maintainers = [ lib.maintainers.chaoflow ];
+  };
 }
diff --git a/pkgs/development/interpreters/python/docs/3.1-pdf-letter.nix b/pkgs/development/interpreters/python/docs/3.1-pdf-letter.nix
index 929ecbdb92c3..d6e3009f59c9 100644
--- a/pkgs/development/interpreters/python/docs/3.1-pdf-letter.nix
+++ b/pkgs/development/interpreters/python/docs/3.1-pdf-letter.nix
@@ -1,15 +1,18 @@
 # This file was generated and will be overwritten by ./generate.sh
 
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, lib }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "python31-docs-pdf-letter-3.1.5";
   src = fetchurl {
     url = http://docs.python.org/ftp/python/doc/3.1.5/python-3.1.5-docs-pdf-letter.tar.bz2;
     sha256 = "0s202vrjfa8dnp3vpfjb21bmqym9wyj8jn2glgwjzk63z6fwb60i";
   };
   installPhase = ''
-    mkdir -p $out/share/docs
-    cp -R ./ $out/share/docs/
+    mkdir -p $out/share/doc/python31
+    cp -R ./ $out/share/doc/python31/pdf-letter
   '';
+  meta = {
+    maintainers = [ lib.maintainers.chaoflow ];
+  };
 }
diff --git a/pkgs/development/interpreters/python/docs/3.1-text.nix b/pkgs/development/interpreters/python/docs/3.1-text.nix
index 76caa5e52325..3ce559e3ecc5 100644
--- a/pkgs/development/interpreters/python/docs/3.1-text.nix
+++ b/pkgs/development/interpreters/python/docs/3.1-text.nix
@@ -1,15 +1,18 @@
 # This file was generated and will be overwritten by ./generate.sh
 
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, lib }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "python31-docs-text-3.1.5";
   src = fetchurl {
     url = http://docs.python.org/ftp/python/doc/3.1.5/python-3.1.5-docs-text.tar.bz2;
     sha256 = "1jsfgfgdi1i2l3lhdk7ss5gwrcg3qhhh8syfrwz8xrv2klmmmn9b";
   };
   installPhase = ''
-    mkdir -p $out/share/docs
-    cp -R ./ $out/share/docs/
+    mkdir -p $out/share/doc/python31
+    cp -R ./ $out/share/doc/python31/text
   '';
+  meta = {
+    maintainers = [ lib.maintainers.chaoflow ];
+  };
 }
diff --git a/pkgs/development/interpreters/python/docs/3.2-html.nix b/pkgs/development/interpreters/python/docs/3.2-html.nix
index 3df6e1da0f9c..146901005489 100644
--- a/pkgs/development/interpreters/python/docs/3.2-html.nix
+++ b/pkgs/development/interpreters/python/docs/3.2-html.nix
@@ -1,15 +1,18 @@
 # This file was generated and will be overwritten by ./generate.sh
 
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, lib }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "python32-docs-html-3.2.3";
   src = fetchurl {
     url = http://docs.python.org/ftp/python/doc/3.2.3/python-3.2.3-docs-html.tar.bz2;
     sha256 = "058pryg0gn0rlpswkj1z0xvpr39s3ymx3dwqfhhf83w0mlysdm0x";
   };
   installPhase = ''
-    mkdir -p $out/share/docs
-    cp -R ./ $out/share/docs/
+    mkdir -p $out/share/doc/python32
+    cp -R ./ $out/share/doc/python32/html
   '';
+  meta = {
+    maintainers = [ lib.maintainers.chaoflow ];
+  };
 }
diff --git a/pkgs/development/interpreters/python/docs/3.2-pdf-a4.nix b/pkgs/development/interpreters/python/docs/3.2-pdf-a4.nix
index 6d37cc86d95c..729101b2d012 100644
--- a/pkgs/development/interpreters/python/docs/3.2-pdf-a4.nix
+++ b/pkgs/development/interpreters/python/docs/3.2-pdf-a4.nix
@@ -1,15 +1,18 @@
 # This file was generated and will be overwritten by ./generate.sh
 
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, lib }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "python32-docs-pdf-a4-3.2.3";
   src = fetchurl {
     url = http://docs.python.org/ftp/python/doc/3.2.3/python-3.2.3-docs-pdf-a4.tar.bz2;
     sha256 = "1lw1sbk3nx70k2zxgjc36ryvyzlxndzsvhrxyzdy9sjfhasyd807";
   };
   installPhase = ''
-    mkdir -p $out/share/docs
-    cp -R ./ $out/share/docs/
+    mkdir -p $out/share/doc/python32
+    cp -R ./ $out/share/doc/python32/pdf-a4
   '';
+  meta = {
+    maintainers = [ lib.maintainers.chaoflow ];
+  };
 }
diff --git a/pkgs/development/interpreters/python/docs/3.2-pdf-letter.nix b/pkgs/development/interpreters/python/docs/3.2-pdf-letter.nix
index 578e69697489..da9b0ce4dccb 100644
--- a/pkgs/development/interpreters/python/docs/3.2-pdf-letter.nix
+++ b/pkgs/development/interpreters/python/docs/3.2-pdf-letter.nix
@@ -1,15 +1,18 @@
 # This file was generated and will be overwritten by ./generate.sh
 
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, lib }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "python32-docs-pdf-letter-3.2.3";
   src = fetchurl {
     url = http://docs.python.org/ftp/python/doc/3.2.3/python-3.2.3-docs-pdf-letter.tar.bz2;
     sha256 = "199ibzslw3zrwjd49582vc5q6ghp5ig8zalvslawz0xkz1226wg2";
   };
   installPhase = ''
-    mkdir -p $out/share/docs
-    cp -R ./ $out/share/docs/
+    mkdir -p $out/share/doc/python32
+    cp -R ./ $out/share/doc/python32/pdf-letter
   '';
+  meta = {
+    maintainers = [ lib.maintainers.chaoflow ];
+  };
 }
diff --git a/pkgs/development/interpreters/python/docs/3.2-text.nix b/pkgs/development/interpreters/python/docs/3.2-text.nix
index 062732e9cea5..3ceef2431f73 100644
--- a/pkgs/development/interpreters/python/docs/3.2-text.nix
+++ b/pkgs/development/interpreters/python/docs/3.2-text.nix
@@ -1,15 +1,18 @@
 # This file was generated and will be overwritten by ./generate.sh
 
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, lib }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "python32-docs-text-3.2.3";
   src = fetchurl {
     url = http://docs.python.org/ftp/python/doc/3.2.3/python-3.2.3-docs-text.tar.bz2;
     sha256 = "1jdc9rj2b4vsbvg5mq6vcdfa2b72avhhvjw7rn7k3kl521cvxs09";
   };
   installPhase = ''
-    mkdir -p $out/share/docs
-    cp -R ./ $out/share/docs/
+    mkdir -p $out/share/doc/python32
+    cp -R ./ $out/share/doc/python32/text
   '';
+  meta = {
+    maintainers = [ lib.maintainers.chaoflow ];
+  };
 }
diff --git a/pkgs/development/interpreters/python/docs/3.3-html.nix b/pkgs/development/interpreters/python/docs/3.3-html.nix
index 6530153c51b8..055224dd740b 100644
--- a/pkgs/development/interpreters/python/docs/3.3-html.nix
+++ b/pkgs/development/interpreters/python/docs/3.3-html.nix
@@ -1,15 +1,18 @@
 # This file was generated and will be overwritten by ./generate.sh
 
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, lib }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "python33-docs-html-3.3.0";
   src = fetchurl {
     url = http://docs.python.org/ftp/python/doc/3.3.0/python-3.3.0-docs-html.tar.bz2;
     sha256 = "0vv24b9qi7gznv687ik0pa2w1rq9grqivy44znvj2ysjfg7mc2c1";
   };
   installPhase = ''
-    mkdir -p $out/share/docs
-    cp -R ./ $out/share/docs/
+    mkdir -p $out/share/doc/python33
+    cp -R ./ $out/share/doc/python33/html
   '';
+  meta = {
+    maintainers = [ lib.maintainers.chaoflow ];
+  };
 }
diff --git a/pkgs/development/interpreters/python/docs/3.3-pdf-a4.nix b/pkgs/development/interpreters/python/docs/3.3-pdf-a4.nix
index 037e53e63d67..8c6b842d0b94 100644
--- a/pkgs/development/interpreters/python/docs/3.3-pdf-a4.nix
+++ b/pkgs/development/interpreters/python/docs/3.3-pdf-a4.nix
@@ -1,15 +1,18 @@
 # This file was generated and will be overwritten by ./generate.sh
 
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, lib }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "python33-docs-pdf-a4-3.3.0";
   src = fetchurl {
     url = http://docs.python.org/ftp/python/doc/3.3.0/python-3.3.0-docs-pdf-a4.tar.bz2;
     sha256 = "1y6n13bxlw8a11khy3ynfbz8z0kpf2lvh32dvy8scyw3hrk6wdxp";
   };
   installPhase = ''
-    mkdir -p $out/share/docs
-    cp -R ./ $out/share/docs/
+    mkdir -p $out/share/doc/python33
+    cp -R ./ $out/share/doc/python33/pdf-a4
   '';
+  meta = {
+    maintainers = [ lib.maintainers.chaoflow ];
+  };
 }
diff --git a/pkgs/development/interpreters/python/docs/3.3-pdf-letter.nix b/pkgs/development/interpreters/python/docs/3.3-pdf-letter.nix
index e4dd3dc7ebc6..046abe8f83d7 100644
--- a/pkgs/development/interpreters/python/docs/3.3-pdf-letter.nix
+++ b/pkgs/development/interpreters/python/docs/3.3-pdf-letter.nix
@@ -1,15 +1,18 @@
 # This file was generated and will be overwritten by ./generate.sh
 
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, lib }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "python33-docs-pdf-letter-3.3.0";
   src = fetchurl {
     url = http://docs.python.org/ftp/python/doc/3.3.0/python-3.3.0-docs-pdf-letter.tar.bz2;
     sha256 = "0mcj1i47nx81fc9zk1cic4c4p139qjcqlzf4hnnkzvb3jcgy5z6k";
   };
   installPhase = ''
-    mkdir -p $out/share/docs
-    cp -R ./ $out/share/docs/
+    mkdir -p $out/share/doc/python33
+    cp -R ./ $out/share/doc/python33/pdf-letter
   '';
+  meta = {
+    maintainers = [ lib.maintainers.chaoflow ];
+  };
 }
diff --git a/pkgs/development/interpreters/python/docs/3.3-text.nix b/pkgs/development/interpreters/python/docs/3.3-text.nix
index f3a0c049dd13..4d99c25bf598 100644
--- a/pkgs/development/interpreters/python/docs/3.3-text.nix
+++ b/pkgs/development/interpreters/python/docs/3.3-text.nix
@@ -1,15 +1,18 @@
 # This file was generated and will be overwritten by ./generate.sh
 
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, lib }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "python33-docs-text-3.3.0";
   src = fetchurl {
     url = http://docs.python.org/ftp/python/doc/3.3.0/python-3.3.0-docs-text.tar.bz2;
     sha256 = "10vk2fixg1aglqmsf89kn98rlirrbhnrk1285vzfbynf2iavxw0n";
   };
   installPhase = ''
-    mkdir -p $out/share/docs
-    cp -R ./ $out/share/docs/
+    mkdir -p $out/share/doc/python33
+    cp -R ./ $out/share/doc/python33/text
   '';
+  meta = {
+    maintainers = [ lib.maintainers.chaoflow ];
+  };
 }
diff --git a/pkgs/development/interpreters/python/docs/default.nix b/pkgs/development/interpreters/python/docs/default.nix
index 165e89c4b803..7e3ff6abbe93 100644
--- a/pkgs/development/interpreters/python/docs/default.nix
+++ b/pkgs/development/interpreters/python/docs/default.nix
@@ -1,77 +1,85 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, lib }:
 
 let
 pythonDocs = {
-  python33_html = import ./3.3-html.nix {
-    inherit stdenv fetchurl;
-  };
-  python33_pdf_a4 = import ./3.3-pdf-a4.nix {
-    inherit stdenv fetchurl;
-  };
-  python33_pdf_letter = import ./3.3-pdf-letter.nix {
-    inherit stdenv fetchurl;
-  };
-  python33_text = import ./3.3-text.nix {
-    inherit stdenv fetchurl;
-  };
-  python32_html = import ./3.2-html.nix {
-    inherit stdenv fetchurl;
-  };
-  python32_pdf_a4 = import ./3.2-pdf-a4.nix {
-    inherit stdenv fetchurl;
-  };
-  python32_pdf_letter = import ./3.2-pdf-letter.nix {
-    inherit stdenv fetchurl;
-  };
-  python32_text = import ./3.2-text.nix {
-    inherit stdenv fetchurl;
-  };
-  python31_html = import ./3.1-html.nix {
-    inherit stdenv fetchurl;
-  };
-  python31_pdf_a4 = import ./3.1-pdf-a4.nix {
-    inherit stdenv fetchurl;
-  };
-  python31_pdf_letter = import ./3.1-pdf-letter.nix {
-    inherit stdenv fetchurl;
-  };
-  python31_text = import ./3.1-text.nix {
-    inherit stdenv fetchurl;
-  };
-  python30_html = import ./3.0-html.nix {
-    inherit stdenv fetchurl;
-  };
-  python30_pdf_a4 = import ./3.0-pdf-a4.nix {
-    inherit stdenv fetchurl;
-  };
-  python30_pdf_letter = import ./3.0-pdf-letter.nix {
-    inherit stdenv fetchurl;
-  };
-  python30_text = import ./3.0-text.nix {
-    inherit stdenv fetchurl;
-  };
-  python27_html = import ./2.7-html.nix {
-    inherit stdenv fetchurl;
-  };
-  python27_pdf_a4 = import ./2.7-pdf-a4.nix {
-    inherit stdenv fetchurl;
-  };
-  python27_pdf_letter = import ./2.7-pdf-letter.nix {
-    inherit stdenv fetchurl;
-  };
-  python27_text = import ./2.7-text.nix {
-    inherit stdenv fetchurl;
-  };
-  python26_html = import ./2.6-html.nix {
-    inherit stdenv fetchurl;
-  };
-  python26_pdf_a4 = import ./2.6-pdf-a4.nix {
-    inherit stdenv fetchurl;
-  };
-  python26_pdf_letter = import ./2.6-pdf-letter.nix {
-    inherit stdenv fetchurl;
-  };
-  python26_text = import ./2.6-text.nix {
-    inherit stdenv fetchurl;
+  html = {
+    python33 = import ./3.3-html.nix {
+      inherit stdenv fetchurl lib;
+    };
+    python32 = import ./3.2-html.nix {
+      inherit stdenv fetchurl lib;
+    };
+    python31 = import ./3.1-html.nix {
+      inherit stdenv fetchurl lib;
+    };
+    python30 = import ./3.0-html.nix {
+      inherit stdenv fetchurl lib;
+    };
+    python27 = import ./2.7-html.nix {
+      inherit stdenv fetchurl lib;
+    };
+    python26 = import ./2.6-html.nix {
+      inherit stdenv fetchurl lib;
+    };
+  };
+  pdf_a4 = {
+    python33 = import ./3.3-pdf-a4.nix {
+      inherit stdenv fetchurl lib;
+    };
+    python32 = import ./3.2-pdf-a4.nix {
+      inherit stdenv fetchurl lib;
+    };
+    python31 = import ./3.1-pdf-a4.nix {
+      inherit stdenv fetchurl lib;
+    };
+    python30 = import ./3.0-pdf-a4.nix {
+      inherit stdenv fetchurl lib;
+    };
+    python27 = import ./2.7-pdf-a4.nix {
+      inherit stdenv fetchurl lib;
+    };
+    python26 = import ./2.6-pdf-a4.nix {
+      inherit stdenv fetchurl lib;
+    };
+  };
+  pdf_letter = {
+    python33 = import ./3.3-pdf-letter.nix {
+      inherit stdenv fetchurl lib;
+    };
+    python32 = import ./3.2-pdf-letter.nix {
+      inherit stdenv fetchurl lib;
+    };
+    python31 = import ./3.1-pdf-letter.nix {
+      inherit stdenv fetchurl lib;
+    };
+    python30 = import ./3.0-pdf-letter.nix {
+      inherit stdenv fetchurl lib;
+    };
+    python27 = import ./2.7-pdf-letter.nix {
+      inherit stdenv fetchurl lib;
+    };
+    python26 = import ./2.6-pdf-letter.nix {
+      inherit stdenv fetchurl lib;
+    };
+  };
+  text = {
+    python33 = import ./3.3-text.nix {
+      inherit stdenv fetchurl lib;
+    };
+    python32 = import ./3.2-text.nix {
+      inherit stdenv fetchurl lib;
+    };
+    python31 = import ./3.1-text.nix {
+      inherit stdenv fetchurl lib;
+    };
+    python30 = import ./3.0-text.nix {
+      inherit stdenv fetchurl lib;
+    };
+    python27 = import ./2.7-text.nix {
+      inherit stdenv fetchurl lib;
+    };
+    python26 = import ./2.6-text.nix {
+      inherit stdenv fetchurl lib;
+    };
   };
 }; in pythonDocs
diff --git a/pkgs/development/interpreters/python/docs/generate.sh b/pkgs/development/interpreters/python/docs/generate.sh
index c5e990c3a99f..554bf79e3344 100755
--- a/pkgs/development/interpreters/python/docs/generate.sh
+++ b/pkgs/development/interpreters/python/docs/generate.sh
@@ -9,14 +9,15 @@ ${VERSIONS}
 
 
 cat >default.nix <<EOF
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, lib }:
 
 let
 pythonDocs = {
 EOF
 
-for version in $VERSIONS; do
-    for type in $TYPES; do
+for type in $TYPES; do
+    echo "  ${type/-/_} = {" >> default.nix
+    for version in $VERSIONS; do
         major=$(echo -n ${version}| cut -d. -f1)
         minor=$(echo -n ${version}| cut -d. -f2)
         outfile=${major}.${minor}-${type}.nix
@@ -38,16 +39,17 @@ for version in $VERSIONS; do
             -e "s,URL,${url}," \
             -e "s,SHA,${sha}," < template.nix > ${outfile}
 
-        attrname=python${major}${minor}_$(echo -n ${type} |sed -e "s,-,_,g")
+        attrname=python${major}${minor}
         cat >>default.nix <<EOF
-  ${attrname} = import ./${major}.${minor}-${type}.nix {
-    inherit stdenv fetchurl;
-  };
+    ${attrname} = import ./${major}.${minor}-${type}.nix {
+      inherit stdenv fetchurl lib;
+    };
 EOF
 
         echo "done."
         echo
     done
+    echo "  };" >> default.nix
 done
 
 echo "}; in pythonDocs" >> default.nix
diff --git a/pkgs/development/interpreters/python/docs/template.nix b/pkgs/development/interpreters/python/docs/template.nix
index 621bf9e7cd92..cc92f71bc1ea 100644
--- a/pkgs/development/interpreters/python/docs/template.nix
+++ b/pkgs/development/interpreters/python/docs/template.nix
@@ -1,15 +1,18 @@
 # This file was generated and will be overwritten by ./generate.sh
 
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, lib }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "pythonMAJORMINOR-docs-TYPE-VERSION";
   src = fetchurl {
     url = URL;
     sha256 = "SHA";
   };
   installPhase = ''
-    mkdir -p $out/share/docs
-    cp -R ./ $out/share/docs/
+    mkdir -p $out/share/doc/pythonMAJORMINOR
+    cp -R ./ $out/share/doc/pythonMAJORMINOR/TYPE
   '';
+  meta = {
+    maintainers = [ lib.maintainers.chaoflow ];
+  };
 }
diff --git a/pkgs/development/interpreters/ruby/fix-gem-nix-versions.patch b/pkgs/development/interpreters/ruby/fix-gem-nix-versions.patch
new file mode 100644
index 000000000000..c67eaff2ac50
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/fix-gem-nix-versions.patch
@@ -0,0 +1,35 @@
+diff --git a/lib/nix/gem-nix-command.rb b/lib/nix/gem-nix-command.rb
+index 8d3733e..ba942ff 100644
+--- a/lib/nix/gem-nix-command.rb
++++ b/lib/nix/gem-nix-command.rb
+@@ -108,11 +108,12 @@ class Gem::Commands::NixCommand < Gem::Command
+ 
+       # args to dep informations
+       args.each { |arg|
+-        if arg =~ /(.+)-?(.*)?/ then
++        if arg =~ /(.+)-([0-9][^-]+)/ then
+           gem_name = $1
+-          version =  $2.empty? ?  Gem::Requirement.default : Gem::Version.new($2)
++          version =  Gem::Version.new($2)
+         else
+-          raise Gem::CommandLineError, "couldn't parse arg. expected: name or name-version"
++          gem_name = arg
++          version =  Gem::Requirement.default
+         end
+ 
+         adddep(Gem::Dependency.new gem_name, version)
+@@ -162,7 +163,13 @@ class Gem::Commands::NixCommand < Gem::Command
+     spec, source_uri = find_gem_with_source(dep)
+     full_name = spec.full_name
+ 
+-    return if @gems_with_deps.key?(full_name)
++    if @gems_with_deps.key?(full_name)
++      unless @gems_with_deps[full_name].nil?
++        return @gems_with_deps[full_name][0]
++      else
++        return nil
++      end
++    end
+     @gems_with_deps[full_name] = nil # there maybe circular dependencies. thus mark this gem seen as early as possible
+ 
+     # development deps can't be found. Some are old. Thus only add rutime dependencies
diff --git a/pkgs/development/interpreters/ruby/generated.nix b/pkgs/development/interpreters/ruby/generated.nix
index 5e3b37490f0c..5a959eeb26fb 100644
--- a/pkgs/development/interpreters/ruby/generated.nix
+++ b/pkgs/development/interpreters/ruby/generated.nix
@@ -17,47 +17,47 @@ g: # Get dependencies from patched gems
     bitbucket_backup = g.bitbucket_backup_0_2_2;
     builder = g.builder_3_2_0;
     buildr = g.buildr_1_4_10;
-    bundler = g.bundler_1_3_0;
-    childprocess = g.childprocess_0_3_8;
+    bundler = g.bundler_1_3_1;
+    childprocess = g.childprocess_0_3_9;
     daemons = g.daemons_1_1_9;
     diff_lcs = g.diff_lcs_1_1_3;
     dimensions = g.dimensions_1_2_0;
     erubis = g.erubis_2_7_0;
-    eventmachine = g.eventmachine_1_0_0;
+    eventmachine = g.eventmachine_1_0_1;
     fakes3 = g.fakes3_0_1_5;
     ffi = g.ffi_1_4_0;
     foreman = g.foreman_0_61_0;
     highline = g.highline_1_6_15;
     hike = g.hike_1_2_1;
     hoe = g.hoe_3_1_0;
-    i18n = g.i18n_0_6_1;
+    i18n = g.i18n_0_6_4;
     journey = g.journey_1_0_4;
     jruby_pageant = g.jruby_pageant_1_1_1;
     jsduck = g.jsduck_4_6_2;
     json = g.json_1_7_7;
     json_pure = g.json_pure_1_7_7;
-    libv8 = g.libv8_3_3_10_4_x86_64_linux;
+    libv8 = g.libv8_3_3_10_4;
     macaddr = g.macaddr_1_6_1;
     mail = g.mail_2_4_4;
     mime_types = g.mime_types_1_21;
     minitar = g.minitar_0_5_3;
     multi_json = g.multi_json_1_6_1;
     net_sftp = g.net_sftp_2_0_5;
-    net_ssh = g.net_ssh_2_6_5;
+    net_ssh = g.net_ssh_2_6_6;
     nix = g.nix_0_1_1;
     nokogiri = g.nokogiri_1_5_6;
     parallel = g.parallel_0_6_2;
     polyglot = g.polyglot_0_3_3;
     rack = g.rack_1_5_2;
     rack_cache = g.rack_cache_1_2;
-    rack_protection = g.rack_protection_1_3_2;
+    rack_protection = g.rack_protection_1_4_0;
     rack_ssl = g.rack_ssl_1_3_3;
     rack_test = g.rack_test_0_6_2;
     rails = g.rails_3_2_12;
     railties = g.railties_3_2_12;
     rake = g.rake_10_0_3;
     rb_fsevent = g.rb_fsevent_0_9_3;
-    rdiscount = g.rdiscount_2_0_7;
+    rdiscount = g.rdiscount_2_0_7_1;
     rdoc = g.rdoc_3_12_2;
     rjb = g.rjb_1_4_6;
     rspec = g.rspec_2_11_0;
@@ -67,16 +67,16 @@ g: # Get dependencies from patched gems
     rubyforge = g.rubyforge_2_0_4;
     rubyzip = g.rubyzip_0_9_9;
     sass = g.sass_3_2_6;
-    selenium_webdriver = g.selenium_webdriver_2_30_0;
+    selenium_webdriver = g.selenium_webdriver_2_31_0;
     sinatra = g.sinatra_1_3_2;
     sprockets = g.sprockets_2_2_2;
     systemu = g.systemu_2_5_2;
     therubyracer = g.therubyracer_0_10_2;
     thin = g.thin_1_5_0;
     thor = g.thor_0_17_0;
-    tilt = g.tilt_1_3_3;
+    tilt = g.tilt_1_3_4;
     treetop = g.treetop_1_4_12;
-    tzinfo = g.tzinfo_0_3_35;
+    tzinfo = g.tzinfo_0_3_36;
     uuid = g.uuid_2_3_7;
     uuidtools = g.uuidtools_2_1_3;
     websocket = g.websocket_1_0_7;
@@ -156,7 +156,7 @@ installed versions.'';
         longDescription = ''Databases on Rails. Build a persistent domain model by mapping database tables to Ruby classes. Strong conventions for associations, validations, aggregations, migrations, and testing come baked-in.'';
       };
       name = ''activerecord-3.2.12'';
-      requiredGems = [ g.activesupport_3_2_12 g.activemodel_3_2_12 g.arel_3_0_2 g.tzinfo_0_3_35 ];
+      requiredGems = [ g.activesupport_3_2_12 g.activemodel_3_2_12 g.arel_3_0_2 g.tzinfo_0_3_36 ];
       sha256 = ''0fl8iyv3gcy72y79iv4ccyck8ik02rrl3pdy7yxfhlnqgryp8syi'';
     };
     activeresource_3_2_12 = {
@@ -178,7 +178,7 @@ installed versions.'';
         longDescription = ''A toolkit of support libraries and Ruby core extensions extracted from the Rails framework. Rich support for multibyte strings, internationalization, time zones, and testing.'';
       };
       name = ''activesupport-3.2.12'';
-      requiredGems = [ g.i18n_0_6_1 g.multi_json_1_6_1 ];
+      requiredGems = [ g.i18n_0_6_4 g.multi_json_1_6_1 ];
       sha256 = ''1giqkprxjf5gyfyhn5nz9q8a5gi3v8irxhkpqr00zc5fw1azllsg'';
     };
     arel_3_0_2 = {
@@ -316,30 +316,30 @@ for those one-off tasks, with a language that's a joy to use.
 '';
       };
       name = ''buildr-1.4.10'';
-      requiredGems = [ g.rake_0_9_2_2 g.builder_3_1_3 g.net_ssh_2_6_0 g.net_sftp_2_0_5 g.rubyzip_0_9_9 g.highline_1_6_2 g.json_pure_1_7_5 g.rubyforge_2_0_4 g.hoe_3_1_0 g.rjb_1_4_2 g.atoulme_Antwrap_0_7_4 g.diff_lcs_1_1_3 g.rspec_expectations_2_11_3 g.rspec_mocks_2_11_3 g.rspec_core_2_11_1 g.rspec_2_11_0 g.xml_simple_1_1_1 g.minitar_0_5_3 g.bundler_1_3_0 ];
+      requiredGems = [ g.rake_0_9_2_2 g.builder_3_1_3 g.net_ssh_2_6_0 g.net_sftp_2_0_5 g.rubyzip_0_9_9 g.highline_1_6_2 g.json_pure_1_7_5 g.rubyforge_2_0_4 g.hoe_3_1_0 g.rjb_1_4_2 g.atoulme_Antwrap_0_7_4 g.diff_lcs_1_1_3 g.rspec_expectations_2_11_3 g.rspec_mocks_2_11_3 g.rspec_core_2_11_1 g.rspec_2_11_0 g.xml_simple_1_1_1 g.minitar_0_5_3 g.bundler_1_3_1 ];
       sha256 = ''1x192r8ab5zr9rlp1i9b3pi3y74f9pj2w491wkgshgwj22akh6vn'';
     };
-    bundler_1_3_0 = {
+    bundler_1_3_1 = {
       basename = ''bundler'';
       meta = {
         description = ''The best way to manage your application's dependencies'';
         homepage = ''http://gembundler.com'';
         longDescription = ''Bundler manages an application's dependencies through its entire life, across many machines, systematically and repeatably'';
       };
-      name = ''bundler-1.3.0'';
+      name = ''bundler-1.3.1'';
       requiredGems = [  ];
-      sha256 = ''16ss4fh97wbg5n5l00wkinxdsj7bjgqzv9h6yhygv45wi8rbf8zp'';
+      sha256 = ''1nmvfsk9148nkl0bdcs167kiihp89zwkyvjs0khvi4df6s9km725'';
     };
-    childprocess_0_3_8 = {
+    childprocess_0_3_9 = {
       basename = ''childprocess'';
       meta = {
         description = ''This gem aims at being a simple and reliable solution for controlling external programs running in the background on any Ruby / OS combination.'';
         homepage = ''http://github.com/jarib/childprocess'';
         longDescription = ''This gem aims at being a simple and reliable solution for controlling external programs running in the background on any Ruby / OS combination.'';
       };
-      name = ''childprocess-0.3.8'';
+      name = ''childprocess-0.3.9'';
       requiredGems = [ g.ffi_1_4_0 ];
-      sha256 = ''08rp4krw0g60567ih4w51ndlq2pg92al0dycy0bs0m3msq68nlq4'';
+      sha256 = ''0jbz2ix7ff9ry8717lhcq9w8j8yd45akw48giwgdqccay5mlph7d'';
     };
     daemons_1_1_9 = {
       basename = ''daemons'';
@@ -411,7 +411,7 @@ is the MIT license.'';
       requiredGems = [  ];
       sha256 = ''1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3'';
     };
-    eventmachine_1_0_0 = {
+    eventmachine_1_0_1 = {
       basename = ''eventmachine'';
       meta = {
         description = ''Ruby/EventMachine library'';
@@ -427,9 +427,9 @@ are provided with the package, primarily to serve as examples. The real goal
 of EventMachine is to enable programs to easily interface with other programs
 using TCP/IP, especially if custom protocols are required.'';
       };
-      name = ''eventmachine-1.0.0'';
+      name = ''eventmachine-1.0.1'';
       requiredGems = [  ];
-      sha256 = ''1qshsikskkfbbhai9s0qhmnpa326m83k9yzivwvkl2dc1ffpk2pz'';
+      sha256 = ''1v7im8v9y5jb863794irgnlqzdg669w6v1g89sln0l511gjnjv52'';
     };
     fakes3_0_1_5 = {
       basename = ''fakes3'';
@@ -524,16 +524,16 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
       requiredGems = [ g.rake_0_9_6 ];
       sha256 = ''0i961x0hrd6fs1nsfham87dhn64gqpnai27l14jag7qbnp3a79yp'';
     };
-    i18n_0_6_1 = {
+    i18n_0_6_4 = {
       basename = ''i18n'';
       meta = {
         description = ''New wave Internationalization support for Ruby'';
         homepage = ''http://github.com/svenfuchs/i18n'';
         longDescription = ''New wave Internationalization support for Ruby.'';
       };
-      name = ''i18n-0.6.1'';
+      name = ''i18n-0.6.4'';
       requiredGems = [  ];
-      sha256 = ''0x3lhp1vl1k4dfqx6k93hhxcpjkz57y8cf007ws7p845ywk6ibfl'';
+      sha256 = ''0wz1rnrs4n21j1rw9a120j2pfdkbikp1yvxaqi3mk30iw6mx4p0f'';
     };
     journey_1_0_4 = {
       basename = ''journey'';
@@ -565,7 +565,7 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
         longDescription = ''Documentation generator for Sencha JS frameworks'';
       };
       name = ''jsduck-4.6.2'';
-      requiredGems = [ g.rdiscount_2_0_7 g.json_1_7_7 g.parallel_0_6_2 g.therubyracer_0_10_2 g.dimensions_1_2_0 ];
+      requiredGems = [ g.rdiscount_2_0_7_1 g.json_1_7_7 g.parallel_0_6_2 g.therubyracer_0_10_2 g.dimensions_1_2_0 ];
       sha256 = ''035w4igfa6yy6234ff4zbiqfjn0bhwqs6k8kji52l7gzgskwmzln'';
     };
     json_1_7_7 = {
@@ -601,16 +601,16 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
       requiredGems = [  ];
       sha256 = ''0jxp0amx9xhka0ixnhvfgwc5ydr82hkxp81pvw32z31arx7jrwl6'';
     };
-    libv8_3_3_10_4_x86_64_linux = {
+    libv8_3_3_10_4 = {
       basename = ''libv8'';
       meta = {
         description = ''Distribution of the V8 JavaScript engine'';
         homepage = ''http://github.com/fractaloop/libv8'';
         longDescription = ''Distributes the V8 JavaScript engine in binary and source forms in order to support fast builds of The Ruby Racer'';
       };
-      name = ''libv8-3.3.10.4-x86_64-linux'';
+      name = ''libv8-3.3.10.4'';
       requiredGems = [  ];
-      sha256 = ''13lnmkm9z3xqyi8rlsycfd7wybv044pxcisrkyq0cx7ig91a0dmc'';
+      sha256 = ''0zy585rs1ihm8nsw525wgmbkcq7aqy1k9dbkk8s6953adl0bpz42'';
     };
     macaddr_1_6_1 = {
       basename = ''macaddr'';
@@ -631,7 +631,7 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
         longDescription = ''A really Ruby Mail handler.'';
       };
       name = ''mail-2.4.4'';
-      requiredGems = [ g.mime_types_1_21 g.treetop_1_4_12 g.i18n_0_6_1 ];
+      requiredGems = [ g.mime_types_1_21 g.treetop_1_4_12 g.i18n_0_6_4 ];
       sha256 = ''0idylz5pnlz34mrxm7gs9jbll2c0k0y9dq2qarhxk30gwyvjaxi3'';
     };
     mime_types_1_21 = {
@@ -696,7 +696,7 @@ added from the the {LTSW collection}[http://www.ltsw.se/knbase/internet/mime.htp
         longDescription = ''A pure Ruby implementation of the SFTP client protocol'';
       };
       name = ''net-sftp-2.0.5'';
-      requiredGems = [ g.net_ssh_2_6_5 ];
+      requiredGems = [ g.net_ssh_2_6_6 ];
       sha256 = ''0lqk735wspm8rbiyxpbil8ikrqcyg00ss1df7fny0761c3as6m0v'';
     };
     net_ssh_2_6_0 = {
@@ -710,16 +710,16 @@ added from the the {LTSW collection}[http://www.ltsw.se/knbase/internet/mime.htp
       requiredGems = [ g.jruby_pageant_1_1_1 ];
       sha256 = ''18fsgps4a9dfrjszkl3py8j7vw0xwi70bcp59ccj2rlr6i1jv5gw'';
     };
-    net_ssh_2_6_5 = {
+    net_ssh_2_6_6 = {
       basename = ''net_ssh'';
       meta = {
         description = ''Net::SSH: a pure-Ruby implementation of the SSH2 client protocol.'';
         homepage = ''https://github.com/net-ssh/net-ssh'';
         longDescription = ''Net::SSH: a pure-Ruby implementation of the SSH2 client protocol. It allows you to write programs that invoke and interact with processes on remote servers, via SSH2.'';
       };
-      name = ''net-ssh-2.6.5'';
+      name = ''net-ssh-2.6.6'';
       requiredGems = [  ];
-      sha256 = ''1f21r78b0rm9gyzdc96fzih27nrags3pk00zlhfviqlfbmb1c48x'';
+      sha256 = ''00fdnwv3jf311jjcc51lq8w26r62vzma91i79h5hj8i1ylrilx51'';
     };
     nix_0_1_1 = {
       basename = ''nix'';
@@ -818,16 +818,16 @@ Also see http://rack.github.com/.
       requiredGems = [ g.rack_1_5_2 ];
       sha256 = ''073ffpsqmy4nqxz178qisb3a4v3305c49ypj0jw6s9mkz02yvgq2'';
     };
-    rack_protection_1_3_2 = {
+    rack_protection_1_4_0 = {
       basename = ''rack_protection'';
       meta = {
         description = ''You should use protection!'';
         homepage = ''http://github.com/rkh/rack-protection'';
         longDescription = ''You should use protection!'';
       };
-      name = ''rack-protection-1.3.2'';
+      name = ''rack-protection-1.4.0'';
       requiredGems = [ g.rack_1_5_2 ];
-      sha256 = ''0f69d491xciq1hb3mm26nxnsb3pvlf3gdkggj4ryiphimsy05n0k'';
+      sha256 = ''0dfydg04fzj9rz34npy6cpp0827lij440s7fls0db41lz4vb94k0'';
     };
     rack_ssl_1_3_3 = {
       basename = ''rack_ssl'';
@@ -863,7 +863,7 @@ request helpers feature.'';
         longDescription = ''Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity. It encourages beautiful code by favoring convention over configuration.'';
       };
       name = ''rails-3.2.12'';
-      requiredGems = [ g.activesupport_3_2_12 g.actionpack_3_2_12 g.activerecord_3_2_12 g.activeresource_3_2_12 g.actionmailer_3_2_12 g.railties_3_2_12 g.bundler_1_3_0 ];
+      requiredGems = [ g.activesupport_3_2_12 g.actionpack_3_2_12 g.activerecord_3_2_12 g.activeresource_3_2_12 g.actionmailer_3_2_12 g.railties_3_2_12 g.bundler_1_3_1 ];
       sha256 = ''1jjnm74nzl5v3461c0mrbpa471yd6s8hnkmnxb64c2rm95c61wxz'';
     };
     railties_3_2_12 = {
@@ -921,15 +921,15 @@ request helpers feature.'';
       requiredGems = [  ];
       sha256 = ''0bdnxwdxj4r1kdxfi5nszbsb126njrr81p912g64xxs2bgxd1bp1'';
     };
-    rdiscount_2_0_7 = {
+    rdiscount_2_0_7_1 = {
       basename = ''rdiscount'';
       meta = {
         description = ''Fast Implementation of Gruber's Markdown in C'';
         homepage = ''http://github.com/rtomayko/rdiscount'';
       };
-      name = ''rdiscount-2.0.7'';
+      name = ''rdiscount-2.0.7.1'';
       requiredGems = [  ];
-      sha256 = ''1cj9dn59xqjaglvzvd1ninid62xmih74az0glqqb90n2p42s2zs1'';
+      sha256 = ''1xjwi99wfyjhn72h8k709kbq2npqmw2zvikszxfg6in83yb8vmxn'';
     };
     rdoc_3_12_2 = {
       basename = ''rdoc'';
@@ -1057,16 +1057,16 @@ See RDoc for a description of RDoc's markup and basic use.'';
       requiredGems = [  ];
       sha256 = ''10xy6k663399r881cj30fapbdsrq8jwzvnp97y8n3mhxmrvzpq28'';
     };
-    selenium_webdriver_2_30_0 = {
+    selenium_webdriver_2_31_0 = {
       basename = ''selenium_webdriver'';
       meta = {
         description = ''The next generation developer focused tool for automated testing of webapps'';
         homepage = ''http://selenium.googlecode.com'';
         longDescription = ''WebDriver is a tool for writing automated tests of websites. It aims to mimic the behaviour of a real user, and as such interacts with the HTML of the application.'';
       };
-      name = ''selenium-webdriver-2.30.0'';
-      requiredGems = [ g.multi_json_1_6_1 g.rubyzip_0_9_9 g.childprocess_0_3_8 g.websocket_1_0_7 ];
-      sha256 = ''1ybx8v9m5y8ykbdbldd1mglz0xhg30iv0708ig0vzjl2522sg6v1'';
+      name = ''selenium-webdriver-2.31.0'';
+      requiredGems = [ g.multi_json_1_6_1 g.rubyzip_0_9_9 g.childprocess_0_3_9 g.websocket_1_0_7 ];
+      sha256 = ''1nv3ff31g183kdb97jjz0y7ny3vdnccd09pgblpj87bzhrrdfv3r'';
     };
     sinatra_1_3_2 = {
       basename = ''sinatra'';
@@ -1076,7 +1076,7 @@ See RDoc for a description of RDoc's markup and basic use.'';
         longDescription = ''Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort.'';
       };
       name = ''sinatra-1.3.2'';
-      requiredGems = [ g.rack_1_5_2 g.rack_protection_1_3_2 g.tilt_1_3_3 ];
+      requiredGems = [ g.rack_1_5_2 g.rack_protection_1_4_0 g.tilt_1_3_4 ];
       sha256 = ''05blf915zpiwyz7agcn9rwdmddwxz0z4l3gd4qlqmrgd2vkw4sxc'';
     };
     sprockets_2_2_2 = {
@@ -1087,7 +1087,7 @@ See RDoc for a description of RDoc's markup and basic use.'';
         longDescription = ''Sprockets is a Rack-based asset packaging system that concatenates and serves JavaScript, CoffeeScript, CSS, LESS, Sass, and SCSS.'';
       };
       name = ''sprockets-2.2.2'';
-      requiredGems = [ g.hike_1_2_1 g.multi_json_1_6_1 g.rack_1_5_2 g.tilt_1_3_3 ];
+      requiredGems = [ g.hike_1_2_1 g.multi_json_1_6_1 g.rack_1_5_2 g.tilt_1_3_4 ];
       sha256 = ''15ngw3bjbyr31ygzmmdxxa30ylah6pdn8akgdy9w30vfx2vr7s7s'';
     };
     systemu_2_5_2 = {
@@ -1109,7 +1109,7 @@ See RDoc for a description of RDoc's markup and basic use.'';
         longDescription = ''Call javascript code and manipulate javascript objects from ruby. Call ruby code and manipulate ruby objects from javascript.'';
       };
       name = ''therubyracer-0.10.2'';
-      requiredGems = [ g.libv8_3_3_10_4_x86_64_linux ];
+      requiredGems = [ g.libv8_3_3_10_4 ];
       sha256 = ''111hm2l613v06sy7pzjzmnyi4x11rg3c2syhnpv8fn0wnn9rdiyb'';
     };
     thin_1_5_0 = {
@@ -1120,7 +1120,7 @@ See RDoc for a description of RDoc's markup and basic use.'';
         longDescription = ''A thin and fast web server'';
       };
       name = ''thin-1.5.0'';
-      requiredGems = [ g.rack_1_5_2 g.eventmachine_1_0_0 g.daemons_1_1_9 ];
+      requiredGems = [ g.rack_1_5_2 g.eventmachine_1_0_1 g.daemons_1_1_9 ];
       sha256 = ''14sd2qbbk6y108z6v723mh3f1mk8s4fwxmmn9f8dk4xkhk4rwvq1'';
     };
     thor_0_17_0 = {
@@ -1134,16 +1134,16 @@ See RDoc for a description of RDoc's markup and basic use.'';
       requiredGems = [  ];
       sha256 = ''0gf46qafcfgmi20a2mnb3wkd9y6spgy2hq22h70377daj4zjxla2'';
     };
-    tilt_1_3_3 = {
+    tilt_1_3_4 = {
       basename = ''tilt'';
       meta = {
         description = ''Generic interface to multiple Ruby template engines'';
         homepage = ''http://github.com/rtomayko/tilt/'';
         longDescription = ''Generic interface to multiple Ruby template engines'';
       };
-      name = ''tilt-1.3.3'';
+      name = ''tilt-1.3.4'';
       requiredGems = [  ];
-      sha256 = ''18qdl8nllbgwipa2ab9df3wlfgvsc8ml78hbypwc17b9qwv9bbs8'';
+      sha256 = ''0hw59shnf3vgpx1jv24mj0d48m72h5cm1d4bianhhkjj82mc406a'';
     };
     treetop_1_4_12 = {
       basename = ''treetop'';
@@ -1155,16 +1155,16 @@ See RDoc for a description of RDoc's markup and basic use.'';
       requiredGems = [ g.polyglot_0_3_3 g.polyglot_0_3_3 ];
       sha256 = ''1jlfjq67n933sm0px0s2j965v1kl1rj8fbx6xk8y4yppkv6ygxc8'';
     };
-    tzinfo_0_3_35 = {
+    tzinfo_0_3_36 = {
       basename = ''tzinfo'';
       meta = {
         description = ''Daylight-savings aware timezone library'';
         homepage = ''http://tzinfo.rubyforge.org/'';
         longDescription = ''TZInfo is a Ruby library that uses the standard tz (Olson) database to provide daylight savings aware transformations between times in different time zones.'';
       };
-      name = ''tzinfo-0.3.35'';
+      name = ''tzinfo-0.3.36'';
       requiredGems = [  ];
-      sha256 = ''1c52ndjqcxpgxhlclbxf98clcpni216xk5zgrkcd4px84riyjbmp'';
+      sha256 = ''1dk7jnhrr5lbhckgq7bh6yxgy8j7vd13qb4kr4vlk76j5ngs2whv'';
     };
     uuid_2_3_7 = {
       basename = ''uuid'';
diff --git a/pkgs/development/interpreters/ruby/patches.nix b/pkgs/development/interpreters/ruby/patches.nix
index a2d2d753a4af..adfea12da952 100644
--- a/pkgs/development/interpreters/ruby/patches.nix
+++ b/pkgs/development/interpreters/ruby/patches.nix
@@ -20,6 +20,13 @@ in
   rails = { gemFlags = "--no-ri --no-rdoc"; };
   
   ncurses = { propagatedBuildInputs = [ ncurses ]; };
+
+  nix = {
+    postInstall = ''
+      cd $out/${ruby.gemPath}/gems/nix*
+      patch -Np1 -i ${./fix-gem-nix-versions.patch}
+    '';
+  };
   
   ncursesw = { propagatedBuildInputs = [ ncurses ]; };
   
diff --git a/pkgs/development/libraries/ffmpeg/1.0.nix b/pkgs/development/libraries/ffmpeg/1.0.nix
deleted file mode 100644
index d703fd8e3697..000000000000
--- a/pkgs/development/libraries/ffmpeg/1.0.nix
+++ /dev/null
@@ -1,85 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, yasm, zlib, bzip2, alsaLib
-, mp3Support ? true, lame ? null
-, speexSupport ? true, speex ? null
-, theoraSupport ? true, libtheora ? null
-, vorbisSupport ? true, libvorbis ? null
-, vpxSupport ? false, libvpx ? null
-, x264Support ? true, x264 ? null
-, xvidSupport ? true, xvidcore ? null
-, vdpauSupport ? true, libvdpau ? null
-, faacSupport ? false, faac ? null
-, dc1394Support ? false, libdc1394 ? null
-, x11grabSupport ? false, libXext ? null, libXfixes ? null
-}:
-
-assert speexSupport -> speex != null;
-assert theoraSupport -> libtheora != null;
-assert vorbisSupport -> libvorbis != null;
-assert vpxSupport -> libvpx != null;
-assert x264Support -> x264 != null;
-assert xvidSupport -> xvidcore != null;
-assert vdpauSupport -> libvdpau != null;
-assert faacSupport -> faac != null;
-assert x11grabSupport -> libXext != null && libXfixes != null;
-
-stdenv.mkDerivation rec {
-  name = "ffmpeg-1.0";
-  
-  src = fetchurl {
-    url = "http://www.ffmpeg.org/releases/${name}.tar.bz2";
-    sha256 = "1jbi85z2zkk3fh09l9f1s70kpvsz8706ay4lsw75395q8vic70hd";
-  };
-  
-  # `--enable-gpl' (as well as the `postproc' and `swscale') mean that
-  # the resulting library is GPL'ed, so it can only be used in GPL'ed
-  # applications.
-  configureFlags = [
-    "--enable-gpl"
-    "--enable-postproc"
-    "--enable-swscale"
-    "--disable-ffplay"
-    "--enable-shared"
-    "--enable-runtime-cpudetect"
-  ]
-    ++ stdenv.lib.optional mp3Support "--enable-libmp3lame"
-    ++ stdenv.lib.optional speexSupport "--enable-libspeex"
-    ++ stdenv.lib.optional theoraSupport "--enable-libtheora"
-    ++ stdenv.lib.optional vorbisSupport "--enable-libvorbis"
-    ++ stdenv.lib.optional vpxSupport "--enable-libvpx"
-    ++ stdenv.lib.optional x264Support "--enable-libx264"
-    ++ stdenv.lib.optional xvidSupport "--enable-libxvid"
-    ++ stdenv.lib.optional vdpauSupport "--enable-vdpau"
-    ++ stdenv.lib.optional faacSupport "--enable-libfaac --enable-nonfree"
-    ++ stdenv.lib.optional dc1394Support "--enable-libdc1394"
-    ++ stdenv.lib.optional x11grabSupport "--enable-x11grab";
-
-  buildInputs = [ pkgconfig lame yasm zlib bzip2 alsaLib ]
-    ++ stdenv.lib.optional mp3Support lame
-    ++ stdenv.lib.optional speexSupport speex
-    ++ stdenv.lib.optional theoraSupport libtheora
-    ++ stdenv.lib.optional vorbisSupport libvorbis
-    ++ stdenv.lib.optional vpxSupport libvpx
-    ++ stdenv.lib.optional x264Support x264
-    ++ stdenv.lib.optional xvidSupport xvidcore
-    ++ stdenv.lib.optional vdpauSupport libvdpau
-    ++ stdenv.lib.optional faacSupport faac
-    ++ stdenv.lib.optional dc1394Support libdc1394
-    ++ stdenv.lib.optionals x11grabSupport [ libXext libXfixes ];
-
-  enableParallelBuilding = true;
-    
-  crossAttrs = {
-    dontSetConfigureCross = true;
-    configureFlags = configureFlags ++ [
-      "--cross-prefix=${stdenv.cross.config}-"
-      "--enable-cross-compile"
-      "--target_os=linux"
-      "--arch=${stdenv.cross.arch}"
-      ];
-  };
-
-  meta = {
-    homepage = http://www.ffmpeg.org/;
-    description = "A complete, cross-platform solution to record, convert and stream audio and video";
-  };
-}
diff --git a/pkgs/development/libraries/gmp/5.0.5.nix b/pkgs/development/libraries/gmp/5.0.5.nix
index dba5cafdf573..461187a509cd 100644
--- a/pkgs/development/libraries/gmp/5.0.5.nix
+++ b/pkgs/development/libraries/gmp/5.0.5.nix
@@ -23,6 +23,13 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  crossAttrs = {
+    # Disable stripping to avoid "libgmp.a: Archive has no index"
+    # (see <http://hydra.nixos.org/build/4268666>.)
+    dontStrip = true;
+    dontCrossStrip = true;
+  };
+
   meta = {
     description = "GMP, the GNU multiple precision arithmetic library";
 
diff --git a/pkgs/development/libraries/haskell/OpenAL/default.nix b/pkgs/development/libraries/haskell/OpenAL/default.nix
index 206e78eb728b..a04aea993fa2 100644
--- a/pkgs/development/libraries/haskell/OpenAL/default.nix
+++ b/pkgs/development/libraries/haskell/OpenAL/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "OpenAL";
-  version = "1.4.0.1";
-  sha256 = "180f84sjakhd1b8h5n3l92by2wmic20n6ax0z5fi3fvk9w73khyv";
+  version = "1.4.0.2";
+  sha256 = "19q4pd5i2w330qh895z0cgim4m4f4gxqf4ya1192fchqmgcz1svz";
   buildDepends = [ ObjectName StateVar Tensor ];
   extraLibraries = [ openal ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/QuickCheck/2.6.nix b/pkgs/development/libraries/haskell/QuickCheck/2.6.nix
new file mode 100644
index 000000000000..39c97859e657
--- /dev/null
+++ b/pkgs/development/libraries/haskell/QuickCheck/2.6.nix
@@ -0,0 +1,15 @@
+{ cabal, random }:
+
+cabal.mkDerivation (self: {
+  pname = "QuickCheck";
+  version = "2.6";
+  sha256 = "03cp7mshjy2yrg31i13b9kmc2a6lrmrbl1sh9s8lswcj305c00c0";
+  buildDepends = [ random ];
+  meta = {
+    homepage = "http://code.haskell.org/QuickCheck";
+    description = "Automatic testing of Haskell programs";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/basic-prelude/default.nix b/pkgs/development/libraries/haskell/basic-prelude/default.nix
index 77f37cfe5af1..04f3842be41b 100644
--- a/pkgs/development/libraries/haskell/basic-prelude/default.nix
+++ b/pkgs/development/libraries/haskell/basic-prelude/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "basic-prelude";
-  version = "0.3.3.0";
-  sha256 = "1b3fydswi7sj2j5d3jfynd9r5qg8pzlv1qdb9xp56ig01ig18cyv";
+  version = "0.3.4.0";
+  sha256 = "0layc06df7df4mf4zafj87c4klsvkxbhi69dkv4ag9fkzvs62sz6";
   buildDepends = [
     hashable liftedBase ReadArgs systemFilepath text transformers
     unorderedContainers vector
diff --git a/pkgs/development/libraries/haskell/bifunctors/default.nix b/pkgs/development/libraries/haskell/bifunctors/default.nix
index 09287600323d..c659c3bc3bea 100644
--- a/pkgs/development/libraries/haskell/bifunctors/default.nix
+++ b/pkgs/development/libraries/haskell/bifunctors/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "bifunctors";
-  version = "3.2";
-  sha256 = "03bszf1127iw5kimjbag5gmgzz7h2qzcd9f7jb53jpiadfhjfx0a";
+  version = "3.2.0.1";
+  sha256 = "1biicx0zi48wzzi7vkhzvrdyk59hmmm1bqbsga6x5nbrbf3qrkm6";
   buildDepends = [ semigroupoids semigroups tagged ];
   meta = {
     homepage = "http://github.com/ekmett/bifunctors/";
diff --git a/pkgs/development/libraries/haskell/binary/default.nix b/pkgs/development/libraries/haskell/binary/default.nix
index b4f205e41b21..6273a099f739 100644
--- a/pkgs/development/libraries/haskell/binary/default.nix
+++ b/pkgs/development/libraries/haskell/binary/default.nix
@@ -1,13 +1,14 @@
-{ cabal, QuickCheck, random, testFramework
+{ cabal, Cabal, filepath, HUnit, QuickCheck, random, testFramework
 , testFrameworkQuickcheck2
 }:
 
 cabal.mkDerivation (self: {
   pname = "binary";
-  version = "0.6.4.0";
-  sha256 = "0vq80fzhwil5bx4a2vbd3jvfh1awhg1pwxgvq3lvbi37yzl0ydgh";
+  version = "0.7.0.1";
+  sha256 = "16srrp0qx9hsr7820b2q3sp9wp8y8sxxi8rvsh63n48w4l3canxq";
   testDepends = [
-    QuickCheck random testFramework testFrameworkQuickcheck2
+    Cabal filepath HUnit QuickCheck random testFramework
+    testFrameworkQuickcheck2
   ];
   meta = {
     homepage = "https://github.com/kolmodin/binary";
diff --git a/pkgs/development/libraries/haskell/blaze-html/default.nix b/pkgs/development/libraries/haskell/blaze-html/default.nix
index 59e0f7187515..2063e3a862d7 100644
--- a/pkgs/development/libraries/haskell/blaze-html/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-html/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "blaze-html";
-  version = "0.6.0.0";
-  sha256 = "0n8jpmslcs29pfyb8jhp43dg4058ahd9y3kf2p2wr3r6b9yr5dll";
+  version = "0.6.1.0";
+  sha256 = "1y2z2md62kpl57qcvwvswmrjq7zhkqwfv8zr2acdvcxcxnyc47fm";
   buildDepends = [ blazeBuilder blazeMarkup text ];
   testDepends = [
     blazeBuilder blazeMarkup HUnit QuickCheck testFramework
diff --git a/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix b/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix
index 44e27aa1bc33..c04b4dfc25e1 100644
--- a/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "classy-prelude-conduit";
-  version = "0.5.2";
-  sha256 = "11krzhy78z0srjy5g6h8ssv5n3ml8ryx92x0zdjigqxw4zq9ic72";
+  version = "0.5.3";
+  sha256 = "1rmx439kdjipyz2s3v2s1xv1mb55kb4njl9k6f8mfhykgac39rhz";
   buildDepends = [
     classyPrelude conduit monadControl resourcet transformers void
     xmlConduit
diff --git a/pkgs/development/libraries/haskell/classy-prelude/default.nix b/pkgs/development/libraries/haskell/classy-prelude/default.nix
index 48b6bc583695..4d0f5441e414 100644
--- a/pkgs/development/libraries/haskell/classy-prelude/default.nix
+++ b/pkgs/development/libraries/haskell/classy-prelude/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "classy-prelude";
-  version = "0.5.2";
-  sha256 = "1nmhx6fs783v67b5ygdlmpxbsj41brj32i1sx9gyjyhfvr40wiw5";
+  version = "0.5.3";
+  sha256 = "0xlhdxkxvrzj9y8wdl2f1pz94zz2gfa9vfbia9prhr7skirxvsad";
   buildDepends = [
     basicPrelude hashable liftedBase systemFilepath text transformers
     unorderedContainers vector
diff --git a/pkgs/development/libraries/haskell/conduit/default.nix b/pkgs/development/libraries/haskell/conduit/default.nix
index 75260bcb1b39..21f81ee038ce 100644
--- a/pkgs/development/libraries/haskell/conduit/default.nix
+++ b/pkgs/development/libraries/haskell/conduit/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "conduit";
-  version = "1.0.1";
-  sha256 = "1r3d30cap4f7qxi9v2ab5w31w9ay19z848d4l8klf1np9xs27hki";
+  version = "1.0.2";
+  sha256 = "03hyryljvkbgyvwx63qrkvf2wm1qm8640rsm8yb4mahgzp4r130f";
   buildDepends = [
     liftedBase monadControl resourcet text transformers
     transformersBase void
diff --git a/pkgs/development/libraries/haskell/diagrams/core.nix b/pkgs/development/libraries/haskell/diagrams/core.nix
index c087e27d025d..ebea3fd60908 100644
--- a/pkgs/development/libraries/haskell/diagrams/core.nix
+++ b/pkgs/development/libraries/haskell/diagrams/core.nix
@@ -4,13 +4,12 @@
 
 cabal.mkDerivation (self: {
   pname = "diagrams-core";
-  version = "0.6.0.1";
-  sha256 = "0kw0rxk9a2zkpnbx4bfd0japm75y29ldvdn7i3c93kvz0p6jc2wa";
+  version = "0.6.0.2";
+  sha256 = "1g4b1zabgfdpaf7y3804r3w04ll4sqqrf71rm9389dg17ghc1q85";
   buildDepends = [
     dualTree MemoTrie monoidExtras newtype semigroups vectorSpace
     vectorSpacePoints
   ];
-  jailbreak = true;
   meta = {
     homepage = "http://projects.haskell.org/diagrams";
     description = "Core libraries for diagrams EDSL";
diff --git a/pkgs/development/libraries/haskell/flexible-defaults/default.nix b/pkgs/development/libraries/haskell/flexible-defaults/default.nix
index 9cba8f2c13f1..7be21dbbf347 100644
--- a/pkgs/development/libraries/haskell/flexible-defaults/default.nix
+++ b/pkgs/development/libraries/haskell/flexible-defaults/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "flexible-defaults";
-  version = "0.0.1.0";
-  sha256 = "0vq8ci3zbzmw8abjd12dhjiqzz4ckr99c1fqk32qsp5bvm81bdma";
+  version = "0.0.1.1";
+  sha256 = "0cbp8hb7y29xz3hl780173cs6ca4df0r98fz7v3drqr46aq55ipl";
   buildDepends = [ thExtras transformers ];
   meta = {
     homepage = "https://github.com/mokus0/flexible-defaults";
diff --git a/pkgs/development/libraries/haskell/ghc-mod/default.nix b/pkgs/development/libraries/haskell/ghc-mod/default.nix
index 3481d37356dc..7bcb94ab40c6 100644
--- a/pkgs/development/libraries/haskell/ghc-mod/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-mod/default.nix
@@ -1,20 +1,20 @@
 { cabal, Cabal, convertible, emacs, filepath, ghcPaths, ghcSybUtils
-, hlint, hspec, ioChoice, regexPosix, syb, time, transformers
+, hlint, hspec, ioChoice, syb, time, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "ghc-mod";
-  version = "1.11.5";
-  sha256 = "0lcq4ffmv017pdy58p91qn5d4hmcxcqzk8dvnmh7m4m7saslqivp";
+  version = "1.12.0";
+  sha256 = "01jq6hk8vcy47nc6gd4379k6kgjiyxy99j4pnc7nsdm63gnmr5l1";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
-    Cabal convertible filepath ghcPaths ghcSybUtils hlint ioChoice
-    regexPosix syb time transformers
+    Cabal convertible filepath ghcPaths ghcSybUtils hlint ioChoice syb
+    time transformers
   ];
   testDepends = [
     Cabal convertible filepath ghcPaths ghcSybUtils hlint hspec
-    ioChoice regexPosix syb time transformers
+    ioChoice syb time transformers
   ];
   buildTools = [ emacs ];
   postInstall = ''
diff --git a/pkgs/development/libraries/haskell/ghc-vis/default.nix b/pkgs/development/libraries/haskell/ghc-vis/default.nix
index 4b606e8b73b9..3fd1230073e7 100644
--- a/pkgs/development/libraries/haskell/ghc-vis/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-vis/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "ghc-vis";
-  version = "0.6";
-  sha256 = "0gvfs0f6fjg4bzq9q6rrhin6gk1pbyw9qbigi90cz1fg10nq7nzi";
+  version = "0.6.1";
+  sha256 = "0q0v1l44vagcg0nl4iv8m872g4qblj9syjlcgbf6fpgx1fqnyp24";
   buildDepends = [
     cairo deepseq fgl ghcHeapView graphviz gtk mtl svgcairo text
     transformers xdot
diff --git a/pkgs/development/libraries/haskell/github/default.nix b/pkgs/development/libraries/haskell/github/default.nix
index 461780c18538..3eafcd70940e 100644
--- a/pkgs/development/libraries/haskell/github/default.nix
+++ b/pkgs/development/libraries/haskell/github/default.nix
@@ -1,12 +1,17 @@
-{ cabal, aeson, attoparsec, caseInsensitive, conduit, dataDefault
+{ cabal, fetchurl, aeson, attoparsec, caseInsensitive, conduit, dataDefault
 , failure, HTTP, httpConduit, httpTypes, network, text, time
 , unorderedContainers, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "github";
-  version = "0.5.0";
-  sha256 = "1zq9cwvpd6s8xd1ki2ifsj79vd4rm8vab9731f2p8zdm8g7mh5gd";
+  version = "0.5.0-patched";
+  src = fetchurl {
+    url = "https://github.com/mike-burns/github/archive/df415af64ebd4a28f1f8e5cc726e933545efdd7e.tar.gz";
+    sha256 = "1d1ya5j1qz1nf5kfkxp48gb0xbcr4fmf9y0kfpd3gxivfrdkfrig";
+    name = "github-${self.version}.tar.gz";
+  };
+  patches = [ (fetchurl { url = "https://github.com/mike-burns/github/pull/33.patch"; sha256 = "1d0m73ygzpk5rd6ahbrf58mxca56s5sd70yrf7fn2r1bh0rlacap"; }) ];
   buildDepends = [
     aeson attoparsec caseInsensitive conduit dataDefault failure HTTP
     httpConduit httpTypes network text time unorderedContainers vector
diff --git a/pkgs/development/libraries/haskell/happstack/happstack-server.nix b/pkgs/development/libraries/haskell/happstack/happstack-server.nix
index 8d8261df97e3..370896f77e8b 100644
--- a/pkgs/development/libraries/haskell/happstack/happstack-server.nix
+++ b/pkgs/development/libraries/haskell/happstack/happstack-server.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "happstack-server";
-  version = "7.1.6";
-  sha256 = "0gifq625kclam6sgblwa8a1vhxmx8saanzlrikch0l9q0l95nfwd";
+  version = "7.1.7";
+  sha256 = "1gd7qa224z04aya44fdrbhpiy5iw88wjcvqihz6l95ks9ilbzmg7";
   buildDepends = [
     base64Bytestring blazeHtml extensibleExceptions filepath hslogger
     html monadControl mtl network parsec sendfile syb systemFilepath
@@ -16,7 +16,6 @@ cabal.mkDerivation (self: {
     utf8String xhtml zlib
   ];
   testDepends = [ HUnit parsec zlib ];
-  doCheck = false;
   meta = {
     homepage = "http://happstack.com";
     description = "Web related tools and services";
diff --git a/pkgs/development/libraries/haskell/highlighting-kate/default.nix b/pkgs/development/libraries/haskell/highlighting-kate/default.nix
index 805519d3d30c..9d6185dc5266 100644
--- a/pkgs/development/libraries/haskell/highlighting-kate/default.nix
+++ b/pkgs/development/libraries/haskell/highlighting-kate/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "highlighting-kate";
-  version = "0.5.3.7";
-  sha256 = "04wa1al83v5ak6gvrwqy2b63mda0qfi2ircxfs9ddk1gkdscrlrl";
+  version = "0.5.3.8";
+  sha256 = "1fdgmwhiw05mgbgsrgyzvdqzklw9r10nswxfpnxkh5ivfxrhz82w";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ blazeHtml filepath mtl parsec regexPcre ];
diff --git a/pkgs/development/libraries/haskell/hp2any-core/default.nix b/pkgs/development/libraries/haskell/hp2any-core/default.nix
index 37e6000a3c01..96ac397da79c 100644
--- a/pkgs/development/libraries/haskell/hp2any-core/default.nix
+++ b/pkgs/development/libraries/haskell/hp2any-core/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hp2any-core";
-  version = "0.11.1";
-  sha256 = "146bigmch7dawyyakj0w55p0jdpnxkj8q5izjsswqqk0pdxia546";
+  version = "0.11.2";
+  sha256 = "1gmw9bggw8hsp6pi0xgrryf0sqjb1aaxbwh85q5h72h4ixskwn1y";
   buildDepends = [ attoparsec filepath network time ];
   meta = {
     homepage = "http://www.haskell.org/haskellwiki/Hp2any";
diff --git a/pkgs/development/libraries/haskell/hp2any-graph/default.nix b/pkgs/development/libraries/haskell/hp2any-graph/default.nix
index 98b9518c7dea..83369ac008b7 100644
--- a/pkgs/development/libraries/haskell/hp2any-graph/default.nix
+++ b/pkgs/development/libraries/haskell/hp2any-graph/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hp2any-graph";
-  version = "0.5.3";
-  sha256 = "1al20pxfgkgwynrx7vr0i57342s91lcm3cnd9qjx8b6vkqmzykkq";
+  version = "0.5.4";
+  sha256 = "1lhp9saw51w09fhk94hz31rjawnnxavd7x3lxjc8xn1778wp3v9h";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/persistent-sqlite/default.nix b/pkgs/development/libraries/haskell/persistent-sqlite/default.nix
index 066d1dd2ebe8..947f75342d45 100644
--- a/pkgs/development/libraries/haskell/persistent-sqlite/default.nix
+++ b/pkgs/development/libraries/haskell/persistent-sqlite/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "persistent-sqlite";
-  version = "1.1.4.1";
-  sha256 = "0rhvbbzlzgzx4na7ffa2jx2zinzbb6b1jxf8964hcxx7iyzcycjj";
+  version = "1.1.5";
+  sha256 = "1kqxp0qsvxfz352yg9k1wgb2nfm7kcz8xdj9q537ilh99wxkp6cl";
   buildDepends = [
     aeson conduit monadControl monadLogger persistent text transformers
   ];
diff --git a/pkgs/development/libraries/haskell/resourcet/default.nix b/pkgs/development/libraries/haskell/resourcet/default.nix
index 35b7fec32765..f0dde62ef979 100644
--- a/pkgs/development/libraries/haskell/resourcet/default.nix
+++ b/pkgs/development/libraries/haskell/resourcet/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "resourcet";
-  version = "0.4.4";
-  sha256 = "0ad1hl7bl9qid4brchb95gvnylfchmxncgdvgljb5lci7gy9r31z";
+  version = "0.4.5";
+  sha256 = "1i2n0y4ridlzi2fn319f8jg1whb10gajgyvbz0rx2mwxj15bbgni";
   buildDepends = [
     liftedBase monadControl mtl transformers transformersBase
   ];
diff --git a/pkgs/development/libraries/haskell/shakespeare-js/default.nix b/pkgs/development/libraries/haskell/shakespeare-js/default.nix
index 55bf276d1f82..7f00530a7f94 100644
--- a/pkgs/development/libraries/haskell/shakespeare-js/default.nix
+++ b/pkgs/development/libraries/haskell/shakespeare-js/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "shakespeare-js";
-  version = "1.1.2";
-  sha256 = "0iwajn0d0yngzp10j9qbb2gpq1g7r390yqd7pj5dri35rjc6mr8n";
+  version = "1.1.2.1";
+  sha256 = "049nn0p236wbm2majkih87n2c7h65xrnf6gydsi7najxccjl7y8z";
   buildDepends = [ aeson shakespeare text ];
   testDepends = [ aeson hspec HUnit shakespeare text ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/shelly/default.nix b/pkgs/development/libraries/haskell/shelly/default.nix
index 325021c1cca3..1e9e1f8c6ccb 100644
--- a/pkgs/development/libraries/haskell/shelly/default.nix
+++ b/pkgs/development/libraries/haskell/shelly/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "shelly";
-  version = "0.15.4";
-  sha256 = "1b8fn5fa350hhlswn97g6zn9454nzn9sz60x55j959phwys0fcdk";
+  version = "0.15.4.1";
+  sha256 = "12m11s22izz0ny1syb1ykp2hi9n240myf0nhapvn8jx1fgf5iyck";
   buildDepends = [
     mtl systemFileio systemFilepath text time unixCompat
   ];
diff --git a/pkgs/development/libraries/haskell/syb/0.4.0.nix b/pkgs/development/libraries/haskell/syb/0.4.0.nix
new file mode 100644
index 000000000000..7408d0ac5375
--- /dev/null
+++ b/pkgs/development/libraries/haskell/syb/0.4.0.nix
@@ -0,0 +1,15 @@
+{ cabal, HUnit, mtl }:
+
+cabal.mkDerivation (self: {
+  pname = "syb";
+  version = "0.4.0";
+  sha256 = "1wxz8y2dcjl407l596qswcl9cakbb5cs4wzwlyy6qjz7lyd0h0gj";
+  testDepends = [ HUnit mtl ];
+  meta = {
+    homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/SYB";
+    description = "Scrap Your Boilerplate";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/th-extras/default.nix b/pkgs/development/libraries/haskell/th-extras/default.nix
index be78bbaef31d..3475ccb804a0 100644
--- a/pkgs/development/libraries/haskell/th-extras/default.nix
+++ b/pkgs/development/libraries/haskell/th-extras/default.nix
@@ -2,12 +2,12 @@
 
 cabal.mkDerivation (self: {
   pname = "th-extras";
-  version = "0.0.0.1";
-  sha256 = "13d9fs48z87inma3kg9b7lfjp3h8j85fav6awd1zj3i2nl214hff";
+  version = "0.0.0.2";
+  sha256 = "15sqf2jjnqcssq8hp80fk0ysgwqykjjc31gvvmzg4sypskpjs8cl";
   buildDepends = [ syb ];
   meta = {
     homepage = "https://github.com/mokus0/th-extras";
-    description = "A grab bag of useful functions for use with Template Haskell";
+    description = "A grab bag of functions for use with Template Haskell";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
diff --git a/pkgs/development/libraries/haskell/uu-parsinglib/default.nix b/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
index d28eb827dabf..d9477f4233da 100644
--- a/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
+++ b/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "uu-parsinglib";
-  version = "2.7.4.1";
-  sha256 = "1aya95j7dd0yal0ygy6d4w4wmlhgn5ddy3c5f6ncl4k3kg7hjxd1";
+  version = "2.7.4.2";
+  sha256 = "10ddm6x9km3lzs9ahqpsl9krvslsn9glimwzq4hspgsp6izd1dmq";
   buildDepends = [ ListLike time ];
   meta = {
     homepage = "http://www.cs.uu.nl/wiki/bin/view/HUT/ParserCombinators";
diff --git a/pkgs/development/libraries/haskell/xdot/default.nix b/pkgs/development/libraries/haskell/xdot/default.nix
index 73cc5c6e7640..d1702862f422 100644
--- a/pkgs/development/libraries/haskell/xdot/default.nix
+++ b/pkgs/development/libraries/haskell/xdot/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "xdot";
-  version = "0.2.2";
-  sha256 = "1n7lwshfn5rzbk4fxlkn02fxki2xh5m0304hnb1d5mchxyzhfdan";
+  version = "0.2.3";
+  sha256 = "0xb8igsqydiw1w00frn4mxkflhxkayif2vivxmq5fk53am2f43wy";
   buildDepends = [ cairo graphviz gtk mtl polyparse text ];
   meta = {
     description = "Parse Graphviz xdot files and interactively view them using GTK and Cairo";
diff --git a/pkgs/development/libraries/haskell/xml-conduit/default.nix b/pkgs/development/libraries/haskell/xml-conduit/default.nix
index 7ebc0b003e55..b586a6336bca 100644
--- a/pkgs/development/libraries/haskell/xml-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/xml-conduit/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "xml-conduit";
-  version = "1.1.0.2";
-  sha256 = "17wv4rngmn8jvg6c3ia48w5q9s9dww9aisrmans9llqs7ks3ndqc";
+  version = "1.1.0.3";
+  sha256 = "04mnn6j9bbkhvav04gl9cbd4rldl7bwgcapvykwvf2p3nb3d7bi4";
   buildDepends = [
     attoparsec attoparsecConduit blazeBuilder blazeBuilderConduit
     blazeHtml blazeMarkup conduit dataDefault failure monadControl
diff --git a/pkgs/development/libraries/haskell/yaml/default.nix b/pkgs/development/libraries/haskell/yaml/default.nix
index f1cbb7ee7b8b..2c2f39451e6b 100644
--- a/pkgs/development/libraries/haskell/yaml/default.nix
+++ b/pkgs/development/libraries/haskell/yaml/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yaml";
-  version = "0.8.2.1";
-  sha256 = "1p0hi9psm42bsmm14gfdkj4wrbcgzkishcih6rwc2bcvn2i0hyyw";
+  version = "0.8.2.3";
+  sha256 = "1ds6969gbkxgkm2fha0ifmssjl7by9glgix165v0h8i7fx9wx3wa";
   buildDepends = [
     aeson attoparsec conduit resourcet text transformers
     unorderedContainers vector
diff --git a/pkgs/development/libraries/haskell/yesod-test/default.nix b/pkgs/development/libraries/haskell/yesod-test/default.nix
index a47d109ace5a..8b32b48af873 100644
--- a/pkgs/development/libraries/haskell/yesod-test/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-test/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-test";
-  version = "0.3.4";
-  sha256 = "18sz1blnrgijcq6psqk2b5zxbizpgam1cy1vcxc4nrfryfscr42b";
+  version = "0.3.5";
+  sha256 = "095hwl1dm4mk467la68x3lilj0c056603kl0nn8ra4glcr86273j";
   buildDepends = [
     attoparsec blazeBuilder blazeHtml blazeMarkup caseInsensitive
     cookie hspec htmlConduit httpTypes HUnit monadControl network
diff --git a/pkgs/development/libraries/haskell/yesod/default.nix b/pkgs/development/libraries/haskell/yesod/default.nix
index e51ca16aa4fb..9998790ea739 100644
--- a/pkgs/development/libraries/haskell/yesod/default.nix
+++ b/pkgs/development/libraries/haskell/yesod/default.nix
@@ -12,8 +12,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod";
-  version = "1.1.9.1";
-  sha256 = "0kysj3akf2pvhsiy6f8yfs41mrya86b8ddskqzzibjmdyipiqksj";
+  version = "1.1.9.2";
+  sha256 = "1rv9mk842b9qwdzal9y5cn2z5z2rl6490600jg1xbsg0x0nl7hdj";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/zip-archive/default.nix b/pkgs/development/libraries/haskell/zip-archive/default.nix
index 45f2ac96319d..2e658b15a15b 100644
--- a/pkgs/development/libraries/haskell/zip-archive/default.nix
+++ b/pkgs/development/libraries/haskell/zip-archive/default.nix
@@ -4,13 +4,12 @@
 
 cabal.mkDerivation (self: {
   pname = "zip-archive";
-  version = "0.1.3.3";
-  sha256 = "0zzps6s6lsv35qv1xx1fwipk2nwv255wpa956mvzbwdr47pgqjwi";
+  version = "0.1.3.4";
+  sha256 = "0hvndr3gb7fiv4qjwjvic5mg7wq7h7nw3c3v5xq8fnlr1l943vyb";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ binary digest filepath mtl time utf8String zlib ];
   testDepends = [ HUnit time ];
-  doCheck = false;
   meta = {
     homepage = "http://github.com/jgm/zip-archive";
     description = "Library for creating and modifying zip archives";
diff --git a/pkgs/development/libraries/libchop/default.nix b/pkgs/development/libraries/libchop/default.nix
index 7f3c02573393..9a1b4122365a 100644
--- a/pkgs/development/libraries/libchop/default.nix
+++ b/pkgs/development/libraries/libchop/default.nix
@@ -9,7 +9,10 @@ stdenv.mkDerivation rec {
     sha256 = "0fpdyxww41ba52d98blvnf543xvirq1v9xz1i3x1gm9lzlzpmc2g";
   };
 
+  patches = [ ./gets-undeclared.patch ];
+
   nativeBuildInputs = [ pkgconfig gperf ];
+  
   buildInputs =
     [ zlib bzip2 lzo
       libgcrypt
diff --git a/pkgs/development/libraries/libchop/gets-undeclared.patch b/pkgs/development/libraries/libchop/gets-undeclared.patch
new file mode 100644
index 000000000000..b6cdc77caa84
--- /dev/null
+++ b/pkgs/development/libraries/libchop/gets-undeclared.patch
@@ -0,0 +1,71 @@
+This patch is needed to allow builds with newer versions of
+the GNU libc (2.16+).
+
+
+commit 66712c23388e93e5c518ebc8515140fa0c807348
+Author: Eric Blake <eblake@redhat.com>
+Date:   Thu Mar 29 13:30:41 2012 -0600
+
+    stdio: don't assume gets any more
+    
+    Gnulib intentionally does not have a gets module, and now that C11
+    and glibc have dropped it, we should be more proactive about warning
+    any user on a platform that still has a declaration of this dangerous
+    interface.
+    
+    * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
+    support.
+    * modules/stdio (Makefile.am): Likewise.
+    * lib/stdio-read.c (gets): Likewise.
+    * tests/test-stdio-c++.cc: Likewise.
+    * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
+    * lib/stdio.in.h (gets): Make warning occur in more places.
+    * doc/posix-functions/gets.texi (gets): Update documentation.
+    Reported by Christer Solskogen.
+    
+    Signed-off-by: Eric Blake <eblake@redhat.com>
+
+diff --git a/lib/stdio.in.h b/lib/stdio.in.h
+index aa7b599..c377b6e 100644
+--- a/lib/stdio.in.h
++++ b/lib/stdio.in.h
+@@ -698,22 +698,11 @@ _GL_WARN_ON_USE (getline, "getline is unportable - "
+ # endif
+ #endif
+ 
+-#if @GNULIB_GETS@
+-# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
+-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+-#   undef gets
+-#   define gets rpl_gets
+-#  endif
+-_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1)));
+-_GL_CXXALIAS_RPL (gets, char *, (char *s));
+-# else
+-_GL_CXXALIAS_SYS (gets, char *, (char *s));
+-#  undef gets
+-# endif
+-_GL_CXXALIASWARN (gets);
+ /* It is very rare that the developer ever has full control of stdin,
+-   so any use of gets warrants an unconditional warning.  Assume it is
+-   always declared, since it is required by C89.  */
++   so any use of gets warrants an unconditional warning; besides, C11
++   removed it.  */
++#undef gets
++#if HAVE_RAW_DECL_GETS
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+ #endif
+ 
+@@ -1053,9 +1042,9 @@ _GL_WARN_ON_USE (snprintf, "snprintf is unportable - "
+ # endif
+ #endif
+ 
+-/* Some people would argue that sprintf should be handled like gets
+-   (for example, OpenBSD issues a link warning for both functions),
+-   since both can cause security holes due to buffer overruns.
++/* Some people would argue that all sprintf uses should be warned about
++   (for example, OpenBSD issues a link warning for it),
++   since it can cause security holes due to buffer overruns.
+    However, we believe that sprintf can be used safely, and is more
+    efficient than snprintf in those safe cases; and as proof of our
+    belief, we use sprintf in several gnulib modules.  So this header
diff --git a/pkgs/development/libraries/openmpi/default.nix b/pkgs/development/libraries/openmpi/default.nix
index 6de49846c2df..d32cbd51606c 100644
--- a/pkgs/development/libraries/openmpi/default.nix
+++ b/pkgs/development/libraries/openmpi/default.nix
@@ -1,11 +1,16 @@
 {stdenv, fetchurl, gfortran}:
 
 stdenv.mkDerivation {
-  name = "openmpi-1.4.2";
+  name = "openmpi-1.6.4";
   src = fetchurl {
-    url = http://www.open-mpi.org/software/ompi/v1.4/downloads/openmpi-1.4.2.tar.bz2 ;
-    sha1 = "3e85092433d0e399cc7a51c018f9d13562f78b80";
+    url = http://www.open-mpi.org/software/ompi/v1.6/downloads/openmpi-1.6.4.tar.bz2 ;
+    sha1 = "38095d3453519177272f488d5058a98f7ebdbf10";
   };
   buildInputs = [ gfortran ];
+  meta = {
+    homePage = http://www.open-mpi.org/;
+    description = "Open source MPI-2 implementation";
+    longDescription = "The Open MPI Project is an open source MPI-2 implementation that is developed and maintained by a consortium of academic, research, and industry partners. Open MPI is therefore able to combine the expertise, technologies, and resources from all across the High Performance Computing community in order to build the best MPI library available. Open MPI offers advantages for system and software vendors, application developers and computer science researchers.";
+  };
 }
 
diff --git a/pkgs/development/libraries/sodium/default.nix b/pkgs/development/libraries/sodium/default.nix
new file mode 100644
index 000000000000..0d40df405744
--- /dev/null
+++ b/pkgs/development/libraries/sodium/default.nix
@@ -0,0 +1,28 @@
+{stdenv, fetchurl}:
+let
+  s = # Generated upstream information
+  rec {
+    baseName="sodium";
+    version="0.3";
+    name="${baseName}-${version}";
+    hash="0l1p0d7ag186hhs65kifp8jfgf4mm9rngv41bhq35d7d9gw2d2lh";
+    url="http://download.dnscrypt.org/libsodium/releases/libsodium-0.3.tar.gz";
+    sha256="0l1p0d7ag186hhs65kifp8jfgf4mm9rngv41bhq35d7d9gw2d2lh";
+  };
+  buildInputs = [
+  ];
+in
+stdenv.mkDerivation {
+  inherit (s) name version;
+  inherit buildInputs;
+  src = fetchurl {
+    inherit (s) url sha256;
+  };
+  meta = {
+    inherit (s) version;
+    description = ''A cryptography library with simple API'';
+    license = stdenv.lib.licenses.mit ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/sodium/default.upstream b/pkgs/development/libraries/sodium/default.upstream
new file mode 100644
index 000000000000..ccc02cd89785
--- /dev/null
+++ b/pkgs/development/libraries/sodium/default.upstream
@@ -0,0 +1 @@
+url http://download.dnscrypt.org/libsodium/releases/
diff --git a/pkgs/development/mobile/androidenv/build-app.nix b/pkgs/development/mobile/androidenv/build-app.nix
index d4df64e79c06..07f3797f0cd8 100644
--- a/pkgs/development/mobile/androidenv/build-app.nix
+++ b/pkgs/development/mobile/androidenv/build-app.nix
@@ -37,5 +37,8 @@ stdenv.mkDerivation {
   installPhase = ''
     mkdir -p $out
     mv bin/*-${if release then "release" else "debug"}.apk $out
+    
+    mkdir -p $out/nix-support
+    echo "file binary-dist $(ls $out/*.apk)" > $out/nix-support/hydra-build-products
   '';
 }
diff --git a/pkgs/development/mobile/titaniumenv/build-app.nix b/pkgs/development/mobile/titaniumenv/build-app.nix
index c05bf88ffbff..8fe9846c15af 100644
--- a/pkgs/development/mobile/titaniumenv/build-app.nix
+++ b/pkgs/development/mobile/titaniumenv/build-app.nix
@@ -113,6 +113,11 @@ stdenv.mkDerivation {
            "cp -av build/iphone/build/* $out"
         else if target == "iphone" then ""
         else throw "Target: ${target} is not supported!"}
+    
+    ${if target == "android" then ''
+        mkdir -p $out/nix-support
+        echo "file binary-dist $(ls $out/*.apk)" > $out/nix-support/hydra-build-products
+    '' else ""}
   '';
   
   failureHook = stdenv.lib.optionalString (release && target == "iphone") deleteKeychain;
diff --git a/pkgs/development/mobile/titaniumenv/examples/default.nix b/pkgs/development/mobile/titaniumenv/examples/default.nix
index 1526d4c43590..a2146d9b97ce 100644
--- a/pkgs/development/mobile/titaniumenv/examples/default.nix
+++ b/pkgs/development/mobile/titaniumenv/examples/default.nix
@@ -1,37 +1,33 @@
+{ nixpkgs ? <nixpkgs> }:
+
 let
-  pkgs = import <nixpkgs> {};
-  pkgs_i686 = import <nixpkgs> { system = "i686-linux"; };
+  pkgs = import nixpkgs {};
+  pkgs_darwin_x86_64 = import nixpkgs { system = "x86_64-darwin"; };
 in
 rec {
-  titaniumenv = import ./.. {
-    inherit pkgs pkgs_i686;
-  };
-  
   kitchensink_android = import ./kitchensink {
-    inherit titaniumenv;
-    inherit (pkgs) fetchgit;
+    inherit (pkgs) fetchgit titaniumenv;
     target = "android";
   };
   
   kitchensink_iphone = import ./kitchensink {
-    inherit titaniumenv;
-    inherit (pkgs) fetchgit;
+    inherit (pkgs_darwin_x86_64) fetchgit titaniumenv;
     target = "iphone";
   };
   
   emulate_kitchensink = import ./emulate-kitchensink {
-    inherit (titaniumenv) androidenv;
+    inherit (pkgs.titaniumenv) androidenv;
     kitchensink = kitchensink_android;
   };
   
   simulate_kitchensink_iphone = import ./simulate-kitchensink {
-    inherit (titaniumenv) xcodeenv;
+    inherit (pkgs_darwin_x86_64.titaniumenv) xcodeenv;
     kitchensink = kitchensink_iphone;
     device = "iPhone";
   };
   
   simulate_kitchensink_ipad = import ./simulate-kitchensink {
-    inherit (titaniumenv) xcodeenv;
+    inherit (pkgs_darwin_x86_64.titaniumenv) xcodeenv;
     kitchensink = kitchensink_iphone;
     device = "iPad";
   };
diff --git a/pkgs/development/tools/haskell/cabal2nix/default.nix b/pkgs/development/tools/haskell/cabal2nix/default.nix
index ed26e3358708..5fe5fc3639fe 100644
--- a/pkgs/development/tools/haskell/cabal2nix/default.nix
+++ b/pkgs/development/tools/haskell/cabal2nix/default.nix
@@ -3,8 +3,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cabal2nix";
-  version = "1.44";
-  sha256 = "1j2w5g75nir0ax9pvn1fyj5l1c4s84mbj400any9v0bpv624mffm";
+  version = "1.45";
+  sha256 = "0xj4qkh4kp2q1a73q5da71spzskpxcfnn4pga9s492baf9yflhlf";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ Cabal filepath hackageDb HTTP mtl regexPosix ];
diff --git a/pkgs/development/tools/misc/ctags/default.nix b/pkgs/development/tools/misc/ctags/default.nix
index 577180880805..80def733cf8c 100644
--- a/pkgs/development/tools/misc/ctags/default.nix
+++ b/pkgs/development/tools/misc/ctags/default.nix
@@ -1,24 +1,26 @@
-{stdenv, fetchurl, sourceFromHead, automake, autoconf}:
+{ stdenv, fetchsvn, automake, autoconf}:
 
 stdenv.mkDerivation rec {
-  name = "ctags-svn";
-  # REGION AUTO UPDATE:      { name="ctags"; type = "svn"; url = "https://ctags.svn.sourceforge.net/svnroot/ctags/trunk"; }
-  src= sourceFromHead "ctags-749.tar.gz"
-               (fetchurl { url = "http://mawercer.de/~nix/repos/ctags-749.tar.gz"; sha256 = "01dd4bf2e55dbedc38def81febef60eece912cb7624df1c0a2cf1ed6e4bc4ecf"; });
-  # END
+  name = "ctags-${revision}";
+  revision = "804";
 
-  preConfigure = ''
-    autoheader
-    autoconf
-  '';
+  src = fetchsvn {
+    url = "http://ctags.svn.sourceforge.net/svnroot/ctags/trunk";
+    rev = revision;
+    sha256 = "16gln1mah2jqp32ki1z0187dwkbjx1xcnmyiardcq6c9w3p4qwcr";
+  };
 
   buildInputs = [ automake autoconf ];
 
+  preConfigure = "autoreconf -i";
+
   # don't use $T(E)MP which is set to the build directory
   configureFlags="--enable-tmpdir=/tmp";
 
   meta = {
+    homepage = "http://ctags.sourceforge.net/";
     description = "Exuberant Ctags, a tool for fast source code browsing";
+    license = stdenv.lib.licenses.gpl2Plus;
 
     longDescription = ''
       Ctags generates an index (or tag) file of language objects found
@@ -29,9 +31,8 @@ stdenv.mkDerivation rec {
       programming languages are supported.
     '';
 
-    homepage = http://ctags.sourceforge.net/;
-
-    license = "GPLv2+";
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.simons ];
   };
 
 }
diff --git a/pkgs/development/tools/misc/gob2/default.nix b/pkgs/development/tools/misc/gob2/default.nix
index 4308a559268e..c86a65f33b60 100644
--- a/pkgs/development/tools/misc/gob2/default.nix
+++ b/pkgs/development/tools/misc/gob2/default.nix
@@ -1,10 +1,11 @@
-{ stdenv, fetchurl, pkgconfig, glib, bison, flex }:
+{ stdenv, fetchurl_gnome, pkgconfig, glib, bison, flex }:
 
 stdenv.mkDerivation rec {
-  name = "gob2-2.0.18";
+  name = src.pkgname;
 
-  src = fetchurl {
-    url = "http://ftp.5z.com/pub/gob/${name}.tar.gz";
+  src = fetchurl_gnome {
+    project = "gob2";
+    major = "2"; minor = "0"; patchlevel = "18"; extension = "gz";
     sha256 = "1r242s3rsxyqiw2ic2gdpvvrx903jgjd1aa4mkl26in5k9zk76fa";
   };
 
diff --git a/pkgs/games/eduke32/default.nix b/pkgs/games/eduke32/default.nix
index 6eab8acce751..b8a215e3b49c 100644
--- a/pkgs/games/eduke32/default.nix
+++ b/pkgs/games/eduke32/default.nix
@@ -1,14 +1,14 @@
-{stdenv, fetchurl, SDL, SDL_mixer, libvorbis, mesa, gtk, pkgconfig, nasm, makeDesktopItem}:
+{stdenv, fetchurl, SDL, SDL_mixer, libvorbis, mesa, gtk, pkgconfig, nasm, libvpx, flac, makeDesktopItem}:
 
 stdenv.mkDerivation rec {
-  name = "eduke32-1944";
+  name = "eduke32-3542";
   
   src = fetchurl {
-    url = http://dukeworld.duke4.net/eduke32/synthesis/20110724-1944/eduke32_src_20110724-1944.tar.bz2;
-    sha256 = "0y2y9agydfkdq4krp4lz22br3p23as6hrqhq7l9djw0pm2y76fqh";
+    url = http://dukeworld.duke4.net/eduke32/synthesis/20130303-3542/eduke32_src_20130303-3542.tar.bz2;
+    sha256 = "0v1q2bkmpnac5l9x97nnlhrrb95518vmhxx48zv3ncvmpafl1mqc";
   };
   
-  buildInputs = [ SDL SDL_mixer libvorbis mesa gtk pkgconfig ]
+  buildInputs = [ SDL SDL_mixer libvorbis mesa gtk pkgconfig libvpx flac ]
     ++ stdenv.lib.optional (stdenv.system == "i686-linux") nasm;
   
   NIX_CFLAGS_COMPILE = "-I${SDL}/include/SDL";
diff --git a/pkgs/games/xboard/default.nix b/pkgs/games/xboard/default.nix
index ab74d56dbcc7..a21911f4067d 100644
--- a/pkgs/games/xboard/default.nix
+++ b/pkgs/games/xboard/default.nix
@@ -1,19 +1,20 @@
 {stdenv, fetchurl, libX11, xproto, libXt, libXaw, libSM, libICE, libXmu
-, libXext, gnuchess, texinfo, libXpm
+, libXext, gnuchess, texinfo, libXpm, pkgconfig, librsvg, cairo
 }:
 let
   s = # Generated upstream information
   rec {
     baseName="xboard";
-    version="4.6.2";
+    version="4.7.0";
     name="${baseName}-${version}";
-    hash="1pw90fh1crf0nkqyql54z728vn2093hwdh2v5i5703z9qv9g4mrf";
-    url="http://ftp.gnu.org/gnu/xboard/xboard-4.6.2.tar.gz";
-    sha256="1pw90fh1crf0nkqyql54z728vn2093hwdh2v5i5703z9qv9g4mrf";
+    hash="15azbnyfapjppfni9k99sk68af1kg60nnh95rz8jgb3i2xv5y5m7";
+    url="http://ftp.gnu.org/gnu/xboard/xboard-4.7.0.tar.gz";
+    sha256="15azbnyfapjppfni9k99sk68af1kg60nnh95rz8jgb3i2xv5y5m7";
   };
   buildInputs = [
     libX11 xproto libXt libXaw libSM libICE libXmu 
-    libXext gnuchess texinfo libXpm
+    libXext gnuchess texinfo libXpm pkgconfig librsvg 
+    cairo
   ];
 in
 stdenv.mkDerivation {
diff --git a/pkgs/lib/attrsets.nix b/pkgs/lib/attrsets.nix
index fcdc3c31f290..f562a2f7df40 100644
--- a/pkgs/lib/attrsets.nix
+++ b/pkgs/lib/attrsets.nix
@@ -194,7 +194,7 @@ rec {
          (as: !(as ? "type" && as.type == "derivation"))
          (x: ... do something ...)
          attrs
-     */
+  */
   mapAttrsRecursiveCond = cond: f: set:
     let
       recurse = path: set:
@@ -208,6 +208,17 @@ rec {
     in recurse [] set;
 
 
+  /* Generate an attribute set by mapping a function over a list of
+     attribute names.
+
+     Example:
+       genAttrs [ "foo" "bar" ] (name: "x_" + name)
+       => { foo = "x_foo"; bar = "x_bar"; }
+  */
+  genAttrs = names: f:
+    listToAttrs (map (n: nameValuePair n (f n)) names);
+
+
   /* Check whether the argument is a derivation. */
   isDerivation = x: isAttrs x && x ? type && x.type == "derivation";
 
diff --git a/pkgs/misc/emulators/wine/default.nix b/pkgs/misc/emulators/wine/default.nix
index 010e65f62eb4..fd6d1a6cc7f0 100644
--- a/pkgs/misc/emulators/wine/default.nix
+++ b/pkgs/misc/emulators/wine/default.nix
@@ -7,12 +7,12 @@ assert stdenv.isLinux;
 assert stdenv.gcc.gcc != null;
 
 stdenv.mkDerivation rec {
-  version = "1.5.23";
+  version = "1.5.25";
   name = "wine-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/wine/${name}.tar.bz2";
-    sha256 = "1wgs2bdl3sn3j0za7fk9zfjlii1x6qkvmyw4jxzz1mfw6nizswzr";
+    sha256 = "0812ryv1v0gqr13vmvjci09k89qhcr1qs0n052z4zw0vpipjd4rx";
   };
 
   gecko = fetchurl {
@@ -49,6 +49,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://www.winehq.org/";
     license = "LGPL";
+    inherit version;
     description = "An Open Source implementation of the Windows API on top of X, OpenGL, and Unix";
     maintainers = [stdenv.lib.maintainers.raskin stdenv.lib.maintainers.simons];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/os-specific/linux/bbswitch/default.nix b/pkgs/os-specific/linux/bbswitch/default.nix
index 04fba890bc51..dccfeeb8a692 100644
--- a/pkgs/os-specific/linux/bbswitch/default.nix
+++ b/pkgs/os-specific/linux/bbswitch/default.nix
@@ -1,9 +1,14 @@
 { stdenv, fetchurl, kernel }:
 
 let
-  baseName = "bbswitch-0.4.2";
+  baseName = "bbswitch-0.5";
   name = "${baseName}-${kernel.version}";
 
+  linux38Compatibility = fetchurl {
+    url = "http://github.com/Bumblebee-Project/bbswitch/commit/5593d95.patch";
+    sha256 = "0m6y5sdagf4brhk1lsp86rx94xf628sixzf6j71bn7jnqs4jslr6";
+  };
+
 in
 
 stdenv.mkDerivation {
@@ -11,15 +16,17 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://github.com/downloads/Bumblebee-Project/bbswitch/${baseName}.tar.gz";
-    sha256 = "06j3cm1rk3lcbv54k0magrijykrzmkrna8n5cc274iz59842lga3";
+    sha256 = "19775r3bsf5l3ssbayr30fij09gavj2qjrr438hdcmzswvlj2dpv";
   };
 
+  patches = [ linux38Compatibility ];
+
   preBuild = ''
     substituteInPlace Makefile \
       --replace "\$(shell uname -r)" "${kernel.modDirVersion}" \
       --replace "/lib/modules" "${kernel}/lib/modules"
   '';
- 
+
   installPhase = ''
     ensureDir $out/lib/modules/${kernel.modDirVersion}/misc
     cp bbswitch.ko $out/lib/modules/${kernel.modDirVersion}/misc
diff --git a/pkgs/os-specific/linux/cifs-utils/default.nix b/pkgs/os-specific/linux/cifs-utils/default.nix
index 9e761b90a05c..0f8801ef58eb 100644
--- a/pkgs/os-specific/linux/cifs-utils/default.nix
+++ b/pkgs/os-specific/linux/cifs-utils/default.nix
@@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "0f619nw1163bcmfc83mmqj31qdkl68wfm81vynx3d8q0m0k1ll7i";
   };
 
+  patches = [ ./find-systemd-ask-password-via-path.patch ];
+
   makeFlags = "root_sbindir=$(out)/sbin";
 
   meta = {
diff --git a/pkgs/os-specific/linux/cifs-utils/find-systemd-ask-password-via-path.patch b/pkgs/os-specific/linux/cifs-utils/find-systemd-ask-password-via-path.patch
new file mode 100644
index 000000000000..428cb75edadf
--- /dev/null
+++ b/pkgs/os-specific/linux/cifs-utils/find-systemd-ask-password-via-path.patch
@@ -0,0 +1,22 @@
+diff -ubr cifs-utils-5.9-orig/mount.cifs.c cifs-utils-5.9/mount.cifs.c
+--- cifs-utils-5.9-orig/mount.cifs.c	2013-03-05 10:53:19.375464790 +0100
++++ cifs-utils-5.9/mount.cifs.c	2013-03-05 11:41:40.704946110 +0100
+@@ -1634,7 +1634,7 @@
+ }
+ 
+ /*
+- * If systemd is running and /bin/systemd-ask-password --
++ * If systemd is running and systemd-ask-password --
+  * is available, then use that else fallback on getpass(..)
+  *
+  * Returns: @input or NULL on error
+@@ -1657,7 +1657,7 @@
+ 		FILE *ask_pass_fp = NULL;
+ 
+ 		cmd = ret = NULL;
+-		if (asprintf(&cmd, "/bin/systemd-ask-password \"%s\"", prompt) >= 0) {
++		if (asprintf(&cmd, "/run/current-system/sw/bin/systemd-ask-password \"%s\"", prompt) >= 0) {
+ 			ask_pass_fp = popen (cmd, "re");
+ 			free (cmd);
+ 		}
+Only in cifs-utils-5.9/: mount.cifs.c.orig
diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix
index fad84e180bd3..50469eb53839 100644
--- a/pkgs/os-specific/linux/kernel/generic.nix
+++ b/pkgs/os-specific/linux/kernel/generic.nix
@@ -39,6 +39,8 @@
 , # After the builder did a 'make all' (kernel + modules)
   # we force building the target asked: bzImage/zImage/uImage/...
   postBuild ? "make $makeFlags $kernelTarget; make $makeFlags -C scripts unifdef"
+
+, extraNativeBuildInputs ? []
 , ...
 }:
 
@@ -83,7 +85,8 @@ stdenv.mkDerivation {
   # For UML and non-PC, just ignore all options that don't apply (We are lazy).
   ignoreConfigErrors = stdenv.platform.name != "pc";
 
-  nativeBuildInputs = [ perl mktemp ];
+  nativeBuildInputs = [ perl mktemp ] ++ extraNativeBuildInputs;
+
   buildInputs = lib.optional (stdenv.platform.uboot != null)
     (ubootChooser stdenv.platform.uboot);
 
@@ -130,6 +133,7 @@ stdenv.mkDerivation {
         " (with patches: "
         + lib.concatStrings (lib.intersperse ", " (map (x: x.name) kernelPatches))
         + ")");
+    inherit version;
     license = "GPLv2";
     homepage = http://www.kernel.org/;
     maintainers = [
diff --git a/pkgs/os-specific/linux/kernel/linux-3.0.nix b/pkgs/os-specific/linux/kernel/linux-3.0.nix
index b7ccdde367c5..adaef56e55f7 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.0.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.0.nix
@@ -230,7 +230,7 @@ in
 import ./generic.nix (
 
   rec {
-    version = "3.0.65";
+    version = "3.0.68";
 
     preConfigure = ''
       substituteInPlace scripts/depmod.sh --replace '-b "$INSTALL_MOD_PATH"' ""
@@ -238,7 +238,7 @@ import ./generic.nix (
 
     src = fetchurl {
       url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-      sha256 = "1vmk0bmg0djwbh9scrhpyljan01ygkwn4q0j1ydn8snag7sn4x8y";
+      sha256 = "1l9ifmwfxh17r2yv5sscar46r46lc1lar1k0cyvn4hd594xmf5cw";
     };
 
     config = configWithPlatform stdenv.platform;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.4.nix b/pkgs/os-specific/linux/kernel/linux-3.4.nix
index 0e0329359002..ec80aabef0cf 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.4.nix
@@ -244,7 +244,7 @@ in
 import ./generic.nix (
 
   rec {
-    version = "3.4.32";
+    version = "3.4.35";
     testing = false;
 
     preConfigure = ''
@@ -253,7 +253,7 @@ import ./generic.nix (
 
     src = fetchurl {
       url = "mirror://kernel/linux/kernel/v3.x/${if testing then "testing/" else ""}linux-${version}.tar.xz";
-      sha256 = "0z218ibz36lpdyjjch94jx12fcghj376x3fkmgxmwdjaz7zngn4i";
+      sha256 = "1gyl0zgrbvx5w7qwh7amr4f3gl35hdm21zniksgsyx9cbyfxf8a4";
     };
 
     config = configWithPlatform stdenv.platform;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.7.nix b/pkgs/os-specific/linux/kernel/linux-3.7.nix
index df6387b1f812..a522c90a10f9 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.7.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.7.nix
@@ -251,7 +251,7 @@ in
 import ./generic.nix (
 
   rec {
-    version = "3.7.9";
+    version = "3.7.10";
     testing = false;
 
     preConfigure = ''
@@ -260,7 +260,7 @@ import ./generic.nix (
 
     src = fetchurl {
       url = "mirror://kernel/linux/kernel/v3.x/${if testing then "testing/" else ""}linux-${version}.tar.xz";
-      sha256 = "1d9834flw0jyfn0lq1l0ahp8v12p227qn6z39v1pk53dap1zl0v1";
+      sha256 = "1l8b40z95ahc2v9babmhrbi8jn2bhwkapq0libq0z21iipqsya4v";
     };
 
     config = configWithPlatform stdenv.platform;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.8.nix b/pkgs/os-specific/linux/kernel/linux-3.8.nix
index 1c59a2ff4862..9aaa2e80aab6 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.8.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.8.nix
@@ -251,8 +251,7 @@ in
 import ./generic.nix (
 
   rec {
-    version = "3.8";
-    modDirVersion = "3.8.0";
+    version = "3.8.2";
     testing = false;
 
     preConfigure = ''
@@ -261,7 +260,7 @@ import ./generic.nix (
 
     src = fetchurl {
       url = "mirror://kernel/linux/kernel/v3.x/${if testing then "testing/" else ""}linux-${version}.tar.xz";
-      sha256 = "0jqqhfskd88480hkwnkc8rlwkwb56p322irp9xm6gmfyzfyx2w70";
+      sha256 = "1i7r89ba79x6irr95gq1b0cnkbmdz3llh72vdamn83s3zh6cy1fv";
     };
 
     config = configWithPlatform stdenv.platform;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.9.nix b/pkgs/os-specific/linux/kernel/linux-3.9.nix
new file mode 100644
index 000000000000..7a1dfd110df9
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/linux-3.9.nix
@@ -0,0 +1,280 @@
+args @ { stdenv, fetchurl, extraConfig ? ""
+, perl, mktemp, module_init_tools, bc
+, ... }:
+
+let
+  configWithPlatform = kernelPlatform :
+    ''
+      # Power management and debugging for powertop.
+      DEBUG_KERNEL y
+      PM_ADVANCED_DEBUG y
+      PM_RUNTIME y
+      TIMER_STATS y
+      USB_SUSPEND y
+      BACKTRACE_SELF_TEST n
+      CPU_NOTIFIER_ERROR_INJECT? n
+      DEBUG_DEVRES n
+      DEBUG_NX_TEST n
+      DEBUG_STACK_USAGE n
+      DEBUG_STACKOVERFLOW n
+      RCU_TORTURE_TEST n
+      SCHEDSTATS n
+
+      # Support drivers that need external firmware.
+      STANDALONE n
+
+      # Make /proc/config.gz available.
+      IKCONFIG_PROC y
+
+      # Optimize with -O2, not -Os.
+      CC_OPTIMIZE_FOR_SIZE n
+
+      # Enable the kernel's built-in memory tester.
+      MEMTEST y
+
+      # Include the CFQ I/O scheduler in the kernel, rather than as a
+      # module, so that the initrd gets a good I/O scheduler.
+      IOSCHED_CFQ y
+      BLK_CGROUP y # required by CFQ
+
+      # Enable NUMA.
+      NUMA? y
+
+      # Disable some expensive (?) features.
+      FTRACE n
+      KPROBES n
+      PM_TRACE_RTC n
+
+      # Enable various subsystems.
+      ACCESSIBILITY y # Accessibility support
+      AUXDISPLAY y # Auxiliary Display support
+      DONGLE y # Serial dongle support
+      HIPPI? y
+      MTD_COMPLEX_MAPPINGS y # needed for many devices
+      SCSI_LOWLEVEL y # enable lots of SCSI devices
+      SCSI_LOWLEVEL_PCMCIA y
+      SPI y # needed for many devices
+      SPI_MASTER y
+      WAN y
+
+      # Networking options.
+      IP_PNP n
+      IPV6_PRIVACY y
+      NETFILTER_ADVANCED y
+      IP_VS_PROTO_TCP y
+      IP_VS_PROTO_UDP y
+      IP_VS_PROTO_ESP y
+      IP_VS_PROTO_AH y
+      IP_DCCP_CCID3 n # experimental
+      CLS_U32_PERF y
+      CLS_U32_MARK y
+
+      # Wireless networking.
+      IPW2100_MONITOR y # support promiscuous mode
+      IPW2200_MONITOR? y # support promiscuous mode
+      HOSTAP_FIRMWARE y # Support downloading firmware images with Host AP driver
+      HOSTAP_FIRMWARE_NVRAM y
+      ATH9K_PCI y # Detect Atheros AR9xxx cards on PCI(e) bus
+      ATH9K_AHB y # Ditto, AHB bus
+      B43_PHY_HT y
+      BCMA_HOST_PCI y
+      CFG80211_WEXT y # Without it, ipw2200 drivers don't build
+
+      # Some settings to make sure that fbcondecor works - in particular,
+      # disable tileblitting and the drivers that need it.
+
+      # Enable various FB devices.
+      FB y
+      FB_EFI y
+      FB_NVIDIA_I2C y # Enable DDC Support
+      FB_RIVA_I2C y
+      FB_ATY_CT y # Mach64 CT/VT/GT/LT (incl. 3D RAGE) support
+      FB_ATY_GX y # Mach64 GX support
+      FB_SAVAGE_I2C y
+      FB_SAVAGE_ACCEL y
+      FB_SIS_300 y
+      FB_SIS_315 y
+      FB_3DFX_ACCEL y
+      FB_GEODE y
+
+      # Video configuration
+      # Enable KMS for devices whose X.org driver supports it.
+      DRM_I915_KMS y
+      DRM_RADEON_KMS? y
+      # Hybrid graphics support
+      VGA_SWITCHEROO y
+
+      # Sound.
+      SND_AC97_POWER_SAVE y # AC97 Power-Saving Mode
+      SND_HDA_INPUT_BEEP y # Support digital beep via input layer
+      SND_USB_CAIAQ_INPUT y
+      PSS_MIXER y # Enable PSS mixer (Beethoven ADSP-16 and other compatible)
+
+      # USB serial devices.
+      USB_SERIAL_GENERIC y # USB Generic Serial Driver
+      USB_SERIAL_KEYSPAN_MPR y # include firmware for various USB serial devices
+      USB_SERIAL_KEYSPAN_USA28 y
+      USB_SERIAL_KEYSPAN_USA28X y
+      USB_SERIAL_KEYSPAN_USA28XA y
+      USB_SERIAL_KEYSPAN_USA28XB y
+      USB_SERIAL_KEYSPAN_USA19 y
+      USB_SERIAL_KEYSPAN_USA18X y
+      USB_SERIAL_KEYSPAN_USA19W y
+      USB_SERIAL_KEYSPAN_USA19QW y
+      USB_SERIAL_KEYSPAN_USA19QI y
+      USB_SERIAL_KEYSPAN_USA49W y
+      USB_SERIAL_KEYSPAN_USA49WLC y
+
+      # Filesystem options - in particular, enable extended attributes and
+      # ACLs for all filesystems that support them.
+      EXT2_FS_XATTR y # Ext2 extended attributes
+      EXT2_FS_POSIX_ACL y # Ext2 POSIX Access Control Lists
+      EXT2_FS_SECURITY y # Ext2 Security Labels
+      EXT2_FS_XIP y # Ext2 execute in place support
+      EXT4_FS_POSIX_ACL y
+      EXT4_FS_SECURITY y
+      REISERFS_FS_XATTR y
+      REISERFS_FS_POSIX_ACL y
+      REISERFS_FS_SECURITY y
+      JFS_POSIX_ACL y
+      JFS_SECURITY y
+      XFS_QUOTA y
+      XFS_POSIX_ACL y
+      XFS_RT y # XFS Realtime subvolume support
+      OCFS2_DEBUG_MASKLOG n
+      BTRFS_FS_POSIX_ACL y
+      UBIFS_FS_XATTR? y
+      UBIFS_FS_ADVANCED_COMPR y
+      NFSD_V2_ACL y
+      NFSD_V3 y
+      NFSD_V3_ACL y
+      NFSD_V4 y
+      NFS_FSCACHE y
+      CIFS_XATTR y
+      CIFS_POSIX y
+      CIFS_FSCACHE y
+
+      # Security related features.
+      STRICT_DEVMEM y # Filter access to /dev/mem
+      SECURITY_SELINUX_BOOTPARAM_VALUE 0 # disable SELinux by default
+
+      # Misc. options.
+      8139TOO_8129 y
+      8139TOO_PIO n # PIO is slower
+      AIC79XX_DEBUG_ENABLE n
+      AIC7XXX_DEBUG_ENABLE n
+      AIC94XX_DEBUG n
+      B43_PCMCIA y
+      BLK_DEV_CMD640_ENHANCED y # CMD640 enhanced support
+      BLK_DEV_IDEACPI y # IDE ACPI support
+      BLK_DEV_INTEGRITY y
+      BSD_PROCESS_ACCT_V3 y
+      BT_HCIUART_BCSP y
+      BT_HCIUART_H4 y # UART (H4) protocol support
+      BT_HCIUART_LL y
+      BT_RFCOMM m
+      BT_RFCOMM_TTY y # RFCOMM TTY support
+      CRASH_DUMP n
+      DMAR? n # experimental
+      DVB_DYNAMIC_MINORS? y # we use udev
+      EFI_STUB y # EFI bootloader in the bzImage itself
+      FUSION y # Fusion MPT device support
+      IDE_GD_ATAPI y # ATAPI floppy support
+      IRDA_ULTRA y # Ultra (connectionless) protocol
+      JOYSTICK_IFORCE_232 y # I-Force Serial joysticks and wheels
+      JOYSTICK_IFORCE_USB y # I-Force USB joysticks and wheels
+      JOYSTICK_XPAD_FF y # X-Box gamepad rumble support
+      JOYSTICK_XPAD_LEDS y # LED Support for Xbox360 controller 'BigX' LED
+      LDM_PARTITION y # Windows Logical Disk Manager (Dynamic Disk) support
+      LEDS_TRIGGER_IDE_DISK y # LED IDE Disk Trigger
+      LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback
+      LOGO n # not needed
+      MEDIA_ATTACH? y
+      MEGARAID_NEWGEN y
+      MICROCODE_AMD y
+      MODVERSIONS y
+      MOUSE_PS2_ELANTECH y # Elantech PS/2 protocol extension
+      MTRR_SANITIZER y
+      NET_FC y # Fibre Channel driver support
+      PPP_MULTILINK y # PPP multilink support
+      REGULATOR y # Voltage and Current Regulator Support
+      SCSI_LOGGING y # SCSI logging facility
+      SERIAL_8250 y # 8250/16550 and compatible serial support
+      SLIP_COMPRESSED y # CSLIP compressed headers
+      SLIP_SMART y
+      THERMAL_HWMON y # Hardware monitoring support
+      USB_DEBUG n
+      USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators
+      USB_EHCI_TT_NEWSCHED y # Improved transaction translator scheduling
+      X86_CHECK_BIOS_CORRUPTION y
+      X86_MCE y
+      XEN_DOM0 y
+
+      # Linux Containers
+      RT_GROUP_SCHED? y
+      CGROUP_DEVICE? y
+      CGROUP_MEM_RES_CTLR? y
+      CGROUP_MEM_RES_CTLR_SWAP? y
+      DEVPTS_MULTIPLE_INSTANCES? y
+
+      # Enable staging drivers.  These are somewhat experimental, but
+      # they generally don't hurt.
+      STAGING y
+
+      # PROC_EVENTS requires that the netlink connector is not built
+      # as a module.  This is required by libcgroup's cgrulesengd.
+      CONNECTOR y
+      PROC_EVENTS y
+
+      # Tracing
+      FTRACE y
+      FUNCTION_TRACER y
+      FTRACE_SYSCALLS y
+      SCHED_TRACER y
+
+      # Devtmpfs support.
+      DEVTMPFS y
+
+      # Media support
+      MEDIA_CAMERA_SUPPORT? y
+      MEDIA_RC_SUPPORT? y
+      MEDIA_USB_SUPPORT y
+
+      # Easier debug of NFS issues
+      SUNRPC_DEBUG y
+
+      ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""}
+      ${extraConfig}
+    '';
+in
+
+import ./generic.nix (
+
+  rec {
+    version = "3.9-rc1";
+    modDirVersion = "3.9.0-rc1";
+    testing = true;
+
+    preConfigure = ''
+      substituteInPlace scripts/depmod.sh --replace '-b "$INSTALL_MOD_PATH"' ""
+    '';
+
+    src = fetchurl {
+      url = "mirror://kernel/linux/kernel/v3.x/${if testing then "testing/" else ""}linux-${version}.tar.xz";
+      sha256 = "1bm4fdk1v3dlhcqrzwzrf6fscvq7p7493f5ld5lbspaw8vb08690";
+    };
+
+    config = configWithPlatform stdenv.platform;
+    configCross = configWithPlatform stdenv.cross.platform;
+
+    features.iwlwifi = true;
+    features.efiBootStub = true;
+    features.needsCifsUtils = true;
+    features.canDisableNetfilterConntrackHelpers = true;
+    features.netfilterRPFilter = true;
+
+    extraBuildNativeInputs = [bc];
+  }
+
+  // removeAttrs args ["extraConfig"]
+)
diff --git a/pkgs/os-specific/linux/kernel/linux.upstream.template b/pkgs/os-specific/linux/kernel/linux.upstream.template
new file mode 100644
index 000000000000..624b83d45b33
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/linux.upstream.template
@@ -0,0 +1,13 @@
+url "http://www.kernel.org/pub/linux/kernel/v3.x/${LINUX_VERSION_RC:+testing/}"
+version_link "linux-${LINUX_VERSION}.*tar[.]xz\$"
+version '.*linux-([0-9.]+(-rc[0-9]+)?)[.]tar.*' '\1'
+target "linux-${LINUX_VERSION}.nix"
+name "linux_${LINUX_VERSION/./_}"
+
+do_overwrite() {
+  ensure_hash
+  set_var_value version "$CURRENT_VERSION"
+  set_var_value sha256 "$CURRENT_HASH"
+  [ -n "$LINUX_VERSION_RC" ] && set_var_value testing true '' '' 1
+  [ -z "$LINUX_VERSION_RC" ] && set_var_value testing false '' '' 1
+}
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index b76b0a1039f7..34e8f10dceee 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -75,16 +75,6 @@ let
     "INSTALL_PATH=$(out)"
   ] ++ (optional isModular "INSTALL_MOD_PATH=$(out)")
   ++ optional installsFirmware "INSTALL_FW_PATH=$(out)/lib/firmware";
-in
-
-stdenv.mkDerivation {
-  name = "linux-${version}";
-
-  enableParallelBuilding = true;
-
-  passthru = {
-    inherit version modDirVersion config kernelPatches src;
-  };
 
   sourceRoot = stdenv.mkDerivation {
     name = "linux-${version}-source";
@@ -108,16 +98,30 @@ stdenv.mkDerivation {
       mv $sourceRoot $out
     '';
   };
+in
+
+stdenv.mkDerivation {
+  name = "linux-${version}";
+
+  enableParallelBuilding = true;
+
+  outputs = if isModular then [ "out" "dev" ] else null;
+
+  passthru = {
+    inherit version modDirVersion config kernelPatches src;
+  };
+
+  inherit sourceRoot;
 
   unpackPhase = ''
     mkdir build
     export buildRoot="$(pwd)/build"
-    ln -sv ${configfile} $buildRoot/.config
-    cd $sourceRoot
+    cd ${sourceRoot}
   '';
 
   configurePhase = ''
     runHook preConfigure
+    ln -sv ${configfile} $buildRoot/.config
     make $makeFlags "''${makeFlagsArray[@]}" oldconfig
     runHook postConfigure
   '';
@@ -140,17 +144,25 @@ stdenv.mkDerivation {
     make modules_install $makeFlags "''${makeFlagsArray[@]}" \
       $installFlags "''${installFlagsArray[@]}"
     rm -f $out/lib/modules/${modDirVersion}/build
-    mv $buildRoot $out/lib/modules/${modDirVersion}/build
+    mkdir -p $dev/lib/modules/${modDirVersion}
+    mv $out/lib/modules/${modDirVersion}/source $dev/lib/modules/${modDirVersion}/source
+    mv $buildRoot $dev/lib/modules/${modDirVersion}/build
   '' else optionalString installsFirmware ''
     make firmware_install $makeFlags "''${makeFlagsArray[@]}" \
       $installFlags "''${installFlagsArray[@]}"
   '');
 
-  postFixup = optionalString isModular ''
+  postFixup = if isModular then ''
     if [ -z "$dontStrip" ]; then
         find $out -name "*.ko" -print0 | xargs -0 -r strip -S
+        # Remove all references to the source directory to avoid unneeded
+        # runtime dependencies
+        find $out -name "*.ko" -print0 | xargs -0 -r sed -i \
+          "s|${sourceRoot}|$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${sourceRoot.name}|g"
     fi
-  '';
+  '' else null;
+
+  __ignoreNulls = true;
 
   meta = {
     description = "The Linux kernel";
diff --git a/pkgs/os-specific/linux/qemu-kvm/default.nix b/pkgs/os-specific/linux/qemu-kvm/default.nix
index 11242483fdcb..6c2c8d57fc50 100644
--- a/pkgs/os-specific/linux/qemu-kvm/default.nix
+++ b/pkgs/os-specific/linux/qemu-kvm/default.nix
@@ -20,7 +20,9 @@ stdenv.mkDerivation rec {
     ] ++ stdenv.lib.optionals spiceSupport [ spice_protocol spice ];
 
   patches = [ ./fix-librt-check.patch ];
-  postPatch = "patchShebangs ." + stdenv.lib.optionalString spiceSupport ''
+
+  postPatch = "patchShebangs .;"
+    + stdenv.lib.optionalString spiceSupport ''
        for i in configure spice-qemu-char.c ui/spice-input.c ui/spice-core.c ui/qemu-spice.h; do
          substituteInPlace $i --replace '#include <spice.h>' '#include <spice/spice.h>'
        done
diff --git a/pkgs/os-specific/linux/xf86-video-nested/default.nix b/pkgs/os-specific/linux/xf86-video-nested/default.nix
index b3cad227d276..0d0639390a73 100644
--- a/pkgs/os-specific/linux/xf86-video-nested/default.nix
+++ b/pkgs/os-specific/linux/xf86-video-nested/default.nix
@@ -23,8 +23,8 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    homepage = git://anongit.freedesktop.org/xorg/driver/xf86-video-nested;
-    description = "Driver to run Xorg on top of Xorg or something else";
+    homepage = http://cgit.freedesktop.org/xorg/driver/xf86-video-nested;
+    description = "A driver to run Xorg on top of Xorg or something else";
     maintainers = [ stdenv.lib.maintainers.goibhniu ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/servers/amqp/rabbitmq-server/default.nix b/pkgs/servers/amqp/rabbitmq-server/default.nix
index 45ccfc22de7f..043c69d5cc0e 100644
--- a/pkgs/servers/amqp/rabbitmq-server/default.nix
+++ b/pkgs/servers/amqp/rabbitmq-server/default.nix
@@ -2,12 +2,11 @@
 , docbook_xml_dtd_45, docbook_xsl, zip, unzip }:
 
 stdenv.mkDerivation rec {
-  version = "3.0.2";
-  name = "rabbitmq-server-${version}";
+  name = "rabbitmq-server-3.0.3";
 
   src = fetchurl {
-    url = "http://www.rabbitmq.com/releases/rabbitmq-server/v${version}/${name}.tar.gz";
-    sha256 = "1xcqv8jmpj768rl3219ksmpsm64imys7h9f3phvmpjfqdw6lnr9x";
+    url = "http://www.rabbitmq.com/releases/rabbitmq-server/v3.0.3/${name}.tar.gz";
+    sha256 = "07mp57xvszdrlgw8rgn9r9dpa6vdqdjk7f1dyh6a9sdg8s9fby38";
   };
 
   buildInputs =
diff --git a/pkgs/servers/search/elasticsearch/default.nix b/pkgs/servers/search/elasticsearch/default.nix
new file mode 100644
index 000000000000..9afbc62ce8c7
--- /dev/null
+++ b/pkgs/servers/search/elasticsearch/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl }:
+stdenv.mkDerivation rec {
+  name = "elasticsearch-0.20.5";
+
+  src = fetchurl {
+    url = "https://download.elasticsearch.org/elasticsearch/elasticsearch/${name}.tar.gz";
+    sha256 = "0r0h9znyflajps1k8hl9naixhg1gqmhz7glc009pzzv94ncdzrq1";
+  };
+
+  patches = [ ./es-home.patch ];
+
+  installPhase = ''
+    mkdir -p $out
+    cp -R bin config lib $out
+  '';
+
+  meta = {
+    description = "Open Source, Distributed, RESTful Search Engine";
+    license = "ASL2.0";
+  };
+}
diff --git a/pkgs/servers/search/elasticsearch/es-home.patch b/pkgs/servers/search/elasticsearch/es-home.patch
new file mode 100644
index 000000000000..f9e460198a98
--- /dev/null
+++ b/pkgs/servers/search/elasticsearch/es-home.patch
@@ -0,0 +1,20 @@
+diff -rc elasticsearch-0.20.5/bin/elasticsearch elasticsearch-0.20.5-new/bin/elasticsearch
+*** elasticsearch-0.20.5/bin/elasticsearch	2013-03-07 12:16:31.152494626 +0100
+--- elasticsearch-0.20.5-new/bin/elasticsearch	2013-03-07 12:24:41.076081272 +0100
+***************
+*** 62,68 ****
+  done
+  
+  # determine elasticsearch home
+! ES_HOME=`dirname "$SCRIPT"`/..
+  
+  # make ELASTICSEARCH_HOME absolute
+  ES_HOME=`cd "$ES_HOME"; pwd`
+--- 62,68 ----
+  done
+  
+  # determine elasticsearch home
+! ES_HOME=${ES_HOME:=`dirname "$SCRIPT"`/..}
+  
+  # make ELASTICSEARCH_HOME absolute
+  ES_HOME=`cd "$ES_HOME"; pwd`
diff --git a/pkgs/servers/sql/oracle-xe/default.nix b/pkgs/servers/sql/oracle-xe/default.nix
new file mode 100644
index 000000000000..940e57ab8fb1
--- /dev/null
+++ b/pkgs/servers/sql/oracle-xe/default.nix
@@ -0,0 +1,83 @@
+{ stdenv, makeWrapper, requireFile, patchelf, rpm, cpio, libaio }:
+
+assert stdenv.system == "x86_64-linux";
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "oracle-xe-${version}";
+  version = "11.2.0";
+
+  src = requireFile {
+    name = "${name}-1.0.x86_64.rpm";
+    sha256 = "0s2jj2xn56v5ys6hxb7l7045hw9c1mm1lhj4p2fvqbs02kqchab6";
+
+    url = "http://www.oracle.com/technetwork/"
+        + "products/express-edition/downloads/";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  unpackCmd = ''
+    (mkdir -p "${name}" && cd "${name}" &&
+      ${rpm}/bin/rpm2cpio "$curSrc" | ${cpio}/bin/cpio -id)
+  '';
+
+  buildPhase = let
+    libs = makeLibraryPath [ libaio ];
+  in ''
+    basedir="u01/app/oracle/product/${version}/xe"
+    cat > "$basedir/network/admin/listener.ora" <<SQL
+    # listener.ora Network Configuration File:
+
+    SID_LIST_LISTENER =
+      (SID_LIST =
+        (SID_DESC =
+          (SID_NAME = PLSExtProc)
+          (ORACLE_HOME = ''${out}/libexec/oracle)
+          (PROGRAM = extproc)
+        )
+      )
+
+    LISTENER =
+      (DESCRIPTION_LIST =
+        (DESCRIPTION =
+          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
+          (ADDRESS = (PROTOCOL = TCP)(HOST = %hostname%)(PORT = %port%))
+        )
+      )
+
+    DEFAULT_SERVICE_LISTENER = (XE)
+    SQL
+
+    find u01 \
+      \( -name '*.sh' \
+      -o -path "$basedir/bin/*" \
+      \) -print -exec "${patchelf}/bin/patchelf" \
+           --interpreter "$(cat "$NIX_GCC/nix-support/dynamic-linker")" \
+           --set-rpath "${libs}:$out/libexec/oracle/lib" \
+           --force-rpath '{}' \;
+  '';
+
+  dontStrip = true;
+  dontPatchELF = true;
+
+  installPhase = ''
+    mkdir -p "$out/libexec"
+    cp -r "u01/app/oracle/product/${version}/xe" "$out/libexec/oracle"
+
+    for i in "$out/libexec/oracle/bin"/*; do
+      makeWrapper "$i" "$out/bin/''${i##*/}" \
+        --set ORACLE_HOME "$out/libexec/oracle" \
+        --set ORACLE_SID XE \
+        --set NLS_LANG '$("'"$out"'/libexec/oracle/bin/nls_lang.sh")' \
+        --prefix PATH : "$out/libexec/oracle/bin"
+    done
+  '';
+
+  meta = {
+    description = "Oracle Database Express Edition";
+    homepage = "http://www.oracle.com/technetwork/products/express-edition/";
+    license = licenses.proprietary;
+  };
+}
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index f26ba257c024..3f8fc2e68a1f 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -1518,11 +1518,11 @@ let
   })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
     
   xf86videointel = (stdenv.mkDerivation ((if overrides ? xf86videointel then overrides.xf86videointel else x: x) {
-    name = "xf86-video-intel-2.20.10";
+    name = "xf86-video-intel-2.20.19";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-intel-2.20.10.tar.bz2;
-      sha256 = "1kfd6qiqxyqhjp8g1xcipkldsf7xa47q8zfdhxg3qzw77n6a4hfz";
+      url = mirror://xorg/individual/driver/xf86-video-intel-2.20.19.tar.bz2;
+      sha256 = "0k67vcf0aqhv9zmy1arxyjdl7fsrg90cjm0ryyhamghq67z0xcmr";
     };
     buildInputs = [pkgconfig dri2proto fontsproto libdrm udev libpciaccess pixman randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto libXfixes xorgserver xproto libXrender libXvMC ];
   })) // {inherit dri2proto fontsproto libdrm udev libpciaccess pixman randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto libXfixes xorgserver xproto libXrender libXvMC ;};
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index 6f5e5d34582f..26f410cee117 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -44,43 +44,59 @@ let
           if !allowUnfree && (let l = attrs.meta.license or ""; in l == "unfree" || l == "unfree-redistributable" || l == lib.licenses.proprietary) then
             throw "package ‘${attrs.name}’ has an unfree license, refusing to evaluate"
           else
-          (derivation (
-            (removeAttrs attrs ["meta" "passthru" "crossAttrs"])
-            // (let
-              buildInputs = attrs.buildInputs or [];
-              nativeBuildInputs = attrs.nativeBuildInputs or [];
-              propagatedBuildInputs = attrs.propagatedBuildInputs or [];
-              propagatedNativeBuildInputs = attrs.propagatedNativeBuildInputs or [];
-              crossConfig = attrs.crossConfig or null;
-            in
-            {
-              builder = attrs.realBuilder or shell;
-              args = attrs.args or ["-e" (attrs.builder or ./default-builder.sh)];
-              stdenv = result;
-              system = result.system;
-              userHook = config.stdenv.userHook or null;
-
-              # Inputs built by the cross compiler.
-              buildInputs = lib.optionals (crossConfig != null) buildInputs;
-              propagatedBuildInputs = lib.optionals (crossConfig != null)
-                  propagatedBuildInputs;
-              # Inputs built by the usual native compiler.
-              nativeBuildInputs = nativeBuildInputs ++ lib.optionals
-                (crossConfig == null) buildInputs;
-              propagatedNativeBuildInputs = propagatedNativeBuildInputs ++
-                lib.optionals (crossConfig == null) propagatedBuildInputs;
-            }))
-          )
-          # The meta attribute is passed in the resulting attribute set,
-          # but it's not part of the actual derivation, i.e., it's not
-          # passed to the builder and is not a dependency.  But since we
-          # include it in the result, it *is* available to nix-env for
-          # queries.
-          // { meta = attrs.meta or {}; }
-          # Pass through extra attributes that are not inputs, but
-          # should be made available to Nix expressions using the
-          # derivation (e.g., in assertions).
-          // (attrs.passthru or {});
+            let
+              drv = derivation (
+                (removeAttrs attrs ["meta" "passthru" "crossAttrs"])
+                // (let
+                  buildInputs = attrs.buildInputs or [];
+                  nativeBuildInputs = attrs.nativeBuildInputs or [];
+                  propagatedBuildInputs = attrs.propagatedBuildInputs or [];
+                  propagatedNativeBuildInputs = attrs.propagatedNativeBuildInputs or [];
+                  crossConfig = attrs.crossConfig or null;
+                in
+                {
+                  builder = attrs.realBuilder or shell;
+                  args = attrs.args or ["-e" (attrs.builder or ./default-builder.sh)];
+                  stdenv = result;
+                  system = result.system;
+                  userHook = config.stdenv.userHook or null;
+
+                  # Inputs built by the cross compiler.
+                  buildInputs = lib.optionals (crossConfig != null) buildInputs;
+                  propagatedBuildInputs = lib.optionals (crossConfig != null)
+                      propagatedBuildInputs;
+                  # Inputs built by the usual native compiler.
+                  nativeBuildInputs = nativeBuildInputs ++ lib.optionals
+                    (crossConfig == null) buildInputs;
+                  propagatedNativeBuildInputs = propagatedNativeBuildInputs ++
+                    lib.optionals (crossConfig == null) propagatedBuildInputs;
+              }));
+
+              outputs = drv.outputs or [ "out" ];
+
+              commonAttrs = drv // (builtins.listToAttrs outputsList) //
+                ({ all = map (x: x.value) outputsList;
+                  # The meta attribute is passed in the resulting attribute set,
+                  # but it's not part of the actual derivation, i.e., it's not
+                  # passed to the builder and is not a dependency.  But since we
+                  # include it in the result, it *is* available to nix-env for
+                  # queries.
+                  meta = attrs.meta or {};
+                }) //
+                # Pass through extra attributes that are not inputs, but
+                # should be made available to Nix expressions using the
+                # derivation (e.g., in assertions).
+                (attrs.passthru or {});
+
+              outputToAttrListElement = outputName:
+                { name = outputName;
+                  value = commonAttrs // {
+                    inherit (builtins.getAttr outputName drv) outPath drvPath type outputName;
+                  };
+                };
+
+              outputsList = map outputToAttrListElement outputs;
+            in (builtins.head outputsList).value;
 
         # Utility flags to test the type of platform.
         isDarwin = result.system == "x86_64-darwin";
diff --git a/pkgs/tools/text/recode/default.nix b/pkgs/tools/text/recode/default.nix
index f3f8520a918d..17a63799ac4e 100644
--- a/pkgs/tools/text/recode/default.nix
+++ b/pkgs/tools/text/recode/default.nix
@@ -1,52 +1,29 @@
-{ stdenv, fetchurl, autoconf, automake, libtool, gettext, perl, flex }:
+# XXX: this may need -liconv on non-glibc systems.. 
 
-let
-  asIfPatch = ./recode-3.6-as-if.patch;
+{stdenv, fetchgit, python, perl}:
 
-  gettextPatch = ./recode-3.6-gettextfix.diff;
+stdenv.mkDerivation rec {
+  name = "recode-3.7-pff85fdbd";
 
-  debianPatch = fetchurl {
-    url = "http://ftp.de.debian.org/debian/pool/main/r/recode/recode_3.6-17.diff.gz";
-    sha256 = "1iwrggw64faf6lghgm9nzh64vh8m8jd79h6pxqgrmfmplzrzpzjp";
+  src = fetchgit {
+    url = https://github.com/pinard/Recode.git;
+    rev = "2fd8385658e5a08700e3b916053f6680ff85fdbd";
+    sha256 = "1xhlfmqld6af16l444jli9crj9brym2jihg1n6lkxh2gar68f5l7";
   };
-in
-stdenv.mkDerivation {
-  name = "recode-3.6";
 
-  src = fetchurl {
-    url = "ftp://ftp.halifax.rwth-aachen.de/gnu/recode/recode-3.6.tar.gz";
-    sha256 = "1krgjqfhsxcls4qvxhagc45sm1sd0w69jm81nwm0bip5z3rs9rp3";
-  };
-
-  buildInputs = [ autoconf automake libtool gettext perl flex ];
-
-  patchPhase = ''
-    patch -Np1 -i ${gettextPatch}
-    patch -Np1 -i ${asIfPatch}
-    gunzip <${debianPatch} | patch -Np1 -i -
-    sed -i '1i#include <stdlib.h>' src/argmatch.c
+  buildInputs = [ python perl ];
 
-    # fix build with new automake, https://bugs.gentoo.org/show_bug.cgi?id=419455
-    rm acinclude.m4
-    substituteInPlace Makefile.am --replace "ACLOCAL = ./aclocal.sh @ACLOCAL@" ""
-    sed -i '/^AM_C_PROTOTYPES/d' configure.in
-    substituteInPlace src/Makefile.am --replace "ansi2knr" ""
+  doCheck = true;
 
-    autoreconf -i
-    libtoolize
+  preCheck = ''
+    checkFlagsArray=(LDFLAGS="-L../src/.libs -Wl,-rpath=../src/.libs")
   '';
 
-  configureFlags = "--without-included-gettext";
-
-  doCheck = true;
-
   meta = {
     homepage = "http://www.gnu.org/software/recode/";
     description = "Converts files between various character sets and usages";
-
-    license = "GPLv2+";
-
     platforms = stdenv.lib.platforms.unix;
-    maintainers = [];
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = with stdenv.lib.maintainers; [ jcumming ];
   };
 }
diff --git a/pkgs/tools/text/recode/recode-3.6-as-if.patch b/pkgs/tools/text/recode/recode-3.6-as-if.patch
deleted file mode 100644
index c7bcc27c8750..000000000000
--- a/pkgs/tools/text/recode/recode-3.6-as-if.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-http://bugs.gentoo.org/283029
-
---- a/m4/flex.m4
-+++ b/m4/flex.m4
-@@ -8,11 +8,11 @@ dnl ad_AC_PROG_FLEX
- dnl Look for flex or missing, then run AC_PROG_LEX and AC_DECL_YYTEXT
- AC_DEFUN(ad_AC_PROG_FLEX,
- [AC_CHECK_PROGS(LEX, flex, missing)
--if test "$LEX" = missing; then
-+AS_IF([test "$LEX" = missing], [dnl
-   LEX="\$(top_srcdir)/$ac_aux_dir/missing flex"
-   LEX_OUTPUT_ROOT=lex.yy
-   AC_SUBST(LEX_OUTPUT_ROOT)dnl
--else
-+], [:
-   AC_PROG_LEX
-   AC_DECL_YYTEXT
--fi])
-+])])
diff --git a/pkgs/tools/text/recode/recode-3.6-gettextfix.diff b/pkgs/tools/text/recode/recode-3.6-gettextfix.diff
deleted file mode 100644
index 3b7eb8ba20e6..000000000000
--- a/pkgs/tools/text/recode/recode-3.6-gettextfix.diff
+++ /dev/null
@@ -1,23 +0,0 @@
-http://bugs.gentoo.org/239372
-
-patch by Dmitry Karasik
-
---- recode-3.6/m4/gettext.m4
-+++ recode-3.6/m4/gettext.m4
-@@ -109,12 +109,12 @@
-     else
-       ac_items="$LINGUAS"
-       for ac_item in $ac_items; do
--	case "$ALL_LINGUAS" in
--	  *$ac_item*)
-+        for supported_item in $ALL_LINGUAS; do
-+          if test "$ac_item" = "$supported_item"; then
- 	    ac_print="$ac_print $ac_item"
- 	    MOFILES="$MOFILES $ac_item.mo"
--	    ;;
--	esac
-+          fi
-+        done
-       done
-     fi
-     AC_SUBST(MOFILES)
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 2731a19b4190..9511c1287345 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -715,6 +715,8 @@ let
 
   efibootmgr = callPackage ../tools/system/efibootmgr { };
 
+  elasticsearch = callPackage ../servers/search/elasticsearch { };
+
   enblendenfuse = callPackage ../tools/graphics/enblend-enfuse {
     boost = boost149;
   };
@@ -2065,6 +2067,11 @@ let
         if crossSystem != null && crossSystem.config == "i586-pc-gnu"
         then gnu.libpthreadCross
         else null;
+
+      # XXX: We have troubles cross-compiling libstdc++ on MinGW (see
+      # <http://hydra.nixos.org/build/4268232>), so don't even try.
+      langCC = (crossSystem == null
+                || crossSystem.config != "i686-pc-mingw32");
      });
     libc = libcCross;
     binutils = binutilsCross;
@@ -2851,7 +2858,7 @@ let
   };
 
   pythonDocs = recurseIntoAttrs (import ../development/interpreters/python/docs {
-    inherit stdenv fetchurl;
+    inherit stdenv fetchurl lib;
   });
 
   pythonLinkmeWrapper = callPackage ../development/interpreters/python/python-linkme-wrapper.nix { };
@@ -3585,10 +3592,6 @@ let
     vpxSupport = !stdenv.isMips;
   };
 
-  ffmpeg_1_0 = callPackage ../development/libraries/ffmpeg/1.0.nix {
-    vpxSupport = !stdenv.isMips;
-  };
-
   ffmpeg_1_1 = callPackage ../development/libraries/ffmpeg/1.1.nix {
     vpxSupport = !stdenv.isMips;
   };
@@ -4864,6 +4867,8 @@ let
 
   snappy = callPackage ../development/libraries/snappy { };
 
+  sodium = callPackage ../development/libraries/sodium {};
+
   sofia_sip = callPackage ../development/libraries/sofia-sip { };
 
   soprano = callPackage ../development/libraries/soprano { };
@@ -5457,6 +5462,8 @@ let
 
   openfire = callPackage ../servers/xmpp/openfire { };
 
+  oracleXE = callPackage ../servers/sql/oracle-xe { };
+
   OVMF = callPackage ../applications/virtualization/OVMF { };
 
   postgresql = postgresql83;
@@ -5890,127 +5897,142 @@ let
       ];
   };
 
+  # low-priority because it is RC
+  linux_3_9 = lowPrio (makeOverridable (import ../os-specific/linux/kernel/linux-3.9.nix) {
+    inherit fetchurl stdenv perl mktemp bc module_init_tools ubootChooser;
+    kernelPatches =
+      [
+        kernelPatches.sec_perm_2_6_24
+      ] ++ lib.optionals (platform.kernelArch == "mips")
+      [ kernelPatches.mips_fpureg_emu
+        kernelPatches.mips_fpu_sigill
+        kernelPatches.mips_ext3_n32
+      ];
+  });
+
   /* Linux kernel modules are inherently tied to a specific kernel.  So
      rather than provide specific instances of those packages for a
      specific kernel, we have a function that builds those packages
      for a specific kernel.  This function can then be called for
      whatever kernel you're using. */
 
-  linuxPackagesFor = kernel: self: let callPackage = newScope self; in rec {
+  linuxPackagesFor = kernel:
+    let
+      callPackage = newScope self; 
 
-    inherit kernel;
+      self = {
+        kernel = kernel.dev or kernel;
 
-    acpi_call = callPackage ../os-specific/linux/acpi-call {};
+        acpi_call = callPackage ../os-specific/linux/acpi-call {};
 
-    bbswitch = callPackage ../os-specific/linux/bbswitch {};
+        bbswitch = callPackage ../os-specific/linux/bbswitch {};
 
-    ati_drivers_x11 = callPackage ../os-specific/linux/ati-drivers { };
+        ati_drivers_x11 = callPackage ../os-specific/linux/ati-drivers { };
 
-    aufs =
-      if kernel.features ? aufs2 then
-        callPackage ../os-specific/linux/aufs/2.nix { }
-      else if kernel.features ? aufs3 then
-        callPackage ../os-specific/linux/aufs/3.nix { }
-      else null;
+        aufs =
+          if self.kernel.features ? aufs2 then
+            callPackage ../os-specific/linux/aufs/2.nix { }
+          else if self.kernel.features ? aufs3 then
+            callPackage ../os-specific/linux/aufs/3.nix { }
+          else null;
 
-    aufs_util =
-      if kernel.features ? aufs2 then
-        callPackage ../os-specific/linux/aufs-util/2.nix { }
-      else if kernel.features ? aufs3 then
-        callPackage ../os-specific/linux/aufs-util/3.nix { }
-      else null;
+        aufs_util =
+          if self.kernel.features ? aufs2 then
+            callPackage ../os-specific/linux/aufs-util/2.nix { }
+          else if self.kernel.features ? aufs3 then
+            callPackage ../os-specific/linux/aufs-util/3.nix { }
+          else null;
 
-    blcr = callPackage ../os-specific/linux/blcr { };
+        blcr = callPackage ../os-specific/linux/blcr { };
 
-    cryptodev = callPackage ../os-specific/linux/cryptodev { };
+        cryptodev = callPackage ../os-specific/linux/cryptodev { };
 
-    e1000e = callPackage ../os-specific/linux/e1000e {};
+        e1000e = callPackage ../os-specific/linux/e1000e {};
 
-    exmap = callPackage ../os-specific/linux/exmap { };
+        exmap = callPackage ../os-specific/linux/exmap { };
 
-    frandom = callPackage ../os-specific/linux/frandom { };
+        frandom = callPackage ../os-specific/linux/frandom { };
 
-    iscsitarget = callPackage ../os-specific/linux/iscsitarget { };
+        iscsitarget = callPackage ../os-specific/linux/iscsitarget { };
 
-    iwlwifi = callPackage ../os-specific/linux/iwlwifi { };
+        iwlwifi = callPackage ../os-specific/linux/iwlwifi { };
 
-    iwlwifi4965ucode =
-      if (builtins.compareVersions kernel.version "2.6.27" == 0)
-         || (builtins.compareVersions kernel.version "2.6.27" == 1)
-      then iwlwifi4965ucodeV2
-      else iwlwifi4965ucodeV1;
+        iwlwifi4965ucode =
+          if builtins.compareVersions self.kernel.version "2.6.27" == 0
+             || builtins.compareVersions self.kernel.version "2.6.27" == 1
+          then iwlwifi4965ucodeV2
+          else iwlwifi4965ucodeV1;
 
-    atheros = callPackage ../os-specific/linux/atheros/0.9.4.nix { };
+        atheros = callPackage ../os-specific/linux/atheros/0.9.4.nix { };
 
-    broadcom_sta = callPackage ../os-specific/linux/broadcom-sta/default.nix { };
+        broadcom_sta = callPackage ../os-specific/linux/broadcom-sta/default.nix { };
 
-    kernelHeaders = linuxHeaders;
-
-    nvidia_x11 = callPackage ../os-specific/linux/nvidia-x11 { };
+        nvidia_x11 = callPackage ../os-specific/linux/nvidia-x11 { };
 
-    nvidia_x11_legacy96 = callPackage ../os-specific/linux/nvidia-x11/legacy96.nix { };
-    nvidia_x11_legacy173 = callPackage ../os-specific/linux/nvidia-x11/legacy173.nix { };
-    nvidia_x11_legacy304 = callPackage ../os-specific/linux/nvidia-x11/legacy304.nix { };
+        nvidia_x11_legacy96 = callPackage ../os-specific/linux/nvidia-x11/legacy96.nix { };
+        nvidia_x11_legacy173 = callPackage ../os-specific/linux/nvidia-x11/legacy173.nix { };
+        nvidia_x11_legacy304 = callPackage ../os-specific/linux/nvidia-x11/legacy304.nix { };
 
-    openafsClient = callPackage ../servers/openafs-client { };
+        openafsClient = callPackage ../servers/openafs-client { };
 
-    openiscsi = callPackage ../os-specific/linux/open-iscsi { };
+        openiscsi = callPackage ../os-specific/linux/open-iscsi { };
 
-    wis_go7007 = callPackage ../os-specific/linux/wis-go7007 { };
+        wis_go7007 = callPackage ../os-specific/linux/wis-go7007 { };
 
-    kqemu = callPackage ../os-specific/linux/kqemu { };
+        kqemu = callPackage ../os-specific/linux/kqemu { };
 
-    klibc = callPackage ../os-specific/linux/klibc {
-      linuxHeaders = glibc.kernelHeaders;
-    };
+        klibc = callPackage ../os-specific/linux/klibc {
+          linuxHeaders = glibc.kernelHeaders;
+        };
 
-    splashutils = let hasFbConDecor = if kernel ? features
-      then kernel.features ? fbConDecor
-      else kernel.config.isEnabled "FB_CON_DECOR";
-    in if hasFbConDecor then pkgs.splashutils else null;
+        splashutils = let hasFbConDecor = if self.kernel ? features
+          then self.kernel.features ? fbConDecor
+          else self.kernel.config.isEnabled "FB_CON_DECOR";
+        in if hasFbConDecor then pkgs.splashutils else null;
 
-    /* compiles but has to be integrated into the kernel somehow
-      Let's have it uncommented and finish it..
-    */
-    ndiswrapper = callPackage ../os-specific/linux/ndiswrapper { };
+        /* compiles but has to be integrated into the kernel somehow
+           Let's have it uncommented and finish it..
+        */
+        ndiswrapper = callPackage ../os-specific/linux/ndiswrapper { };
 
-    perf = callPackage ../os-specific/linux/kernel/perf.nix { };
+        perf = callPackage ../os-specific/linux/kernel/perf.nix { };
 
-    spl = callPackage ../os-specific/linux/spl/default.nix { };
+        spl = callPackage ../os-specific/linux/spl/default.nix { };
 
-    sysprof = callPackage ../development/tools/profiling/sysprof {
-      inherit (gnome) libglade;
-    };
+        sysprof = callPackage ../development/tools/profiling/sysprof {
+          inherit (gnome) libglade;
+        };
 
-    systemtap = callPackage ../development/tools/profiling/systemtap {
-      linux = kernel;
-      inherit (gnome) libglademm;
-    };
+        systemtap = callPackage ../development/tools/profiling/systemtap {
+          linux = self.kernel;
+          inherit (gnome) libglademm;
+        };
 
-    tp_smapi = callPackage ../os-specific/linux/tp_smapi { };
+        tp_smapi = callPackage ../os-specific/linux/tp_smapi { };
 
-    v86d = callPackage ../os-specific/linux/v86d { };
+        v86d = callPackage ../os-specific/linux/v86d { };
 
-    virtualbox = callPackage ../applications/virtualization/virtualbox {
-      stdenv = stdenv_32bit;
-      inherit (gnome) libIDL;
-    };
+        virtualbox = callPackage ../applications/virtualization/virtualbox {
+          stdenv = stdenv_32bit;
+          inherit (gnome) libIDL;
+        };
 
-    virtualboxGuestAdditions = callPackage ../applications/virtualization/virtualbox/guest-additions { };
+        virtualboxGuestAdditions = callPackage ../applications/virtualization/virtualbox/guest-additions { };
 
-    zfs = callPackage ../os-specific/linux/zfs/default.nix { };
-  };
+        zfs = callPackage ../os-specific/linux/zfs/default.nix { };
+      };
+    in (self // { kernel = self.kernel.out; });
 
   # Build the kernel modules for the some of the kernels.
-  linuxPackages_2_6_32 = recurseIntoAttrs (linuxPackagesFor linux_2_6_32 pkgs.linuxPackages_2_6_32);
-  linuxPackages_2_6_35 = recurseIntoAttrs (linuxPackagesFor linux_2_6_35 pkgs.linuxPackages_2_6_35);
-  linuxPackages_3_0 = recurseIntoAttrs (linuxPackagesFor linux_3_0 pkgs.linuxPackages_3_0);
-  linuxPackages_3_2 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2 pkgs.linuxPackages_3_2);
-  linuxPackages_3_2_xen = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2_xen pkgs.linuxPackages_3_2_xen);
-  linuxPackages_3_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_4 pkgs.linuxPackages_3_4);
-  linuxPackages_3_6_rpi = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_6_rpi pkgs.linuxPackages_3_6_rpi);
-  linuxPackages_3_7 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_7 pkgs.linuxPackages_3_7);
-  linuxPackages_3_8 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_8 pkgs.linuxPackages_3_8);
+  linuxPackages_2_6_32 = recurseIntoAttrs (linuxPackagesFor linux_2_6_32);
+  linuxPackages_2_6_35 = recurseIntoAttrs (linuxPackagesFor linux_2_6_35);
+  linuxPackages_3_0 = recurseIntoAttrs (linuxPackagesFor linux_3_0);
+  linuxPackages_3_2 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2);
+  linuxPackages_3_2_xen = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2_xen);
+  linuxPackages_3_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_4);
+  linuxPackages_3_6_rpi = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_6_rpi);
+  linuxPackages_3_7 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_7);
+  linuxPackages_3_8 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_8);
 
   # The current default kernel / kernel modules.
   linux = linuxPackages.kernel;
@@ -7231,6 +7253,8 @@ let
 
   jack_capture = callPackage ../applications/audio/jack-capture { };
 
+  jack_oscrolloscope = callPackage ../applications/audio/jack-oscrolloscope { };
+
   jackmeter = callPackage ../applications/audio/jackmeter { };
 
   jalv = callPackage ../applications/audio/jalv { };
@@ -7458,6 +7482,8 @@ let
 
   mupdf = callPackage ../applications/misc/mupdf { };
 
+  mypaint = callPackage ../applications/graphics/mypaint { };
+
   mythtv = callPackage ../applications/video/mythtv { };
 
   tvtime = callPackage ../applications/video/tvtime {
@@ -8050,7 +8076,7 @@ let
 
   zathuraCollection = recurseIntoAttrs
     (let callPackage = newScope pkgs.zathuraCollection; in
-      import ../applications/misc/zathura { inherit callPackage pkgs; });
+      import ../applications/misc/zathura { inherit callPackage pkgs fetchurl; });
 
   zathura = zathuraCollection.zathuraWrapper;
 
@@ -8112,9 +8138,13 @@ let
 
   crrcsim = callPackage ../games/crrcsim {};
 
+  drumkv1 = callPackage ../applications/audio/drumkv1 { };
+
   dwarf_fortress = callPackage_i686 ../games/dwarf-fortress { };
 
-  eduke32 = callPackage ../games/eduke32 { };
+  eduke32 = callPackage ../games/eduke32 {
+    stdenv = overrideGCC stdenv gcc47;
+  };
 
   egoboo = callPackage ../games/egoboo { };
 
@@ -8218,6 +8248,8 @@ let
 
   rogue = callPackage ../games/rogue { };
 
+  samplv1 = callPackage ../applications/audio/samplv1 { };
+
   sauerbraten = callPackage ../games/sauerbraten {};
 
   scid = callPackage ../games/scid { };
@@ -8250,6 +8282,8 @@ let
 
   superTuxKart = callPackage ../games/super-tux-kart { };
 
+  synthv1 = callPackage ../applications/audio/synthv1 { };
+
   tbe = callPackage ../games/the-butterfly-effect {};
 
   teetertorture = callPackage ../games/teetertorture { };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index f5680d645181..0baf3457966f 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -2655,12 +2655,12 @@ pythonPackages = python.modules // rec {
   });
 
   ldap = buildPythonPackage rec {
-    name = "python-ldap-2.4.3";
+    name = "python-ldap-2.4.10";
     namePrefix = "";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/p/python-ldap/${name}.tar.gz";
-      sha256 = "17aysa9b4zjw00ikjirf4m37xbp2ifj1g0zjs14xzqqib3nh1yw8";
+      sha256 = "0m6fm2alcb5v9xdcjv2nw2lhz9nnd3mnr5lrmf397hi4pw0pik37";
     };
 
     NIX_CFLAGS_COMPILE = "-I${pkgs.cyrus_sasl}/include/sasl";
@@ -4718,4 +4718,30 @@ pythonPackages = python.modules // rec {
     };
   };
 
+  ws4py = buildPythonPackage rec {
+    name = "ws4py-${version}";
+  
+    version = "git-20130303";
+  
+    src = fetchgit {
+      url = "https://github.com/Lawouach/WebSocket-for-Python.git";
+      rev = "ace276500ca7e4c357595e3773be151d37bcd6e2";
+      sha256 = "04m4m3ncn7g4rb81xg5n28imns7rsq8d2w98gjpaib6vlmyly3g1";
+    };
+  
+    # python zip complains about old timestamps
+    preConfigure = ''
+      find -print0 | xargs -0 touch
+    '';
+  
+    # Tests depend on other packages
+    doCheck = false;
+  
+    meta = {
+      homepage = https://ws4py.readthedocs.org;
+      description = "A WebSocket package for Python";
+      maintainers = [ stdenv.lib.maintainers.rickynils ];
+    };
+  };
+
 }; in pythonPackages
diff --git a/pkgs/top-level/release-python.nix b/pkgs/top-level/release-python.nix
index 05a78a099f75..d82056d4297b 100644
--- a/pkgs/top-level/release-python.nix
+++ b/pkgs/top-level/release-python.nix
@@ -333,7 +333,7 @@ in
   ffado = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
   ffmpeg = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
   ffmpeg_0_6_90 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-  ffmpeg_1_0 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
+  ffmpeg_1_1 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
   fileschanged = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
   fio = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
   firefox = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };