[clc-devel] ports for ruby gems
Hi, Ruby has its own package management system called 'gems'. It supports dependency checking, and simplifies packaging for developers (see [1] for more information). Certain packages are mainly distributed as gems, including the much hyped "Ruby on Rails". The positive thing about gems is that they support DESTDIR installations. This allows to install a gem directly into a crux package. Since the steps for this are always the same, it's possible to have a generic build() function which works for all gems (at least all I tested). I saw this on gentoo BTW, so I didn't invent anything here. I now built a rubygems port which includes a template Pkgfile with a generic build function (you can see it at [2]). Gems ports can source this, and are therefore very easy to create. A typical Pkgfile could look like this: # header name=activerecord version=1.11.1 release=1 source=(http://rubyforge.org/frs/download.php/5163/activerecord-1.11.1.gem) . /usr/share/rubygems/Pkgfile.template Now, while this is really simple, it hides all the details of the installation; one could do something similar for autotools projects, and so on... I don't think we want to push this. Unlike autotools projects, gems always have the very same installation procedure, therefore it could make sense to make an exception in this case. I'd like to hear comments though about both ruby ports in general, and this Pkgfile.template sourcing. Kind regards, Johannes P.S. I'm rather tired now, so place excuse any grammar and spelling errors :-) References: 1. http://rubygarden.org/ruby/ruby?RubyGems 2. http://jw.tks6.net/files/crux/ports/rubygems/Pkgfile.template -- Johannes Winkelmann mailto:jw@tks6.net Bern, Switzerland http://jw.tks6.net
Johannes Winkelmann <jw@tks6.net> [2005-08-11 23:03]: Hi,
Now, while this is really simple, it hides all the details of the installation; one could do something similar for autotools projects, and so on... I don't think we want to push this. Unlike autotools projects, gems always have the very same installation procedure, therefore it could make sense to make an exception in this case.
Agreed.
I'd like to hear comments though about both ruby ports in general, and this Pkgfile.template sourcing.
I'd like to see your gem ports hit contrib. Porting non-Gem ruby extensions/libraries is often a hassle, since they often don't support DESTDIR etc. I'm fine with the Pkgfile.template approach. Regards, Tilman -- learn to quote: http://www.netmeister.org/news/learn2quote.html
participants (2)
-
Johannes Winkelmann
-
Tilman Sauerbeck