[geos-devel] GEOS Ruby bindings gem and extensions

J Smith jay at zoocasa.com
Wed Dec 1 11:26:16 EST 2010

On Wed, Dec 1, 2010 at 12:21 AM, Paul Ramsey <pramsey at opengeo.org> wrote:
> My only thought is, "my, I know nothing about Ruby!". So, do tell me
> what needs to be in the main GEOS repo and who is going to need access
> to commit it. :)
> Best,
> P.

Hi Paul.

At the moment the number of files is minimal:

- a Rakefile for various build tasks and such, via a Ruby package
called jeweler which automates builds and releases to the rubygems

- an extconf.rb file, which creates Makefiles for Ruby extensions.

- a modified source file based on the output created by the SWIG Ruby
output produced during the normal GEOS build process.

The big question is: do we want to have this code directly in the main
GEOS repository? We were planning on using github to facilitate the
whole social coding scene thing and 'cause we like the dead-simple
release management that jeweler provides.

Of course, the downside to this is that there would be a divergence
between the main-line SWIG bindings in the GEOS repository versus the
gemified version available via github and rubygems. On the other hand,
decoupling the Ruby bindings from the main library would allow for
independent releases where Ruby-specific features can be written and
released without having to do an entire GEOS release.

At any rate, the big news here is that the Ruby extension can be made
available via rubygems and thus available to a wider audience. At the
moment, installing the Ruby bindings usually means either hoping your
package management system has a geos-ruby-type package available or
you're building by hand and manually enabling with --enable-ruby.
Personally I'd say going the github way would be preferable from
release management and visibility perspectives, but if we want to look
at integration into the GEOS as an option we can hash it out.


More information about the geos-devel mailing list