Hey, chromium-9999 fails to build because of: " third_party/libjingle/source/talk/base/json.h:35:23: fatal error: json/json.h: No such file or directory compilation terminated. make: *** [out/Release/obj.target/libjingle/third_party/libjingle/source/talk/base/json.o] Error 1 make: *** Waiting for unfinished jobs.. " Any help would be appreciated! :) Reproducible: Always Steps to Reproduce: 1. emerge latest chromium 2. 3. Actual Results: It fails to build Expected Results: It should work like a charm
sed -e 's:#include "json/json.h"::' \ -e 's:#else::' \ -e 's:third_party/jsoncpp/json.h:native_client/src/third_party_mod/jsoncpp/include/json/json.h:' \ -i third_party/libjingle/source/talk/base/json.h || die in src_prepare work fine i.e. ebuild 17.0.920.1 https://github.com/megabaks/stuff/blob/master/www-client/chromium/chromium-17.0.920.1.ebuild
with latest chromium-17.0.923.0 work fine too >>> www-client/chromium-17.0.923.0 merged.
Created attachment 291237 [details] ebuild
Created attachment 291239 [details, diff] diff portage--->my
(In reply to comment #4) > Created attachment 291239 [details, diff] > diff portage--->my Thanks for spotting that. epatch is better. It's essentially guaranteed to do the right thing regardless of how the files change. Also sed is a stream editor, not a text editor. sed -i is usually not good and definitely nonstandard (GNU sed feature). ed or ex if you can be certain it will do the right thing, which with a live ebuild, you can't.
(In reply to comment #5) > sed -i is usually not good and definitely nonstandard (GNU sed feature). Portage always uses GNU sed. It installs a wrapper on non-GNU platforms (like BSD). Anyway, no patching is necessary since the missing json/json.h is in third_party/jsoncpp. Thanks for hunting that down: I would have spent way too much time digging in third_party/libjingle. Fixed in CVS. 01 Nov 2011; Mike Gilbert <floppym@gentoo.org> chromium-9999-r1.ebuild: Keep third_party/jsoncpp. Bug 388915 by Ralf Mayer.