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