Optionally require github-linguist
chrislloyd opened this issue Β· comments
charlock_holmes is a hassle to deploy on Heroku (brianmario/charlock_holmes#4). Could github/linguist (which depends on charlock_holmes) be an optional dependency? I'm guessing that quite a few sites that use html-pipeline won't need syntax highlighting.
This is a hairy issue that I'm on the fence about. I'd rather keep this as a monolithic gem that includes all the filters and all of it's dependencies, but syntax highlighting adds several dependencies. Even if the pull request you mentioned maintains a branch with a statically linked binary build, I would not be able to reference it from the gemspec unless there was also a corresponding release to go with it (something like charlock_holmes 0.7.0.static
)
I'll leave this issue open for now and let others chime in after the holiday season. Thanks for bringing this issue back up!
Just to add a bit of context, that branch on charlock_holmes is almost unusable on Heroku: it adds ~5-10 minutes to standard deploys.
Can we just make a heroku buildpack for this?
The 5-10 minute build time should only be annoying on the first push, maybe force pushes too.
@atmos https://github.com/minefold/mutli-buildpack-icu4c - 1 step ahead of you there. charlock holmes needs to be modified to pick it up (however) and that's not trivial. I gave up when I realised that it was only required by linguist. Here's my (messy) attempt. Oh, and that buildpack assumes that you're using hero-buildpack-multi.
@chrislloyd I have a vulcan build of icu4c we should be able to extract into https://github.com/atmos/heroku-buildpack-ruby/tree/ffmpeg. The buildpack is here, http://atmos-s3itch.s3.amazonaws.com/atmos-heroku-buildpack-ruby-0.0.12.tgz.
Can vulcan list builds that you have? I think I nuked the repo I was testing with. /cc @ddollar
That's definitely an option, though I strayed away from doing so because I didn't want to fork the Ruby language pack for our production app. It would be awesome if the buildpack-mutli sourced previous .profileds between each compilation step. buildpack-icu4c could then export LDFLAGS
and LD_LIBRARY_PATH
vars for the gem install
step /cc @ddollar. That would definitely make life easier.
On 27/12/2012, at 8:27 PM, Corey Donohoe notifications@github.com wrote:
@chrislloyd I have a vulcan build of icu4c we should be able to extract into https://github.com/atmos/heroku-buildpack-ruby/tree/ffmpeg. The buildpack is here, http://atmos-s3itch.s3.amazonaws.com/atmos-heroku-buildpack-ruby-0.0.12.tgz.
Can vulcan list builds that you have? I think I nuked the repo I was testing with. /cc @ddollar
β
Reply to this email directly or view it on GitHub.
+1
Sounds like this is enough of a pain to warrant a new release. I fixed in #35 and released 0.0.7 http://rubygems.org/gems/html-pipeline
π»
π― Γ π»
Thank you very much!
π Thanks for doing this. π