Looks like :3 slot could be used instead as I can see in debian package: http://packages.debian.org/sid/k3b This would be really interesting to try to drop musicbrainz:1 as it's dead and deprecated by upstream Thanks Reproducible: Always
It doesn't look like musicbrainz has ever ended up being used in the final binary. While support is enabled in the build system using K3B_ENABLE_MUSICBRAINZ, support is only enabled in the code with HAVE_MUSICBRAINZ, which is never defined. Further, patching the build system to actually enable this in the code results in build failure. I'd therefore suggest dropping the dep and useflag.
Not quite. K3B_ENABLE_MUSICBRAINZ triggers a find_package check for musicbrainz. If it ends up finding musicbrainz, later in the code it sets ENABLE_MUSICBRAINZ to 1. That variable in turn is used in src/CMakeLists.txt, and there, if it's enabled, it adds a few files to the list of those to be compiled, then later on if it's enabled it links k3b_bin against the musicbrainz libraries. I concur that there are several places that call for the undefined HAVE_MUSICBRAINZ. Not really sure why they have both, but the difference is that ENABLE adds stuff to build, whereas HAVE adds blocks to the code. Also, several of the ENABLE lines seem to be forcibly disabled by way of being enclosed by #ifdef 0 and #endif.
In any case, compiling after building k3b[musicbrainz] with forced --as-needed, there are no links to libmusicbrainz.
Agreed, no links and no apparent difference in the program from what I can see. (Interestingly, the build process bails out with an error if only musicbrainz:3 is installed). One suggestion, I'd recommend we add -DK3B_ENABLE_MUSICBRAINZ=OFF to mycmakeargs in the ebuild, since that flag is on by default and so this will guard against any automagic dependencies. Shouldn't be a problem, since it's apparently not linking against libmusicbrainz, but better off safe.
Fixed, thank-you for the report! + 19 May 2012; Michael Palimaka <kensington@gentoo.org> +k3b-2.0.2-r2.ebuild: + Drop use flag and dependency on musicbrainz since it doesn't actually do + anything useful, fixing bug #410347. Tidy ebuild.