Fast_gettext 1.2.0 and ruby 2.0 in hammer

I've sent couple of patches into fast_gettext to improve it's
performance and speed up hammer. This was released as fast_gettext
1.2.0. Unfortunately this version also dropped support for all ruby
versions < 2.1 and requires that in the gemspec.

There's a PR into hammer-cli [1] that uses the latest fast_gettext.
Merging it with hard dependency on fast_gettext 1.2.0 would mean
dropping ruby 2.0 support, which I'd like to avoid. My plan is to fence
the code and provide fallback but it won't be perfect.

Effects of the PR on each distro/install method in detail :


  • hammer uses scl -> no problem

Debian Jessie

  • hammer uses system ruby 2.1 -> no problem

Ubuntu Xenial

  • hammer uses system ruby 2.3 -> no problem

Ubuntu Trusty

  • hammer depends on ruby2.0 -> we'll solve it in packaging, use
    fast_gettext < 1.2.0 and hammer will run the fallback code without the
    speed improvements

Bundle install

  • Gemfile will require fast_gettext < 1.2.0 for ruby 2.0 -> will work
    similar to Trusty

Gem install

  • we're in trouble here, gem installation fails with error
    "fast_gettext requires Ruby version >= 2.1.0" -> users will have to do
    gem install fast_gettext -v 1.1.0 first and then install hammer

The biggest issue is with direct gem installation, where users will have
to do it in two steps.

Before we merge it I'd like to hear others' opinions. Do you see any
wholes or have objections against this solution? Ideas for improvements
are welcome.