I tried compiling audacious plugins with glib 2.30.3 and the compile fails. Upgrading to latest (unstable) glib (2.32.4) fixes the problem. Reproducible: Always Steps to Reproduce: 1. Put audacious-plugins in accept_keywords. 2. Merge audacious-plugins Actual Results: Entering directory mpris2. Successfully generated dependencies. object-core.c:1258:10: error: field 'lock' has incomplete type object-core.c: In function 'mpris_media_player2_skeleton_finalize': object-core.c:1480:3: warning: implicit declaration of function 'g_mutex_clear' object-core.c: In function '_mpris_media_player2_emit_changed': object-core.c:1530:7: warning: implicit declaration of function 'g_dbus_interface_skeleton_get_connections' object-core.c:1530:19: warning: assignment makes pointer from integer without a cast object-core.c: In function 'mpris_media_player2_skeleton_init': object-core.c:1626:3: warning: implicit declaration of function 'g_mutex_init' object-core.c:1627:3: warning: implicit declaration of function 'g_main_context_ref_thread_default' object-core.c:1627:27: warning: assignment makes pointer from integer without a cast Failed to compile object-core.c (plugin)! make[5]: *** [object-core.plugin.o] Error 1 make[4]: *** [all] Error 2 make[3]: *** [subdirs] Error 2 make[2]: *** [all] Error 2 make[1]: *** [subdirs] Error 2 make: *** [all] Error 2 * ERROR: media-plugins/audacious-plugins-3.3 failed (compile phase): Expected Results: Merge fine
you are however able to work around that (keyworded package)-dependency: - you'll need =dev-util/gdbus-codegen-2.30.3 installed, instead - right after the failed build, change into ${S}: /var/tmp/portage/media-plugins/audacious-plugins-3.3/work/audacious-plugins-3.3 and call: ./codegen which will actually call: gdbus-codegen --interface-prefix org.mpris. --c-namespace Mpris \ --generate-c-code object-core mpris2.xml gdbus-codegen --interface-prefix org.mpris. --c-namespace Mpris \ --generate-c-code object-player mpris2-player.xml after that =media-plugins/audacious-plugins-3.3 compiles successfully now, I don't know how to implement the latter within the .ebuild...
(In reply to comment #1) submitting two different patches to the current audacious-plugins-3.3.ebuild first one: - adds "inherit eutils" (<- for epatch() ) - adds the patch file under ${FILESDIR} which replaces upstream's generated code by source using =dev-util/gdbus-codegen-2.30.3 - latter only when having "<dev-libs/glib-2.32" installed second one: - do not "inherit eutils" (<- epatch not needed) - instead DEPEND on ( || ( >=dev-libs/glib-2.32.2 dev-util/gdbus-codegen ) ) - and regenerate source code using dev-util/gdbus-codegen feel free to use either one ;-)
Created attachment 319760 [details, diff] audacious-plugins-3.3-regen-mpris2-code-for-glib-2.30.patch ${FILESDIR}/audacious-plugins-3.3-regen-mpris2-code-for-glib-2.30.patch for ebuild-patch No 1
Created attachment 319762 [details, diff] audacious-plugins-3.3.ebuild patch No 1 variant One
Created attachment 319764 [details, diff] audacious-plugins-3.3.ebuild patch No 2 variant Two