tl;dr:

* Make ruby 2.4 default ruby version
* Remove ruby 1.8, 2.1, 2.2
* Remove ruby-do_* and ruby-swift-db-*

This message may be a little long, but if you are interested in ruby on
OpenBSD, I'd like to get some feedback.  I plan on preparing for these
changes over the next few weeks, and commiting them during p2k17.

Now that ruby 2.4.2 has been released, I plan to switch the default ruby
version in the ports tree from 2.3 to 2.4.  I'll be doing bulk builds of
all ruby ports before and after switching to hopefully catch all the
necessary bumps.

In late August I worked on getting the remaining ports that depended on
ruby 1.8 working on a modern version of ruby, and getting OKs to remove
a couple ports that couldn't be upgraded and were no longer needed
(gonzui and puppet-dashboard).  There shouldn't be any remaining ports
that depend on lang/ruby/1.8, other than some old ruby libraries:

* databases/ruby-bdb (dependency of gonzui)
* devel/ruby-gems (included in ruby 1.9+)
* devel/ruby-rake (included in ruby 1.9+)

So I plan on removing these ports and then removing ruby 1.8.

Upstream support for ruby 2.1 was dropped completely in March, so I plan
on also removing ruby 2.1 per our usual ruby support policy.

When I first proposed our current ruby support policy in August 2015,
there was a greater need to support older ruby versions.  Since then,
the last couple ruby versions have had fewer backwards incompatible
changes, so there is less reason to continue to supporting old versions.
Plus, honestly I don't want to backport security patches to versions not
supported upstream.

So, with that in mind I'd like to update our ruby support policy to the
following:

1) All upstream versions in normal maintenance phase are supported, with
   C extensions built for each version.
2) Once an upstream version enters security maintenance phase, it
   remains in the ports tree, but C extensions are no longer built for
   it.
3) 6 months after the upstream version enters security maintenance
   phase, it is removed from the ports tree.

Currently, this would have the effect of also removing ruby 2.2, since
it has been over 6 months since ruby 2.2 entered security maintenance
phase (which happened on March 28, 2017 with the release of ruby 2.2.7).

There are currently a couple of ruby ports (ruby-augeas and
ruby-libvirt) that are built for ruby 2.2 and not ruby 2.3, those will
need to be dealt with before ruby 2.2 can be removed.

There are quite a few ruby database driver ports in the tree that are no
longer needed:

* ruby-data_objects
* ruby-do_mysql
* ruby-do_postgres
* ruby-do_sqlite3
* ruby-swift-db-mysql
* ruby-swift-db-postgres
* ruby-swift-db-sqlite3

These ports are all dead upstream.  They used to be usable with
databases/ruby-sequel, but support for them was dropped in a recent
Sequel version, and there is nothing in the tree that uses them.  The
data_objects and do_* ports were used by DataMapper and were reasonably
popular at one point, but pretty much nothing in the ruby ecosystem
still uses DataMapper anymore.  The swift-db-* ports were never popular
or widely used.  I plan on removing these ports as well.

There are a number of pure ruby gem ports in the tree that are not
dependencies of anything else and have not been updated in many years.
I would like to remove some of these ports as they do not add value.  I
don't have a list of such ports yet, this is probably something I'll
research at p2k17.

I appreciate any thoughts or comments on these changes.

Thanks,
Jeremy

Reply via email to