You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by James McCoy <ja...@debian.org> on 2014/05/17 16:17:26 UTC

Re: Ruby 2.0 support

On Tue, Apr 01, 2014 at 06:51:12AM -0400, James McCoy wrote:
> 
> On Apr 1, 2014 2:57 AM, "Daniel Shahaf" <d....@daniel.shahaf.name> wrote:
> >
> > James McCoy wrote on Mon, Mar 31, 2014 at 22:38:49 -0400:
> > > Index: configure.ac
> > > ===================================================================
> > > --- configure.ac      (revision 1583233)
> > > +++ configure.ac      (working copy)
> > > @@ -1306,7 +1306,7 @@
> > >  if test -n "$RUBY"; then
> > >    AC_PATH_PROG(RUBY, "$RUBY", none)
> > >  else
> > > -  AC_PATH_PROGS(RUBY, ruby ruby1.8 ruby18 ruby1.9 ruby1 ruby1.9.3 ruby193,
> none)
> > > +  AC_PATH_PROGS(RUBY, ruby ruby1.8 ruby18 ruby1.9 ruby1 ruby1.9.3 ruby193,
> ruby2.0, none)
> >
> > Did you mean without an extra comma?
> 
> Yes, I did.

Updated patch attached.

Cheers,
-- 
James
GPG Key: 4096R/331BA3DB 2011-12-05 James McCoy <ja...@debian.org>

Re: Ruby 2.0 support

Posted by Philip Martin <ph...@wandisco.com>.
Philip Martin <ph...@wandisco.com> writes:

> James McCoy <ja...@debian.org> writes:
>
>> Updated patch attached.
>
> I tried Ruby 1.8.7 and 2.1.2 and the regression tests pass so I
> committed this in r1596882.  Thanks!

I think our Ruby installation stuff is a bit broken.  We have

  --with-ruby-sitedir=SITEDIR
                          install Ruby bindings in SITEDIR (default is same as
                          ruby's one)

Ruby, at least since 1.8.7, has both sitedir and vendordir.  vendordir
is the system installation, typically under /usr, while sitedir is the
local stuff, typically under /usr/local.

I have Debian/wheezy 1.8.7 ruby and it has

sitedir       /usr/local/share/ruby/site_ruby
sitelibdir    /usr/local/lib/site_ruby/1.8
sitearchdir   /usr/local/lib/site_ruby/1.8/x86_64-linux

vendordir     /usr/lib/ruby/vendor_ruby
vendorlibdir  /usr/lib/ruby/vendor_ruby/1.8
vendorarchdir /usr/lib/ruby/vendor_ruby/1.8/x86_64-linux

I have Debian/wheezy 1.9.1/1.9.3 ruby and it has

sitedir       /usr/local/share/ruby/site_ruby
sitelibdir    /usr/local/lib/site_ruby/1.9.1
sitearchdir   /usr/local/lib/site_ruby/1.9.1/x86_64-linux

vendordir     /usr/lib/ruby/vendor_ruby
vendorlibdir  /usr/lib/ruby/vendor_ruby/1.9.1
vendorarchdir /usr/lib/ruby/vendor_ruby/1.9.1/x86_64-linux

Note that libdir is a prefix of sitedir for both vendor and site.  That
allows us to generate installation paths when --with-ruby-sitedir is
used:

    AC_MSG_CHECKING([where to install Ruby extensions])
    AC_CACHE_VAL([svn_cv_ruby_sitedir_archsuffix],[
      svn_cv_ruby_sitedir_archsuffix="`echo "$rbconfig_sitearchdir" | \
                                        $SED -e "s,^$rbconfig_sitedir,,"`"
    ])
    SWIG_RB_SITE_ARCH_DIR="${svn_ruby_installdir}${svn_cv_ruby_sitedir_archsuffix}"
    AC_MSG_RESULT([$SWIG_RB_SITE_ARCH_DIR])


However that breaks down when libdir is not a prefix of sitedir.

I have Debian/sid 2.1.2 ruby and it has

sitedir        /usr/local/lib/site_ruby
sitelibdir     /usr/local/lib/site_ruby/2.1.0
sitearchdir    /usr/local/lib/x86_64-linux-gnu/site_ruby

vendordir      /usr/lib/ruby/vendor_ruby
vendorlibdir   /usr/lib/ruby/vendor_ruby/2.1.0
vendorarchdir  /usr/lib/x86_64-linux-gnu/ruby/vendor_ruby/2.1.0

I have Fedora/20 2.0.0 and it has

sitedir        /usr/local/share/ruby/site_ruby
sitelibdir     /usr/local/share/ruby/site_ruby/
sitearchdir    /usr/local/lib64/ruby/site_ruby

vendordir      /usr/share/ruby/vendor_ruby
vendorlibdir   /usr/share/ruby/vendor_ruby/
vendorarchdir  /usr/lib64/ruby/vendor_ruby

On these systems we get the wrong installation directories.  If I use

   ./configure --with-ruby-sitedir=/home/pm/ruby

the 1.8.7 system gives a reasonable looking:

 checking where to install Ruby extensions... /home/pm/ruby/1.8/x86_64-linux

while the 2.1.2 system gives a very odd looking:

 checking where to install Ruby extensions... /home/pm/ruby/usr/local/lib/x86_64-linux-gnu/site_ruby

I'm not sure whether the different layout is due to the more modern Ruby
or the more modern OS.

-- 
Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*

Re: Ruby 2.0 support

Posted by Philip Martin <ph...@wandisco.com>.
James McCoy <ja...@debian.org> writes:

> Updated patch attached.

I tried Ruby 1.8.7 and 2.1.2 and the regression tests pass so I
committed this in r1596882.  Thanks!

-- 
Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*