git instaweb is not available even though git IS built with USE="cgi perl". Note that git builds fine, the error only appears when trying to run `git instaweb`. This is due to a bug in dev-vcs/git/files/git-2.0.0-optional-cvs.patch, which defines two Makefile targets for git-instaweb (broken NO_PERL logic patching). Patches git-*-optional-cvs.patch for <dev-vcs/git-2.* work correctly. The bug was introduced at git-2.0.0-optional-cvs.patch:98 (correct line: git-1.9.0_rc3-optional-cvs.patch:85). (Patch git-2.0.0_rc0-optional-cvs.patch used by the Git live ebuilds also does NOT have the bug.) Reproducible: Always Steps to Reproduce: 1. USE="cgi perl" emerge -av =dev-vcs/git-2.0.0-r1 2. git instaweb Actual Results: $ USE="cgi perl" emerge -av =dev-vcs/git-2.0.0-r1 > Makefile:1849: warning: overriding recipe for target `git-instaweb' > Makefile:1840: warning: ignoring old recipe for target `git-instaweb' $ git instaweb > fatal: git was built without support for git-instaweb (NO_PERL=). Expected Results: Normal git-instaweb operation.
Created attachment 379310 [details, diff] patch for dev-vcs/git/files/git-2.0.0-optional-cvs.patch Removing the extra "git-instaweb" target from the list of Perl targets not to build fixes the bug.
Quentin's analysis is spot on, I reckon!
InCVS.