Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 903175 - Breaking changes in SDL packages go without Portage news notice
Summary: Breaking changes in SDL packages go without Portage news notice
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo Games
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-03-27 09:17 UTC by Michał Dec
Modified: 2023-03-27 10:00 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michał Dec 2023-03-27 09:17:44 UTC
I've already discussed some of this on IRC, but it happened again.

What exactly happened on IRC? I complained that there's a problem with media-libs/libsdl having a lot of USEFLAGS cut. It oddly matched media-libs/libsdl2. With some googling the kind users on IRC found out that it's because media-libs/libsdl-1.2.60 is a wrapper for SDL1 apps to work with SDL2.

These are breaking changes for me because my systems are built with global USEFLAGS "-alsa pulseaudio" with per-package exceptions to ensure that whatever can use PulseAudio, does use it. That was set in stone for me before PipeWire existed, when there were 4 competing sound backends (ALSA, OSS, Jack, Pulse) for applications instead of 5.

Now, when =media-libs/sdl2-mixer-2.6.2-r1 arrives, it has (-mad%) (-mikmod%) (-modplug%) in its USE. Coincidentally, =games-emulation/snes9x-1.62.1 is also introducing (-glslang%) (-opengl%*) (-png%*).

This isn't exactly a bug report against software, but a bug report against lack of communication.

What is happening?
Why are there packages dropping out USEFLAGS left and right?
When is this going to end?
What mitigation actions should be prepared by end users?
Why is nothing like this communicated through Portage news?
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-03-27 09:24:02 UTC
Note that we don't tend to(In reply to Michał Dec from comment #0)
> I've already discussed some of this on IRC, but it happened again.
> 
> What exactly happened on IRC? I complained that there's a problem with
> media-libs/libsdl having a lot of USEFLAGS cut. It oddly matched
> media-libs/libsdl2. With some googling the kind users on IRC found out that
> it's because media-libs/libsdl-1.2.60 is a wrapper for SDL1 apps to work
> with SDL2.

Yes, and it's supposed to work transparently with USE flags being managed on sdl2. I think this is the first complaint we've had about it. We can only do things with which we're told.

> 
> These are breaking changes for me because my systems are built with global
> USEFLAGS "-alsa pulseaudio" with per-package exceptions to ensure that
> whatever can use PulseAudio, does use it. That was set in stone for me
> before PipeWire existed, when there were 4 competing sound backends (ALSA,
> OSS, Jack, Pulse) for applications instead of 5.
> 
> Now, when =media-libs/sdl2-mixer-2.6.2-r1 arrives, it has (-mad%) (-mikmod%)
> (-modplug%) in its USE. Coincidentally, =games-emulation/snes9x-1.62.1 is
> also introducing (-glslang%) (-opengl%*) (-png%*).

In the case of sdl2-mixer, support upstream for mikmod is gone and they now unconditionally use modplug with USE=mod.

snes9x is an emulator and emulators famously have a huge amount of churn. In this release, they (for unexplained reasons) switched back to Meson from CMake.

> 
> This isn't exactly a bug report against software, but a bug report against
> lack of communication.
> 
> What is happening?

Different things to different packages. You should ask about them individually, ideally before you get frustrated and need to ask about all of them together.

> Why are there packages dropping out USEFLAGS left and right?

For totally distinct reasons from each other.

> When is this going to end?

I think this is a bit dramatic.

> What mitigation actions should be prepared by end users?
> Why is nothing like this communicated through Portage news?

Because we don't tend to give news items for every single USE flag dropped or added to a package unless we anticipate particular disruption. Especially if upstream drop support for something because *they* don't consider it important at all anymore.
Comment 2 Ionen Wolkens gentoo-dev 2023-03-27 09:25:45 UTC
Yeah snes9x there's not much to say, it migrated from meson to cmake upstream and some options are no longer optional (aka it doesn't have a -DUSE_OPENGL or -DSCREENSHOT (png) for the gui build).

USE_SLANG exists, but it's currently forced on due to adding no dependencies and being broken if disabled.

Essentially lost no features, these are just enabled.
Comment 3 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-03-27 09:40:34 UTC
sorry, I should've added: you are very welcome to come and ask us stuff either in the form of a bug or on IRC at #gentoo-games if you're wondering about something. It's just hard to sort of handle something productively when it gets to a tipping point.
Comment 4 Michał Dec 2023-03-27 09:53:51 UTC
>Yes, and it's supposed to work transparently with USE flags being managed on sdl2. I think this is the first complaint we've had about it. We can only do things with which we're told.
That's fine. I've resolved this. I'd like to wait a bit before using the wrapper though, so it's masked on my end for now. Hopefully nothing bad will come from this.

>In the case of sdl2-mixer, support upstream for mikmod is gone and they now unconditionally use modplug with USE=mod.
>snes9x is an emulator and emulators famously have a huge amount of churn. In this release, they (for unexplained reasons) switched back to Meson from CMake.
Understandable, probably had their reasons.

>I think this is a bit dramatic.
A bit maybe, yeah. When the issues with SDL first reared their head on my systems, I have thought this is a one-off. IIRC, the sdl2->sdl USE mapping wouldn't work for me because I needed one of those with ALSA for eduke32. But now that I see more changes in SDL in general, I was worried there is something more happening.

>Yeah snes9x there's not much to say, it migrated from meson to cmake upstream and some options are no longer optional (aka it doesn't have a -DUSE_OPENGL or -DSCREENSHOT (png) for the gui build).
>USE_SLANG exists, but it's currently forced on due to adding no dependencies and being broken if disabled.
>Essentially lost no features, these are just enabled.
Thank you, that's a big relief!

>sorry, I should've added: you are very welcome to come and ask us stuff either in the form of a bug or on IRC at #gentoo-games if you're wondering about something. It's just hard to sort of handle something productively when it gets to a tipping point.
Thank you!