FindRuby.cmake

Alexander Neundorf neundorf at kde.org
Sat Mar 12 20:03:21 CET 2011


On Saturday 12 March 2011, Michael Jansen wrote:
> On Wednesday 09 March 2011 21:40:00 Alexander Neundorf wrote:
> > Hi Michael,
> >
> > On Monday 07 March 2011, Michael Jansen wrote:
> > > Ruby has three different installation areas for libraries. Each
> > > installation area has two different subdirectories (sort of). One is
> > > for architecure independent files. One is for architecture dependent
> > > files.
> > >
> > > 1. Installation Area: Ruby Library Directory
> > >
> > >         rubylibdir  /usr/lib64/ruby/1.8
> > >
> > >            archdir  /usr/lib64/ruby/1.8/x86_64-linux
> > >
> > > This area is reserved for the ruby standard library (http://www.ruby-
> > > doc.org/stdlib/). No other software is supposed to be installed into
> > > this
> > > directory. It makes no sense for the cmake file to determine and
> > > provide the path and location of this area. You don't want to install
> > > stuff there
> > > and you don't need to get stuff from there. (The libruby.so is
> > > somewhere else)
> > >
> > > 2. Installation Area: Vendor
> > >
> > >            vendordir  /usr/lib64/ruby/vendor_ruby
> > >
> > >         vendorlibdir  /usr/lib64/ruby/vendor_ruby/1.8
> > >
> > >        vendorarchdir
> > >        /usr/lib64/ruby/vendor_ruby/1.8/x86_64-linux
> > >
> > > This area is intended to be used by distributions. They install the
> > > libraries provided by distribution packages into that area. You are
> > > supposed to install into that area if you build distro packages. It
> > > therefore makes sense to determine and provide this area from
> > > FindRuby.cmake
> > >
> > > 3. Installation Area: Site
> > >
> > > This area is intended to be used for self compiled and installed ruby
> > > packages. This is the most likely installation area for a ruby
> > > extension.
> > >
> > > 4. Installation Area: Custom
> > >
> > > In Addition to those 3 areas it is possible to install ruby extensions
> > > into custom directories and add their path to ruby $LOAD_PATH global
> > > array. Each directory has to be added explicitly. There is no automatic
> > > archdir handling.
> > >
> > >     a) $LOAD_PATH << "<custom_ruby_libdir>" <<
> > >     "<custom_ruby_archdir>"
> > >     b) ruby -I<path1> -I<path2>
> > >     c) Environment Variable RUBY_LIB and/or DLN_LIBRARY_PATH
> > >
> > > The current FindRuby.cmake determines the location of the areas 1, 2 (
> > > if
> > > it exists) and 3. It does not advise or support chosing any
> > > installation
> >
> > Do you mean the FindRuby.cmake shipped with cmake, the FindRUBY.cmake in
> > kdelibs, or another one ?
>
> Did not know about FindRUBY in kdelibs. That is annoying at hell. 

Yes, I know.

> How about
> introducing FindRuBY.cmake with the new functionality. <-- Sarcasm
>
> I would prefer to patch the cmake one and get rid of the kdelibs one.

We can't do that because there may be packages which rely on FindRUBY.cmake 
being installed by kdelibs, not installing it anymore would break source 
compatiblity :-/

Alex


More information about the Kde-buildsystem mailing list