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: http://en.wikipedia.org/wiki/Grand_Central_Dispatch Attached ebuild is for the multi platform "xdispatch" fork of the original Apple code: http://opensource.mlba-team.de/xdispatch/docs/current/index.html
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.