is not set, but only for gem, extconf, and setup based ports. Other
ports could be using the lang/ruby module and still have a standard
make-based regression test suite.
rspec 1 using rspec and rspec 2 using rspec2. Additionally, add
support for ruby and testrb, calling the appropriate binary for the
ruby implementation.
Start checking sanity of MODRUBY_REGRESS entry, using a fatal error
if it is defined and doesn't contain a recognized word.
Instead of RAKE_REGRESS_TARGET and RSPEC_REGRESS_TARGET, just use
MODRUBY_REGRESS_TARGET for all cases. On ruby 1.9, modifying the
environment to always look in the current directory for libraries
(the ruby 1.8 behavior), since many ports depend on that for regress.
Allow ports to set their own regress environment and current directory
using MODRUBY_REGRESS_ENV and MODRUBY_REGRESS_DIR.
which should allow building on arches without enough memory to
generate the ri files. Also, set PKG_ARCH=* for the ri_docs
subpackage, so that such arches can still use the documentation,
idea from sthen@. Original idea for PSUEDO_FLAVOR from phessler@.
OK sthen@
that no longer create .require_paths files. No RUN_DEPENDS
are being added as older ruby versions can use gems without
.require_paths files (we never had a ruby 1.9.1 package).
This is being done to avoid errors by porters who are creating/updating
gem ports without installing new ruby versions.
a few new features. A few of our patches were accepted upstream.
Add an -ri_docs multipackage to hold the ri documentation files. These
aren't used very often, slow down installation significantly, and bloat
the package.
This also fixes the conflict marker for the -tk multipackage.
Make regress run all three regression test suites. Before,
later regression test suites wouldn't be run if earlier ones
were not successful, which stopped the main test suite from
running on i386, macppc, and possibly other arches.
Override the arch setting to remove OpenBSD version from it,
so ports don't have to be bumped when OpenBSD version changes.
OK landry@, jcs@
the lang/ruby module add FLAVORS automatically for gem and extconf
ports, or to Yes to enable the FLAVORS for non-gem and non-extconf
ports.
Add a MODRUBY_BIN_TESTRB variable containing the appropriate testrb
command for use in regress tests.
OK landry@
since jruby 1.6.0 now supports them. Require at least jruby
1.6.0 when building/running a gem ext or extconf port.
Since jruby no longer bundles RSpec, simplify the
MODRUBY_RSPEC_DEPENDS handling.
OK landry@
the currently supported minor version of rubinius.
No longer allow a ruby18 FLAVOR to be used to specify ruby 1.8.
Now, only the empty flavor should be used.
OK landry@
it, it doesn't fail again just because it can't find the gem
metadata.
Also, get rid of the GEM_REL variable, and just setup the GEM_BIN
and GEM_LIB variables separately for each ruby version.
OK landry@
in lang/ruby/1.*/Makefile.
Also, add the ability to pass CONFIGURE_ARGS to gem install.
These get passed to the extconf.rb scripts that create the
Makefiles for C extensions, and may make it easier to port
gems with C extensions without resorting to patching.
OK landry@
depend on ruby-1.9 and not ruby-1.8. This PKGSPEC is slightly
different from the previous one used in ruby.port.mk, so all
dependent ports need to be REVISION bumped (which will happen soon).
In addition, since the subpackages depend on the -main package and
also had a slightly different pkgspec, they need to be bumped as well.
In addition, the -main package is also being bumped for the inclusion
of a patch for Addrinfo that fixes a failing IPv6 UDP regression test.
OK landry@
depend on ruby-1.8 and not ruby-1.9. This PKGSPEC is slightly
different from the previous one used in ruby.port.mk, so all
dependent ports need to be REVISION bumped (which will happen soon).
In addition, since the subpackages depend on the -main package and
also had a slightly different pkgspec, they need to be bumped as well.
OK landry@
* No longer remove ruby-* from PKGNAME when building FULLPKGNAME for
the gem and extconf ports
* Correctly remove ruby18 FLAVOR
* Use extract/build/install cookies
* Fix installing of certain gems as root without systrace, by working
around a bug in devel/ruby-gems
* Remove MODRUBY_REV from SUBST_VARS
OK landry@
ruby 1.8, ruby 1.9, and jruby.
One major change for all ports is that RDoc documentation is no longer
going to be installed by default for gem ports. For ruby 1.8, it used
a separate documentation file per method, and the file names created
weren't consistent across ruby versions (1.8.6 differed from 1.8.7,
and 1.8.7 differs from 1.9.2 and jruby). It made reviewing diffs very
painful, and since most ruby developers do not use the documentation
(preferring web documentation), it doesn't make sense to include them.
For most gem ports, a ruby 1.9 version can be built by using
the ruby19 FLAVOR, and a jruby version can be build using the jruby
FLAVOR. These flavors modify the FULLPKGNAME to use either the
ruby19- or jruby- package stem, so you don't need to worry about
the ruby 1.8 package conflicting.
In most cases, you no longer need the PKGNAME set in the port
Makefile, as the FULLPKGNAME handling will take care of that for you.
Also, for pure ruby gems (without C extensions), PKG_ARCH = * is added
automatically.
Changes to all dependent ports will be committed shortly. For new
ruby ports, you need to make sure that gem dependencies are specified
like this (assuming they depend on the hoe gem):
:${MODRUBY_PKG_PREFIX}-hoe-*:devel/ruby-hoe,${FLAVOR}
MODRUBY_PKG_PREFIX will be ruby for ruby 1.8 ports, ruby19 for ruby
1.9 ports, and jruby for jruby ports. The ,${FLAVOR} part at the end
makes sure that dependencies use the same version of ruby that
the current port uses.
PLISTs are going to become a lot smaller with this. However, any
binaries installed by the gem need to have a special string added.
For example, the minitar binary installed by
archivers/ruby-archive-tar-minitar looks like this in the PLIST:
${GEM_BIN}/minitar${GEM_BIN_SUFFIX}
The ${GEM_BIN_SUFFIX} needs to be added manually so the package
works on ruby 1.9, which installs the binaries with a 19 suffix.
GEM_SKIPDEPENDS has been removed and related support will be removed
from devel/ruby-gems. To modify dependencies inside the gem, the gem
metadata is placed under WRKDIST and can be modified with the standard
patching procedure.
OK landry@
Also, if CONFIGURE_STYLE includes ext or extconf, update WANTLIB
and LIB_DEPENDS, and set SHARED_ONLY=Yes. That configure style
is only used for ruby C extensions, which need those settings.
This cleans up a lot of ruby C extension ports, which will be
committed shortly.
ok landry, phessler, sthen