We put heads together with @strzibny and made a few changes necessary to link against system yajl if available (#111). If system yajl is not available, it fall back to bundled yajl. This is made against your 2.0 branch, as we are at yajl 2.0 in Fedora already. Please accept. Thank you.
Remove Makefile patching.
Use find_header preferably.
Prefer system yajl if available.
Additional include location is neede just for bundled yajl.
yajl_dir is needed just for vandored yajl.
+1. @brianmario any feedback on this? We're blocked on importing Chef into Fedora on account of this -- would be great if you could review and merge/give feedback!
yajl-ruby uses a patched version of yajl (1.0) for performance and to achieve some of the features I wanted in yajl-ruby. I do have a branch (which is still in process) to switch to yajl 2.0 in an attempt to be able to use the system installed version of yajl. I think even yajl 2.0 is missing a feature that I need for yajl-ruby so I may have to patch and bundle it even still.
I haven't had a lot of time lately to continue work on that branch, but I would love to at least get it to a point where I can decide what to do regarding using a system installed version or a patched bundled version.
Is this a blocker for Chef because of the potential conflict with symbol loading if the Ruby process loads a library that is depending on the system installed yajl 2.0 as well as loading yajl-ruby?
Sorry it took so long to reply...
@brianmario It's a blocker for Chef in Fedora because Fedora's policy is to not permit vendoring of libraries. They prefer to have any necessary patches upstreamed. That's for the benefit of the overall community, so I think it's actually a good thing.
Since I'm not actually intimately familiar with the changes you need, maybe @voxik and @strzibny could work with you to get a patch suitable for submitting to the YAJL people to be included into 2.x? They have been helping immensely with the Chef packaging effort.
Yeah the yajl project has been incredibly helpful in the past. I'll see what I can do about taking another crack at that branch soon and opening a pull request so we can get some dialog going about what direction to take it.
According to @strzibny, there is only one difference against upstream yajl:
@brianmario Any new progress on this?
Ping ... any chance we could proceed with this? We'd love to Chef in Fedora and this unfortunately blocks us :/
Ping ... this is blocker for me as well. Please consider this PR.
This blocks Gitorious in Fedora as well. (yajl-ruby -> pygments.rb -> makeup -> libdolt -> Gitorious)
@brianmario Any progress on this? Similar issues are #100 and #64
Would be great to have the ability to specify a system version for yajl. (Ideally bundle newest version though.)
@brianmario, would you mind merging this so we can build against the system yajl? It will make it a lot easier to ship this package in Fedora.
Any progress here?