app-emacs/cedet-1.0_pre3-r2 breaks the tree structure of its elisp directories in src_install(). For example, the "bovine", "wisent", and "test" sub-directories are installed under /usr/share/emacs/site-lisp/cedet while they should really go into /usr/share/emacs/site-lisp/cedet/semantic where cedet expects them. In fact, src_install() does weird things: find "${S}" -type f -print \ | while read target; do local directory=`dirname $target` file=`basename $target` local sub_directory=`basename $directory` followed by a long case instruction installing files in ${sub_directory} (relative to different locations, depending on suffixes). The last statement will just "flatten" the directory tree, putting all directories directly into the tree's root node. Proposed bugfix: Replace the last line listed above by: local sub_directory=`echo $directory | sed "s%^${S}/*%%;s/^$/./"` which will preserve the directory tree structure.
To illustrate it further, directory structure under /usr/share/emacs/site-lisp should be (and is in ${S}): cedet-+-cogre |-common---icons |-contrib |-ede |-eieio |-semantic-+-bovine | |-tests | |-wisent `-speedbar But the ebuild installs the following (note the first line!): cedet-+-cedet-1.0pre3 |-bovine |-cogre |-common |-contrib |-ede |-eieio |-icons |-semantic |-speedbar |-tests `-wisent
Fixed, thanks.