media-libs/sdl2-mixer forces to set +fluidsynth or +timidity if +midi USE flag has been set.
However, sdl2-mixer builds fine with just
I suggest removing this line:
midi? ( || ( timidity fluidsynth ) )
and let the user decide whether they want a softsynth to begin with. Some users still have some H/W Midi devices =).
Bug 421337 is kind of related, although it is a different issue. However making this change would also fix 421337 as a side effect, if I've understood the issue correctly.
One possible issue with my suggestion is that an user might not be familiar with MIDI and be confused about not hearing any MIDI music with a player using SDL.
Steps to Reproduce:
Try to emerge media-libs/sdl2-mixer with +midi -timidity -fluidsynth
Lucky for you the games lead has some history with real MIDI hardware. ;) I think the best option would be to make the choice explicit by adding a native-midi flag. What do you think?
using the native-midi would indeed take care of the confusion part at least =).
In any case, I'm a bit indifferent on how to solve, I'd like someone more knowledgeable to decide =). But if I think about it, indeed the ability to enable/disable softsynths should be retained, so your suggestion would be better indeed.
Personally, I've already "solved" this by a local overlay (I have a bit of a thin setup and a slow computer and didn't want any softsynth there).