ffmpeg-compat.eclass
Description
To use this, run ffmpeg_compat_setup <slot> before packages use
pkg-config, depend on media-video/ffmpeg-compat:<slot>, and ensure
usage of both pkg-config --cflags and --libs (which adds -Wl,-rpath
to find libraries at runtime). Always verify that it is linked with
the right libraries after.
This eclass is intended as a quick-to-setup alternative to setting an upper bound on ffmpeg for packages broken with the latest version, and thus allow users to upgrade their normal ffmpeg.
This should still be a temporary measure, and it is recommended to keep migration bugs open rather than consider this eclass as being the "fix".
Unlike LLVM_SLOT-style, this does not have USE to select the slot and should instead pick only the highest one usable until package is fixed and can use non-slotted ffmpeg again.
Do not use both like || ( <ffmpeg-<ver> ffmpeg-compat:<slot> ),
the package manager cannot know which version it linked against
without USE flags. Unfortunately means a period where users may
have two identical versions in stable before the newest major version
is stabilized, but idea is to not mangle normal ffmpeg with slotting
logic and make this an isolated temporary deal.
Functions
- ffmpeg_compat_add_flags
-
Append
pkg-config --cflags libavcodecto CPPFLAGS and --libs-only-{L,other} to LDFLAGS for the current ABI.Must run
ffmpeg_compat_setup <slot>first.Ideally this function should not be used, but can be useful when packages do not use pkg-config properly or drop some flags (common with cmake).
For multilib, ebuild should preserve previous flags by doing e.g.
local -x CPPFLAGS=${CPPFLAGS} LDFLAGS=${LDFLAGS}first. - ffmpeg_compat_get_prefix <slot>
-
Return prefix of the installed ffmpeg-compat:<slot>. Binaries like ffmpeg will be found under <prefix>/bin if needed.
- ffmpeg_compat_setup <slot>
-
Add ESYSROOT's ffmpeg-compat:<slot> to PKG_CONFIG_PATH for the current ABI.
Authors
Ionen Wolkens <ionen@gentoo.org>
Maintainers
Ionen Wolkens <ionen@gentoo.org>
Reporting Bugs
Please report bugs via https://bugs.gentoo.org/