This is a linux distribution specific blog entry. The initial issue that needed to be solved, lead finally to a complete different solution.

During maintanance, a gentoo system pulled an updated nvidia-drivers ebuiild, which is not working with the installed video card. The installed video card has been set EOL/EOS by the manufacturer, but apart from that it still working fine.

The affecting package has been the media-video/ffmpeg ebuild. The USE flags of media-video/ffmpeg package show in the last line:

* media-video/ffmpeg
     Available versions:  3.4.6-r1(0/55.57.57)^d 4.1.3(0/56.58.58)^d{tbz2} 
     ~4.1.4(0/56.58.58)^d ~4.2.1(0/56.58.58)^d **9999(0/56.58.58)*l^d 
     {X alsa altivec amr amrenc appkit bluray bs2b +bzip2 cdio chromaprint 
     chromium codec2 cpudetection... 
     ...
     ...
     +graph2dot +ismindex +pktdumper +qt-faststart +sidxindex +trasher" 
     VIDEO_CARDS="nvidia"}

Last entry reads ''VIDEO_CARDS="nvidia". How to instruct portage to negate the global system video card setting on only a specific ebuild? The graphics card setting is configured in the /etc/portage/make.conf file:

larry@gentoo ~ % grep VIDEO /etc/portage/make.conf      
VIDEO_CARDS="nvidia fbdev nv intel"

Following examples below show how portage, does exactly this. Ignoring a global system setting on a per package basis. There are 2 different syntax examples for the same result. The first syntax option:

/etc/portage/package.use
media-video/ffmpeg -video_cards_nvidia

The second syntax option:

/etc/portage/package.use
media-video/ffmpeg VIDEO_CARDS: -nvidia

One more example for second syntax option where it would make sense to use:

/etc/portage/package.use
www-servers/apache APACHE2_MODULES: dbd cupio ident http2 foo bar baz

As everything has been prepared to rebuild ffmpeg, the rebuild of that package has failed. The build spit out an error and quit. At this point there was no other way to use the ffmpeg package in current hardware setup. Exploring the packages depending on ffmpeg showed there are only few packages depending on it:

larry@gentoo ~ % equery d ffmpeg
* These packages depend on ffmpeg
media-sound/mpd-0.21.14 (!libav ? media-video/ffmpeg:0)
dev-qt/qtwebengine-5.12.3 (system-ffmpeg ? media-video/ffmpeg:0)
media-video/mplayer-1.3.0-r5 (>=media-video/ffmpeg-3.0:0[vdpau?])
virtual/ffmpeg-9-r2 (!libav ? >=media-video/ffmpeg-1.2.6-r1:0[X?,encode?,gsm?,jpeg2k?,mp3?,opus?,sdl?,speex?,theora?,threads?,truetype?,vaapi?,vdpau?,x264?])
www-client/firefox-bin-69.0.3 (ffmpeg ? media-video/ffmpeg)
www-client/seamonkey-2.49.5-r1 (virtual/ffmpeg)

The MPD dependencies reveal, mpd does not rely only on ffmpeg, but could be build with libav USE flag instead, just like a drop-in-replacement. Some packages relied on virtual/ffmpeg. It made only sense to migrate away from ffmpeg to the libav library. Operating system flexibility at its best, but only if the packages support it. Worked fine for me, this time.