Есть такой парсер elkhound: https://github.com/dsw/oink-stack
Если его качать через git clone из консольки - собирается (ну почти, надо заголовки поправить, тогда соберется)
Если его качать через средства portage, то есть написав ebuild с использованием eclass git-2, то сборка валится с ошибками вида:
g++ -c -o agramlex.yy.o agramlex.yy.cc -g -Wall -Wno-deprecated -D__UNIX__ -O2 -DNDEBUG -D__LINUX__ -I../smbase
agramlex.lex: In member function ‘virtual int GrammarLexer::yylex()’:
agramlex.lex:126:22: error: ‘TOK_RBRACE’ was not declared in this scope
agramlex.lex:127:22: error: ‘TOK_SEMICOLON’ was not declared in this scope
agramlex.lex:128:22: error: ‘TOK_ARROW’ was not declared in this scope
...
Сравнение каталогов, полученных двумя разными способами, diff-ом показывает, что отличается только одни файл - .gitignore, все остальные совпадают.
Что происходит?