From: Eric Hodel Date: 2007-01-11T01:16:49+09:00 Subject: Re: Tattle - The Ruby Census On Jan 10, 2007, at 07:57, James Edward Gray II wrote: > On Jan 10, 2007, at 9:51 AM, Eric Hodel wrote: > >> The problem is in RubyGems not allowing you the ability to >> distinguish between run-time dependencies and build-time >> dependencies. > > This is an interesting idea. Can you explain how this would help? > What would RubyGems do with the two different kinds of > dependencies? How would it end up that we wouldn't just have the > combined list installed on all systems? For example, FreeBSD's ports has these two types of dependencies, but uses them slightly differently than RubyGems would need. FreeBSD gives you the option of installing a pre-built package or building from source. An image manipulation tool might require libpng to run, but to be built from source it would also need libtool and autoconf. If you install the package only libpng is installed on your system. If you install from source then libpng, libtool and autoconf are installed. You can remove autoconf and libtool at your leisure and nobody cares. For RubyGems you might have run-time dependencies (rails needs rake, activerecord, actionpack, ...) and build-time (or developer) dependencies (FasterCSV needs rake if you want to run the tests or add features or fix bugs). By default RubyGems would not install build-time dependencies. -- Eric Hodel - drbrain@segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE!