build them during the build stage and install them during fake.
devel/ruby-gems doesn't have separate build and install commands, as
most gems are pure ruby code and don't need a separate build stage.
When ruby-gems is installing a gem with C extensions, it builds them
during the install. Since installing is done during the fake stage,
this meant that the extensions were getting built as root.
Previously, this was required, as gem's --user-install option was
broken. However, since that option has now been fixed, we use
it to install the gem to a temporary location as the current
user during build, and then mv and chown the files during fake.
Thanks to bernd@ for pointing out that the fixed --user-install
option allowed this.
ok landry
attempting to create all intermediate directories and rescuing failures,
don't attempt to create directories that already exist. Fixes systrace
warnings when building ruby ports.
ok landry
perl command that accepts filename arguments and modifies the common
/usr/bin/env ruby shebang to ${RUBY}. MODRUBY_ADJ_FILES is a short
cut that allows you to set filename patterns and have
MODRUBY_RUBY_ADJ called on all files in ${WRKSRC} that match that
pattern. It adds a pre-configure action to do so, if a pre-configure
action is not already defined. If a pre-configure action is already
defined, you can call the replacement command with
${MODRUBY_ADJ_REPLACE}.
ok sthen, landry
for gems with native extensions. Without this, it calls
/usr/bin/install -o root -g bin as a regular user, which fails due
to permission issues. This removes the -o root -g bin, so it can
succeed as a regular user.
This same patch was recently added to devel/ruby-gems, which is
specific to ruby 1.8. ruby 1.9 ships with ruby-gems, so the
patch needs to be included here as well.
OK landry@
All ruby .gem files are now hosted on rubygems.org in the same
directory. If the ruby gem CONFIGURE_STYLE is used, make the
default MASTER_SITES that directory.
There are still a few uses of MASTER_SITE_RUBYFORGE in the tree, for
some ports that aren't gems, or where the .gem file isn't hosted on
rubygems.org, or where the hashes don't match. Most of these will be
dealt with in the near future.
OK landry@
1.9, similar to how the lang/python ports are handled. ruby 1.8
now installs as ruby18 and ruby 1.9 installs as ruby19. The
included MESSAGE files for both ports let you know the symlinks to
set up if you want to make that version the default system ruby.
Split port originally started by bernd@, many changes since by me,
help and support from jcs@, landry@, jasper@, and sthen@.
This causes a large amount of fallout in dependent ruby ports,
which will be committed shortly.
OK jcs@, landry@, jasper@, sthen@
This is a long overdue update which contains lots of bug fixes and some
security fixes.
Take over maintainership from msf@.
Tested by many. Thank you very much!
ok jcs@, msf@
is defined in the port Makefile.
i.e. 'GEM_SKIPDEPENDS= hoe cgi_multipart_eof_fix'
This will install the gem port into the fake area even if the hoe and
cgi_multipart_eof_fix gems aren't installed.
ok jcs@, "sounds reasonable but I haven't really looked at it" msf@