brianmario/charlock_holmes — pull request #88 by josh (2014-12-30 00:37:30+00:00)
Title: Vendor unzipped ICU4C

Note the merge target is https://github.com/brianmario/charlock_holmes/pull/82.

Yeah, sorry, this is big. A few points here.

@rtomayko noted in https://github.com/brianmario/charlock_holmes/pull/82#issuecomment-60317408 that we really want this unpacked in our app. That implies that the zipped gem will include the unpacked icu4c files. Theres a few ways to do this, but including the files directly here was the simplest.

Another option would be checking in the `.tgz` here and ensuring that when we build the gem, the unzipped files are included instead of the tar. That shifts some complexity into that gem build task. But definitely possible. Doing that we could also omit the tar and just have the gem build step curl down the tar, uncompress, then build the gem.

A benefit of checking in the files is that we could actually prune this list down. Once we decide on a direction, I can probably nuke most of the test and documentation files.

Other changes

* Adds a `rake vendor` task for pull down and unpacking the the pinned version of ICU4C.
* Moves all the working directory ICU compilation to `tmp/`. Since its statically linked, we don’t really need any of these files after a build. I’d like to `rm` it after the extension builds cause its like 400MB, lol.

Relevant individual changes

* https://github.com/josh/charlock_holmes/commit/79aec692b920dc3951b6f1e096a4d01972305528/Rakefile
* https://github.com/josh/charlock_holmes/commit/79aec692b920dc3951b6f1e096a4d01972305528/ext/charlock_holmes/extconf.rb