Created attachment 321744 [details]
Ebuild for the libdispatch
libdispatch is a relatively recent development for managing events and concurrency on sub-thread level.
More information can be found here:
Attached ebuild is for the multi platform "xdispatch" fork of the original Apple code:
Created attachment 321746 [details, diff]
Patch for the ebuild to disable strict aliasing dependend optimizations when building with optimizing GCC.
Created attachment 321826 [details]
Ebuild is renamed to xdispatch; added building and installation of documentation
Created attachment 321828 [details, diff]
Patch for the new ebuild to fix hardcoded documentation install path
Created attachment 321830 [details, diff]
Patch for the new ebuild to fix hardcoded documentation install path (fixed)
Created attachment 321996 [details]
Added support for clang use flag
Created attachment 321998 [details, diff]
Disable checking for existing libdispatch (will break upgrades otherwise)
Created attachment 322000 [details, diff]
Don't check for svn presence (breaks configure)
Created attachment 322002 [details, diff]
Make sure QT_NO_DEBUG is set (mostly affects clang)
Created attachment 322004 [details, diff]
Work around reserved identifier in glibc's unistd.h
This old and well known problem results from inability of glibc and clang developers to reach a (no brainer) agreement on who is responsible for cleaning out conflicting identifiers in the system headers (long fixed in eglibc).
There's one remaining problem when "clang" flag is set, namely support for __float128 data type. For now, it can be disabled with a conditional macro in a c++-config.h gcc header on per installation basis, but clang support for this data type is in the works.