kde-plasma/plasma-meta has circular dependencies when first setting up on a fresh stage3. Default use flags should not have circular dependencies, or they should be automatically enabled/disabled during build time to resolve the conflict. 1. Unpack a stage3 2. Switch to the desktop/plasma profile 3. Attempt to emerge kde-plasma/plasma-meta Total: 80 packages (80 new), Size of downloads: 238,871 KiB * Error: circular dependencies: (media-libs/libsndfile-1.2.2:0/0::gentoo, ebuild scheduled for merge) depends on (media-sound/mpg123-1.31.3-r1:0/0::gentoo, ebuild scheduled for merge) (buildtime_slot_op) (media-libs/libpulse-16.1-r2:0/0::gentoo, ebuild scheduled for merge) (buildtime) (media-libs/libsndfile-1.2.2:0/0::gentoo, ebuild scheduled for merge) (buildtime) It might be possible to break this cycle by applying any of the following changes: - media-libs/libsndfile-1.2.2 (Change USE: +minimal) - media-sound/mpg123-1.31.3-r1 (Change USE: -pulseaudio)
Created attachment 872994 [details] emerge --info
Added upstream PR https://github.com/madebr/mpg123/pull/11 and upstream already applied the change to move internal headers from libmpg123 to shared source directory. Upstream suggests they probably need to add runtime checking for lib versions to make this change generally available. For Gentoo we can use this change already because we can guarantee version match between installed mpg123 and libmpg123 as Sam noted on the upstream PR.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a5043ad9fdbf0f7c6e8a5efa7449489bdbd091d1 commit a5043ad9fdbf0f7c6e8a5efa7449489bdbd091d1 Author: Igor V. Kovalenko <igor.v.kovalenko@gmail.com> AuthorDate: 2023-11-06 12:55:23 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-11-20 14:28:03 +0000 media-video/vlc: Depend on media-libs/libmpg123 Bug: https://bugs.gentoo.org/915858 Signed-off-by: Igor V. Kovalenko <igor.v.kovalenko@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/33689 Signed-off-by: Sam James <sam@gentoo.org> media-video/vlc/vlc-3.0.20-r1.ebuild | 517 +++++++++++++++++++++++++++++++++++ media-video/vlc/vlc-3.0.9999.ebuild | 2 +- media-video/vlc/vlc-9999.ebuild | 2 +- 3 files changed, 519 insertions(+), 2 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b81edc15f1a3c922d290b2524cf509d172df3e7c commit b81edc15f1a3c922d290b2524cf509d172df3e7c Author: Igor V. Kovalenko <igor.v.kovalenko@gmail.com> AuthorDate: 2023-11-06 12:55:23 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-11-20 14:28:01 +0000 media-plugins/gst-plugins-mpg123: Depend on media-libs/libmpg123 Bug: https://bugs.gentoo.org/915858 Signed-off-by: Igor V. Kovalenko <igor.v.kovalenko@gmail.com> Signed-off-by: Sam James <sam@gentoo.org> .../gst-plugins-mpg123-1.22.3-r1.ebuild | 15 +++++++++++++++ 1 file changed, 15 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=56d9f7cd7d782014755c4ed0e7dbe068f5ec3610 commit 56d9f7cd7d782014755c4ed0e7dbe068f5ec3610 Author: Igor V. Kovalenko <igor.v.kovalenko@gmail.com> AuthorDate: 2023-11-06 12:55:23 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-11-20 14:27:58 +0000 media-libs/libsndfile: Depend on media-libs/libmpg123 Bug: https://bugs.gentoo.org/915858 Signed-off-by: Igor V. Kovalenko <igor.v.kovalenko@gmail.com> Signed-off-by: Sam James <sam@gentoo.org> media-libs/libsndfile/libsndfile-1.2.2-r1.ebuild | 70 ++++++++++++++++++++++++ media-libs/libsndfile/libsndfile-9999.ebuild | 2 +- 2 files changed, 71 insertions(+), 1 deletion(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2c2663a76b16800dc83d1c8df19c99b4ddec0748 commit 2c2663a76b16800dc83d1c8df19c99b4ddec0748 Author: Igor V. Kovalenko <igor.v.kovalenko@gmail.com> AuthorDate: 2023-11-06 15:29:32 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-11-20 14:27:56 +0000 media-sound/mpg123: Depend on media-libs/libmpg123 Bug: https://bugs.gentoo.org/915858 Signed-off-by: Igor V. Kovalenko <igor.v.kovalenko@gmail.com> Signed-off-by: Sam James <sam@gentoo.org> .../mpg123-1.32.3-build-programs-component.patch | 55 +++++ .../mpg123-1.32.3-build-with-installed-libs.patch | 252 +++++++++++++++++++++ media-sound/mpg123/mpg123-1.32.3-r1.ebuild | 107 +++++++++ 3 files changed, 414 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a61300708917d19556d18dfb93352817d5c687fe commit a61300708917d19556d18dfb93352817d5c687fe Author: Igor V. Kovalenko <igor.v.kovalenko@gmail.com> AuthorDate: 2023-11-06 15:28:34 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-11-20 14:27:53 +0000 media-libs/libmpg123: Add 1.32.3, split out from media-sound/mpg123 Bug: https://bugs.gentoo.org/915858 Signed-off-by: Igor V. Kovalenko <igor.v.kovalenko@gmail.com> Signed-off-by: Sam James <sam@gentoo.org> media-libs/libmpg123/Manifest | 1 + .../mpg123-1.32.3-build-programs-component.patch | 55 +++++ .../mpg123-1.32.3-build-with-installed-libs.patch | 252 +++++++++++++++++++++ media-libs/libmpg123/libmpg123-1.32.3.ebuild | 104 +++++++++ media-libs/libmpg123/metadata.xml | 17 ++ profiles/arch/amd64/package.use.mask | 1 + .../prefix/darwin/macos/arch/ppc/package.use.mask | 1 + .../prefix/darwin/macos/arch/x64/package.use.mask | 1 + 8 files changed, 432 insertions(+)
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d6e8e5ce363161ef66f039fbee8c25f99047280e commit d6e8e5ce363161ef66f039fbee8c25f99047280e Author: Igor V. Kovalenko <igor.v.kovalenko@gmail.com> AuthorDate: 2023-11-22 15:38:29 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-11-22 17:54:55 +0000 media-libs/libmpg123: Clean up after package split Drop moving mpg123 binary which is not built for this library package. Bug: https://bugs.gentoo.org/915858 Signed-off-by: Igor V. Kovalenko <igor.v.kovalenko@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/33936 Signed-off-by: Sam James <sam@gentoo.org> media-libs/libmpg123/libmpg123-1.32.3-r1.ebuild | 1 - 1 file changed, 1 deletion(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=41d9b20811698aee8b56703cb58b2256dda4a531 commit 41d9b20811698aee8b56703cb58b2256dda4a531 Author: Igor V. Kovalenko <igor.v.kovalenko@gmail.com> AuthorDate: 2023-11-22 15:38:19 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-11-22 17:54:55 +0000 media-sound/mpg123: Add missing die check Bug: https://bugs.gentoo.org/915858 Signed-off-by: Igor V. Kovalenko <igor.v.kovalenko@gmail.com> Signed-off-by: Sam James <sam@gentoo.org> media-sound/mpg123/mpg123-1.32.3-r1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
After discussing things with mpg123 team I did another PR https://github.com/gentoo/gentoo/pull/34190 using suggested package split method. Here mpg123 is a metapackage pulling mpg123-base with everything but output plugins and mpg123-output-plugins with just output plugins which could form dependency cycle. Pkgcheck does complain about detected package move but the rest of PR 34190 should be fine. Please have a look if this looks better than original split with libmpg123.
This split leads to an error for me when trying to play mp3s with mpg123: [/var/tmp/portage/media-libs/libmpg123-1.32.3-r1/work/mpg123-1.32.3/src/libout123/module.c:INT123_open_module():184] error: Failure getting module directory! (Perhaps set MPG123_MODDIR?) [/var/tmp/portage/media-libs/libmpg123-1.32.3-r1/work/mpg123-1.32.3/src/libout123/libout123.c:out123_open():483] error: Found no driver out of [pulse] working with device <default>. main: [/var/tmp/portage/media-sound/mpg123-1.32.3-r1/work/mpg123-1.32.3/src/mpg123.c:check_fatal_output():337] error: out123 error 3: failure loading driver module This is caused by all output modules being missing from /usr/lib64/mpg123 (as well as the whole directory). Adding libout modules enablement from the mpg123 ebuild to the libmpg123 ebuild fixes it for me: --- /var/db/repos/gentoo/media-libs/libmpg123/libmpg123-1.32.3-r1.ebuild.orig 2023-12-24 10:06:14.642177225 +0100 +++ /var/db/repos/gentoo/media-libs/libmpg123/libmpg123-1.32.3-r1.ebuild 2023-12-24 10:04:44.874452255 +0100 @@ -80,6 +80,7 @@ ) multilib_is_native_abi || myconf+=( --disable-modules ) + multilib_is_native_abi && myconf+=( --enable-libout123-modules ) ECONF_SOURCE="${S}" econf "${myconf[@]}" It appears, the logic for selecting output modules remained in the mpg123 ebuild while libout123 moved to libmpg123 without any output module selection or enabling. Also, module selection in libmpg123 is now automagic and no longer honours use flags. I can't help but wonder if there actually are any users of libout123 aside from mpg123 itself. revdep-rebuild on my system says no. So could/should it perhaps remain in the mpg123 ebuild? $ revdep-rebuild -L libmpg123.so.0 -p emerge --pretend --oneshot --complete-graph=y media-plugins/gst-plugins-mpg123:1.0 media-video/vlc:0/5-9 media-plugins/audacious-plugins: 0 media-libs/sdl-sound:0 media-sound/mpg123:0 media-libs/libsndfile:0 $ revdep-rebuild -L libout123.so.0 -p emerge --pretend --oneshot --complete-graph=y media-sound/mpg123:0
(In reply to Michael Weiser from comment #6) > This split leads to an error for me when trying to play mp3s with mpg123: > > [/var/tmp/portage/media-libs/libmpg123-1.32.3-r1/work/mpg123-1.32.3/src/ > libout123/module.c:INT123_open_module():184] error: Failure getting module > directory! (Perhaps set MPG123_MODDIR?) > [/var/tmp/portage/media-libs/libmpg123-1.32.3-r1/work/mpg123-1.32.3/src/ > libout123/libout123.c:out123_open():483] error: Found no driver out of > [pulse] working with device <default>. > main: > [/var/tmp/portage/media-sound/mpg123-1.32.3-r1/work/mpg123-1.32.3/src/mpg123. > c:check_fatal_output():337] error: out123 error 3: failure loading driver > module > > This is caused by all output modules being missing from /usr/lib64/mpg123 > (as well as the whole directory). > > Adding libout modules enablement from the mpg123 ebuild to the libmpg123 > ebuild fixes it for me: > > --- > /var/db/repos/gentoo/media-libs/libmpg123/libmpg123-1.32.3-r1.ebuild.orig > 2023-12-24 10:06:14.642177225 +0100 > +++ /var/db/repos/gentoo/media-libs/libmpg123/libmpg123-1.32.3-r1.ebuild > 2023-12-24 10:04:44.874452255 +0100 > @@ -80,6 +80,7 @@ > ) > > multilib_is_native_abi || myconf+=( --disable-modules ) > + multilib_is_native_abi && myconf+=( --enable-libout123-modules ) > > ECONF_SOURCE="${S}" econf "${myconf[@]}" > > It appears, the logic for selecting output modules remained in the mpg123 > ebuild while libout123 moved to libmpg123 without any output module > selection or enabling. > > Also, module selection in libmpg123 is now automagic and no longer honours > use flags. > > I can't help but wonder if there actually are any users of libout123 aside > from mpg123 itself. revdep-rebuild on my system says no. So could/should it > perhaps remain in the mpg123 ebuild? > > $ revdep-rebuild -L libmpg123.so.0 -p > emerge --pretend --oneshot --complete-graph=y > media-plugins/gst-plugins-mpg123:1.0 media-video/vlc:0/5-9 > media-plugins/audacious-plugins: > 0 media-libs/sdl-sound:0 media-sound/mpg123:0 media-libs/libsndfile:0 > > $ revdep-rebuild -L libout123.so.0 -p > emerge --pretend --oneshot --complete-graph=y media-sound/mpg123:0 Yes libmpg123 should have corresponding USE flags and also this audio section similar to what I did for base/output-plugins split later https://github.com/gentoo/gentoo/pull/34190/files#diff-24009af3a6ab92a8b52d1f9609e21a243989c810b5451ce26d5f2fbe8bbbba4aR83-R84
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f5b85f21e57fd8aa0ef74fd97dd9c745c8a7e344 commit f5b85f21e57fd8aa0ef74fd97dd9c745c8a7e344 Author: Igor V. Kovalenko <igor.v.kovalenko@gmail.com> AuthorDate: 2023-12-09 11:52:39 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-01-05 09:52:35 +0000 media-libs/libmpg123: Drop, replaced with media-sound/mpg123-base and mpg123 metapackage Bug: https://bugs.gentoo.org/915858 Signed-off-by: Igor V. Kovalenko <igor.v.kovalenko@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/34190 Signed-off-by: Sam James <sam@gentoo.org> media-libs/libmpg123/Manifest | 1 - .../mpg123-1.32.3-build-programs-component.patch | 55 ----- .../mpg123-1.32.3-build-with-installed-libs.patch | 252 --------------------- media-libs/libmpg123/libmpg123-1.32.3-r1.ebuild | 94 -------- media-libs/libmpg123/metadata.xml | 17 -- profiles/arch/amd64/package.use.mask | 1 - .../prefix/darwin/macos/arch/ppc/package.use.mask | 1 - .../prefix/darwin/macos/arch/x64/package.use.mask | 1 - 8 files changed, 422 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=678ac3aa7124df6309e213caa7b5efa189939a35 commit 678ac3aa7124df6309e213caa7b5efa189939a35 Author: Igor V. Kovalenko <igor.v.kovalenko@gmail.com> AuthorDate: 2023-12-09 10:58:14 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-01-05 09:52:35 +0000 media-libs/mpg123: Convert into metapackage and drop libmpg123, 1.32.3-r100 Bug: https://bugs.gentoo.org/915858 Signed-off-by: Igor V. Kovalenko <igor.v.kovalenko@gmail.com> Signed-off-by: Sam James <sam@gentoo.org> media-libs/libsndfile/libsndfile-9999.ebuild | 2 +- media-plugins/mpg123-output-plugins/Manifest | 1 + media-plugins/mpg123-output-plugins/metadata.xml | 18 ++ .../mpg123-output-plugins-1.32.3.ebuild | 106 +++++++++ media-sound/mpg123-base/Manifest | 1 + media-sound/mpg123-base/metadata.xml | 18 ++ .../mpg123-base-1.32.3.ebuild} | 61 ++--- .../mpg123-1.32.3-build-programs-component.patch | 55 ----- .../mpg123-1.32.3-build-with-installed-libs.patch | 252 --------------------- media-sound/mpg123/mpg123-1.32.3-r100.ebuild | 23 ++ profiles/arch/amd64/package.use.mask | 1 + .../prefix/darwin/macos/arch/ppc/package.use.mask | 1 + .../prefix/darwin/macos/arch/x64/package.use.mask | 1 + 13 files changed, 204 insertions(+), 336 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=35fd261aa34f05341693ae765bde160cdbb7591c commit 35fd261aa34f05341693ae765bde160cdbb7591c Author: Igor V. Kovalenko <igor.v.kovalenko@gmail.com> AuthorDate: 2023-12-09 11:09:17 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-01-05 09:52:34 +0000 media-video/vlc: Depend on media-sound/mpg123-base Bug: https://bugs.gentoo.org/915858 Signed-off-by: Igor V. Kovalenko <igor.v.kovalenko@gmail.com> Signed-off-by: Sam James <sam@gentoo.org> media-video/vlc/vlc-3.0.20-r1.ebuild | 517 --------------------- .../{vlc-3.0.20-r2.ebuild => vlc-3.0.20-r3.ebuild} | 2 +- media-video/vlc/vlc-3.0.9999.ebuild | 2 +- media-video/vlc/vlc-9999.ebuild | 2 +- 4 files changed, 3 insertions(+), 520 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a8bf0bfb44b924138482572cb1b635e3ad1834ae commit a8bf0bfb44b924138482572cb1b635e3ad1834ae Author: Igor V. Kovalenko <igor.v.kovalenko@gmail.com> AuthorDate: 2023-12-09 11:07:01 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-01-05 09:52:34 +0000 media-libs/libsndfile: Depend on media-sound/mpg123-base Bug: https://bugs.gentoo.org/915858 Signed-off-by: Igor V. Kovalenko <igor.v.kovalenko@gmail.com> Signed-off-by: Sam James <sam@gentoo.org> .../{libsndfile-1.2.2-r1.ebuild => libsndfile-1.2.2-r2.ebuild} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6bf233988e37a9c7ee4c69fd14d9286e339020b6 commit 6bf233988e37a9c7ee4c69fd14d9286e339020b6 Author: Igor V. Kovalenko <igor.v.kovalenko@gmail.com> AuthorDate: 2023-12-09 11:04:45 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-01-05 09:52:34 +0000 media-plugins/gst-plugins-mpg123: Depend on media-sound/mpg123-base Bug: https://bugs.gentoo.org/915858 Signed-off-by: Igor V. Kovalenko <igor.v.kovalenko@gmail.com> Signed-off-by: Sam James <sam@gentoo.org> ...gins-mpg123-1.22.3-r1.ebuild => gst-plugins-mpg123-1.22.3-r2.ebuild} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=67a1d632449fbf83f4469b187e3d50c4b3931332 commit 67a1d632449fbf83f4469b187e3d50c4b3931332 Author: Sam James <sam@gentoo.org> AuthorDate: 2024-01-05 10:22:59 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-01-05 10:24:23 +0000 media-plugins/gst-plugins-mpg123: Depend on media-sound/mpg123-base for 1.20.x Bug: https://bugs.gentoo.org/915858 Signed-off-by: Sam James <sam@gentoo.org> .../gst-plugins-mpg123-1.20.6-r1.ebuild | 15 +++++++++++++++ 1 file changed, 15 insertions(+)
All done. Thank you very much Igor.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6903d98e459c3089700ad60a89b10671802679e8 commit 6903d98e459c3089700ad60a89b10671802679e8 Author: Sam James <sam@gentoo.org> AuthorDate: 2024-11-26 05:48:00 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-11-26 06:05:24 +0000 media-sound/mpg123-base: add 1.32.9 There's a bunch of configure option changes upstream which I want to double check with Igor, but I'm pretty sure that we discussed them all before and it doesn't change the approach we took wrt the mpg123-base and mpg123-output-plugins split for bug #915858 -- so I've not changed any of that in the ebuild. Bug: https://bugs.gentoo.org/915858 Bug: https://bugs.gentoo.org/942561 Closes: https://bugs.gentoo.org/943699 Signed-off-by: Sam James <sam@gentoo.org> media-sound/mpg123-base/Manifest | 1 + media-sound/mpg123-base/mpg123-base-1.32.9.ebuild | 109 ++++++++++++++++++++++ 2 files changed, 110 insertions(+)