summary refs log tree commit diff
path: root/pkgs/development/interpreters/ruby/libs.nix
diff options
context:
space:
mode:
authorYury G. Kudryashov <urkud.urkud@gmail.com>2010-09-08 09:56:53 +0000
committerYury G. Kudryashov <urkud.urkud@gmail.com>2010-09-08 09:56:53 +0000
commit17c70d3efdf63c7ca70286b2cdce72846f4ddce1 (patch)
tree2fe4eb09321c641e52311c0f42920d50b8424dd2 /pkgs/development/interpreters/ruby/libs.nix
parent40a7243ed3f5d8cef6af2b0450bffdd31326dd2c (diff)
downloadnixlib-17c70d3efdf63c7ca70286b2cdce72846f4ddce1.tar
nixlib-17c70d3efdf63c7ca70286b2cdce72846f4ddce1.tar.gz
nixlib-17c70d3efdf63c7ca70286b2cdce72846f4ddce1.tar.bz2
nixlib-17c70d3efdf63c7ca70286b2cdce72846f4ddce1.tar.lz
nixlib-17c70d3efdf63c7ca70286b2cdce72846f4ddce1.tar.xz
nixlib-17c70d3efdf63c7ca70286b2cdce72846f4ddce1.tar.zst
nixlib-17c70d3efdf63c7ca70286b2cdce72846f4ddce1.zip
Mass rubygems update
* Upgrade to rubygems-1.3.7
* Upgrade all gems
* Add rails3

svn path=/nixpkgs/trunk/; revision=23682
Diffstat (limited to 'pkgs/development/interpreters/ruby/libs.nix')
-rw-r--r--pkgs/development/interpreters/ruby/libs.nix720
1 files changed, 585 insertions, 135 deletions
diff --git a/pkgs/development/interpreters/ruby/libs.nix b/pkgs/development/interpreters/ruby/libs.nix
index 7f128c4322cf..e2a0d635d75e 100644
--- a/pkgs/development/interpreters/ruby/libs.nix
+++ b/pkgs/development/interpreters/ruby/libs.nix
@@ -35,6 +35,11 @@ let libs =
       sup = {
         buildInputs = [ pkgs.ncurses pkgs.xapianBindings libs.ncursesw ];
       };
+      sqlite3_ruby = { propagatedBuildInputs = [ pkgs.sqlite ]; };
+      rails = {
+        gemFlags = "--no-ri --no-rdoc";
+        propagatedBuildInputs = [ libs.mime_types libs.rake ];
+      };
       ncurses = { buildInputs = [ pkgs.ncurses ]; };
       ncursesw = { buildInputs = [ pkgs.ncurses ]; };
       nokogiri = {
@@ -42,38 +47,20 @@ let libs =
                     "--with-xslt-dir=${pkgs.libxslt}" ];
       };
 
-      gemcutter = {
-        propagatedBuildInputs = [ libs.rubygems_update ];
-      };
-
       ffi = {
         postUnpack = "onetuh";
-        propagatedBuildInputs = [ libs.rake  libs.rubygems_update ];
+        propagatedBuildInputs = [ libs.rake ];
         buildFlags=["--with-ffi-dir=${pkgs.libffi}"];
         NIX_POST_EXTRACT_FILES_HOOK = patchUsrBinEnv;
       };
 
-      rake = {
-        propagatedBuildInputs = [ libs.rubygems_update ];
-      };
- 
-      rubygems_update = {
-        # gems is using --env-shebang by default
-        # replace env lines by $out/../bin/env
-        postInstall = ''
-          cd $out/gems/*;
-          patch -p 1 < ${./gem_nix_command.patch}; echo
-          find $out -type f -name "*.rb" | xargs sed -i "s@/usr/bin/env@$(type -p env)@g"
-        '';
-      };
-
       xrefresh_server =
       let patch = fetchurl {
           url = "http://mawercer.de/~nix/xrefresh.diff.gz";
           sha256 = "1f7bnmn1pgkmkml0ms15m5lx880hq2sxy7vsddb3sbzm7n1yyicq";
         };
       in {
-        propagatedBuildInputs = [ libs.rb_inotify libs.rubygems_update ];
+        propagatedBuildInputs = [ libs.rb_inotify ];
 
         # monitor implementation for Linux
         postInstall = ''
@@ -100,7 +87,7 @@ let libs =
               ensureDir "$out/nix-support"
               export HOME=$TMP/home; mkdir "$HOME"
 
-              gem install --ignore-dependencies --env-shebang -E -i "$out" "$src" -- $buildFlags
+              gem install -V --ignore-dependencies -E -i "$out" "$src" $gemFlags -- $buildFlags
               rm -fr $out/cache # don't keep the .gem file here
 
               THIS_RUBY_LIB=$(echo $out/gems/*/lib)
@@ -110,7 +97,9 @@ let libs =
                 declare -A RUBYLIB_HASH # using bash4 hashs
                 declare -A GEM_PATH_HASH # using bash4 hashs
 
-                RUBYLIB_HASH["$THIS_RUBY_LIB"]=
+                if [ -n "$THIS_RUBY_LIB" ]; then
+                  RUBYLIB_HASH["$THIS_RUBY_LIB"]=
+                fi
                 for path in \''${!RUBYLIB_HASH[@]}; do
                   export RUBYLIB=\''${RUBYLIB}\''${RUBYLIB:+:}\$path
                 done
@@ -141,7 +130,6 @@ let libs =
                 chmod +x "$t"
               done
 
-
               runHook postInstall
             '';
 
@@ -155,22 +143,38 @@ let libs =
 
   # ================ START automatically generated code ================
          # WARNING: automatically generated CODE
-         # This section has been generated by gem nix sup chronic rubygems-update xrefresh-server rb-inotify jeweler ncursesw
+         # This section has been generated by gem nix sup chronic rubygems-update xrefresh-server rb-inotify jeweler ncursesw sqlite3-ruby rails haml bundler rake rails3-generators
          # the gem nix command has been added by a nix patch to ruby gems
       
-  json_pure_1_2_4 = rubyDerivation {
-     name = "ruby-json_pure-1.2.4"; # full_name
-     nameNoVersion = "json_pure";
+  rails3_generators_0_13_0 = rubyDerivation {
+     name = "ruby-rails3-generators-0.13.0"; # full_name
+     nameNoVersion = "rails3_generators";
      propagatedBuildInputs = [  ];
      src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/json_pure-1.2.4.gem";
-       sha256 = "1j3lwa20659qb5rvsnzxd6qlr0m56fyppgdhxc7v4phdsw3im4bp";
+       url = "http://gems.rubyforge.org/gems/rails3-generators-0.13.0.gem";
+       sha256 = "0g7qylily8dkllyy201kgyczm303dmg5r64zy49isccq63iq6k3c";
      };
      meta = {
-       homepage = "http://flori.github.com/json";
+       homepage = "http://github.com/indirect/rails3-generators";
        license = []; # one of ?
-       description = "This is a JSON implementation in pure Ruby[...]";
-       longDescription = "This is a JSON implementation in pure Ruby.";
+       description = "Rails 3 compatible generators for DataMapper, Factory-girl, Authlogic, Mongomapper, Mongoid, Shoulda, Formtastic and Simp"; # cut to 120 chars
+       longDescription = "Rails 3 compatible generators for DataMapper, Factory-girl, Authlogic, Mongomapper, Mongoid, Shoulda, Formtastic and SimpleForm";
+     };
+  };
+
+  builder_2_1_2 = rubyDerivation {
+     name = "ruby-builder-2.1.2"; # full_name
+     nameNoVersion = "builder";
+     propagatedBuildInputs = [  ];
+     src = fetchurl {
+       url = "http://gems.rubyforge.org/gems/builder-2.1.2.gem";
+       sha256 = "0hp5gsvp63mqqvi7dl95zwci916vj6l1slgz4crip1rijk3v2806";
+     };
+     meta = {
+       homepage = "http://onestepback.org";
+       license = []; # one of ?
+       description = "Builder provides a number of builder objects that make creating structured data simple to do[...]";
+       longDescription = "Builder provides a number of builder objects that make creating structured data simple to do.  Currently the following builder objects are supported:  * XML Markup * XML Events";
      };
   };
 
@@ -190,81 +194,165 @@ let libs =
      };
   };
 
-  git_1_2_5 = rubyDerivation {
-     name = "ruby-git-1.2.5"; # full_name
-     nameNoVersion = "git";
+  haml_3_0_18 = rubyDerivation {
+     name = "ruby-haml-3.0.18"; # full_name
+     nameNoVersion = "haml";
      propagatedBuildInputs = [  ];
      src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/git-1.2.5.gem";
-       sha256 = "19dy8sakv4x7pnvjddqjyd4j74cji14wikhz95iaqqrc9n4z43hk";
+       url = "http://gems.rubyforge.org/gems/haml-3.0.18.gem";
+       sha256 = "1bi951vk6fkxcc4dakwmcgbqf72zhr5bna9p8a4q4ajn3arvnq7y";
      };
      meta = {
-       homepage = "http://github.com/schacon/ruby-git";
+       homepage = "http://haml-lang.com/";
        license = []; # one of ?
-       description = "[...]";
-       longDescription = "";
+       description = "      Haml (HTML Abstraction Markup Language) is a layer on top of XHTML or XML       that's designed to express the stru"; # cut to 120 chars
+       longDescription = "      Haml (HTML Abstraction Markup Language) is a layer on top of XHTML or XML
+      that's designed to express the structure of XHTML or XML documents
+      in a non-repetitive, elegant, easy way,
+      using indentation rather than closing tags
+      and allowing Ruby to be embedded with ease.
+      It was originally envisioned as a plugin for Ruby on Rails,
+      but it can function as a stand-alone templating engine.
+";
      };
   };
 
-  json_1_2_4 = rubyDerivation {
-     name = "ruby-json-1.2.4"; # full_name
-     nameNoVersion = "json";
+  polyglot_0_3_1 = rubyDerivation {
+     name = "ruby-polyglot-0.3.1"; # full_name
+     nameNoVersion = "polyglot";
      propagatedBuildInputs = [  ];
      src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/json-1.2.4.gem";
-       sha256 = "1wdj91bl7xabgkwpz285b8086v5898x72h4lxl11n750652mrrax";
+       url = "http://gems.rubyforge.org/gems/polyglot-0.3.1.gem";
+       sha256 = "1shk5hqnz7hg14y2ms16mcwd2p546wq57pci5m26qg64m28gz4xg";
      };
      meta = {
-       homepage = "http://flori.github.com/json";
+       homepage = "http://polyglot.rubyforge.org";
        license = []; # one of ?
-       description = "This is a JSON implementation as a Ruby extension in C[...]";
-       longDescription = "This is a JSON implementation as a Ruby extension in C.";
+       description = "Allows custom language loaders for specified file extensions to be hooked into require[...]";
+       longDescription = "Allows custom language loaders for specified file extensions to be hooked into require";
      };
   };
 
-  rubygems_update_1_3_6 = rubyDerivation {
-     name = "ruby-rubygems-update-1.3.6"; # full_name
-     nameNoVersion = "rubygems_update";
+  arel_1_0_1 = rubyDerivation {
+     name = "ruby-arel-1.0.1"; # full_name
+     nameNoVersion = "arel";
      propagatedBuildInputs = [  ];
      src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/rubygems-update-1.3.6.gem";
-       sha256 = "1fqbm9hmy3skj9s98v8k0qghdmli7kv84wlm0m4grsrdn26xw14l";
+       url = "http://gems.rubyforge.org/gems/arel-1.0.1.gem";
+       sha256 = "117j8z0clq8001jqk4aajq3whxzn5fan4ivdsbjvcdba2wfhd7z0";
      };
      meta = {
-       homepage = "http://rubygems.org/";
+       homepage = "http://github.com/brynary/arel";
        license = []; # one of ?
-       description = "RubyGems is a package management framework for Ruby  This gem is an update for the RubyGems software. You must have an in"; # cut to 120 chars
-       longDescription = "RubyGems is a package management framework for Ruby.
-
-This gem is an update for the RubyGems software. You must have an
-installation of RubyGems before this update can be applied.
-
-See Gem for information on RubyGems (or `ri Gem`)
-
-To upgrade to the latest RubyGems, run:
-
-  $ gem update --system  # you might need to be an administrator or root
+       description = "Arel is a Relational Algebra for Ruby of SQL queries and it 2) adapts to various RDBMS systems. It is intended to be a fr"; # cut to 120 chars
+       longDescription = "Arel is a Relational Algebra for Ruby. It 1) simplifies the generation complex
+of SQL queries and it 2) adapts to various RDBMS systems. It is intended to be
+a framework framework; that is, you can build your own ORM with it, focusing on
+innovative object and collection modeling as opposed to database compatibility
+and query generation.";
+     };
+  };
 
-NOTE:  RubyGems 1.1 and 1.2 have problems upgrading when there is no
-rubygems-update installed.  You will need to use the following instructions
-if you see \"Nothing to update\".
+  abstract_1_0_0 = rubyDerivation {
+     name = "ruby-abstract-1.0.0"; # full_name
+     nameNoVersion = "abstract";
+     propagatedBuildInputs = [  ];
+     src = fetchurl {
+       url = "http://gems.rubyforge.org/gems/abstract-1.0.0.gem";
+       sha256 = "1gizb9kzwf3c6xip7fwa818b98c72x4jlhbm808s5pwdjbqw3h9k";
+     };
+     meta = {
+       homepage = "http://rubyforge.org/projects/abstract";
+       license = []; # one of ?
+       description = "'abstract[...]";
+       longDescription = "'abstract.rb' is a library which enable you to define abstract method in Ruby.";
+     };
+  };
 
-If you have an older version of RubyGems installed, then you can still
-do it in two steps:
+  sqlite3_ruby_1_3_1 = rubyDerivation {
+     name = "ruby-sqlite3-ruby-1.3.1"; # full_name
+     nameNoVersion = "sqlite3_ruby";
+     propagatedBuildInputs = [  ];
+     src = fetchurl {
+       url = "http://gems.rubyforge.org/gems/sqlite3-ruby-1.3.1.gem";
+       sha256 = "17ci8jgnzda091my53x0qnapy673fx55fd1agf5xdkylzwb00v9q";
+     };
+     meta = {
+       homepage = "http://github.com/luislavena/sqlite3-ruby";
+       license = []; # one of ?
+       description = "This module allows Ruby programs to interface with the SQLite3 database engine (http://www SQLite engine installed in ord"; # cut to 120 chars
+       longDescription = "This module allows Ruby programs to interface with the SQLite3
+database engine (http://www.sqlite.org).  You must have the
+SQLite engine installed in order to build this module.
 
-  $ gem install rubygems-update  # again, might need to be admin/root
-  $ update_rubygems              # ... here too
+Note that this module is NOT compatible with SQLite 2.x.";
+     };
+  };
 
-If you don't have any RubyGems install, there is still the pre-gem approach to
-getting software, doing it manually:
+  git_1_2_5 = rubyDerivation {
+     name = "ruby-git-1.2.5"; # full_name
+     nameNoVersion = "git";
+     propagatedBuildInputs = [  ];
+     src = fetchurl {
+       url = "http://gems.rubyforge.org/gems/git-1.2.5.gem";
+       sha256 = "19dy8sakv4x7pnvjddqjyd4j74cji14wikhz95iaqqrc9n4z43hk";
+     };
+     meta = {
+       homepage = "http://github.com/schacon/ruby-git";
+       license = []; # one of ?
+       description = "[...]";
+       longDescription = "";
+     };
+  };
 
-1. Download from: http://rubyforge.org/frs/?group_id=126
-2. Unpack into a directory and cd there
-3. Install with: ruby setup.rb  # you may need admin/root privilege
+  rails_3_0_0 = rubyDerivation {
+     name = "ruby-rails-3.0.0"; # full_name
+     nameNoVersion = "rails";
+     propagatedBuildInputs = [ activesupport_3_0_0 actionpack_3_0_0 activerecord_3_0_0 activeresource_3_0_0 actionmailer_3_0_0 railties_3_0_0 bundler_1_0_0 ];
+     src = fetchurl {
+       url = "http://gems.rubyforge.org/gems/rails-3.0.0.gem";
+       sha256 = "1zjyijz5814vv1l5j4si66fcvf17jkfh6336mr4xh9vx0wa2r6js";
+     };
+     meta = {
+       homepage = "http://www.rubyonrails.org";
+       license = []; # one of ?
+       description = "Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity[...]";
+       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.";
+     };
+  };
 
-For more details and other options, see:
+  treetop_1_4_8 = rubyDerivation {
+     name = "ruby-treetop-1.4.8"; # full_name
+     nameNoVersion = "treetop";
+     propagatedBuildInputs = [ polyglot_0_3_1 ];
+     src = fetchurl {
+       url = "http://gems.rubyforge.org/gems/treetop-1.4.8.gem";
+       sha256 = "10cg8dp4ljm6gfsdx9x20kk5c2vrmw5y25dfsy7s0pxn60f3s6qg";
+     };
+     meta = {
+       homepage = "http://functionalform.blogspot.com";
+       license = []; # one of ?
+       description = "[...]";
+       longDescription = "";
+     };
+  };
 
-  ruby setup.rb --help";
+  rack_test_0_5_4 = rubyDerivation {
+     name = "ruby-rack-test-0.5.4"; # full_name
+     nameNoVersion = "rack_test";
+     propagatedBuildInputs = [  ];
+     src = fetchurl {
+       url = "http://gems.rubyforge.org/gems/rack-test-0.5.4.gem";
+       sha256 = "0afkvjq45v61j2y3k9dfi4r6fnj26b4ky1ggn7sdk5asq7v6dmzx";
+     };
+     meta = {
+       homepage = "http://github.com/brynary/rack-test";
+       license = []; # one of ?
+       description = "Rack::Test is a small, simple testing API for Rack apps own or as a reusable starting point for Web frameworks and testin"; # cut to 120 chars
+       longDescription = "Rack::Test is a small, simple testing API for Rack apps. It can be used on its
+own or as a reusable starting point for Web frameworks and testing libraries
+to build on. Most of its initial functionality is an extraction of Merb 1.0's
+request helpers feature.";
      };
   };
 
@@ -316,6 +404,38 @@ For more details and other options, see:
      };
   };
 
+  i18n_0_4_1 = rubyDerivation {
+     name = "ruby-i18n-0.4.1"; # full_name
+     nameNoVersion = "i18n";
+     propagatedBuildInputs = [  ];
+     src = fetchurl {
+       url = "http://gems.rubyforge.org/gems/i18n-0.4.1.gem";
+       sha256 = "0haw8102610j2vydr52y64w2dqav6amda0ddwy6vp09rr6prazkq";
+     };
+     meta = {
+       homepage = "http://github.com/svenfuchs/i18n";
+       license = []; # one of ?
+       description = "New wave Internationalization support for Ruby[...]";
+       longDescription = "New wave Internationalization support for Ruby.";
+     };
+  };
+
+  ncursesw_1_2_4_1 = rubyDerivation {
+     name = "ruby-ncursesw-1.2.4.1"; # full_name
+     nameNoVersion = "ncursesw";
+     propagatedBuildInputs = [  ];
+     src = fetchurl {
+       url = "http://gems.rubyforge.org/gems/ncursesw-1.2.4.1.gem";
+       sha256 = "0cn13h14pk8yds8aklpdcpzl0z6rqifpmaz4lw29g10lgwvfv409";
+     };
+     meta = {
+       homepage = "http://ncurses-ruby.berlios.de/";
+       license = []; # one of ?
+       description = "Hacked up version of ncurses gem that supports wide characters and ruby1[...]";
+       longDescription = "Hacked up version of ncurses gem that supports wide characters and ruby1.9.1. Original ncurses gem by t-peters@users.berlios.de.";
+     };
+  };
+
   ffi_0_6_3 = rubyDerivation {
      name = "ruby-ffi-0.6.3"; # full_name
      nameNoVersion = "ffi";
@@ -352,6 +472,52 @@ using Ruby-FFI here[http://wiki.github.com/ffi/ffi/why-use-ffi].";
      };
   };
 
+  rubygems_update_1_3_7 = rubyDerivation {
+     name = "ruby-rubygems-update-1.3.7"; # full_name
+     nameNoVersion = "rubygems_update";
+     propagatedBuildInputs = [  ];
+     src = fetchurl {
+       url = "http://gems.rubyforge.org/gems/rubygems-update-1.3.7.gem";
+       sha256 = "0378s1nvxmmwrl8l7yx9xglm5ks1lsdjr0ms3wx127q5hm07szdg";
+     };
+     meta = {
+       homepage = "http://rubygems.org/";
+       license = []; # one of ?
+       description = "RubyGems is a package management framework for Ruby  This gem is an update for the RubyGems software. You must have an in"; # cut to 120 chars
+       longDescription = "RubyGems is a package management framework for Ruby.
+
+This gem is an update for the RubyGems software. You must have an
+installation of RubyGems before this update can be applied.
+
+See Gem for information on RubyGems (or `ri Gem`)
+
+To upgrade to the latest RubyGems, run:
+
+  $ gem update --system  # you might need to be an administrator or root
+
+NOTE:  RubyGems 1.1 and 1.2 have problems upgrading when there is no
+rubygems-update installed.  You will need to use the following instructions
+if you see \"Nothing to update\".
+
+If you have an older version of RubyGems installed, then you can still
+do it in two steps:
+
+  $ gem install rubygems-update  # again, might need to be admin/root
+  $ update_rubygems              # ... here too
+
+If you don't have any RubyGems install, there is still the pre-gem approach to
+getting software, doing it manually:
+
+1. Download from: http://rubyforge.org/frs/?group_id=126
+2. Unpack into a directory and cd there
+3. Install with: ruby setup.rb  # you may need admin/root privilege
+
+For more details and other options, see:
+
+  ruby setup.rb --help";
+     };
+  };
+
   trollop_1_16_2 = rubyDerivation {
      name = "ruby-trollop-1.16.2"; # full_name
      nameNoVersion = "trollop";
@@ -372,6 +538,54 @@ specify.";
      };
   };
 
+  railties_3_0_0 = rubyDerivation {
+     name = "ruby-railties-3.0.0"; # full_name
+     nameNoVersion = "railties";
+     propagatedBuildInputs = [  thor_0_14_0   ];
+     src = fetchurl {
+       url = "http://gems.rubyforge.org/gems/railties-3.0.0.gem";
+       sha256 = "0zj216hvs7yjlhjk0066d5rlm1csf2rarxx6c9bpxrmabnw1rb93";
+     };
+     meta = {
+       homepage = "http://www.rubyonrails.org";
+       license = []; # one of ?
+       description = "Rails internals: application bootup, plugins, generators, and rake tasks[...]";
+       longDescription = "Rails internals: application bootup, plugins, generators, and rake tasks.";
+     };
+  };
+
+  rack_mount_0_6_13 = rubyDerivation {
+     name = "ruby-rack-mount-0.6.13"; # full_name
+     nameNoVersion = "rack_mount";
+     propagatedBuildInputs = [  ];
+     src = fetchurl {
+       url = "http://gems.rubyforge.org/gems/rack-mount-0.6.13.gem";
+       sha256 = "133dwla6hq6a75m0la7cm26d5hvlsi02vm4lvph73d6kqazry0y6";
+     };
+     meta = {
+       homepage = "http://github.com/josh/rack-mount";
+       license = []; # one of ?
+       description = "Stackable dynamic tree based Rack router[...]";
+       longDescription = "Stackable dynamic tree based Rack router";
+     };
+  };
+
+  activemodel_3_0_0 = rubyDerivation {
+     name = "ruby-activemodel-3.0.0"; # full_name
+     nameNoVersion = "activemodel";
+     propagatedBuildInputs = [  builder_2_1_2 i18n_0_4_1 ];
+     src = fetchurl {
+       url = "http://gems.rubyforge.org/gems/activemodel-3.0.0.gem";
+       sha256 = "1dp18ifh658pgdkq8fd32yw3hi99wk5in2c7pb3mjyabg4zg5mv6";
+     };
+     meta = {
+       homepage = "http://www.rubyonrails.org";
+       license = []; # one of ?
+       description = "A toolkit for building modeling frameworks like Active Record and Active Resource[...]";
+       longDescription = "A toolkit for building modeling frameworks like Active Record and Active Resource. Rich support for attributes, callbacks, validations, observers, serialization, internationalization, and testing.";
+     };
+  };
+
   gettext_2_1_0 = rubyDerivation {
      name = "ruby-gettext-2.1.0"; # full_name
      nameNoVersion = "gettext";
@@ -407,10 +621,102 @@ specify.";
      };
   };
 
+  thor_0_14_0 = rubyDerivation {
+     name = "ruby-thor-0.14.0"; # full_name
+     nameNoVersion = "thor";
+     propagatedBuildInputs = [  ];
+     src = fetchurl {
+       url = "http://gems.rubyforge.org/gems/thor-0.14.0.gem";
+       sha256 = "115zxz418hmmsjk1sc2f19xzd74ap066qb7p1lh539q6zkalzrj1";
+     };
+     meta = {
+       homepage = "http://yehudakatz.com";
+       license = []; # one of ?
+       description = "A scripting framework that replaces rake, sake and rubigen[...]";
+       longDescription = "A scripting framework that replaces rake, sake and rubigen";
+     };
+  };
+
+  activerecord_3_0_0 = rubyDerivation {
+     name = "ruby-activerecord-3.0.0"; # full_name
+     nameNoVersion = "activerecord";
+     propagatedBuildInputs = [   arel_1_0_1  ];
+     src = fetchurl {
+       url = "http://gems.rubyforge.org/gems/activerecord-3.0.0.gem";
+       sha256 = "1l2662myqbay37xpssna149rgqjq0fq670f1hpagmh1nr0fziwlr";
+     };
+     meta = {
+       homepage = "http://www.rubyonrails.org";
+       license = []; # one of ?
+       description = "Databases on Rails[...]";
+       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.";
+     };
+  };
+
+  actionpack_3_0_0 = rubyDerivation {
+     name = "ruby-actionpack-3.0.0"; # full_name
+     nameNoVersion = "actionpack";
+     propagatedBuildInputs = [  activemodel_3_0_0   rack_1_2_1 rack_test_0_5_4 rack_mount_0_6_13 tzinfo_0_3_23 erubis_2_6_6 ];
+     src = fetchurl {
+       url = "http://gems.rubyforge.org/gems/actionpack-3.0.0.gem";
+       sha256 = "1qjmx3alkinnfi9mdvzz3cfsfj20kf6iqvhwia167l45wqd14s7z";
+     };
+     meta = {
+       homepage = "http://www.rubyonrails.org";
+       license = []; # one of ?
+       description = "Web apps on Rails[...]";
+       longDescription = "Web apps on Rails. Simple, battle-tested conventions for building and testing MVC web applications. Works with any Rack-compatible server.";
+     };
+  };
+
+  erubis_2_6_6 = rubyDerivation {
+     name = "ruby-erubis-2.6.6"; # full_name
+     nameNoVersion = "erubis";
+     propagatedBuildInputs = [ abstract_1_0_0 ];
+     src = fetchurl {
+       url = "http://gems.rubyforge.org/gems/erubis-2.6.6.gem";
+       sha256 = "19yd2a4zb371b8vi11hv4p4s4s9yzp6924frc0ar9hv5kbw3nxvm";
+     };
+     meta = {
+       homepage = "http://www.kuwata-lab.com/erubis/";
+       license = []; # one of ?
+       description = "  Erubis is an implementation of eRuby and has the following features:    * Very fast, almost three times faster than ERB"; # cut to 120 chars
+       longDescription = "  Erubis is an implementation of eRuby and has the following features:
+
+  * Very fast, almost three times faster than ERB and about 10% faster than eruby.
+  * Multi-language support (Ruby/PHP/C/Java/Scheme/Perl/Javascript)
+  * Auto escaping support
+  * Auto trimming spaces around '&lt;% %&gt;'
+  * Embedded pattern changeable (default '&lt;% %&gt;')
+  * Enable to handle Processing Instructions (PI) as embedded pattern (ex. '&lt;?rb ... ?&gt;')
+  * Context object available and easy to combine eRuby template with YAML datafile
+  * Print statement available
+  * Easy to extend and customize in subclass
+  * Ruby on Rails support
+";
+     };
+  };
+
+  json_pure_1_4_6 = rubyDerivation {
+     name = "ruby-json_pure-1.4.6"; # full_name
+     nameNoVersion = "json_pure";
+     propagatedBuildInputs = [  ];
+     src = fetchurl {
+       url = "http://gems.rubyforge.org/gems/json_pure-1.4.6.gem";
+       sha256 = "0cd6a97nk8m7yqm0lxbgs63yxlnk4mhbmpgjjfzdw01n1gm95kfv";
+     };
+     meta = {
+       homepage = "http://flori.github.com/json";
+       license = []; # one of ?
+       description = "This is a JSON implementation in pure Ruby[...]";
+       longDescription = "This is a JSON implementation in pure Ruby.";
+     };
+  };
+
   xrefresh_server_0_3_0 = rubyDerivation {
      name = "ruby-xrefresh-server-0.3.0"; # full_name
      nameNoVersion = "xrefresh_server";
-     propagatedBuildInputs = [ json_1_2_4 term_ansicolor_1_0_5 ];
+     propagatedBuildInputs = [ json_1_4_6 term_ansicolor_1_0_5 ];
      src = fetchurl {
        url = "http://gems.rubyforge.org/gems/xrefresh-server-0.3.0.gem";
        sha256 = "1k80hadnmaxi8q8fw879xaj0ragy4bmqjqm7zjkv9bq8njb3i0c5";
@@ -423,42 +729,65 @@ specify.";
      };
   };
 
-  net_ssh_2_0_21 = rubyDerivation {
-     name = "ruby-net-ssh-2.0.21"; # full_name
-     nameNoVersion = "net_ssh";
+  bundler_1_0_0 = rubyDerivation {
+     name = "ruby-bundler-1.0.0"; # full_name
+     nameNoVersion = "bundler";
      propagatedBuildInputs = [  ];
      src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/net-ssh-2.0.21.gem";
-       sha256 = "0wjfv68gn297vhb0r9qhlij9p7qnkn4afav0nylr6avrsd8mgdc4";
+       url = "http://gems.rubyforge.org/gems/bundler-1.0.0.gem";
+       sha256 = "0x1gsm8gqfa3czndm3v0b8v5sh08wjz1cr7xi383ipmnziimaq30";
      };
      meta = {
-       homepage = "http://github.com/net-ssh/net-ssh";
+       homepage = "http://gembundler.com";
        license = []; # one of ?
-       description = "Net::SSH: a pure-Ruby implementation of the SSH2 client protocol[...]";
-       longDescription = "Net::SSH: a pure-Ruby implementation of the SSH2 client protocol.";
+       description = "Bundler manages an application's dependencies through its entire life, across many machines, systematically and repeatabl"; # cut to 120 chars
+       longDescription = "Bundler manages an application's dependencies through its entire life, across many machines, systematically and repeatably";
      };
   };
 
-  gemcutter_0_5_0 = rubyDerivation {
-     name = "ruby-gemcutter-0.5.0"; # full_name
-     nameNoVersion = "gemcutter";
+  actionmailer_3_0_0 = rubyDerivation {
+     name = "ruby-actionmailer-3.0.0"; # full_name
+     nameNoVersion = "actionmailer";
+     propagatedBuildInputs = [  mail_2_2_5 ];
+     src = fetchurl {
+       url = "http://gems.rubyforge.org/gems/actionmailer-3.0.0.gem";
+       sha256 = "15a7ikp7b76mlnrd78cprm6p7qj2vf1zj6x8an0zwnpxy95fqn3q";
+     };
+     meta = {
+       homepage = "http://www.rubyonrails.org";
+       license = []; # one of ?
+       description = "Email on Rails[...]";
+       longDescription = "Email on Rails. Compose, deliver, receive, and test emails using the familiar controller/view pattern. First-class support for multipart email and attachments.";
+     };
+  };
+
+  rack_1_2_1 = rubyDerivation {
+     name = "ruby-rack-1.2.1"; # full_name
+     nameNoVersion = "rack";
      propagatedBuildInputs = [  ];
      src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/gemcutter-0.5.0.gem";
-       sha256 = "16pf64d0mj320llars6x1zl0vhv2x8vh7pwgqj0k48pyh5426iim";
+       url = "http://gems.rubyforge.org/gems/rack-1.2.1.gem";
+       sha256 = "0bwsfiprvnwxgwwbr2cwv3aca5d707bfcm2zff4d0nsnbfgll0bj";
      };
      meta = {
-       homepage = "http://rubygems.org";
+       homepage = "http://rack.rubyforge.org";
        license = []; # one of ?
-       description = "Adds several commands to RubyGems for managing gems and more on RubyGems[...]";
-       longDescription = "Adds several commands to RubyGems for managing gems and more on RubyGems.org.";
+       description = "Rack provides minimal, modular and adaptable interface for developing web applications in Ruby the simplest way possible,"; # cut to 120 chars
+       longDescription = "Rack provides minimal, modular and adaptable interface for developing
+web applications in Ruby.  By wrapping HTTP requests and responses in
+the simplest way possible, it unifies and distills the API for web
+servers, web frameworks, and software in between (the so-called
+middleware) into a single method call.
+
+Also see http://rack.rubyforge.org.
+";
      };
   };
 
   rubyforge_2_0_4 = rubyDerivation {
      name = "ruby-rubyforge-2.0.4"; # full_name
      nameNoVersion = "rubyforge";
-     propagatedBuildInputs = [ json_pure_1_2_4 ];
+     propagatedBuildInputs = [ json_pure_1_4_6 ];
      src = fetchurl {
        url = "http://gems.rubyforge.org/gems/rubyforge-2.0.4.gem";
        sha256 = "1wdaa4nzy39yzy848fa1rybi72qlyf9vhi1ra9wpx9rpi810fwh1";
@@ -478,19 +807,19 @@ specify.";
      };
   };
 
-  rb_inotify_0_7_1 = rubyDerivation {
-     name = "ruby-rb-inotify-0.7.1"; # full_name
-     nameNoVersion = "rb_inotify";
-     propagatedBuildInputs = [ ffi_0_6_3 ];
+  json_1_4_6 = rubyDerivation {
+     name = "ruby-json-1.4.6"; # full_name
+     nameNoVersion = "json";
+     propagatedBuildInputs = [  ];
      src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/rb-inotify-0.7.1.gem";
-       sha256 = "00q2zl9361ji5z7blgipphsjvnysyw016vbb0vh6f5i5v6fz5bzh";
+       url = "http://gems.rubyforge.org/gems/json-1.4.6.gem";
+       sha256 = "1ibyw6hiclircn2f9f4kcznff4rdhcfsjxdzb4z9d9bd3ha1l96k";
      };
      meta = {
-       homepage = "http://github.com/nex3/rb-notify";
+       homepage = "http://flori.github.com/json";
        license = []; # one of ?
-       description = "A Ruby wrapper for Linux's inotify, using FFI[...]";
-       longDescription = "A Ruby wrapper for Linux's inotify, using FFI";
+       description = "This is a JSON implementation as a Ruby extension in C[...]";
+       longDescription = "This is a JSON implementation as a Ruby extension in C.";
      };
   };
 
@@ -527,13 +856,45 @@ specify.";
      };
   };
 
-  highline_1_5_2 = rubyDerivation {
-     name = "ruby-highline-1.5.2"; # full_name
+  rb_inotify_0_8_1 = rubyDerivation {
+     name = "ruby-rb-inotify-0.8.1"; # full_name
+     nameNoVersion = "rb_inotify";
+     propagatedBuildInputs = [ ffi_0_6_3 ];
+     src = fetchurl {
+       url = "http://gems.rubyforge.org/gems/rb-inotify-0.8.1.gem";
+       sha256 = "1z67kvhb8g8cgvlcfsh2gqhzqjijg8x02nafmifz9n9md5nvscar";
+     };
+     meta = {
+       homepage = "http://github.com/nex3/rb-notify";
+       license = []; # one of ?
+       description = "A Ruby wrapper for Linux's inotify, using FFI[...]";
+       longDescription = "A Ruby wrapper for Linux's inotify, using FFI";
+     };
+  };
+
+  net_ssh_2_0_23 = rubyDerivation {
+     name = "ruby-net-ssh-2.0.23"; # full_name
+     nameNoVersion = "net_ssh";
+     propagatedBuildInputs = [  ];
+     src = fetchurl {
+       url = "http://gems.rubyforge.org/gems/net-ssh-2.0.23.gem";
+       sha256 = "1fllf6mgwc213m5mn266qwhl65zc84wl8rq9m3lvbggw9mh5ynrr";
+     };
+     meta = {
+       homepage = "http://github.com/net-ssh/net-ssh";
+       license = []; # one of ?
+       description = "Net::SSH: a pure-Ruby implementation of the SSH2 client protocol[...]";
+       longDescription = "Net::SSH: a pure-Ruby implementation of the SSH2 client protocol.";
+     };
+  };
+
+  highline_1_6_1 = rubyDerivation {
+     name = "ruby-highline-1.6.1"; # full_name
      nameNoVersion = "highline";
      propagatedBuildInputs = [  ];
      src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/highline-1.5.2.gem";
-       sha256 = "0l25zris20drrwkhxx9hplq7g353xh960y5i19fdb7g84jl4bp19";
+       url = "http://gems.rubyforge.org/gems/highline-1.6.1.gem";
+       sha256 = "1dxlw2jcr4k1vv3sdaqi37kkh9v6cn3dq32ksz6k4yalcv6fhk7d";
      };
      meta = {
        homepage = "http://highline.rubyforge.org";
@@ -547,10 +908,26 @@ minutes of work.
      };
   };
 
+  activeresource_3_0_0 = rubyDerivation {
+     name = "ruby-activeresource-3.0.0"; # full_name
+     nameNoVersion = "activeresource";
+     propagatedBuildInputs = [   ];
+     src = fetchurl {
+       url = "http://gems.rubyforge.org/gems/activeresource-3.0.0.gem";
+       sha256 = "0c5dflwbhl397kifz9i0g63p72xc3jyhk7q8sswp95ijg5smyx2y";
+     };
+     meta = {
+       homepage = "http://www.rubyonrails.org";
+       license = []; # one of ?
+       description = "REST on Rails[...]";
+       longDescription = "REST on Rails. Wrap your RESTful web app with Ruby classes and work with them like Active Record models.";
+     };
+  };
+
   jeweler_1_4_0 = rubyDerivation {
      name = "ruby-jeweler-1.4.0"; # full_name
      nameNoVersion = "jeweler";
-     propagatedBuildInputs = [ git_1_2_5 rubyforge_2_0_4 gemcutter_0_5_0 ];
+     propagatedBuildInputs = [ git_1_2_5 rubyforge_2_0_4 gemcutter_0_6_1 ];
      src = fetchurl {
        url = "http://gems.rubyforge.org/gems/jeweler-1.4.0.gem";
        sha256 = "0hsz38wc37k1zzmy1jjvsqj6am14n410bbxk1dhq55cgapnwm3kb";
@@ -563,10 +940,42 @@ minutes of work.
      };
   };
 
+  gemcutter_0_6_1 = rubyDerivation {
+     name = "ruby-gemcutter-0.6.1"; # full_name
+     nameNoVersion = "gemcutter";
+     propagatedBuildInputs = [  ];
+     src = fetchurl {
+       url = "http://gems.rubyforge.org/gems/gemcutter-0.6.1.gem";
+       sha256 = "01ydbsz4ys6rkaghiibf7y7sbicnc5bppb2ay3agq1rqjvgprcr0";
+     };
+     meta = {
+       homepage = "http://rubygems.org";
+       license = []; # one of ?
+       description = "Adds several commands to RubyGems for managing gems and more on RubyGems[...]";
+       longDescription = "Adds several commands to RubyGems for managing gems and more on RubyGems.org.";
+     };
+  };
+
+  mail_2_2_5 = rubyDerivation {
+     name = "ruby-mail-2.2.5"; # full_name
+     nameNoVersion = "mail";
+     propagatedBuildInputs = [   treetop_1_4_8 ];
+     src = fetchurl {
+       url = "http://gems.rubyforge.org/gems/mail-2.2.5.gem";
+       sha256 = "0f6qwhwkc9hdqq5qkwzwjsqlwpvy7rcbra7pbl87l6q0mfaqiciv";
+     };
+     meta = {
+       homepage = "http://github.com/mikel/mail";
+       license = []; # one of ?
+       description = "A really Ruby Mail handler[...]";
+       longDescription = "A really Ruby Mail handler.";
+     };
+  };
+
   sup_0_11 = rubyDerivation {
      name = "ruby-sup-0.11"; # full_name
      nameNoVersion = "sup";
-     propagatedBuildInputs = [ xapian_full_1_1_3_4 ncurses_0_9_1 rmail_1_0_0 highline_1_5_2 net_ssh_2_0_21 trollop_1_16_2 lockfile_1_4_3 mime_types_1_16 gettext_2_1_0 ];
+     propagatedBuildInputs = [ xapian_full_1_1_3_4 ncurses_0_9_1 rmail_1_0_0 highline_1_6_1 net_ssh_2_0_23 trollop_1_16_2 lockfile_1_4_3 mime_types_1_16 gettext_2_1_0 ];
      src = fetchurl {
        url = "http://gems.rubyforge.org/gems/sup-0.11.gem";
        sha256 = "0dijz1vl1kk4axfnry71bnl2585y1hw0n6sizg9aag7r9m13194q";
@@ -579,63 +988,104 @@ minutes of work.
      };
   };
 
-  rmail_1_0_0 = rubyDerivation {
-     name = "ruby-rmail-1.0.0"; # full_name
-     nameNoVersion = "rmail";
+  tzinfo_0_3_23 = rubyDerivation {
+     name = "ruby-tzinfo-0.3.23"; # full_name
+     nameNoVersion = "tzinfo";
      propagatedBuildInputs = [  ];
      src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/rmail-1.0.0.gem";
-       sha256 = "0nsg7yda1gdwa96j4hlrp2s0m06vrhcc4zy5mbq7gxmlmwf9yixp";
+       url = "http://gems.rubyforge.org/gems/tzinfo-0.3.23.gem";
+       sha256 = "020qk9yfc4s5mi624isn9r7hbncgk3l3ri783y7mn4ac6y4jkpgd";
      };
      meta = {
-       homepage = "http://www.rfc20.org/rubymail";
+       homepage = "http://tzinfo.rubyforge.org/";
        license = []; # one of ?
-       description = "RMail is a lightweight mail library containing various utility classes and modules that allow ruby scripts to parse, modi"; # cut to 120 chars
-       longDescription = "RMail is a lightweight mail library containing various utility classes and modules that allow ruby scripts to parse, modify, and generate MIME mail messages.";
+       description = "TZInfo is a Ruby library that uses the standard tz (Olson) database to provide daylight savings aware transformations bet"; # cut to 120 chars
+       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.";
      };
   };
 
-  ncursesw_1_2_4_1 = rubyDerivation {
-     name = "ruby-ncursesw-1.2.4.1"; # full_name
-     nameNoVersion = "ncursesw";
+  activesupport_3_0_0 = rubyDerivation {
+     name = "ruby-activesupport-3.0.0"; # full_name
+     nameNoVersion = "activesupport";
      propagatedBuildInputs = [  ];
      src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/ncursesw-1.2.4.1.gem";
-       sha256 = "0cn13h14pk8yds8aklpdcpzl0z6rqifpmaz4lw29g10lgwvfv409";
+       url = "http://gems.rubyforge.org/gems/activesupport-3.0.0.gem";
+       sha256 = "0bad6iqqajlzy61ky4his0d4cfzq4f77qihyn6yygq9pn1ma6mvx";
      };
      meta = {
-       homepage = "http://ncurses-ruby.berlios.de/";
+       homepage = "http://www.rubyonrails.org";
        license = []; # one of ?
-       description = "Hacked up version of ncurses gem that supports wide characters and ruby1[...]";
-       longDescription = "Hacked up version of ncurses gem that supports wide characters and ruby1.9.1. Original ncurses gem by t-peters@users.berlios.de.";
+       description = "A toolkit of support libraries and Ruby core extensions extracted from the Rails framework[...]";
+       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.";
+     };
+  };
+
+  rmail_1_0_0 = rubyDerivation {
+     name = "ruby-rmail-1.0.0"; # full_name
+     nameNoVersion = "rmail";
+     propagatedBuildInputs = [  ];
+     src = fetchurl {
+       url = "http://gems.rubyforge.org/gems/rmail-1.0.0.gem";
+       sha256 = "0nsg7yda1gdwa96j4hlrp2s0m06vrhcc4zy5mbq7gxmlmwf9yixp";
+     };
+     meta = {
+       homepage = "http://www.rfc20.org/rubymail";
+       license = []; # one of ?
+       description = "RMail is a lightweight mail library containing various utility classes and modules that allow ruby scripts to parse, modi"; # cut to 120 chars
+       longDescription = "RMail is a lightweight mail library containing various utility classes and modules that allow ruby scripts to parse, modify, and generate MIME mail messages.";
      };
   };
 
 # aliases
 rmail=rmail_1_0_0;
+tzinfo=tzinfo_0_3_23;
+activeresource=activeresource_3_0_0;
 term_ansicolor=term_ansicolor_1_0_5;
-rb_inotify=rb_inotify_0_7_1;
-highline=highline_1_5_2;
-rubygems_update=rubygems_update_1_3_6;
+rb_inotify=rb_inotify_0_8_1;
+activerecord=activerecord_3_0_0;
+rails=rails_3_0_0;
+highline=highline_1_6_1;
+rubygems_update=rubygems_update_1_3_7;
+sqlite3_ruby=sqlite3_ruby_1_3_1;
+polyglot=polyglot_0_3_1;
+haml=haml_3_0_18;
 rake=rake_0_8_7;
 sup=sup_0_11;
+thor=thor_0_14_0;
+railties=railties_3_0_0;
+treetop=treetop_1_4_8;
 mime_types=mime_types_1_16;
 rubyforge=rubyforge_2_0_4;
-gemcutter=gemcutter_0_5_0;
-net_ssh=net_ssh_2_0_21;
+abstract=abstract_1_0_0;
+mail=mail_2_2_5;
+gemcutter=gemcutter_0_6_1;
+rack=rack_1_2_1;
+activemodel=activemodel_3_0_0;
+rack_mount=rack_mount_0_6_13;
+rails3_generators=rails3_generators_0_13_0;
+net_ssh=net_ssh_2_0_23;
+json=json_1_4_6;
 xrefresh_server=xrefresh_server_0_3_0;
+erubis=erubis_2_6_6;
 xapian_full=xapian_full_1_1_3_4;
 ncurses=ncurses_0_9_1;
-json=json_1_2_4;
+arel=arel_1_0_1;
 jeweler=jeweler_1_4_0;
+bundler=bundler_1_0_0;
 gettext=gettext_2_1_0;
 trollop=trollop_1_16_2;
 git=git_1_2_5;
 locale=locale_2_0_5;
+actionmailer=actionmailer_3_0_0;
+json_pure=json_pure_1_4_6;
+actionpack=actionpack_3_0_0;
+i18n=i18n_0_4_1;
 chronic=chronic_0_2_3;
-json_pure=json_pure_1_2_4;
+rack_test=rack_test_0_5_4;
+activesupport=activesupport_3_0_0;
 lockfile=lockfile_1_4_3;
 ffi=ffi_0_6_3;
+builder=builder_2_1_2;
 ncursesw=ncursesw_1_2_4_1;
   # ================ END automatically generated code ================
   }; in libs