Created attachment 318522 [details]
xvideoservicethief gcc-4.7 getuid patch
media-video/xvideoservicethief-2.4.1-r2 fails to compile with gcc-4.7, but the suggested fix works:
src/qtsingleapplication/src/qtlocalpeer.cpp: In constructor 'QtLocalPeer::QtLocalPeer(QObject*, const QString&)':
src/qtsingleapplication/src/qtlocalpeer.cpp:103:54: error: '::getuid' has not been declared
src/qtsingleapplication/src/qtlocalpeer.cpp:103:54: note: suggested alternative:
In file included from src/qtsingleapplication/src/qtlockedfile_unix.cpp:49:0,
/usr/include/unistd.h:698:16: note: 'QtLP_Private::getuid'
make: *** [build/o/unix/qtlocalpeer.o] Error 1
make: *** Waiting for unfinished jobs....
* ERROR: media-video/xvideoservicethief-2.4.1-r2 failed (compile phase):
With the attached patch in /etc/portage/patches/media-video/xvideoservicethief, the package builds fine. (Do note that my bashrc sets up user epatching even if the ebuild doesn't inherit the appropriate eclass, so I don't know if it would work for others just dumped in that dir or not, but it appears to be the right fix, however it's applied.)
Blocking the gcc-4.7 tracker and adding the PATCH keyword.
emerge --info shouldn't be needed as this is an intended behavior change for gcc-4.7/g++. See the URL for the tracker.
FWIW, I did try the sourceforge svn trunk (2.5) tarball as well. The last commit there was ~two months ago, and it suffers from the same problem (plus another, likely related to it being a development snapshot).
+ 18 Jul 2012; Markos Chandras <firstname.lastname@example.org>
+ Fix building with gcc-4.7. Bug #427066 thanks to Duncan <email@example.com>