commit: 98cd426f120a6e9f75424616af90d8706af4c5f3
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 14 08:33:43 2025 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sun Dec 14 08:33:43 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=98cd426f
media-video/ffmpeg: drop 8.0
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
media-video/ffmpeg/Manifest | 2 -
media-video/ffmpeg/ffmpeg-8.0.ebuild | 590 -----------------------------------
2 files changed, 592 deletions(-)
diff --git a/media-video/ffmpeg/Manifest b/media-video/ffmpeg/Manifest
index 101db6b2b275..954a55ce4d74 100644
--- a/media-video/ffmpeg/Manifest
+++ b/media-video/ffmpeg/Manifest
@@ -16,8 +16,6 @@ DIST ffmpeg-7.1.3.tar.xz 11032252 BLAKE2B
c2cbc37407f5044b555e744671a75a1f6e4c57
DIST ffmpeg-7.1.3.tar.xz.asc 520 BLAKE2B
6d63b4b648cd4838293171fc147f5539c7ba1e45a7b0e54c0672db5abea0b73c35f70bfe53cb3262a4e15db66ff4062a52a8f482f74f594c18fcacfc0d8cb997
SHA512
60e99afea76b002ee6d6d8f2978b1f67e32165516106e36fb2ec362b45e929d30ef7b5a0a7765c720e392d40115d6ca0bb6911e194a8d4ddbf7edf51bb387ce1
DIST ffmpeg-8.0.1.tar.xz 11388848 BLAKE2B
fea49b663a3598d013969b22b34f7b0db677a90ef4bf27ff1ddf8b4e1d9c6eed598efa0f221baa50e4f0d9c877225b358b4192ecc9d2b725d853ef58e65379c9
SHA512
7af5cd1c7ba04f8d7ea1b54b64b9c235f2a606dc0c18d25cfdf20958bcad4851d3265b4894fc6ba5dd205c2309971c7e7fb890ee1d64e0a41a3faf159f77957f
DIST ffmpeg-8.0.1.tar.xz.asc 520 BLAKE2B
1a0ba97ceac3f1e2c4fbee61296cba74dec9686825840bd0b0fe5df42ec63d5fd6d236eb6dfd5862287dd5ef849a66be26b85c7639e35e47ac717b9bdd81822b
SHA512
f56e9e89ecdf9f12e3dae90b52289e5d09bfbfc0f6e13aaf17da9330c138fdb62b132f856c2fd16f5d9f5d6bcf1725602c8781c3e5f07bda6ce1306c379792ab
-DIST ffmpeg-8.0.tar.xz 11384428 BLAKE2B
8c45093665131e9aef07cc49726a2de008760728723cf9ee1833fe0697624ca2572c13eb319bd567b79fcb2db110b73fbbf0889237c10fc589d6f895a0e5aa88
SHA512
96f01fc3b881e208e8d35d858b2f60627f298b06103195e3e753b1c6429810d7a484d4daeebad6d0810172616383d103dfb5fcadc4512726c3719800d24a3fde
-DIST ffmpeg-8.0.tar.xz.asc 520 BLAKE2B
a36e051c9a54f8f9c5d3087a02ec01d25e28066e2bcc23dc835bf26ed5947e8ba8235fbd70a96bfdd3fc3cd8c9f2565725e31b493eb0f09dcb7878689deed66b
SHA512
a3faf35b62d149dd7a8f77a417b4046c50216972696fd8a573538550f29000d53b80caa5d7b81778c65dbb2980482cb111b13afc5ff70934f46cbafc3c4fd639
DIST ffmpeg-rpi-6.1-r3.patch 800738 BLAKE2B
b7e449ee5eec8b50a3b3bba233c5269f3b6845dbd18a619b844c841a97345ce24c7a5d7f4da05b08e3cb49668426b9044f3d3553d9c2ef3a50aec7199bfa3c09
SHA512
aeaf12afabf5f2192fb0b6ef47397d8477b109e49cee8c02a890d1656a27b1985c62c719ef72966d8c97b0709918233b65ea2e0ef988771507e4be137fcd9158
DIST ffmpeg-rpi-7.1.1.patch 847869 BLAKE2B
efc3fef1810034b40eee1f637499171529fc6027c4fc0ef66da587c704a7742b454903aa060b21305e1d9a714eb31d96cd93f93d7cadb5815a0de22ac040b9e1
SHA512
a3f9013aec9b17e0fc1689d946e57e251a88eac3f9e7856d46fe9614fea29211feaf106d32a31f97c0e8c83c1685ca454c31f9bcb5dafb669a0933d683e581c8
DIST ffmpeg-rpi-8.0.patch 850353 BLAKE2B
17c97bc7f1eb1d514a946780cf9c96520d6f09061c5e3d4add323d36fa0ebefef337ed9d1e1398a07547e37218ba20fc9a9677d3fc8e0c65d3ae2b2a63556e8a
SHA512
b4692d704a5256001147260e9345bf148e4f0fb492acefaf38793821a9bad53409702cb08eff039c82eeba8bc17cd5f994a463680e18ff3fcfae5905ae3335e9
diff --git a/media-video/ffmpeg/ffmpeg-8.0.ebuild
b/media-video/ffmpeg/ffmpeg-8.0.ebuild
deleted file mode 100644
index 87b40cfb6b1b..000000000000
--- a/media-video/ffmpeg/ffmpeg-8.0.ebuild
+++ /dev/null
@@ -1,590 +0,0 @@
-# Copyright 2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit flag-o-matic multilib-minimal toolchain-funcs
-
-FFMPEG_SOC_PATCH=ffmpeg-rpi-8.0.patch
-FFMPEG_SUBSLOT=60.62.62 # avutil.avcodec.avformat SONAME
-
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI=(
- https://git.ffmpeg.org/ffmpeg.git
- https://github.com/FFmpeg/FFmpeg.git
- )
-else
- inherit verify-sig
- SRC_URI="
- https://ffmpeg.org/releases/ffmpeg-${PV}.tar.xz
- verify-sig? (
https://ffmpeg.org/releases/ffmpeg-${PV}.tar.xz.asc )
- ${FFMPEG_SOC_PATCH:+"
- soc? (
https://dev.gentoo.org/~chewi/distfiles/${FFMPEG_SOC_PATCH} )
- "}
- "
- S=${WORKDIR}/ffmpeg-${PV} # avoid ${P} for ffmpeg-compat
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64
~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
-fi
-
-DESCRIPTION="Complete solution to record/convert/stream audio and video"
-HOMEPAGE="
- https://ffmpeg.org/
- https://code.ffmpeg.org/FFmpeg/FFmpeg/
-"
-
-[[ ${PN} == *-compat ]] && FFMPEG_UNSLOTTED= || FFMPEG_UNSLOTTED=1
-
-FFMPEG_IUSE_MAP=(
- # [+]flag[:[^][!]opt1,...][@<v3|nonfree>]], ^ = native-only, ! =
override
- # remember to keep LICENSE, REQUIRED_USE, and RESTRICT in sync
- X:libxcb,libxcb-shape,libxcb-shm,libxcb-xfixes,xlib
- alsa
- amf
- amrenc:libvo-amrwbenc@v3
- amr:libopencore-amrnb,libopencore-amrwb@v3
- appkit
- bluray:libbluray
- bs2b:libbs2b
- bzip2:bzlib
- cdio:libcdio
- chromaprint
- codec2:libcodec2
- cuda:cuda-llvm
- +dav1d:libdav1d
- ${FFMPEG_UNSLOTTED:+doc:^htmlpages}
- +drm:libdrm
- dvd:libdvdnav,libdvdread
- fdk:libfdk-aac@nonfree
- flite:libflite
- +fontconfig:libfontconfig
- frei0r
- fribidi:libfribidi
- gcrypt
- gme:libgme
- gmp:@v3
- +gnutls # unused if USE=openssl, default for bug #905113,#917627
- +gpl
- gsm:libgsm
- iec61883:libiec61883
- ieee1394:libdc1394
- jack:libjack
- jpeg2k:libopenjpeg
- jpegxl:libjxl
- kvazaar:libkvazaar
- ladspa
- lame:libmp3lame
- lcms:lcms2
- libaom
- libaribb24:@v3 # reminder: req use on gpl unneeded if >=1.0.4 (not in
tree)
- +libass
- libcaca
- libilbc
- liblc3
- libplacebo
- librtmp:librtmp
- libsoxr
- lv2
- lzma
- modplug:libmodplug
- nvenc:cuvid,ffnvcodec,nvdec,nvenc
- ocr:libtesseract
- openal
- opencl
- opengl
- openh264:libopenh264
- openmpt:libopenmpt
- openssl:openssl,!gnutls@v3ifgpl # still LGPL2.1+ if USE=-gpl
- opus:libopus
- pulseaudio:libpulse
- qrcode:libqrencode
- qsv:libvpl
- quirc:libquirc
- rabbitmq:^librabbitmq # no multilib
- rav1e:^librav1e # no multilib
- rubberband:librubberband
- samba:libsmbclient@v3 # GPL-3+ only
- sdl:sdl2
- shaderc:libshaderc
- snappy:libsnappy
- sndio
- speex:libspeex
- srt:libsrt
- ssh:libssh
- svg:librsvg
- svt-av1:libsvtav1
- theora:libtheora
- +truetype:libfreetype,libharfbuzz
- twolame:libtwolame
- v4l:libv4l2
- vaapi
- vdpau
- vidstab:libvidstab
- vmaf:libvmaf
- vorbis:libvorbis
- vpx:libvpx
- vulkan:vulkan,vulkan-static # still uses shared, only means no dlopen()
- webp:libwebp
- x264:libx264
- x265:libx265
- +xml:libxml2
- xvid:libxvid
- zeromq:^libzmq # no multilib
- zimg:libzimg
- +zlib
- zvbi:libzvbi
-)
-
-# all-rights is used to express the GPL incompatibility (RESTRICT=bindist)
-LICENSE="
- gpl? (
- GPL-2+
- amr? ( GPL-3+ ) amrenc? ( GPL-3+ ) libaribb24? ( GPL-3+ )
- gmp? ( GPL-3+ ) openssl? ( GPL-3+ )
- fdk? ( all-rights-reserved )
- )
- !gpl? (
- LGPL-2.1+
- amr? ( LGPL-3+ ) amrenc? ( LGPL-3+ ) libaribb24? ( LGPL-3+ )
- gmp? ( LGPL-3+ )
- )
- samba? ( GPL-3+ )
-"
-[[ ${FFMPEG_UNSLOTTED} ]] && : 0 || : "$(ver_cut 1)"
-SLOT="${_}/${FFMPEG_SUBSLOT}"
-IUSE="
- ${FFMPEG_IUSE_MAP[*]%:*}
- ${FFMPEG_UNSLOTTED:+chromium}
- ${FFMPEG_SOC_PATCH:+soc}
-"
-REQUIRED_USE="
- cuda? ( nvenc )
- fribidi? ( truetype )
- gmp? ( !librtmp )
- libplacebo? ( vulkan )
- shaderc? ( vulkan )
- libaribb24? ( gpl ) cdio? ( gpl ) dvd? ( gpl ) frei0r? ( gpl )
- rubberband? ( gpl ) samba? ( gpl ) vidstab? ( gpl ) x264? ( gpl )
- x265? ( gpl ) xvid? ( gpl )
- ${FFMPEG_UNSLOTTED:+chromium? ( opus )}
- ${FFMPEG_SOC_PATCH:+soc? ( drm )}
-"
-RESTRICT="gpl? ( fdk? ( bindist ) )"
-
-# dlopen: amdgpu-pro-amf
-COMMON_DEPEND="
- virtual/libiconv[${MULTILIB_USEDEP}]
- X? (
- x11-libs/libX11[${MULTILIB_USEDEP}]
- x11-libs/libXext[${MULTILIB_USEDEP}]
- x11-libs/libXv[${MULTILIB_USEDEP}]
- x11-libs/libxcb:=[${MULTILIB_USEDEP}]
- )
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
- amr? ( media-libs/opencore-amr[${MULTILIB_USEDEP}] )
- amrenc? ( media-libs/vo-amrwbenc[${MULTILIB_USEDEP}] )
- bluray? ( media-libs/libbluray:=[${MULTILIB_USEDEP}] )
- bs2b? ( media-libs/libbs2b[${MULTILIB_USEDEP}] )
- bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
- cdio? ( dev-libs/libcdio-paranoia:=[${MULTILIB_USEDEP}] )
- chromaprint? ( media-libs/chromaprint:=[${MULTILIB_USEDEP}] )
- codec2? ( media-libs/codec2:=[${MULTILIB_USEDEP}] )
- dav1d? ( media-libs/dav1d:=[${MULTILIB_USEDEP}] )
- dvd? (
- media-libs/libdvdnav[${MULTILIB_USEDEP}]
- media-libs/libdvdread:=[${MULTILIB_USEDEP}]
- )
- drm? ( x11-libs/libdrm[${MULTILIB_USEDEP}] )
- fdk? ( media-libs/fdk-aac:=[${MULTILIB_USEDEP}] )
- flite? ( app-accessibility/flite[${MULTILIB_USEDEP}] )
- fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
- frei0r? ( media-plugins/frei0r-plugins[${MULTILIB_USEDEP}] )
- fribidi? ( dev-libs/fribidi[${MULTILIB_USEDEP}] )
- gcrypt? ( dev-libs/libgcrypt:=[${MULTILIB_USEDEP}] )
- gme? ( media-libs/game-music-emu[${MULTILIB_USEDEP}] )
- gmp? ( dev-libs/gmp:=[${MULTILIB_USEDEP}] )
- gnutls? ( !openssl? (
- net-libs/gnutls:=[${MULTILIB_USEDEP}]
- ) )
- gsm? ( media-sound/gsm[${MULTILIB_USEDEP}] )
- iec61883? (
- media-libs/libiec61883[${MULTILIB_USEDEP}]
- sys-libs/libavc1394[${MULTILIB_USEDEP}]
- sys-libs/libraw1394[${MULTILIB_USEDEP}]
- )
- ieee1394? (
- media-libs/libdc1394:2=[${MULTILIB_USEDEP}]
- sys-libs/libraw1394[${MULTILIB_USEDEP}]
- )
- jack? ( virtual/jack[${MULTILIB_USEDEP}] )
- jpeg2k? ( media-libs/openjpeg:2=[${MULTILIB_USEDEP}] )
- jpegxl? ( media-libs/libjxl:=[${MULTILIB_USEDEP}] )
- kvazaar? ( media-libs/kvazaar:=[${MULTILIB_USEDEP}] )
- lame? ( media-sound/lame[${MULTILIB_USEDEP}] )
- lcms? ( media-libs/lcms:2[${MULTILIB_USEDEP}] )
- libaom? ( media-libs/libaom:=[${MULTILIB_USEDEP}] )
- libaribb24? ( media-libs/aribb24[${MULTILIB_USEDEP}] )
- libass? ( media-libs/libass:=[${MULTILIB_USEDEP}] )
- libcaca? ( media-libs/libcaca[${MULTILIB_USEDEP}] )
- libilbc? ( media-libs/libilbc:=[${MULTILIB_USEDEP}] )
- liblc3? ( >=media-sound/liblc3-1.1[${MULTILIB_USEDEP}] )
- libplacebo? ( media-libs/libplacebo:=[vulkan,${MULTILIB_USEDEP}] )
- librtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] )
- libsoxr? ( media-libs/soxr[${MULTILIB_USEDEP}] )
- lv2? (
- media-libs/lilv[${MULTILIB_USEDEP}]
- media-libs/lv2[${MULTILIB_USEDEP}]
- )
- lzma? ( app-arch/xz-utils[${MULTILIB_USEDEP}] )
- modplug? ( media-libs/libmodplug[${MULTILIB_USEDEP}] )
- ocr? ( app-text/tesseract:=[${MULTILIB_USEDEP}] )
- openal? ( media-libs/openal[${MULTILIB_USEDEP}] )
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
- opengl? ( media-libs/libglvnd[X,${MULTILIB_USEDEP}] )
- openh264? ( media-libs/openh264:=[${MULTILIB_USEDEP}] )
- openmpt? ( media-libs/libopenmpt[${MULTILIB_USEDEP}] )
- openssl? ( >=dev-libs/openssl-3:=[${MULTILIB_USEDEP}] )
- opus? ( media-libs/opus[${MULTILIB_USEDEP}] )
- pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
- qrcode? ( media-gfx/qrencode:=[${MULTILIB_USEDEP}] )
- qsv? ( media-libs/libvpl:=[${MULTILIB_USEDEP}] )
- quirc? ( media-libs/quirc:=[${MULTILIB_USEDEP}] )
- rabbitmq? ( net-libs/rabbitmq-c:= )
- rav1e? ( >=media-video/rav1e-0.5:=[capi] )
- rubberband? ( media-libs/rubberband:=[${MULTILIB_USEDEP}] )
- samba? ( net-fs/samba:=[client,${MULTILIB_USEDEP}] )
- sdl? (
- media-libs/libsdl2[sound(+),video(+),${MULTILIB_USEDEP}]
- libplacebo? ( media-libs/libsdl2[vulkan] )
- )
- shaderc? ( media-libs/shaderc[${MULTILIB_USEDEP}] )
- snappy? ( app-arch/snappy:=[${MULTILIB_USEDEP}] )
- sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] )
- speex? ( media-libs/speex[${MULTILIB_USEDEP}] )
- srt? ( net-libs/srt:=[${MULTILIB_USEDEP}] )
- ssh? ( net-libs/libssh:=[sftp,${MULTILIB_USEDEP}] )
- svg? (
- dev-libs/glib:2[${MULTILIB_USEDEP}]
- >=gnome-base/librsvg-2.52:2[${MULTILIB_USEDEP}]
- x11-libs/cairo[${MULTILIB_USEDEP}]
- )
- svt-av1? ( >=media-libs/svt-av1-0.9:=[${MULTILIB_USEDEP}] )
- theora? ( media-libs/libtheora:=[encode,${MULTILIB_USEDEP}] )
- truetype? (
- media-libs/freetype:2[${MULTILIB_USEDEP}]
- media-libs/harfbuzz:=[${MULTILIB_USEDEP}]
- )
- twolame? ( media-sound/twolame[${MULTILIB_USEDEP}] )
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
- vaapi? ( media-libs/libva:=[X?,${MULTILIB_USEDEP}] )
- vdpau? (
- x11-libs/libX11[${MULTILIB_USEDEP}]
- x11-libs/libvdpau[${MULTILIB_USEDEP}]
- )
- vidstab? ( media-libs/vidstab[${MULTILIB_USEDEP}] )
- vmaf? ( media-libs/libvmaf:=[${MULTILIB_USEDEP}] )
- vorbis? ( media-libs/libvorbis[${MULTILIB_USEDEP}] )
- vpx? ( media-libs/libvpx:=[${MULTILIB_USEDEP}] )
- vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
- webp? ( media-libs/libwebp:=[${MULTILIB_USEDEP}] )
- x264? ( media-libs/x264:=[${MULTILIB_USEDEP}] )
- x265? ( media-libs/x265:=[${MULTILIB_USEDEP}] )
- xml? ( dev-libs/libxml2:=[${MULTILIB_USEDEP}] )
- xvid? ( media-libs/xvid[${MULTILIB_USEDEP}] )
- zeromq? ( net-libs/zeromq:= )
- zimg? ( media-libs/zimg[${MULTILIB_USEDEP}] )
- zlib? ( virtual/zlib:=[${MULTILIB_USEDEP}] )
- zvbi? ( media-libs/zvbi[${MULTILIB_USEDEP}] )
- ${FFMPEG_SOC_PATCH:+"
- soc? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
- "}
-"
-RDEPEND="
- ${COMMON_DEPEND}
- amf? ( media-video/amdgpu-pro-amf )
-"
-DEPEND="
- ${COMMON_DEPEND}
- X? ( x11-base/xorg-proto )
- amf? ( >=media-libs/amf-headers-1.4.36-r1 )
- kernel_linux? ( >=sys-kernel/linux-headers-6 )
- ladspa? ( media-libs/ladspa-sdk )
- nvenc? ( >=media-libs/nv-codec-headers-12.1.14.0 )
- opencl? ( dev-util/opencl-headers )
- vulkan? ( >=dev-util/vulkan-headers-1.4.317 )
-"
-BDEPEND="
- app-alternatives/awk
- virtual/pkgconfig
- amd64? ( dev-lang/nasm )
- cuda? ( llvm-core/clang:*[llvm_targets_NVPTX] )
- ${FFMPEG_UNSLOTTED:+"
- dev-lang/perl
- doc? ( sys-apps/texinfo )
- "}
-"
-[[ ${PV} != 9999 ]] &&
- BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-ffmpeg )"
-
-DOCS=( CREDITS Changelog README.md doc/APIchanges )
-[[ ${PV} != 9999 ]] && DOCS+=( RELEASE_NOTES )
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/libavutil/avconfig.h
-)
-
-PATCHES=(
- "${FILESDIR}"/ffmpeg-6.1-opencl-parallel-gmake-fix.patch
-)
-
-pkg_pretend() {
- # TODO: drop this after a few months
- if has_version "${CATEGORY}/${PN}[mp3]" && use !lame; then #952971
- ewarn "${PN}'s 'mp3' USE was renamed to 'lame', please enable
it"
- ewarn "if wish to keep the ability to encode using
media-sound/lame."
- ewarn "This is *not* needed if only want mp3 playback."
- fi
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] || return
-
- if use chromaprint && has_version 'media-libs/chromaprint[tools]'; then
- ewarn "media-libs/chromaprint is installed with USE=tools which
links to"
- ewarn "ffmpeg, and USE=chromaprint is enabled on ffmpeg which
links to"
- ewarn "chromaprint (circular). This may cause issues when
updating ffmpeg."
- ewarn
- ewarn "If get a build failure with 'ERROR: chromaprint not
found' or so,"
- ewarn "first rebuild chromaprint with USE=-tools, then rebuild
ffmpeg, and"
- ewarn "then finally rebuild chromaprint with USE=tools again
(bug #862996)."
- fi
-
- [[ ${EXTRA_FFMPEG_CONF} ]] && # drop this eventually
- die "EXTRA_FFMPEG_CONF is set in the environment, please use
EXTRA_ECONF instead"
-}
-
-src_unpack() {
- if [[ ${PV} == 9999 ]]; then
- git-r3_src_unpack
- else
- use verify-sig &&
- verify-sig_verify_detached
"${DISTDIR}"/ffmpeg-${PV}.tar.xz{,.asc} \
- "${BROOT}"/usr/share/openpgp-keys/ffmpeg.asc
- default
- fi
-}
-
-src_prepare() {
- in_iuse chromium && PATCHES+=( "${FILESDIR}"/chromium-r3.patch )
- in_iuse soc && use soc && PATCHES+=( "${DISTDIR}"/${FFMPEG_SOC_PATCH} )
-
- default
-
- # respect user preferences
- sed -i '/cflags -fdiagnostics-color/d' configure || die
-
- # handle here to avoid repeating for each ABI below (bug #923491)
- FFMPEG_ENABLE_LTO=
- if tc-is-lto; then
- : "$(get-flag -flto)" # get -flto=<val> (e.g. =thin)
- FFMPEG_ENABLE_LTO=--enable-lto${_#-flto}
-
- tc-ld-is-mold && tc-is-clang && FFMPEG_ENABLE_LTO= #963835
- fi
- filter-lto
-}
-
-multilib_src_configure() {
- local conf=( "${S}"/configure ) # not autotools-based
-
- local prefix=${EPREFIX}/usr
- if [[ ! ${FFMPEG_UNSLOTTED} ]]; then
- prefix+=/lib/ffmpeg${SLOT%/*}
- # could get SONAME clashes, so prefer rpath over LDPATH
- conf+=(
- --enable-rpath
- --disable-doc
- )
- fi
-
- conf+=(
- --prefix="${prefix}"
- --libdir="${prefix}"/$(get_libdir)
- --shlibdir="${prefix}"/$(get_libdir)
- --mandir="${prefix}"/share/man
- --docdir="${EPREFIX}"/usr/share/doc/${PF}/html
-
- --ar="$(tc-getAR)"
- --cc="$(tc-getCC)"
- --cxx="$(tc-getCXX)"
- --nm="$(tc-getNM)"
- --pkg-config="$(tc-getPKG_CONFIG)"
- --ranlib="$(tc-getRANLIB)"
- --disable-stripping
-
- # overrides users' -g/-O, let *FLAGS handle these
- --disable-debug
- --disable-optimizations
- --optflags=' '
-
- # pass option over *FLAGS due to special logic (bug
#566282,#754654)
- ${FFMPEG_ENABLE_LTO}
-
- # basic defaults that should not really need a USE
- --enable-iconv
- --enable-pic
- --enable-shared
- --disable-static
- $(multilib_native_enable manpages) # needs pod2man
- --disable-podpages
- --disable-txtpages
-
- # disabled primarily due to being unpackaged
- --disable-decklink
- --disable-libaribcaption
- --disable-libdavs2
- --disable-libklvanc
- --disable-liblcevc-dec
- --disable-libmysofa
- --disable-liboapv
- --disable-libopenvino
- --disable-libshine
- --disable-libtls
- --disable-libuavs3d
- --disable-libvvenc
- --disable-libxavs
- --disable-libxavs2
- --disable-libxevd
- --disable-libxeve
- --disable-ohcodec
- --disable-pocketsphinx
- --disable-rkmpp
- --disable-vapoursynth
- --disable-whisper
-
- # disabled for other or additional reasons
- --disable-cuda-nvcc # prefer cuda-llvm for less issues
- --disable-libcelt # obsolete (bug #664158)
- --disable-libglslang # prefer USE=shaderc (bug
#918989,#920283,#922333)
- --disable-liblensfun # https://trac.ffmpeg.org/ticket/9112
(abandoned?)
- --disable-libmfx # prefer libvpl for USE=qsv
- --disable-libnpp # deprecated and not supported for cuda 13.0+
- --disable-libopencv # leaving for later due to circular
opencv[ffmpeg]
- --disable-librist # librist itself needs attention first (bug
#822012)
- --disable-libtensorflow # causes headaches, and is gone
- --disable-libtorch # support may need special attention (bug
#936127)
- --disable-mbedtls # messy with slots, tests underlinking issues
- --disable-mmal # prefer USE=soc
- --disable-omx # unsupported (bug #653386)
- --disable-omx-rpi # ^
-
- # to avoid obscure issues like bug #915384 and simplify the
ebuild,
- # not passing the following (use EXTRA_ECONF if really must):
- # --cpu: adds -march=<exact> after the user's more adapted
- # =native, its logic also does not account for -mno-*
- # --disable/enable-<cpufeature>: safer to detect at runtime
- )
-
- in_iuse soc && use soc &&
- conf+=(
- --disable-epoxy
- --enable-libudev
- --enable-sand
- --enable-v4l2-request
- )
-
- # broken on x32 (bug #427004), and not PIC safe on x86 (bug #916067)
- [[ ${ABI} == @(x32|x86) ]] && conf+=( --disable-asm )
-
- # disable due to asm-related failures on ppc (bug #951464, ppc64be)
- # https://trac.ffmpeg.org/ticket/9604 (ppc64el)
- # https://trac.ffmpeg.org/ticket/10955 (ppc64el)
- # (review re-enabling if resolved, or if debian allows it again)
- use ppc || use ppc64 && conf+=( --disable-asm )
-
- if tc-is-cross-compiler; then
- conf+=(
- --enable-cross-compile
- --arch="$(tc-arch-kernel)"
- --cross-prefix="${CHOST}-"
- --host-cc="$(tc-getBUILD_CC)"
- )
- case ${CHOST} in
- *mingw32*) conf+=( --target-os=mingw32 );;
- *linux*) conf+=( --target-os=linux );;
- esac
- fi
-
- # skipping tests is handled at configure-time
- local skip_tests=()
-
- # zlib-ng is not bitexact w/ zlib producing mismatching md5sum (bug
#965737)
- has_version 'sys-libs/zlib-ng[compat]' &&
- skip_tests+=(
- lavf-{apng{,.png},gray16be.png,png,rgb48be.png}
- mov-mp4-frag-flush
- vsynth{1,2,3}-{flashsv,mpng,zlib}
- )
-
- (( ${#skip_tests[@]} )) &&
- conf+=( --ignore-tests=$(IFS=,; echo "${skip_tests[*]}") )
-
- # import options from FFMPEG_IUSE_MAP
- local flag license mod v
- local -A optmap=() licensemap=()
- for v in "${FFMPEG_IUSE_MAP[@]}"; do
- [[ ${v} =~ \+?([^:]+):?([^@]*)@?(.*) ]] || die "${v}"
- flag=${BASH_REMATCH[1]}
- license=${BASH_REMATCH[3]}
- v=${BASH_REMATCH[2]:-${flag}}
- for v in ${v//,/ }; do
- mod=${v::1}
- v=${v#[\!\^]}
- if [[ ${mod} == '!' ]]; then
- if use ${flag}; then
- optmap[${v}]=--disable-${v}
- unset licensemap[${v}]
- fi
- elif [[ ! -v optmap[${v}] ]]; then
- if [[ ${mod} == '^' ]]; then
-
optmap[${v}]=$(multilib_native_use_enable ${flag} ${v})
- else
- optmap[${v}]=$(use_enable ${flag} ${v})
- fi
- use ${flag} && licensemap[${v}]=${license}
- fi
- done
- done
- for license in "${licensemap[@]}"; do
- case ${license} in
- v3ifgpl) use gpl || continue ;&
- v3) optmap[v3]=--enable-version3 ;;
- nonfree) use gpl && optmap[nonfree]=--enable-nonfree ;;
- esac
- done
- conf+=(
- "${optmap[@]}"
- ${EXTRA_ECONF}
- )
-
- einfo "${conf[*]}"
- "${conf[@]}" || die "configure failed, see
${BUILD_DIR}/ffbuild/config.log"
-}
-
-multilib_src_compile() {
- mkdir -p fftools/resources/ || die #965687
- emake V=1
- in_iuse chromium && use chromium && multilib_is_native_abi &&
- emake V=1 libffmpeg
-}
-
-multilib_src_test() {
- local -x LD_LIBRARY_PATH=$(printf %s:
"${BUILD_DIR}"/lib*)${LD_LIBRARY_PATH}
- emake V=1 -k fate
-}
-
-multilib_src_install() {
- emake V=1 DESTDIR="${D}" install
- in_iuse chromium && use chromium && multilib_is_native_abi &&
- emake V=1 DESTDIR="${D}" install-libffmpeg
-}