Updating from 1.8.4 to 1.8.7 doesn't work. Building 1.8.4 on the same machine works. I found this ticket and it seems to be the same issue: https://github.com/DeaDBeeF-Player/deadbeef/issues/2516 Reproducible: Always
Created attachment 690882 [details] build.log
Created attachment 690885 [details] info.txt
Created attachment 690888 [details] info pqv
Using env variables with clang doesn't work as it requires libdispatch, so I'm not sure how to proceed and where to get it. notify.c:20:10: fatal error: 'dispatch/dispatch.h' file not found #include <dispatch/dispatch.h>
I have managed to get libdispatch using this ebuild: https://github.com/4nykey/4nykey/blob/master/dev-libs/libdispatch/libdispatch-9999.ebuild Though I had to modify it slightly, but it is working. Then deadbeef with custom env variables installed and it is working.
Yes, was about to say. This is specific to USE=notify or USE=lastfm now needing clang and swift-corelibs-libdispatch. So alternatively you could just disable USE=notify, or stick to 1.8.4 for now.
So is gcc still going to work? Developer of the deadbeef clearly states that it is no longer supported, so more and more issues could appear in future. Is it possible to get libdispatch into gentoo? It seems to be a part of swift, so it could be an issue.
For anyone who is interested in getting it to work with notify and clang: 1. Install libdispatch using attached ebuild, 2. Add env variable to build deadbeef with clang, use no-lto version. See example "Environment variable named compiler-clang-fno-lto" from: https://wiki.gentoo.org/wiki/Clang#Clang_environments More info here: https://wiki.gentoo.org/wiki//etc/portage/package.env 3. Build deadbeef-1.8.7.
Created attachment 690891 [details] dev-libs/libdispatch-5.3.2
Well, there's nothing in changelog on https://deadbeef.sourceforge.io/news0.html saying that GCC is no longer supported. I will look into this problem.
All right, so I've looked into it and indeed our only option is to go clang. I will push libdispatch since it's required by lastfm and notify plugins as well as revbump deadbeef ebuild with unconditional dependency on clang/llvm and a switch to clang CC if it's not already set, similar to what Firefox does. This is yet another package after Firefox that no longer support GCC, dark times.
Proposed solution and libdispatch ebuild worked for me, thanks a lot. Quite sad that dev of this project abandons GCC. Minor incovenience user-wise (thanks to Gentoo devs for that, one line in package.env does the trick), but definitely don't like that trend in the long run. However, there's no choice - either accept or get involved, and the latter isn't always suitable for simple user/consumer.
(In reply to Ivan from comment #12) > Quite sad that dev of this project abandons GCC. It could possibly be reversible someday if this is fixed: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78352 Or if upstream drops the idea of using libdispatch anyway, but until then I can't disagree with just forcing clang to match upstream.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=873e7e1e35fb95e6c7bbfc3a4863a869c208e2d4 commit 873e7e1e35fb95e6c7bbfc3a4863a869c208e2d4 Author: Piotr Karbowski <slashbeast@gentoo.org> AuthorDate: 2021-03-12 12:30:00 +0000 Commit: Piotr Karbowski <slashbeast@gentoo.org> CommitDate: 2021-03-12 12:31:00 +0000 media-sound/deadbeef: 1.8.7-r1: Force clang; libdispatch dep added. Upstream stated that from 1.8.5 onward the GCC is no longer supported. Because of that, clang will be enforced instead. notify and lastfm plugins now requires libdispatch. Closes: https://bugs.gentoo.org/775551 Signed-off-by: Piotr Karbowski <slashbeast@gentoo.org> ...dbeef-1.8.7.ebuild => deadbeef-1.8.7-r1.ebuild} | 26 +++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-)