Created attachment 863741 [details] Build log. Deadbeef fails to build with clang and the new default of requiring strict prototypes. In file included from gettext.c:30: ./gettextP.h:120:1: error: a function definition without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype] SWAP (i) ^ 1 error generated. This was fixed in gettext, but deadbeef still fails even when gettext is patched since the copies of the files are in the gettext-tools/misc/archive.dir.tar archive which presumably needs to be regenerated. https://git.savannah.gnu.org/gitweb/?p=gettext.git;a=commitdiff;h=cb2c1486336462c8180f487221181ee798b0e73e The file is generated in deadbeef with the 'autopoint -f' command. '
It seems I am unable to reproduce the problem. I also cannot locate the gettext-tools/misc/archive.dir.tar anywhere. Can you help me reproduce it and clarify what you mean by this archive.dir.tar?
See: /usr/share/gettext/archive.dir.tar.xz Did you enable USE=stricter in sys-devel/clang-common?
I do not have this use, you mention it is new default so I haven't been looking into it. I will look into it, however any help you can contribute will be much appreciated.
Fixing the code is easy, but applying the patch to gettext is difficult for me. Basically inside /usr/share/gettext/archive.dir.tar.xz at least some of the copies of intl/gettextP.h need to be changed so the various old style functions are updated. For example, change this: static inline nls_uint32 SWAP (i) nls_uint32 i; { To: static inline nls_uint32 SWAP (nls_uint32 i) {
Fixed in media-sound/deadbeef-1.9.6