summary refs log tree commit diff
path: root/pkgs/development/interpreters
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/interpreters')
-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
30 files changed, 362 insertions, 235 deletions
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 ]; };