public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg-compat/
@ 2025-03-11  9:04 Ionen Wolkens
  0 siblings, 0 replies; 29+ messages in thread
From: Ionen Wolkens @ 2025-03-11  9:04 UTC (permalink / raw
  To: gentoo-commits

commit:     f2919aaeb166829669a6f0c10315b2fb3e071fd2
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sun Mar  9 15:54:53 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Mar 11 09:03:19 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f2919aae

media-video/ffmpeg-compat: new package, add 4.4.5, 6.1.2

Meant to be used with ffmpeg-compat.eclass, see its description.

4.4.5 likely won't see much use at this point if the ffmpeg-5
tracker is not missing anything, but adding anyway for now.

Note that this is not intended to provide libraries for old prebuilt
binaries, it is for building against using the eclass. If prebuilts
want to use this then they will likely need patchelf.

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 media-video/ffmpeg-compat/Manifest                 |   8 +
 .../ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild       | 484 ++++++++++++++++++
 .../ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild       | 562 +++++++++++++++++++++
 media-video/ffmpeg-compat/metadata.xml             | 121 +++++
 4 files changed, 1175 insertions(+)

diff --git a/media-video/ffmpeg-compat/Manifest b/media-video/ffmpeg-compat/Manifest
new file mode 100644
index 000000000000..d496ea7da759
--- /dev/null
+++ b/media-video/ffmpeg-compat/Manifest
@@ -0,0 +1,8 @@
+DIST ffmpeg-4.4-patchset-1.tar.xz 9916 BLAKE2B 9b41de6b048601f2af41864c3262b3348330f792eea71df4cfab5e740626ee6c633ac5569e6e91d953143f6ad0fac15c840ef0643925e91261f8b4a32e2d386c SHA512 b11d9e182ddb0a48f50d63f5e0bd7fd99f4b8fa7dd17179a3bfbc9419dabb76401408a81ae2d5f118fbf67f28dcfdc3bfb5b7ac70f740259e3ebad8d1ba049bb
+DIST ffmpeg-4.4.5.tar.xz 9575596 BLAKE2B 546df09f7731d22e532a18d9ba9be184283f62b7a2e9470e745e536802bc2263a00f11ed6ab0aee8fc60c5f728826311cbf3542084ba3a64b65a61d76295cd64 SHA512 70df4e63ef507a7ec76da34438142499139769728fd5130d9cf48d56c110ec82c3d6a7e6d1622da03c70167fa861d901d016bbe52c21d2b284b8a0d9f30811dc
+DIST ffmpeg-4.4.5.tar.xz.asc 520 BLAKE2B 505987208ed58b548f910299adb1324e6eba655cc37e6f03cac32c8623e16a4a884e822c745fb72b1934129a8c0a2706bb8bfb785715e6a68e43f737cb8ed365 SHA512 bcfee8986681dfbefd3add741fcbbc5e223bb06c9800797e68fde968c114055ac3fc02ce8731ed269bf30c92d6c990c7f636f82d42379920012e8a0ace8d527e
+DIST ffmpeg-6.1-patchset-1.tar.xz 11296 BLAKE2B 5227d0c7f52a4f217d5517da11c2327585375c9d860f31415e1079f4f1f9186637e07c7da0e168c732cc7abb953440f0ba952395db83074588eb31bee1d5bc9f SHA512 20fe94536a5c3873d0126ff535a3bff595dedc7787162f160ecde6cbd357b9eb3749c9d7b7543aa39896ceb4e656494d31811bf26682776cdfc693fe030cd77b
+DIST ffmpeg-6.1.2.tar.xz 10466152 BLAKE2B ff1f2b2bb60ccc4c37b6ffda2a0e6a0be80c451dc99f6d4a99bd95a1bdc44c494d62377c53383ccfb5b818573a1971948d7db34119099dbc56d7258724831d3c SHA512 3a009184d971fc3168e1322d1d724aae787ed0e9c152d8d1813ea0b9099bda3b35c41fcabbd7b140560e7a8fa9fa1ffd7f0938432d5d498c43829fc6cc3d9e08
+DIST ffmpeg-6.1.2.tar.xz.asc 520 BLAKE2B f26a2d6f5423f93090f2a448172e49f3858aeb5a00f326207d374bbb70fa8942c7ee1a7c55338b2db664b647c983cd5ab4fd8d71efe5c37af4c90385ca17d0ab SHA512 a26dba1f4870b964080b45f8468f5ce3591eb6aa69be426bf4afbe5a60c3cbd0fe5056dc86ca7bb817c04ae30d39160cb7773772a9a2123ae7f095b18a6d7050
+DIST ffmpeg-rpi-6.1-r3.patch 800738 BLAKE2B b7e449ee5eec8b50a3b3bba233c5269f3b6845dbd18a619b844c841a97345ce24c7a5d7f4da05b08e3cb49668426b9044f3d3553d9c2ef3a50aec7199bfa3c09 SHA512 aeaf12afabf5f2192fb0b6ef47397d8477b109e49cee8c02a890d1656a27b1985c62c719ef72966d8c97b0709918233b65ea2e0ef988771507e4be137fcd9158
+DIST ffmpeg-rpi-6.1-r3.patch.asc 833 BLAKE2B 31fd5823c06d5884f7b0980de9072c35bbf4e1d6c0ed20b089439325d50956127238ca29469b003dba623b888a5aae3c4d8ad177862534e77b8e51f29cbed96c SHA512 3d8943b7151e20f73e9c14b121c501847bd7e01f2cf57ff135fc8c223653ec9d433bfe4012fa564f70c0471980b66d7ec3d9b5b1b14865187187719ba110cb5f

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild
new file mode 100644
index 000000000000..e86d43b6f530
--- /dev/null
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild
@@ -0,0 +1,484 @@
+# 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_SUBSLOT=56.58.58 # 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 )
+		https://dev.gentoo.org/~ionen/distfiles/ffmpeg-$(ver_cut 1-2)-patchset-1.tar.xz
+	"
+	S=${WORKDIR}/ffmpeg-${PV} # avoid ${P}
+	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/"
+
+[[ ${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
+	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
+	doc:^htmlpages
+	+drm:libdrm
+	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
+	kvazaar:libkvazaar
+	ladspa
+	lame:libmp3lame
+	libaom
+	libaribb24:@v3 # reminder: req use on gpl unneeded if >=1.0.4 (not in tree)
+	+libass
+	libcaca
+	libilbc
+	librtmp:librtmp
+	libsoxr
+	libtesseract
+	lv2
+	lzma
+	modplug:libmodplug
+	nvenc:cuvid,ffnvcodec,nvdec,nvenc
+	openal
+	opencl
+	opengl
+	openh264:libopenh264
+	openmpt:libopenmpt
+	openssl:openssl,!gnutls@v3ifgpl # still LGPL2.1+ if USE=-gpl
+	opus:libopus
+	+postproc # exposed as a USE for clarity with the GPL requirement
+	pulseaudio:libpulse
+	rabbitmq:^librabbitmq # no multilib
+	rav1e:^librav1e # no multilib
+	rubberband:librubberband
+	samba:libsmbclient@v3 # GPL-3+ only
+	sdl:sdl2
+	snappy:libsnappy
+	sndio
+	speex:libspeex
+	srt:libsrt
+	ssh:libssh
+	svg:librsvg
+	svt-av1:libsvtav1
+	theora:libtheora
+	+truetype:libfreetype
+	twolame:libtwolame
+	v4l:libv4l2
+	vaapi
+	vdpau
+	vidstab:libvidstab
+	vorbis:libvorbis
+	vpx:libvpx
+	vulkan
+	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[*]%:*}"
+REQUIRED_USE="
+	fribidi? ( truetype )
+	gmp? ( !librtmp )
+	libaribb24? ( gpl ) cdio? ( gpl ) frei0r? ( gpl ) postproc? ( gpl )
+	rubberband? ( gpl ) samba? ( gpl ) vidstab? ( gpl ) x264? ( gpl )
+	x265? ( gpl ) xvid? ( gpl )
+"
+RESTRICT="gpl? ( fdk? ( bindist ) )"
+
+# dlopen: vulkan-loader
+RDEPEND="
+	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}] )
+	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}] )
+	kvazaar? ( media-libs/kvazaar:=[${MULTILIB_USEDEP}] )
+	lame? ( media-sound/lame[${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}] )
+	librtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] )
+	libsoxr? ( media-libs/soxr[${MULTILIB_USEDEP}] )
+	libtesseract? ( app-text/tesseract:=[${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}] )
+	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}] )
+	rabbitmq? ( net-libs/rabbitmq-c:= )
+	rav1e? ( >=media-video/rav1e-0.4:=[capi] )
+	rubberband? ( media-libs/rubberband:=[${MULTILIB_USEDEP}] )
+	samba? ( net-fs/samba:=[client,${MULTILIB_USEDEP}] )
+	sdl? ( media-libs/libsdl2[sound(+),video(+),${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.8.4:=[${MULTILIB_USEDEP}] )
+	theora? ( media-libs/libtheora[encode,${MULTILIB_USEDEP}] )
+	truetype? ( media-libs/freetype:2[${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}] )
+	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? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+	zvbi? ( media-libs/zvbi[${MULTILIB_USEDEP}] )
+"
+DEPEND="
+	${RDEPEND}
+	X? ( x11-base/xorg-proto )
+	kernel_linux? ( >=sys-kernel/linux-headers-6 )
+	ladspa? ( media-libs/ladspa-sdk )
+	nvenc? ( media-libs/nv-codec-headers )
+	opencl? ( dev-util/opencl-headers )
+	vulkan? ( dev-util/vulkan-headers )
+"
+BDEPEND="
+	app-alternatives/awk
+	dev-lang/perl
+	virtual/pkgconfig
+	amd64? (
+		|| (
+			dev-lang/nasm
+			dev-lang/yasm
+		)
+	)
+	cuda? ( llvm-core/clang:*[llvm_targets_NVPTX] )
+	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=(
+	"${WORKDIR}"/patches
+)
+
+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
+		if use verify-sig; then
+			verify-sig_verify_detached "${DISTDIR}"/ffmpeg-${PV}.tar.xz{,.asc} \
+				"${BROOT}"/usr/share/openpgp-keys/ffmpeg.asc
+		fi
+		default
+	fi
+}
+
+src_prepare() {
+	default
+
+	# respect user preferences
+	sed -i '/cflags -fdiagnostics-color/d' configure || die
+
+	# handle *FLAGS here to avoid repeating for each ABI below (bug #923491)
+	filter-lto
+	use elibc_musl && append-cppflags -D__musl__ #940733
+}
+
+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 # ignoring slotted MANPATH
+		--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=' '
+
+		# not worth supporting on this version, use ffmpeg-6+
+		--disable-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-libdavs2
+		--disable-libklvanc
+		--disable-libmysofa
+		--disable-libopenvino
+		--disable-libshine
+		--disable-libtls
+		--disable-libuavs3d
+		--disable-libxavs
+		--disable-libxavs2
+		--disable-pocketsphinx
+		--disable-rkmpp
+		--disable-vapoursynth
+
+		# disabled for other or additional reasons
+		--disable-amf # may or may not be broken, use ffmpeg-6+ (bug #910271)
+		--disable-cuda-nvcc # prefer cuda-llvm for less issues
+		--disable-libcelt # obsolete (bug #664158)
+		--disable-libglslang # use ffmpeg-6+ with USE=shaderc instead
+		--disable-liblensfun # https://trac.ffmpeg.org/ticket/9112 (abandoned?)
+		--disable-libmfx # use ffmpeg-6+ with USE=qsv instead
+		--disable-libnpp # use ffmpeg-6+, ebuild support was only added there
+		--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-libvmaf # use ffmpeg-6+ instead, needs old vmaf library
+		--disable-mbedtls # messy with slots, tests underlinking issues
+		--disable-mmal # unsupported
+		--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
+	)
+
+	# broken on x32 (bug #427004), and not PIC safe on x86 (bug #916067)
+	[[ ${ABI} == @(x32|x86) ]] && 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
+
+	# 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[*]}" # no edo.eclass due to noisy long command in errors
+	"${conf[@]}" || die "configure failed, see ${BUILD_DIR}/ffbuild/config.log"
+}
+
+multilib_src_compile() {
+	emake V=1
+}
+
+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
+}

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
new file mode 100644
index 000000000000..bde869a247e0
--- /dev/null
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
@@ -0,0 +1,562 @@
+# 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-6.1-r3.patch
+FFMPEG_SUBSLOT=58.60.60 # 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}
+				verify-sig? ( https://dev.gentoo.org/~chewi/distfiles/${FFMPEG_SOC_PATCH}.asc )
+			)
+		"}
+		https://dev.gentoo.org/~ionen/distfiles/ffmpeg-$(ver_cut 1-2)-patchset-1.tar.xz
+	"
+	S=${WORKDIR}/ffmpeg-${PV} # avoid ${P}
+	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/"
+
+[[ ${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
+	doc:^htmlpages
+	+drm:libdrm
+	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
+	libplacebo
+	librtmp:librtmp
+	libsoxr
+	libtesseract
+	lv2
+	lzma
+	modplug:libmodplug
+	npp:^libnpp@nonfree # no multilib
+	nvenc:cuvid,ffnvcodec,nvdec,nvenc
+	openal
+	opencl
+	opengl
+	openh264:libopenh264
+	openmpt:libopenmpt
+	openssl:openssl,!gnutls@v3ifgpl # still LGPL2.1+ if USE=-gpl
+	opus:libopus
+	+postproc # exposed as a USE for clarity with the GPL requirement
+	pulseaudio:libpulse
+	qsv:libvpl
+	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
+	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 ) npp? ( 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? ( || ( sdl vulkan ) )
+	npp? ( nvenc )
+	shaderc? ( vulkan )
+	libaribb24? ( gpl ) cdio? ( gpl ) frei0r? ( gpl ) postproc? ( 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 ) npp? ( bindist ) )"
+
+# dlopen: amdgpu-pro-amf, vulkan-loader
+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}] )
+	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}] )
+	libplacebo? ( media-libs/libplacebo:=[$MULTILIB_USEDEP] )
+	librtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] )
+	libsoxr? ( media-libs/soxr[${MULTILIB_USEDEP}] )
+	libtesseract? ( app-text/tesseract:=[${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}] )
+	npp? ( dev-util/nvidia-cuda-toolkit:= )
+	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}] )
+	qsv? ( media-libs/libvpl:=[${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}] )
+	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? ( sys-libs/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 )
+	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 )
+"
+BDEPEND="
+	app-alternatives/awk
+	dev-lang/perl
+	virtual/pkgconfig
+	amd64? (
+		|| (
+			dev-lang/nasm
+			dev-lang/yasm
+		)
+	)
+	cuda? ( llvm-core/clang:*[llvm_targets_NVPTX] )
+	doc? ( sys-apps/texinfo )
+"
+[[ ${PV} != 9999 ]] &&
+	BDEPEND+="
+		verify-sig? (
+			sec-keys/openpgp-keys-ffmpeg
+			${FFMPEG_SOC_PATCH:+"
+				soc? ( >=sec-keys/openpgp-keys-gentoo-developers-20240708 )
+			"}
+		)
+	"
+
+DOCS=( CREDITS Changelog README.md doc/APIchanges )
+[[ ${PV} != 9999 ]] && DOCS+=( RELEASE_NOTES )
+
+MULTILIB_WRAPPED_HEADERS=(
+	/usr/include/libavutil/avconfig.h
+)
+
+PATCHES=(
+	"${WORKDIR}"/patches
+)
+
+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
+		if use verify-sig; then
+			verify-sig_verify_detached "${DISTDIR}"/ffmpeg-${PV}.tar.xz{,.asc} \
+				"${BROOT}"/usr/share/openpgp-keys/ffmpeg.asc
+			in_iuse soc && use soc &&
+				verify-sig_verify_detached "${DISTDIR}"/${FFMPEG_SOC_PATCH}{,.asc} \
+					"${BROOT}"/usr/share/openpgp-keys/gentoo-developers.asc
+		fi
+		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 *FLAGS 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}
+	fi
+	filter-lto
+
+	use elibc_musl && append-cppflags -D__musl__ #940733
+
+	if use npp; then
+		local cuda=${ESYSROOT}/opt/cuda/targets/$(usex amd64 x86_64 sbsa)-linux
+		append-cppflags -I"${cuda}"/include
+		append-ldflags -L"${cuda}"/lib
+	fi
+}
+
+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 # ignoring slotted MANPATH
+		--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-libmysofa
+		--disable-libopenvino
+		--disable-libshine
+		--disable-libtls
+		--disable-libuavs3d
+		--disable-libxavs
+		--disable-libxavs2
+		--disable-pocketsphinx
+		--disable-rkmpp
+		--disable-vapoursynth
+
+		# 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-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-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 )
+
+	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
+
+	# 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[*]}" # no edo.eclass due to noisy long command in errors
+	"${conf[@]}" || die "configure failed, see ${BUILD_DIR}/ffbuild/config.log"
+}
+
+multilib_src_compile() {
+	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
+}

diff --git a/media-video/ffmpeg-compat/metadata.xml b/media-video/ffmpeg-compat/metadata.xml
new file mode 100644
index 000000000000..895198538495
--- /dev/null
+++ b/media-video/ffmpeg-compat/metadata.xml
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="person">
+		<email>ionen@gentoo.org</email>
+		<name>Ionen Wolkens</name>
+	</maintainer>
+	<maintainer type="person">
+		<email>chewi@gentoo.org</email>
+		<name>James Le Cuirot</name>
+		<description>soc USE flag</description>
+	</maintainer>
+	<use>
+		<flag name="amf">Enable AMD's Advanced Media Framework support via <pkg>media-video/amdgpu-pro-amf</pkg></flag>
+		<flag name="amr">Enable Adaptive Multi-Rate Audio support via <pkg>media-libs/opencore-amr</pkg></flag>
+		<flag name="amrenc">Enable Adaptive Multi-Rate Audio encoding support via <pkg>media-libs/vo-amrwbenc</pkg></flag>
+		<flag name="appkit">Enable Apple AppKit framework</flag>
+		<flag name="bluray">Enable Blu-ray filesystems reading support via <pkg>media-libs/libbluray</pkg></flag>
+		<flag name="bs2b">Enable Bauer Stereo-to-Binaural filter support via <pkg>media-libs/libbs2b</pkg></flag>
+		<flag name="cdio">Enable audio CDs reading via <pkg>dev-libs/libcdio-paranoia</pkg></flag>
+		<flag name="chromaprint">Enable audio fingerprinting support via <pkg>media-libs/chromaprint</pkg></flag>
+		<flag name="codec2">Enable codec2 low bit rate speech codec support via <pkg>media-libs/codec2</pkg></flag>
+		<flag name="cuda">Enable support for various GPU-accelerated filters using NVIDIA PTX compiled with <pkg>llvm-core/clang</pkg></flag>
+		<flag name="dav1d">Enable AV1 decoding support via <pkg>media-libs/dav1d</pkg></flag>
+		<flag name="drm">
+			Enable use of <pkg>x11-libs/libdrm</pkg> for various hardware
+			accelerated functions and Kernel Mode Setting screen capture
+		</flag>
+		<flag name="fdk">
+			Enable AAC (Advanced Audio Coding) encoding support via
+			<pkg>media-libs/fdk-aac</pkg> in addition to FFmpeg's own
+			implementation (warning: if USE=gpl is enabled, this produces
+			a non-redistributable build)
+		</flag>
+		<flag name="flite">Enable text-to-speech filter support via <pkg>app-accessibility/flite</pkg></flag>
+		<flag name="frei0r">Enable use of filters through <pkg>media-plugins/frei0r-plugins</pkg></flag>
+		<flag name="fribidi">Enable Bidi support for the drawtext filter via <pkg>dev-libs/fribidi</pkg></flag>
+		<flag name="gcrypt">
+			Enable using <pkg>dev-libs/libgcrypt</pkg> for rtmp(t)e support (not
+			needed if using any of USE=gmp,librtmp,openssl), and for obtaining
+			random bytes (not needed if USE=openssl)</flag>
+		<flag name="gme">Enables various game music formats support via <pkg>media-libs/game-music-emu</pkg></flag>
+		<flag name="gnutls">
+			Enable using <pkg>net-libs/gnutls</pkg> for TLS/HTTPS support
+			and other minor functions (has no effect if USE=openssl is set)
+		</flag>
+		<flag name="gpl">Enable use of GPL licensed code, should be kept enabled unless LGPL binaries are needed</flag>
+		<flag name="iec61883">Enable FireWire DV/HDV input device support via <pkg>media-libs/libiec61883</pkg></flag>
+		<flag name="kvazaar">Enable H.265/HEVC encoding support via <pkg>media-libs/kvazaar</pkg></flag>
+		<flag name="lcms">Enable ICC profile support via <pkg>media-libs/lcms</pkg></flag>
+		<flag name="libaom">
+			Enable AV1 de/encoding via <pkg>media-libs/libaom</pkg> (warning: this
+			is the reference implementation and is slower than the alternatives)
+		</flag>
+		<flag name="libaribb24">Enable ARIB text and caption decoding via <pkg>media-libs/aribb24</pkg></flag>
+		<flag name="libilbc">Enable internet Low Bitrate Codec de/encoding support via <pkg>media-libs/libilbc</pkg></flag>
+		<flag name="libplacebo">Enable use of GPU-accelerated filters from <pkg>media-libs/libplacebo</pkg></flag>
+		<flag name="librtmp">
+			Enable Real Time Messaging Protocol support via <pkg>media-video/rtmpdump</pkg>
+			in addition to FFmpeg's own implementation
+		</flag>
+		<flag name="libsoxr">Enable use of the audio resampler from <pkg>media-libs/soxr</pkg></flag>
+		<flag name="libtesseract">Enable Optical Character Recognition (OCR) filter support via <pkg>app-text/tesseract</pkg></flag>
+		<flag name="lv2">Enable use of filters through <pkg>media-libs/lv2</pkg></flag>
+		<flag name="npp">
+			Enable Nvidia Performance Primitives-based filters via
+			<pkg>dev-util/nvidia-cuda-toolkit</pkg> (warning: if USE=gpl
+			is enabled, this produces non-redistributable build)
+		</flag>
+		<flag name="openh264">Enable H.264 encoding support via <pkg>media-libs/openh264</pkg></flag>
+		<flag name="openmpt">Enable MPTM tracked music files decoding support via <pkg>media-libs/libopenmpt</pkg></flag>
+		<flag name="openssl">
+			Enable using <pkg>dev-libs/openssl</pkg> for TLS/HTTPS support
+			and other minor functions (USE=gnutls has no effect if set)
+		</flag>
+		<flag name="postproc">
+			Enable libpostproc video post processing library support
+			(should not disable this unless need to disable USE=gpl)
+		</flag>
+		<flag name="qsv">Enable Intel Quick Sync Video support via <pkg>media-libs/libvpl</pkg></flag>
+		<flag name="rabbitmq">Enable AMQP stream support via <pkg>net-libs/rabbitmq-c</pkg></flag>
+		<flag name="rav1e">Enable AV1 encoding support via <pkg>media-video/rav1e</pkg></flag>
+		<flag name="rubberband">Enable time-stretching and pitch-shifting audio filter support via <pkg>media-libs/rubberband</pkg></flag>
+		<flag name="sdl">Enable use of the Simple Direct Layer library (required for the ffplay command)</flag>
+		<flag name="shaderc">Enable support for various GPU-accelerated filters using Vulkan compiled with <pkg>media-libs/shaderc</pkg></flag>
+		<flag name="snappy">
+			Enable Snappy compression support via <pkg>app-arch/snappy</pkg>
+			(required for Vidvox Hap encoder support)
+		</flag>
+		<flag name="sndio">Enable audio output support via <pkg>media-sound/sndio</pkg></flag>
+		<flag name="soc">Apply additional patches for efficient playback on some SoCs (e.g. ARM, RISC-V)</flag>
+		<flag name="srt">Enable Secure Reliable Transport (SRT) support via <pkg>net-libs/srt</pkg></flag>
+		<flag name="ssh">Enable SSH/SFTP support via <pkg>net-libs/libssh</pkg></flag>
+		<flag name="svt-av1">Enable AV1 encoding support via <pkg>media-libs/svt-av1</pkg></flag>
+		<flag name="truetype">
+			Enable drawtext filter support via <pkg>media-libs/freetype</pkg>
+			and <pkg>media-libs/harfbuzz</pkg>
+		</flag>
+		<flag name="twolame">
+			Enable MP2 encoding support via <pkg>media-sound/twolame</pkg>
+			in addition to FFmpeg's own implementation
+		</flag>
+		<flag name="vidstab">Enable video stabilization filter support via <pkg>media-libs/vidstab</pkg></flag>
+		<flag name="vmaf">Enable Netflix's perceptual video quality assessment filter support via <pkg>media-libs/libvmaf</pkg></flag>
+		<flag name="vpx">
+			Enable VP8 and VP9 de/encoding support via <pkg>media-libs/libvpx</pkg>
+			in addition to FFmpeg's own implementation (for decoding only)
+		</flag>
+		<flag name="x265">Enable H.265/HEVC encoding support via <pkg>media-libs/x265</pkg></flag>
+		<flag name="xml">Enable Dynamic Adaptive Streaming over HTTP (DASH) stream support using <pkg>dev-libs/libxml2</pkg></flag>
+		<flag name="zeromq">Enable ZMQ command receiver filter and streaming support via <pkg>net-libs/zeromq</pkg></flag>
+		<flag name="zimg">Enable zscale filter support using <pkg>media-libs/zimg</pkg></flag>
+		<flag name="zvbi">Enable teletext decoding support via <pkg>media-libs/zvbi</pkg></flag>
+	</use>
+	<upstream>
+		<bugs-to>https://trac.ffmpeg.org/</bugs-to>
+		<doc>https://ffmpeg.org/documentation.html</doc>
+		<remote-id type="cpe">cpe:/a:ffmpeg:ffmpeg</remote-id>
+		<remote-id type="github">FFmpeg/FFmpeg</remote-id>
+	</upstream>
+</pkgmetadata>


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg-compat/
@ 2025-03-13  4:24 Ionen Wolkens
  0 siblings, 0 replies; 29+ messages in thread
From: Ionen Wolkens @ 2025-03-13  4:24 UTC (permalink / raw
  To: gentoo-commits

commit:     83ee1f13c9cd0a9d3ce8b955d750b8d23f2a1844
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 13 00:37:25 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Mar 13 04:21:53 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=83ee1f13

media-video/ffmpeg-compat: sync with ffmpeg

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild | 10 ++++++----
 media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild | 10 ++++++----
 2 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild
index d2dd0ae3f456..1a11a7e185f5 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild
@@ -45,7 +45,7 @@ FFMPEG_IUSE_MAP=(
 	codec2:libcodec2
 	cuda:cuda-llvm
 	+dav1d:libdav1d
-	doc:^htmlpages
+	${FFMPEG_UNSLOTTED:+doc:^htmlpages}
 	+drm:libdrm
 	fdk:libfdk-aac@nonfree
 	flite:libflite
@@ -263,7 +263,6 @@ DEPEND="
 "
 BDEPEND="
 	app-alternatives/awk
-	dev-lang/perl
 	virtual/pkgconfig
 	amd64? (
 		|| (
@@ -272,7 +271,10 @@ BDEPEND="
 		)
 	)
 	cuda? ( llvm-core/clang:*[llvm_targets_NVPTX] )
-	doc? ( sys-apps/texinfo )
+	${FFMPEG_UNSLOTTED:+"
+		dev-lang/perl
+		doc? ( sys-apps/texinfo )
+	"}
 "
 [[ ${PV} != 9999 ]] &&
 	BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-ffmpeg )"
@@ -345,7 +347,7 @@ multilib_src_configure() {
 		--prefix="${prefix}"
 		--libdir="${prefix}"/$(get_libdir)
 		--shlibdir="${prefix}"/$(get_libdir)
-		--mandir="${prefix}"/share/man # ignoring slotted MANPATH
+		--mandir="${prefix}"/share/man
 		--docdir="${EPREFIX}"/usr/share/doc/${PF}/html
 
 		--ar="$(tc-getAR)"

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
index 6f0a6291b109..2ebfe16cc928 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
@@ -53,7 +53,7 @@ FFMPEG_IUSE_MAP=(
 	codec2:libcodec2
 	cuda:cuda-llvm
 	+dav1d:libdav1d
-	doc:^htmlpages
+	${FFMPEG_UNSLOTTED:+doc:^htmlpages}
 	+drm:libdrm
 	fdk:libfdk-aac@nonfree
 	flite:libflite
@@ -306,7 +306,6 @@ DEPEND="
 "
 BDEPEND="
 	app-alternatives/awk
-	dev-lang/perl
 	virtual/pkgconfig
 	amd64? (
 		|| (
@@ -315,7 +314,10 @@ BDEPEND="
 		)
 	)
 	cuda? ( llvm-core/clang:*[llvm_targets_NVPTX] )
-	doc? ( sys-apps/texinfo )
+	${FFMPEG_UNSLOTTED:+"
+		dev-lang/perl
+		doc? ( sys-apps/texinfo )
+	"}
 "
 [[ ${PV} != 9999 ]] &&
 	BDEPEND+="
@@ -413,7 +415,7 @@ multilib_src_configure() {
 		--prefix="${prefix}"
 		--libdir="${prefix}"/$(get_libdir)
 		--shlibdir="${prefix}"/$(get_libdir)
-		--mandir="${prefix}"/share/man # ignoring slotted MANPATH
+		--mandir="${prefix}"/share/man
 		--docdir="${EPREFIX}"/usr/share/doc/${PF}/html
 
 		--ar="$(tc-getAR)"


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg-compat/
@ 2025-03-13  6:10 Ionen Wolkens
  0 siblings, 0 replies; 29+ messages in thread
From: Ionen Wolkens @ 2025-03-13  6:10 UTC (permalink / raw
  To: gentoo-commits

commit:     d602b75d04cee2a1eccef338ca2c55577333885c
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 13 04:30:30 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Mar 13 06:03:53 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d602b75d

media-video/ffmpeg-compat: sync with ffmpeg

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild | 2 +-
 media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild
index 1a11a7e185f5..47ec3dad892a 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild
@@ -468,7 +468,7 @@ multilib_src_configure() {
 		${EXTRA_ECONF}
 	)
 
-	einfo "${conf[*]}" # no edo.eclass due to noisy long command in errors
+	einfo "${conf[*]}"
 	"${conf[@]}" || die "configure failed, see ${BUILD_DIR}/ffbuild/config.log"
 }
 

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
index 2ebfe16cc928..43d1208117b9 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
@@ -542,7 +542,7 @@ multilib_src_configure() {
 		${EXTRA_ECONF}
 	)
 
-	einfo "${conf[*]}" # no edo.eclass due to noisy long command in errors
+	einfo "${conf[*]}"
 	"${conf[@]}" || die "configure failed, see ${BUILD_DIR}/ffbuild/config.log"
 }
 


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg-compat/
@ 2025-03-16 18:04 Ionen Wolkens
  0 siblings, 0 replies; 29+ messages in thread
From: Ionen Wolkens @ 2025-03-16 18:04 UTC (permalink / raw
  To: gentoo-commits

commit:     e3eef6ab3ef9b97faa82e9501e0a45c5c23eed66
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 16 17:57:41 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sun Mar 16 18:02:52 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e3eef6ab

media-video/ffmpeg-compat: sync with ffmpeg

Bug: https://bugs.gentoo.org/951464
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild | 6 ++++++
 media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild | 6 ++++++
 2 files changed, 12 insertions(+)

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild
index 47ec3dad892a..64d121011678 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild
@@ -417,6 +417,12 @@ multilib_src_configure() {
 	# 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

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
index 43d1208117b9..4fb307f73460 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
@@ -491,6 +491,12 @@ multilib_src_configure() {
 	# 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


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg-compat/
@ 2025-03-27 19:01 Sam James
  0 siblings, 0 replies; 29+ messages in thread
From: Sam James @ 2025-03-27 19:01 UTC (permalink / raw
  To: gentoo-commits

commit:     ba5b17fc3d9406881dc86b5693ab8bfbe11269d2
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 27 19:00:19 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Mar 27 19:00:19 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ba5b17fc

media-video/ffmpeg-compat: Stabilize 4.4.5 ppc64, #951188

Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild
index 64d121011678..259a49f3dd38 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild
@@ -21,7 +21,7 @@ else
 		https://dev.gentoo.org/~ionen/distfiles/ffmpeg-$(ver_cut 1-2)-patchset-1.tar.xz
 	"
 	S=${WORKDIR}/ffmpeg-${PV} # avoid ${P}
-	KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+	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"


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg-compat/
@ 2025-03-27 19:01 Sam James
  0 siblings, 0 replies; 29+ messages in thread
From: Sam James @ 2025-03-27 19:01 UTC (permalink / raw
  To: gentoo-commits

commit:     e210761d91465de57d086e0b54a88a85f94b587e
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 27 19:00:20 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Mar 27 19:00:20 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e210761d

media-video/ffmpeg-compat: Stabilize 6.1.2 ppc64, #951188

Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
index 4fb307f73460..f52eb3e72b29 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
@@ -28,7 +28,7 @@ else
 		https://dev.gentoo.org/~ionen/distfiles/ffmpeg-$(ver_cut 1-2)-patchset-1.tar.xz
 	"
 	S=${WORKDIR}/ffmpeg-${PV} # avoid ${P}
-	KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+	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"


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg-compat/
@ 2025-03-27 19:01 Sam James
  0 siblings, 0 replies; 29+ messages in thread
From: Sam James @ 2025-03-27 19:01 UTC (permalink / raw
  To: gentoo-commits

commit:     f7345f386ae0c20e2ebf0f09d639568b420e9534
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 27 19:00:24 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Mar 27 19:00:24 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f7345f38

media-video/ffmpeg-compat: Stabilize 6.1.2 ppc, #951188

Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
index f52eb3e72b29..28af6344ba57 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
@@ -28,7 +28,7 @@ else
 		https://dev.gentoo.org/~ionen/distfiles/ffmpeg-$(ver_cut 1-2)-patchset-1.tar.xz
 	"
 	S=${WORKDIR}/ffmpeg-${PV} # avoid ${P}
-	KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+	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"


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg-compat/
@ 2025-03-27 19:01 Sam James
  0 siblings, 0 replies; 29+ messages in thread
From: Sam James @ 2025-03-27 19:01 UTC (permalink / raw
  To: gentoo-commits

commit:     911751efee3f039741910f20fc4955d30ae78706
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 27 19:00:23 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Mar 27 19:00:23 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=911751ef

media-video/ffmpeg-compat: Stabilize 4.4.5 ppc, #951188

Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild
index 259a49f3dd38..b840600642e1 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild
@@ -21,7 +21,7 @@ else
 		https://dev.gentoo.org/~ionen/distfiles/ffmpeg-$(ver_cut 1-2)-patchset-1.tar.xz
 	"
 	S=${WORKDIR}/ffmpeg-${PV} # avoid ${P}
-	KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+	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"


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg-compat/
@ 2025-03-27 19:01 Sam James
  0 siblings, 0 replies; 29+ messages in thread
From: Sam James @ 2025-03-27 19:01 UTC (permalink / raw
  To: gentoo-commits

commit:     f0216849b36b12756198e8a76f897853151e4ab3
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 27 19:00:28 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Mar 27 19:00:28 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f0216849

media-video/ffmpeg-compat: Stabilize 6.1.2 sparc, #951188

Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
index 28af6344ba57..8c6fe47c26b1 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
@@ -28,7 +28,7 @@ else
 		https://dev.gentoo.org/~ionen/distfiles/ffmpeg-$(ver_cut 1-2)-patchset-1.tar.xz
 	"
 	S=${WORKDIR}/ffmpeg-${PV} # avoid ${P}
-	KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+	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"


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg-compat/
@ 2025-03-27 19:01 Sam James
  0 siblings, 0 replies; 29+ messages in thread
From: Sam James @ 2025-03-27 19:01 UTC (permalink / raw
  To: gentoo-commits

commit:     3ad27bb0f82985a4778f1c82208b17499dc6a0aa
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 27 19:00:28 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Mar 27 19:00:28 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3ad27bb0

media-video/ffmpeg-compat: Stabilize 4.4.5 sparc, #951188

Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild
index b840600642e1..c7bee8fbe8a4 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild
@@ -21,7 +21,7 @@ else
 		https://dev.gentoo.org/~ionen/distfiles/ffmpeg-$(ver_cut 1-2)-patchset-1.tar.xz
 	"
 	S=${WORKDIR}/ffmpeg-${PV} # avoid ${P}
-	KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+	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"


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg-compat/
@ 2025-04-01  2:30 Ionen Wolkens
  0 siblings, 0 replies; 29+ messages in thread
From: Ionen Wolkens @ 2025-04-01  2:30 UTC (permalink / raw
  To: gentoo-commits

commit:     74d3d93ecdd352b691f15234d31cc4612a6037e7
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Apr  1 02:17:35 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Apr  1 02:27:06 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=74d3d93e

media-video/ffmpeg-compat: sync with ffmpeg

Not that the pkg_pretend is meaningful in ffmpeg-compat.

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild | 11 ++++++++++-
 media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild | 11 ++++++++++-
 2 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild
index c7bee8fbe8a4..a61c33e1d509 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild
@@ -20,7 +20,7 @@ else
 		verify-sig? ( https://ffmpeg.org/releases/ffmpeg-${PV}.tar.xz.asc )
 		https://dev.gentoo.org/~ionen/distfiles/ffmpeg-$(ver_cut 1-2)-patchset-1.tar.xz
 	"
-	S=${WORKDIR}/ffmpeg-${PV} # avoid ${P}
+	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
 
@@ -290,6 +290,15 @@ PATCHES=(
 	"${WORKDIR}"/patches
 )
 
+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
 

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
index 8c6fe47c26b1..4a3a3a7e15b3 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
@@ -27,7 +27,7 @@ else
 		"}
 		https://dev.gentoo.org/~ionen/distfiles/ffmpeg-$(ver_cut 1-2)-patchset-1.tar.xz
 	"
-	S=${WORKDIR}/ffmpeg-${PV} # avoid ${P}
+	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
 
@@ -340,6 +340,15 @@ PATCHES=(
 	"${WORKDIR}"/patches
 )
 
+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
 


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg-compat/
@ 2025-04-23 12:38 Ionen Wolkens
  0 siblings, 0 replies; 29+ messages in thread
From: Ionen Wolkens @ 2025-04-23 12:38 UTC (permalink / raw
  To: gentoo-commits

commit:     0416108771978522a81362196fe0317afd7f0db1
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 23 12:34:59 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Apr 23 12:34:59 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=04161087

media-video/ffmpeg-compat: sync with ffmpeg

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 media-video/ffmpeg-compat/Manifest                   |  1 -
 media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild | 17 ++---------------
 2 files changed, 2 insertions(+), 16 deletions(-)

diff --git a/media-video/ffmpeg-compat/Manifest b/media-video/ffmpeg-compat/Manifest
index d496ea7da759..1ddf38fe49f1 100644
--- a/media-video/ffmpeg-compat/Manifest
+++ b/media-video/ffmpeg-compat/Manifest
@@ -5,4 +5,3 @@ DIST ffmpeg-6.1-patchset-1.tar.xz 11296 BLAKE2B 5227d0c7f52a4f217d5517da11c23275
 DIST ffmpeg-6.1.2.tar.xz 10466152 BLAKE2B ff1f2b2bb60ccc4c37b6ffda2a0e6a0be80c451dc99f6d4a99bd95a1bdc44c494d62377c53383ccfb5b818573a1971948d7db34119099dbc56d7258724831d3c SHA512 3a009184d971fc3168e1322d1d724aae787ed0e9c152d8d1813ea0b9099bda3b35c41fcabbd7b140560e7a8fa9fa1ffd7f0938432d5d498c43829fc6cc3d9e08
 DIST ffmpeg-6.1.2.tar.xz.asc 520 BLAKE2B f26a2d6f5423f93090f2a448172e49f3858aeb5a00f326207d374bbb70fa8942c7ee1a7c55338b2db664b647c983cd5ab4fd8d71efe5c37af4c90385ca17d0ab SHA512 a26dba1f4870b964080b45f8468f5ce3591eb6aa69be426bf4afbe5a60c3cbd0fe5056dc86ca7bb817c04ae30d39160cb7773772a9a2123ae7f095b18a6d7050
 DIST ffmpeg-rpi-6.1-r3.patch 800738 BLAKE2B b7e449ee5eec8b50a3b3bba233c5269f3b6845dbd18a619b844c841a97345ce24c7a5d7f4da05b08e3cb49668426b9044f3d3553d9c2ef3a50aec7199bfa3c09 SHA512 aeaf12afabf5f2192fb0b6ef47397d8477b109e49cee8c02a890d1656a27b1985c62c719ef72966d8c97b0709918233b65ea2e0ef988771507e4be137fcd9158
-DIST ffmpeg-rpi-6.1-r3.patch.asc 833 BLAKE2B 31fd5823c06d5884f7b0980de9072c35bbf4e1d6c0ed20b089439325d50956127238ca29469b003dba623b888a5aae3c4d8ad177862534e77b8e51f29cbed96c SHA512 3d8943b7151e20f73e9c14b121c501847bd7e01f2cf57ff135fc8c223653ec9d433bfe4012fa564f70c0471980b66d7ec3d9b5b1b14865187187719ba110cb5f

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
index 4a3a3a7e15b3..34154406b620 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
@@ -20,10 +20,7 @@ else
 		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}
-				verify-sig? ( https://dev.gentoo.org/~chewi/distfiles/${FFMPEG_SOC_PATCH}.asc )
-			)
+			soc? ( https://dev.gentoo.org/~chewi/distfiles/${FFMPEG_SOC_PATCH} )
 		"}
 		https://dev.gentoo.org/~ionen/distfiles/ffmpeg-$(ver_cut 1-2)-patchset-1.tar.xz
 	"
@@ -320,14 +317,7 @@ BDEPEND="
 	"}
 "
 [[ ${PV} != 9999 ]] &&
-	BDEPEND+="
-		verify-sig? (
-			sec-keys/openpgp-keys-ffmpeg
-			${FFMPEG_SOC_PATCH:+"
-				soc? ( >=sec-keys/openpgp-keys-gentoo-developers-20240708 )
-			"}
-		)
-	"
+	BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-ffmpeg )"
 
 DOCS=( CREDITS Changelog README.md doc/APIchanges )
 [[ ${PV} != 9999 ]] && DOCS+=( RELEASE_NOTES )
@@ -373,9 +363,6 @@ src_unpack() {
 		if use verify-sig; then
 			verify-sig_verify_detached "${DISTDIR}"/ffmpeg-${PV}.tar.xz{,.asc} \
 				"${BROOT}"/usr/share/openpgp-keys/ffmpeg.asc
-			in_iuse soc && use soc &&
-				verify-sig_verify_detached "${DISTDIR}"/${FFMPEG_SOC_PATCH}{,.asc} \
-					"${BROOT}"/usr/share/openpgp-keys/gentoo-developers.asc
 		fi
 		default
 	fi


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg-compat/
@ 2025-04-23 13:25 Ionen Wolkens
  0 siblings, 0 replies; 29+ messages in thread
From: Ionen Wolkens @ 2025-04-23 13:25 UTC (permalink / raw
  To: gentoo-commits

commit:     fdd20d7b593e3d76cfd3022a6bbf780d16690f71
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 23 12:41:28 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Apr 23 13:24:30 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fdd20d7b

media-video/ffmpeg-compat: sync with ffmpeg

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild | 3 +--
 media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild | 3 +--
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild
index a61c33e1d509..cfd83d71322e 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild
@@ -320,10 +320,9 @@ src_unpack() {
 	if [[ ${PV} == 9999 ]]; then
 		git-r3_src_unpack
 	else
-		if use verify-sig; then
+		use verify-sig &&
 			verify-sig_verify_detached "${DISTDIR}"/ffmpeg-${PV}.tar.xz{,.asc} \
 				"${BROOT}"/usr/share/openpgp-keys/ffmpeg.asc
-		fi
 		default
 	fi
 }

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
index 34154406b620..ba67b50cb7bc 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
@@ -360,10 +360,9 @@ src_unpack() {
 	if [[ ${PV} == 9999 ]]; then
 		git-r3_src_unpack
 	else
-		if use verify-sig; then
+		use verify-sig &&
 			verify-sig_verify_detached "${DISTDIR}"/ffmpeg-${PV}.tar.xz{,.asc} \
 				"${BROOT}"/usr/share/openpgp-keys/ffmpeg.asc
-		fi
 		default
 	fi
 }


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg-compat/
@ 2025-04-27  0:48 Ionen Wolkens
  0 siblings, 0 replies; 29+ messages in thread
From: Ionen Wolkens @ 2025-04-27  0:48 UTC (permalink / raw
  To: gentoo-commits

commit:     e8f140643e63fa566552bab626b63c8ade77c8b6
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 27 00:42:43 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sun Apr 27 00:47:54 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e8f14064

media-video/ffmpeg-compat: sync with ffmpeg

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
index ba67b50cb7bc..cbcdab0ce4c4 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
@@ -157,7 +157,7 @@ REQUIRED_USE="
 	cuda? ( nvenc )
 	fribidi? ( truetype )
 	gmp? ( !librtmp )
-	libplacebo? ( || ( sdl vulkan ) )
+	libplacebo? ( vulkan )
 	npp? ( nvenc )
 	shaderc? ( vulkan )
 	libaribb24? ( gpl ) cdio? ( gpl ) frei0r? ( gpl ) postproc? ( gpl )
@@ -220,7 +220,7 @@ COMMON_DEPEND="
 	libass? ( media-libs/libass:=[${MULTILIB_USEDEP}] )
 	libcaca? ( media-libs/libcaca[${MULTILIB_USEDEP}] )
 	libilbc? ( media-libs/libilbc:=[${MULTILIB_USEDEP}] )
-	libplacebo? ( media-libs/libplacebo:=[$MULTILIB_USEDEP] )
+	libplacebo? ( media-libs/libplacebo:=[vulkan,$MULTILIB_USEDEP] )
 	librtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] )
 	libsoxr? ( media-libs/soxr[${MULTILIB_USEDEP}] )
 	libtesseract? ( app-text/tesseract:=[${MULTILIB_USEDEP}] )
@@ -244,7 +244,10 @@ COMMON_DEPEND="
 	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}] )
+	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}] )


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg-compat/
@ 2025-04-27  1:00 Ionen Wolkens
  0 siblings, 0 replies; 29+ messages in thread
From: Ionen Wolkens @ 2025-04-27  1:00 UTC (permalink / raw
  To: gentoo-commits

commit:     407300acedcbae8fc9b678a700f3a9f2120bb36e
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 27 00:58:11 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sun Apr 27 00:59:24 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=407300ac

media-video/ffmpeg-compat: sync with ffmpeg

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
index cbcdab0ce4c4..cd2a164ad955 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
@@ -211,16 +211,16 @@ COMMON_DEPEND="
 	)
 	jack? ( virtual/jack[${MULTILIB_USEDEP}] )
 	jpeg2k? ( media-libs/openjpeg:2=[${MULTILIB_USEDEP}] )
-	jpegxl? ( media-libs/libjxl:=[$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] )
+	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}] )
-	libplacebo? ( media-libs/libplacebo:=[vulkan,$MULTILIB_USEDEP] )
+	libplacebo? ( media-libs/libplacebo:=[vulkan,${MULTILIB_USEDEP}] )
 	librtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] )
 	libsoxr? ( media-libs/soxr[${MULTILIB_USEDEP}] )
 	libtesseract? ( app-text/tesseract:=[${MULTILIB_USEDEP}] )


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg-compat/
@ 2025-05-11 15:33 Sam James
  0 siblings, 0 replies; 29+ messages in thread
From: Sam James @ 2025-05-11 15:33 UTC (permalink / raw
  To: gentoo-commits

commit:     76fc6eb3420853bf959f6446c357c08c643e4a4e
Author:     Alfred Wingate <parona <AT> protonmail <DOT> com>
AuthorDate: Sat May  3 16:25:41 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun May 11 15:30:34 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=76fc6eb3

media-video/ffmpeg-compat: add dev-libs/libxml2 subslot op for incoming ABI break

Signed-off-by: Alfred Wingate <parona <AT> protonmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../{ffmpeg-compat-4.4.5.ebuild => ffmpeg-compat-4.4.5-r1.ebuild}       | 2 +-
 .../{ffmpeg-compat-6.1.2.ebuild => ffmpeg-compat-6.1.2-r1.ebuild}       | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5-r1.ebuild
similarity index 99%
rename from media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild
rename to media-video/ffmpeg-compat/ffmpeg-compat-4.4.5-r1.ebuild
index cfd83d71322e..fab7a2922ea3 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5-r1.ebuild
@@ -245,7 +245,7 @@ RDEPEND="
 	webp? ( media-libs/libwebp:=[${MULTILIB_USEDEP}] )
 	x264? ( media-libs/x264:=[${MULTILIB_USEDEP}] )
 	x265? ( media-libs/x265:=[${MULTILIB_USEDEP}] )
-	xml? ( dev-libs/libxml2[${MULTILIB_USEDEP}] )
+	xml? ( dev-libs/libxml2:=[${MULTILIB_USEDEP}] )
 	xvid? ( media-libs/xvid[${MULTILIB_USEDEP}] )
 	zeromq? ( net-libs/zeromq:= )
 	zimg? ( media-libs/zimg[${MULTILIB_USEDEP}] )

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2-r1.ebuild
similarity index 99%
rename from media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
rename to media-video/ffmpeg-compat/ffmpeg-compat-6.1.2-r1.ebuild
index cd2a164ad955..ec4e103e9d2a 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2-r1.ebuild
@@ -280,7 +280,7 @@ COMMON_DEPEND="
 	webp? ( media-libs/libwebp:=[${MULTILIB_USEDEP}] )
 	x264? ( media-libs/x264:=[${MULTILIB_USEDEP}] )
 	x265? ( media-libs/x265:=[${MULTILIB_USEDEP}] )
-	xml? ( dev-libs/libxml2[${MULTILIB_USEDEP}] )
+	xml? ( dev-libs/libxml2:=[${MULTILIB_USEDEP}] )
 	xvid? ( media-libs/xvid[${MULTILIB_USEDEP}] )
 	zeromq? ( net-libs/zeromq:= )
 	zimg? ( media-libs/zimg[${MULTILIB_USEDEP}] )


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg-compat/
@ 2025-05-18 19:29 Ionen Wolkens
  0 siblings, 0 replies; 29+ messages in thread
From: Ionen Wolkens @ 2025-05-18 19:29 UTC (permalink / raw
  To: gentoo-commits

commit:     da281553b29140e76584e6379ac950f4d305eee5
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sun May 18 18:09:19 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sun May 18 19:18:48 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=da281553

media-video/ffmpeg-compat: add 4.4.6

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 media-video/ffmpeg-compat/Manifest                 |   3 +
 .../ffmpeg-compat/ffmpeg-compat-4.4.6.ebuild       | 500 +++++++++++++++++++++
 2 files changed, 503 insertions(+)

diff --git a/media-video/ffmpeg-compat/Manifest b/media-video/ffmpeg-compat/Manifest
index 1ddf38fe49f1..5e2f12d7e8da 100644
--- a/media-video/ffmpeg-compat/Manifest
+++ b/media-video/ffmpeg-compat/Manifest
@@ -1,6 +1,9 @@
 DIST ffmpeg-4.4-patchset-1.tar.xz 9916 BLAKE2B 9b41de6b048601f2af41864c3262b3348330f792eea71df4cfab5e740626ee6c633ac5569e6e91d953143f6ad0fac15c840ef0643925e91261f8b4a32e2d386c SHA512 b11d9e182ddb0a48f50d63f5e0bd7fd99f4b8fa7dd17179a3bfbc9419dabb76401408a81ae2d5f118fbf67f28dcfdc3bfb5b7ac70f740259e3ebad8d1ba049bb
+DIST ffmpeg-4.4-patchset-2.tar.xz 9296 BLAKE2B ebc86b4fa29c02e3a1b72d6ae0ad59d7b1b5f77352ef7680dc97218a053eff43fdbd8005172241bbef8c903d0598d01b1b954ab16c8c5e48e99b50c59883016a SHA512 ec71e57eb620ae74d5602e7fc0dd9684b71c213cfa0544dd71193b486bbcbb7ff06d4e61c8dfadca5488e81cc328e3dbd8be3febac6efa5df363c5b51c43a293
 DIST ffmpeg-4.4.5.tar.xz 9575596 BLAKE2B 546df09f7731d22e532a18d9ba9be184283f62b7a2e9470e745e536802bc2263a00f11ed6ab0aee8fc60c5f728826311cbf3542084ba3a64b65a61d76295cd64 SHA512 70df4e63ef507a7ec76da34438142499139769728fd5130d9cf48d56c110ec82c3d6a7e6d1622da03c70167fa861d901d016bbe52c21d2b284b8a0d9f30811dc
 DIST ffmpeg-4.4.5.tar.xz.asc 520 BLAKE2B 505987208ed58b548f910299adb1324e6eba655cc37e6f03cac32c8623e16a4a884e822c745fb72b1934129a8c0a2706bb8bfb785715e6a68e43f737cb8ed365 SHA512 bcfee8986681dfbefd3add741fcbbc5e223bb06c9800797e68fde968c114055ac3fc02ce8731ed269bf30c92d6c990c7f636f82d42379920012e8a0ace8d527e
+DIST ffmpeg-4.4.6.tar.xz 9575932 BLAKE2B c025f9b020b9881d5b00455a42aa9a591fa18c5b2010cf3ee4af6d5242ab0b28e18f05d43e0416ba280bbb1393cfeaf4aaadc0e7258bd0c9578720fd7a9052d9 SHA512 3805c5ff4661217cd2f85a7443a796b9dece67b6eba7686f5f348a1c6c4c678d26f97f9674bb9552b74cfa5bffaf8048885e57e765ad3e09a31274172c57725b
+DIST ffmpeg-4.4.6.tar.xz.asc 520 BLAKE2B 6b16c806af2df78452c17cc81d254ba96056a2aeee24f41d17030aa268cd0176b94e72845092eef2c78fc436d91c881fa076155eadd9925726e478fbb2fb271c SHA512 dc07824da6ce364cc3010cfc90a3f79f60be3ede454d5844a8d06f0a6fa0f7c2881e32d71c54488c0ec8edb3191aedde9a0302e95cb233b96ac219833c48a094
 DIST ffmpeg-6.1-patchset-1.tar.xz 11296 BLAKE2B 5227d0c7f52a4f217d5517da11c2327585375c9d860f31415e1079f4f1f9186637e07c7da0e168c732cc7abb953440f0ba952395db83074588eb31bee1d5bc9f SHA512 20fe94536a5c3873d0126ff535a3bff595dedc7787162f160ecde6cbd357b9eb3749c9d7b7543aa39896ceb4e656494d31811bf26682776cdfc693fe030cd77b
 DIST ffmpeg-6.1.2.tar.xz 10466152 BLAKE2B ff1f2b2bb60ccc4c37b6ffda2a0e6a0be80c451dc99f6d4a99bd95a1bdc44c494d62377c53383ccfb5b818573a1971948d7db34119099dbc56d7258724831d3c SHA512 3a009184d971fc3168e1322d1d724aae787ed0e9c152d8d1813ea0b9099bda3b35c41fcabbd7b140560e7a8fa9fa1ffd7f0938432d5d498c43829fc6cc3d9e08
 DIST ffmpeg-6.1.2.tar.xz.asc 520 BLAKE2B f26a2d6f5423f93090f2a448172e49f3858aeb5a00f326207d374bbb70fa8942c7ee1a7c55338b2db664b647c983cd5ab4fd8d71efe5c37af4c90385ca17d0ab SHA512 a26dba1f4870b964080b45f8468f5ce3591eb6aa69be426bf4afbe5a60c3cbd0fe5056dc86ca7bb817c04ae30d39160cb7773772a9a2123ae7f095b18a6d7050

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.6.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.6.ebuild
new file mode 100644
index 000000000000..a04419fe8271
--- /dev/null
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.6.ebuild
@@ -0,0 +1,500 @@
+# 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_SUBSLOT=56.58.58 # 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 )
+		https://dev.gentoo.org/~ionen/distfiles/ffmpeg-$(ver_cut 1-2)-patchset-2.tar.xz
+	"
+	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/"
+
+[[ ${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
+	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
+	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
+	kvazaar:libkvazaar
+	ladspa
+	lame:libmp3lame
+	libaom
+	libaribb24:@v3 # reminder: req use on gpl unneeded if >=1.0.4 (not in tree)
+	+libass
+	libcaca
+	libilbc
+	librtmp:librtmp
+	libsoxr
+	libtesseract
+	lv2
+	lzma
+	modplug:libmodplug
+	nvenc:cuvid,ffnvcodec,nvdec,nvenc
+	openal
+	opencl
+	opengl
+	openh264:libopenh264
+	openmpt:libopenmpt
+	openssl:openssl,!gnutls@v3ifgpl # still LGPL2.1+ if USE=-gpl
+	opus:libopus
+	+postproc # exposed as a USE for clarity with the GPL requirement
+	pulseaudio:libpulse
+	rabbitmq:^librabbitmq # no multilib
+	rav1e:^librav1e # no multilib
+	rubberband:librubberband
+	samba:libsmbclient@v3 # GPL-3+ only
+	sdl:sdl2
+	snappy:libsnappy
+	sndio
+	speex:libspeex
+	srt:libsrt
+	ssh:libssh
+	svg:librsvg
+	svt-av1:libsvtav1
+	theora:libtheora
+	+truetype:libfreetype
+	twolame:libtwolame
+	v4l:libv4l2
+	vaapi
+	vdpau
+	vidstab:libvidstab
+	vorbis:libvorbis
+	vpx:libvpx
+	vulkan
+	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[*]%:*}"
+REQUIRED_USE="
+	fribidi? ( truetype )
+	gmp? ( !librtmp )
+	libaribb24? ( gpl ) cdio? ( gpl ) frei0r? ( gpl ) postproc? ( gpl )
+	rubberband? ( gpl ) samba? ( gpl ) vidstab? ( gpl ) x264? ( gpl )
+	x265? ( gpl ) xvid? ( gpl )
+"
+RESTRICT="gpl? ( fdk? ( bindist ) )"
+
+# dlopen: vulkan-loader
+RDEPEND="
+	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}] )
+	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}] )
+	kvazaar? ( media-libs/kvazaar:=[${MULTILIB_USEDEP}] )
+	lame? ( media-sound/lame[${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}] )
+	librtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] )
+	libsoxr? ( media-libs/soxr[${MULTILIB_USEDEP}] )
+	libtesseract? ( app-text/tesseract:=[${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}] )
+	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}] )
+	rabbitmq? ( net-libs/rabbitmq-c:= )
+	rav1e? ( >=media-video/rav1e-0.4:=[capi] )
+	rubberband? ( media-libs/rubberband:=[${MULTILIB_USEDEP}] )
+	samba? ( net-fs/samba:=[client,${MULTILIB_USEDEP}] )
+	sdl? ( media-libs/libsdl2[sound(+),video(+),${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.8.4:=[${MULTILIB_USEDEP}] )
+	theora? ( media-libs/libtheora[encode,${MULTILIB_USEDEP}] )
+	truetype? ( media-libs/freetype:2[${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}] )
+	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? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+	zvbi? ( media-libs/zvbi[${MULTILIB_USEDEP}] )
+"
+DEPEND="
+	${RDEPEND}
+	X? ( x11-base/xorg-proto )
+	kernel_linux? ( >=sys-kernel/linux-headers-6 )
+	ladspa? ( media-libs/ladspa-sdk )
+	nvenc? ( media-libs/nv-codec-headers )
+	opencl? ( dev-util/opencl-headers )
+	vulkan? ( dev-util/vulkan-headers )
+"
+BDEPEND="
+	app-alternatives/awk
+	virtual/pkgconfig
+	amd64? (
+		|| (
+			dev-lang/nasm
+			dev-lang/yasm
+		)
+	)
+	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=(
+	"${WORKDIR}"/patches
+)
+
+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() {
+	default
+
+	# respect user preferences
+	sed -i '/cflags -fdiagnostics-color/d' configure || die
+
+	# handle *FLAGS here to avoid repeating for each ABI below (bug #923491)
+	filter-lto
+	use elibc_musl && append-cppflags -D__musl__ #940733
+}
+
+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=' '
+
+		# not worth supporting on this version, use ffmpeg-6+
+		--disable-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-libdavs2
+		--disable-libklvanc
+		--disable-libmysofa
+		--disable-libopenvino
+		--disable-libshine
+		--disable-libtls
+		--disable-libuavs3d
+		--disable-libxavs
+		--disable-libxavs2
+		--disable-pocketsphinx
+		--disable-rkmpp
+		--disable-vapoursynth
+
+		# disabled for other or additional reasons
+		--disable-amf # may or may not be broken, use ffmpeg-6+ (bug #910271)
+		--disable-cuda-nvcc # prefer cuda-llvm for less issues
+		--disable-libcelt # obsolete (bug #664158)
+		--disable-libglslang # use ffmpeg-6+ with USE=shaderc instead
+		--disable-liblensfun # https://trac.ffmpeg.org/ticket/9112 (abandoned?)
+		--disable-libmfx # use ffmpeg-6+ with USE=qsv instead
+		--disable-libnpp # use ffmpeg-6+, ebuild support was only added there
+		--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-libvmaf # use ffmpeg-6+ instead, needs old vmaf library
+		--disable-mbedtls # messy with slots, tests underlinking issues
+		--disable-mmal # unsupported
+		--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
+	)
+
+	# 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
+
+	# 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() {
+	emake V=1
+}
+
+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
+}


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg-compat/
@ 2025-06-15  3:44 Ionen Wolkens
  0 siblings, 0 replies; 29+ messages in thread
From: Ionen Wolkens @ 2025-06-15  3:44 UTC (permalink / raw
  To: gentoo-commits

commit:     6e38825031640fb08f8cc345d8209d67659b9bf2
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 15 03:40:39 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sun Jun 15 03:44:03 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6e388250

media-video/ffmpeg-compat: sync with ffmpeg

Primarily for libtheora's := that's been seemingly forgotten here.

Also syncs some in-progress stable keywords but that's fine, the
ebuilds are the same and that does not need retesting.

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 .../{ffmpeg-compat-4.4.5-r1.ebuild => ffmpeg-compat-4.4.5-r2.ebuild}  | 2 +-
 .../{ffmpeg-compat-4.4.6.ebuild => ffmpeg-compat-4.4.6-r1.ebuild}     | 4 ++--
 .../{ffmpeg-compat-6.1.2-r1.ebuild => ffmpeg-compat-6.1.2-r2.ebuild}  | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5-r1.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5-r2.ebuild
similarity index 99%
rename from media-video/ffmpeg-compat/ffmpeg-compat-4.4.5-r1.ebuild
rename to media-video/ffmpeg-compat/ffmpeg-compat-4.4.5-r2.ebuild
index fab7a2922ea3..8ff7835c4fa1 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5-r1.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5-r2.ebuild
@@ -229,7 +229,7 @@ RDEPEND="
 		x11-libs/cairo[${MULTILIB_USEDEP}]
 	)
 	svt-av1? ( >=media-libs/svt-av1-0.8.4:=[${MULTILIB_USEDEP}] )
-	theora? ( media-libs/libtheora[encode,${MULTILIB_USEDEP}] )
+	theora? ( media-libs/libtheora:=[encode,${MULTILIB_USEDEP}] )
 	truetype? ( media-libs/freetype:2[${MULTILIB_USEDEP}] )
 	twolame? ( media-sound/twolame[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.6.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.6-r1.ebuild
similarity index 98%
rename from media-video/ffmpeg-compat/ffmpeg-compat-4.4.6.ebuild
rename to media-video/ffmpeg-compat/ffmpeg-compat-4.4.6-r1.ebuild
index a04419fe8271..772eea8b2f9e 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.6.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.6-r1.ebuild
@@ -21,7 +21,7 @@ else
 		https://dev.gentoo.org/~ionen/distfiles/ffmpeg-$(ver_cut 1-2)-patchset-2.tar.xz
 	"
 	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"
+	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"
@@ -229,7 +229,7 @@ RDEPEND="
 		x11-libs/cairo[${MULTILIB_USEDEP}]
 	)
 	svt-av1? ( >=media-libs/svt-av1-0.8.4:=[${MULTILIB_USEDEP}] )
-	theora? ( media-libs/libtheora[encode,${MULTILIB_USEDEP}] )
+	theora? ( media-libs/libtheora:=[encode,${MULTILIB_USEDEP}] )
 	truetype? ( media-libs/freetype:2[${MULTILIB_USEDEP}] )
 	twolame? ( media-sound/twolame[${MULTILIB_USEDEP}] )
 	v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2-r1.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2-r2.ebuild
similarity index 99%
rename from media-video/ffmpeg-compat/ffmpeg-compat-6.1.2-r1.ebuild
rename to media-video/ffmpeg-compat/ffmpeg-compat-6.1.2-r2.ebuild
index ec4e103e9d2a..04cef58ab409 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2-r1.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2-r2.ebuild
@@ -260,7 +260,7 @@ COMMON_DEPEND="
 		x11-libs/cairo[${MULTILIB_USEDEP}]
 	)
 	svt-av1? ( >=media-libs/svt-av1-0.9:=[${MULTILIB_USEDEP}] )
-	theora? ( media-libs/libtheora[encode,${MULTILIB_USEDEP}] )
+	theora? ( media-libs/libtheora:=[encode,${MULTILIB_USEDEP}] )
 	truetype? (
 		media-libs/freetype:2[${MULTILIB_USEDEP}]
 		media-libs/harfbuzz:=[${MULTILIB_USEDEP}]


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg-compat/
@ 2025-07-23 19:59 Ionen Wolkens
  0 siblings, 0 replies; 29+ messages in thread
From: Ionen Wolkens @ 2025-07-23 19:59 UTC (permalink / raw
  To: gentoo-commits

commit:     e57f053d9fd4167979ff9c683f81f7810f8cf2c7
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 23 19:58:07 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Jul 23 19:58:35 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e57f053d

media-video/ffmpeg-compat: sync with ffmpeg

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 media-video/ffmpeg-compat/ffmpeg-compat-6.1.2-r2.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2-r2.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2-r2.ebuild
index 04cef58ab409..50b44d0ddbdc 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2-r2.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2-r2.ebuild
@@ -382,7 +382,7 @@ src_prepare() {
 	# handle *FLAGS 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)
+		: "$(get-flag -flto)" # get -flto=<val> (e.g. =thin)
 		FFMPEG_ENABLE_LTO=--enable-lto${_#-flto}
 	fi
 	filter-lto


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg-compat/
@ 2025-08-03  7:42 Ionen Wolkens
  0 siblings, 0 replies; 29+ messages in thread
From: Ionen Wolkens @ 2025-08-03  7:42 UTC (permalink / raw
  To: gentoo-commits

commit:     43f64290b56a77d2af72abb6edcd96d52f2b4f17
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sun Aug  3 07:09:57 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sun Aug  3 07:41:47 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=43f64290

media-video/ffmpeg-compat: sync 4.4.6-r1 stable keywords with ffmpeg

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 media-video/ffmpeg-compat/ffmpeg-compat-4.4.6-r1.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.6-r1.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.6-r1.ebuild
index 772eea8b2f9e..8b2829b7b6d2 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.6-r1.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.6-r1.ebuild
@@ -21,7 +21,7 @@ else
 		https://dev.gentoo.org/~ionen/distfiles/ffmpeg-$(ver_cut 1-2)-patchset-2.tar.xz
 	"
 	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"
+	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"


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg-compat/
@ 2025-08-08 16:40 Ionen Wolkens
  0 siblings, 0 replies; 29+ messages in thread
From: Ionen Wolkens @ 2025-08-08 16:40 UTC (permalink / raw
  To: gentoo-commits

commit:     57eb6d2bbc3c56d918ddf5d3153e58d02b1f0920
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Aug  8 16:36:29 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Aug  8 16:37:37 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=57eb6d2b

media-video/ffmpeg-compat: sync with ffmpeg

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 media-video/ffmpeg-compat/ffmpeg-compat-4.4.5-r2.ebuild | 5 ++++-
 media-video/ffmpeg-compat/ffmpeg-compat-4.4.6-r1.ebuild | 5 ++++-
 media-video/ffmpeg-compat/ffmpeg-compat-6.1.2-r2.ebuild | 5 ++++-
 3 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5-r2.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5-r2.ebuild
index 8ff7835c4fa1..8d9fa9c57fee 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5-r2.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5-r2.ebuild
@@ -25,7 +25,10 @@ else
 fi
 
 DESCRIPTION="Complete solution to record/convert/stream audio and video"
-HOMEPAGE="https://ffmpeg.org/"
+HOMEPAGE="
+	https://ffmpeg.org/
+	https://code.ffmpeg.org/FFmpeg/FFmpeg/
+"
 
 [[ ${PN} == *-compat ]] && FFMPEG_UNSLOTTED= || FFMPEG_UNSLOTTED=1
 

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.6-r1.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.6-r1.ebuild
index 587dbb91fb98..33afde777818 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.6-r1.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.6-r1.ebuild
@@ -25,7 +25,10 @@ else
 fi
 
 DESCRIPTION="Complete solution to record/convert/stream audio and video"
-HOMEPAGE="https://ffmpeg.org/"
+HOMEPAGE="
+	https://ffmpeg.org/
+	https://code.ffmpeg.org/FFmpeg/FFmpeg/
+"
 
 [[ ${PN} == *-compat ]] && FFMPEG_UNSLOTTED= || FFMPEG_UNSLOTTED=1
 

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2-r2.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2-r2.ebuild
index 29eae7cb290a..820362189448 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2-r2.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2-r2.ebuild
@@ -29,7 +29,10 @@ else
 fi
 
 DESCRIPTION="Complete solution to record/convert/stream audio and video"
-HOMEPAGE="https://ffmpeg.org/"
+HOMEPAGE="
+	https://ffmpeg.org/
+	https://code.ffmpeg.org/FFmpeg/FFmpeg/
+"
 
 [[ ${PN} == *-compat ]] && FFMPEG_UNSLOTTED= || FFMPEG_UNSLOTTED=1
 


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg-compat/
@ 2025-08-13  0:27 Ionen Wolkens
  0 siblings, 0 replies; 29+ messages in thread
From: Ionen Wolkens @ 2025-08-13  0:27 UTC (permalink / raw
  To: gentoo-commits

commit:     a841d428e43862f0f4a6e2022a49b340892bd659
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 13 00:23:40 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Aug 13 00:23:40 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a841d428

media-video/ffmpeg-compat: sync with ffmpeg

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 media-video/ffmpeg-compat/ffmpeg-compat-6.1.2-r2.ebuild | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2-r2.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2-r2.ebuild
index 820362189448..d0cf2139f99c 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2-r2.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2-r2.ebuild
@@ -383,7 +383,7 @@ src_prepare() {
 	# respect user preferences
 	sed -i '/cflags -fdiagnostics-color/d' configure || die
 
-	# handle *FLAGS here to avoid repeating for each ABI below (bug #923491)
+	# 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)
@@ -392,15 +392,15 @@ src_prepare() {
 	filter-lto
 
 	use elibc_musl && append-cppflags -D__musl__ #940733
-
-	if use npp; then
-		local cuda=${ESYSROOT}/opt/cuda/targets/$(usex amd64 x86_64 sbsa)-linux
-		append-cppflags -I"${cuda}"/include
-		append-ldflags -L"${cuda}"/lib
-	fi
 }
 
 multilib_src_configure() {
+	if use npp && multilib_is_native_abi; then
+		local -x CPPFLAGS=${CPPFLAGS} LDFLAGS=${LDFLAGS}
+		append-cppflags $($(tc-getPKG_CONFIG) --cflags nppc || die)
+		append-ldflags $($(tc-getPKG_CONFIG) --libs-only-L nppc || die)
+	fi
+
 	local conf=( "${S}"/configure ) # not autotools-based
 
 	local prefix=${EPREFIX}/usr


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg-compat/
@ 2025-08-13  0:36 Ionen Wolkens
  0 siblings, 0 replies; 29+ messages in thread
From: Ionen Wolkens @ 2025-08-13  0:36 UTC (permalink / raw
  To: gentoo-commits

commit:     5b7fe16f9600970cef2b800492741ca7235d2503
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 13 00:34:45 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Aug 13 00:36:13 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5b7fe16f

media-video/ffmpeg-compat: sync with ffmpeg

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 media-video/ffmpeg-compat/ffmpeg-compat-4.4.5-r2.ebuild | 2 +-
 media-video/ffmpeg-compat/ffmpeg-compat-4.4.6-r1.ebuild | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5-r2.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5-r2.ebuild
index 8d9fa9c57fee..5f7f15d0692e 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5-r2.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.5-r2.ebuild
@@ -336,7 +336,7 @@ src_prepare() {
 	# respect user preferences
 	sed -i '/cflags -fdiagnostics-color/d' configure || die
 
-	# handle *FLAGS here to avoid repeating for each ABI below (bug #923491)
+	# handle here to avoid repeating for each ABI below (bug #923491)
 	filter-lto
 	use elibc_musl && append-cppflags -D__musl__ #940733
 }

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.6-r1.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.6-r1.ebuild
index 33afde777818..77eb33dbf920 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-4.4.6-r1.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-4.4.6-r1.ebuild
@@ -337,7 +337,7 @@ src_prepare() {
 	# respect user preferences
 	sed -i '/cflags -fdiagnostics-color/d' configure || die
 
-	# handle *FLAGS here to avoid repeating for each ABI below (bug #923491)
+	# handle here to avoid repeating for each ABI below (bug #923491)
 	filter-lto
 	use elibc_musl && append-cppflags -D__musl__ #940733
 }


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg-compat/
@ 2025-08-15  7:49 Ionen Wolkens
  0 siblings, 0 replies; 29+ messages in thread
From: Ionen Wolkens @ 2025-08-15  7:49 UTC (permalink / raw
  To: gentoo-commits

commit:     8b3755324e03bb04d65f5312549b1e10bcd75187
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 15 07:40:58 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Aug 15 07:48:43 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8b375532

media-video/ffmpeg-compat: add 6.1.3

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 media-video/ffmpeg-compat/Manifest                 |   3 +
 .../ffmpeg-compat/ffmpeg-compat-6.1.3.ebuild       | 571 +++++++++++++++++++++
 2 files changed, 574 insertions(+)

diff --git a/media-video/ffmpeg-compat/Manifest b/media-video/ffmpeg-compat/Manifest
index e0f7a1ae20fd..45174f593294 100644
--- a/media-video/ffmpeg-compat/Manifest
+++ b/media-video/ffmpeg-compat/Manifest
@@ -5,8 +5,11 @@ DIST ffmpeg-4.4.5.tar.xz.asc 520 BLAKE2B 505987208ed58b548f910299adb1324e6eba655
 DIST ffmpeg-4.4.6.tar.xz 9575932 BLAKE2B c025f9b020b9881d5b00455a42aa9a591fa18c5b2010cf3ee4af6d5242ab0b28e18f05d43e0416ba280bbb1393cfeaf4aaadc0e7258bd0c9578720fd7a9052d9 SHA512 3805c5ff4661217cd2f85a7443a796b9dece67b6eba7686f5f348a1c6c4c678d26f97f9674bb9552b74cfa5bffaf8048885e57e765ad3e09a31274172c57725b
 DIST ffmpeg-4.4.6.tar.xz.asc 520 BLAKE2B 6b16c806af2df78452c17cc81d254ba96056a2aeee24f41d17030aa268cd0176b94e72845092eef2c78fc436d91c881fa076155eadd9925726e478fbb2fb271c SHA512 dc07824da6ce364cc3010cfc90a3f79f60be3ede454d5844a8d06f0a6fa0f7c2881e32d71c54488c0ec8edb3191aedde9a0302e95cb233b96ac219833c48a094
 DIST ffmpeg-6.1-patchset-2.tar.xz 11632 BLAKE2B b4a414825daa74315ab1a5d50dffa13f3ac08565fd8f954a6f031ec0b01a32762af89a14624c0ab9414a6be411de8fa345b75240a2b31e8adc69dbab230b8e34 SHA512 d1be8acae3a2b03993e530737819bc6c85fcf970eddedf93ae99f2a7206876e7b2525842c177d07db8c878fd22490a1c00861580ad158dccd21ed6518d039a48
+DIST ffmpeg-6.1-patchset-3.tar.xz 11156 BLAKE2B b926ad445372f1c5410925f320a472e73752dba357d517136e3c7d00746ac0285938a750ad2359ffc5b45a39e3763df8e84034e94814652eb270e8c78c1fb32b SHA512 6705832a4e710795c8bdbfd0c14b1cae8d66389e80b5a0f4293e927b5337f9d2887845c2a33f51fc062a8a2af0cd6ea853814d7ef65b3e60a03e8a2cdba7777f
 DIST ffmpeg-6.1.2.tar.xz 10466152 BLAKE2B ff1f2b2bb60ccc4c37b6ffda2a0e6a0be80c451dc99f6d4a99bd95a1bdc44c494d62377c53383ccfb5b818573a1971948d7db34119099dbc56d7258724831d3c SHA512 3a009184d971fc3168e1322d1d724aae787ed0e9c152d8d1813ea0b9099bda3b35c41fcabbd7b140560e7a8fa9fa1ffd7f0938432d5d498c43829fc6cc3d9e08
 DIST ffmpeg-6.1.2.tar.xz.asc 520 BLAKE2B f26a2d6f5423f93090f2a448172e49f3858aeb5a00f326207d374bbb70fa8942c7ee1a7c55338b2db664b647c983cd5ab4fd8d71efe5c37af4c90385ca17d0ab SHA512 a26dba1f4870b964080b45f8468f5ce3591eb6aa69be426bf4afbe5a60c3cbd0fe5056dc86ca7bb817c04ae30d39160cb7773772a9a2123ae7f095b18a6d7050
+DIST ffmpeg-6.1.3.tar.xz 10473704 BLAKE2B 9a182ba9546a06264b30e1e2494bdf02344a44532146de7be38ce1cb2da9cb7d0cc2553e7d9ca9cd29fd56ea8925c5f27ac907b112bb5e13001527ad7db1eddf SHA512 5700b06f6abc23e8e968e52322ad7845ba43cbfe15c4db72b33e4cd3874057bc60b894f64bd95240f9145db218419fff5e96fec6afc2dfc3acde4b030c41b606
+DIST ffmpeg-6.1.3.tar.xz.asc 520 BLAKE2B cad27eef290b4c22c86e818c71cc9d29ff600579949b54046c61129af26f29220ed7dedde18db6ad6711ab40d0deef149046aea20b0452b69bb5e63f0b19f4e2 SHA512 a858a5fc5b72cfa53071e0f7a36e89459e1173676841a9fb72bb3f2cea9ed877f638e58eebd9d5ae4288811fe24b8bd48ec683419aaef06b66ad862ca2690e99
 DIST ffmpeg-7.1-patchset-1.tar.xz 2332 BLAKE2B 0fefee824923266618b656c49c43d3a661e6a6885c0b72f5e6fe6516165aab873e519bce5f011aeef7f9fed32418c8d9c8096ae9d3f10ffd3b364948eae8979a SHA512 7afd732dd1df8e8d232dcfb66d873234710d30e123ceee3d7d1980058c71352ab5aa7676835392206565afdb9d4258708d458dc156226dde07cc01d09b4c9a8b
 DIST ffmpeg-7.1.1.tar.xz 11019500 BLAKE2B 85d1850bfa39ec28d358b5454daa7c1cf8580af73a6f83e7c070ea94db40ad485adbaeb89e886e0b3908e0f1765bd9f2b40ddd838e33e0a76e5b286917535310 SHA512 42486e485c8fc6f3ec61598a1a7cb40360535762b3fcf28c10d7c6840bc55afe3334434912746e69eef862d3cedf45a02953bde73d38547d2d9a7a38a65e123a
 DIST ffmpeg-7.1.1.tar.xz.asc 520 BLAKE2B 3bb276ab356ba50a805a76e3e3cd2113141c28daf69d1f43aceded79769fffd686729f9db99df1046c88d5c1a6f12d224e34ddf409aa9989acfa87ebbbcd0155 SHA512 480846fd939d00f2ea90c0256081519a6996c7a990d0f66444a7ae1bce2e5ad6380f5d751efc9bde18da9c4d34738ade57dd66288b989dfd074c484562e20e75

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.3.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.3.ebuild
new file mode 100644
index 000000000000..bb3b84896a0a
--- /dev/null
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.3.ebuild
@@ -0,0 +1,571 @@
+# 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-6.1-r3.patch
+FFMPEG_SUBSLOT=58.60.60 # 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} )
+		"}
+		https://dev.gentoo.org/~ionen/distfiles/ffmpeg-$(ver_cut 1-2)-patchset-3.tar.xz
+	"
+	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
+	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
+	libplacebo
+	librtmp:librtmp
+	libsoxr
+	libtesseract
+	lv2
+	lzma
+	modplug:libmodplug
+	npp:^libnpp@nonfree # no multilib
+	nvenc:cuvid,ffnvcodec,nvdec,nvenc
+	openal
+	opencl
+	opengl
+	openh264:libopenh264
+	openmpt:libopenmpt
+	openssl:openssl,!gnutls@v3ifgpl # still LGPL2.1+ if USE=-gpl
+	opus:libopus
+	+postproc # exposed as a USE for clarity with the GPL requirement
+	pulseaudio:libpulse
+	qsv:libvpl
+	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
+	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 ) npp? ( 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 )
+	npp? ( nvenc )
+	shaderc? ( vulkan )
+	libaribb24? ( gpl ) cdio? ( gpl ) frei0r? ( gpl ) postproc? ( 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 ) npp? ( bindist ) )"
+
+# dlopen: amdgpu-pro-amf, vulkan-loader
+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}] )
+	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}] )
+	libplacebo? ( media-libs/libplacebo:=[vulkan,${MULTILIB_USEDEP}] )
+	librtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] )
+	libsoxr? ( media-libs/soxr[${MULTILIB_USEDEP}] )
+	libtesseract? ( app-text/tesseract:=[${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}] )
+	npp? ( dev-util/nvidia-cuda-toolkit:= )
+	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}] )
+	qsv? ( media-libs/libvpl:=[${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? ( sys-libs/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 )
+	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 )
+"
+BDEPEND="
+	app-alternatives/awk
+	virtual/pkgconfig
+	amd64? (
+		|| (
+			dev-lang/nasm
+			dev-lang/yasm
+		)
+	)
+	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=(
+	"${WORKDIR}"/patches
+)
+
+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}
+	fi
+	filter-lto
+
+	use elibc_musl && append-cppflags -D__musl__ #940733
+}
+
+multilib_src_configure() {
+	if use npp && multilib_is_native_abi; then
+		local -x CPPFLAGS=${CPPFLAGS} LDFLAGS=${LDFLAGS}
+		append-cppflags $($(tc-getPKG_CONFIG) --cflags nppc || die)
+		append-ldflags $($(tc-getPKG_CONFIG) --libs-only-L nppc || die)
+	fi
+
+	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-libmysofa
+		--disable-libopenvino
+		--disable-libshine
+		--disable-libtls
+		--disable-libuavs3d
+		--disable-libxavs
+		--disable-libxavs2
+		--disable-pocketsphinx
+		--disable-rkmpp
+		--disable-vapoursynth
+
+		# 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-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-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
+
+	# 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() {
+	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
+}


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg-compat/
@ 2025-09-07  3:54 Ionen Wolkens
  0 siblings, 0 replies; 29+ messages in thread
From: Ionen Wolkens @ 2025-09-07  3:54 UTC (permalink / raw
  To: gentoo-commits

commit:     2843aaafbf1db77e640c711ed459005566fec6bb
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sun Sep  7 03:53:29 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sun Sep  7 03:53:29 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2843aaaf

media-video/ffmpeg-compat: sync with ffmpeg

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 media-video/ffmpeg-compat/ffmpeg-compat-6.1.3.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.3.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.3.ebuild
index bb3b84896a0a..016041c3dd2c 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.3.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.3.ebuild
@@ -25,7 +25,7 @@ else
 		https://dev.gentoo.org/~ionen/distfiles/ffmpeg-$(ver_cut 1-2)-patchset-3.tar.xz
 	"
 	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"
+	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"


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg-compat/
@ 2025-09-15  7:55 Ionen Wolkens
  0 siblings, 0 replies; 29+ messages in thread
From: Ionen Wolkens @ 2025-09-15  7:55 UTC (permalink / raw
  To: gentoo-commits

commit:     1adf7b0e844a9295689b5e37ca6ee5f9bea2e31f
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 15 05:58:23 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Sep 15 07:54:01 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1adf7b0e

media-video/ffmpeg-compat: drop 6.1.2-r2

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 media-video/ffmpeg-compat/Manifest                 |   3 -
 .../ffmpeg-compat/ffmpeg-compat-6.1.2-r2.ebuild    | 571 ---------------------
 2 files changed, 574 deletions(-)

diff --git a/media-video/ffmpeg-compat/Manifest b/media-video/ffmpeg-compat/Manifest
index 45174f593294..14bb93f1cc27 100644
--- a/media-video/ffmpeg-compat/Manifest
+++ b/media-video/ffmpeg-compat/Manifest
@@ -4,10 +4,7 @@ DIST ffmpeg-4.4.5.tar.xz 9575596 BLAKE2B 546df09f7731d22e532a18d9ba9be184283f62b
 DIST ffmpeg-4.4.5.tar.xz.asc 520 BLAKE2B 505987208ed58b548f910299adb1324e6eba655cc37e6f03cac32c8623e16a4a884e822c745fb72b1934129a8c0a2706bb8bfb785715e6a68e43f737cb8ed365 SHA512 bcfee8986681dfbefd3add741fcbbc5e223bb06c9800797e68fde968c114055ac3fc02ce8731ed269bf30c92d6c990c7f636f82d42379920012e8a0ace8d527e
 DIST ffmpeg-4.4.6.tar.xz 9575932 BLAKE2B c025f9b020b9881d5b00455a42aa9a591fa18c5b2010cf3ee4af6d5242ab0b28e18f05d43e0416ba280bbb1393cfeaf4aaadc0e7258bd0c9578720fd7a9052d9 SHA512 3805c5ff4661217cd2f85a7443a796b9dece67b6eba7686f5f348a1c6c4c678d26f97f9674bb9552b74cfa5bffaf8048885e57e765ad3e09a31274172c57725b
 DIST ffmpeg-4.4.6.tar.xz.asc 520 BLAKE2B 6b16c806af2df78452c17cc81d254ba96056a2aeee24f41d17030aa268cd0176b94e72845092eef2c78fc436d91c881fa076155eadd9925726e478fbb2fb271c SHA512 dc07824da6ce364cc3010cfc90a3f79f60be3ede454d5844a8d06f0a6fa0f7c2881e32d71c54488c0ec8edb3191aedde9a0302e95cb233b96ac219833c48a094
-DIST ffmpeg-6.1-patchset-2.tar.xz 11632 BLAKE2B b4a414825daa74315ab1a5d50dffa13f3ac08565fd8f954a6f031ec0b01a32762af89a14624c0ab9414a6be411de8fa345b75240a2b31e8adc69dbab230b8e34 SHA512 d1be8acae3a2b03993e530737819bc6c85fcf970eddedf93ae99f2a7206876e7b2525842c177d07db8c878fd22490a1c00861580ad158dccd21ed6518d039a48
 DIST ffmpeg-6.1-patchset-3.tar.xz 11156 BLAKE2B b926ad445372f1c5410925f320a472e73752dba357d517136e3c7d00746ac0285938a750ad2359ffc5b45a39e3763df8e84034e94814652eb270e8c78c1fb32b SHA512 6705832a4e710795c8bdbfd0c14b1cae8d66389e80b5a0f4293e927b5337f9d2887845c2a33f51fc062a8a2af0cd6ea853814d7ef65b3e60a03e8a2cdba7777f
-DIST ffmpeg-6.1.2.tar.xz 10466152 BLAKE2B ff1f2b2bb60ccc4c37b6ffda2a0e6a0be80c451dc99f6d4a99bd95a1bdc44c494d62377c53383ccfb5b818573a1971948d7db34119099dbc56d7258724831d3c SHA512 3a009184d971fc3168e1322d1d724aae787ed0e9c152d8d1813ea0b9099bda3b35c41fcabbd7b140560e7a8fa9fa1ffd7f0938432d5d498c43829fc6cc3d9e08
-DIST ffmpeg-6.1.2.tar.xz.asc 520 BLAKE2B f26a2d6f5423f93090f2a448172e49f3858aeb5a00f326207d374bbb70fa8942c7ee1a7c55338b2db664b647c983cd5ab4fd8d71efe5c37af4c90385ca17d0ab SHA512 a26dba1f4870b964080b45f8468f5ce3591eb6aa69be426bf4afbe5a60c3cbd0fe5056dc86ca7bb817c04ae30d39160cb7773772a9a2123ae7f095b18a6d7050
 DIST ffmpeg-6.1.3.tar.xz 10473704 BLAKE2B 9a182ba9546a06264b30e1e2494bdf02344a44532146de7be38ce1cb2da9cb7d0cc2553e7d9ca9cd29fd56ea8925c5f27ac907b112bb5e13001527ad7db1eddf SHA512 5700b06f6abc23e8e968e52322ad7845ba43cbfe15c4db72b33e4cd3874057bc60b894f64bd95240f9145db218419fff5e96fec6afc2dfc3acde4b030c41b606
 DIST ffmpeg-6.1.3.tar.xz.asc 520 BLAKE2B cad27eef290b4c22c86e818c71cc9d29ff600579949b54046c61129af26f29220ed7dedde18db6ad6711ab40d0deef149046aea20b0452b69bb5e63f0b19f4e2 SHA512 a858a5fc5b72cfa53071e0f7a36e89459e1173676841a9fb72bb3f2cea9ed877f638e58eebd9d5ae4288811fe24b8bd48ec683419aaef06b66ad862ca2690e99
 DIST ffmpeg-7.1-patchset-1.tar.xz 2332 BLAKE2B 0fefee824923266618b656c49c43d3a661e6a6885c0b72f5e6fe6516165aab873e519bce5f011aeef7f9fed32418c8d9c8096ae9d3f10ffd3b364948eae8979a SHA512 7afd732dd1df8e8d232dcfb66d873234710d30e123ceee3d7d1980058c71352ab5aa7676835392206565afdb9d4258708d458dc156226dde07cc01d09b4c9a8b

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2-r2.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2-r2.ebuild
deleted file mode 100644
index 2fdc777dbf49..000000000000
--- a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.2-r2.ebuild
+++ /dev/null
@@ -1,571 +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-6.1-r3.patch
-FFMPEG_SUBSLOT=58.60.60 # 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} )
-		"}
-		https://dev.gentoo.org/~ionen/distfiles/ffmpeg-$(ver_cut 1-2)-patchset-2.tar.xz
-	"
-	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
-	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
-	libplacebo
-	librtmp:librtmp
-	libsoxr
-	libtesseract
-	lv2
-	lzma
-	modplug:libmodplug
-	npp:^libnpp@nonfree # no multilib
-	nvenc:cuvid,ffnvcodec,nvdec,nvenc
-	openal
-	opencl
-	opengl
-	openh264:libopenh264
-	openmpt:libopenmpt
-	openssl:openssl,!gnutls@v3ifgpl # still LGPL2.1+ if USE=-gpl
-	opus:libopus
-	+postproc # exposed as a USE for clarity with the GPL requirement
-	pulseaudio:libpulse
-	qsv:libvpl
-	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
-	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 ) npp? ( 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 )
-	npp? ( nvenc )
-	shaderc? ( vulkan )
-	libaribb24? ( gpl ) cdio? ( gpl ) frei0r? ( gpl ) postproc? ( 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 ) npp? ( bindist ) )"
-
-# dlopen: amdgpu-pro-amf, vulkan-loader
-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}] )
-	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}] )
-	libplacebo? ( media-libs/libplacebo:=[vulkan,${MULTILIB_USEDEP}] )
-	librtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] )
-	libsoxr? ( media-libs/soxr[${MULTILIB_USEDEP}] )
-	libtesseract? ( app-text/tesseract:=[${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}] )
-	npp? ( dev-util/nvidia-cuda-toolkit:= )
-	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}] )
-	qsv? ( media-libs/libvpl:=[${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? ( sys-libs/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 )
-	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 )
-"
-BDEPEND="
-	app-alternatives/awk
-	virtual/pkgconfig
-	amd64? (
-		|| (
-			dev-lang/nasm
-			dev-lang/yasm
-		)
-	)
-	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=(
-	"${WORKDIR}"/patches
-)
-
-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}
-	fi
-	filter-lto
-
-	use elibc_musl && append-cppflags -D__musl__ #940733
-}
-
-multilib_src_configure() {
-	if use npp && multilib_is_native_abi; then
-		local -x CPPFLAGS=${CPPFLAGS} LDFLAGS=${LDFLAGS}
-		append-cppflags $($(tc-getPKG_CONFIG) --cflags nppc || die)
-		append-ldflags $($(tc-getPKG_CONFIG) --libs-only-L nppc || die)
-	fi
-
-	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-libmysofa
-		--disable-libopenvino
-		--disable-libshine
-		--disable-libtls
-		--disable-libuavs3d
-		--disable-libxavs
-		--disable-libxavs2
-		--disable-pocketsphinx
-		--disable-rkmpp
-		--disable-vapoursynth
-
-		# 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-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-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
-
-	# 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() {
-	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
-}


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg-compat/
@ 2025-09-15  7:55 Ionen Wolkens
  0 siblings, 0 replies; 29+ messages in thread
From: Ionen Wolkens @ 2025-09-15  7:55 UTC (permalink / raw
  To: gentoo-commits

commit:     eb42e0a8c915f31c6b05bca48c3259b1f24f5f47
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 15 06:51:18 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Sep 15 07:54:01 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eb42e0a8

media-video/ffmpeg-compat: add 7.1.2

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 media-video/ffmpeg-compat/Manifest                 |   3 +
 .../ffmpeg-compat/ffmpeg-compat-7.1.2.ebuild       | 585 +++++++++++++++++++++
 2 files changed, 588 insertions(+)

diff --git a/media-video/ffmpeg-compat/Manifest b/media-video/ffmpeg-compat/Manifest
index 14bb93f1cc27..4971b70cab6c 100644
--- a/media-video/ffmpeg-compat/Manifest
+++ b/media-video/ffmpeg-compat/Manifest
@@ -8,7 +8,10 @@ DIST ffmpeg-6.1-patchset-3.tar.xz 11156 BLAKE2B b926ad445372f1c5410925f320a472e7
 DIST ffmpeg-6.1.3.tar.xz 10473704 BLAKE2B 9a182ba9546a06264b30e1e2494bdf02344a44532146de7be38ce1cb2da9cb7d0cc2553e7d9ca9cd29fd56ea8925c5f27ac907b112bb5e13001527ad7db1eddf SHA512 5700b06f6abc23e8e968e52322ad7845ba43cbfe15c4db72b33e4cd3874057bc60b894f64bd95240f9145db218419fff5e96fec6afc2dfc3acde4b030c41b606
 DIST ffmpeg-6.1.3.tar.xz.asc 520 BLAKE2B cad27eef290b4c22c86e818c71cc9d29ff600579949b54046c61129af26f29220ed7dedde18db6ad6711ab40d0deef149046aea20b0452b69bb5e63f0b19f4e2 SHA512 a858a5fc5b72cfa53071e0f7a36e89459e1173676841a9fb72bb3f2cea9ed877f638e58eebd9d5ae4288811fe24b8bd48ec683419aaef06b66ad862ca2690e99
 DIST ffmpeg-7.1-patchset-1.tar.xz 2332 BLAKE2B 0fefee824923266618b656c49c43d3a661e6a6885c0b72f5e6fe6516165aab873e519bce5f011aeef7f9fed32418c8d9c8096ae9d3f10ffd3b364948eae8979a SHA512 7afd732dd1df8e8d232dcfb66d873234710d30e123ceee3d7d1980058c71352ab5aa7676835392206565afdb9d4258708d458dc156226dde07cc01d09b4c9a8b
+DIST ffmpeg-7.1-patchset-2.tar.xz 2056 BLAKE2B 56e6ed9c53ae90966a81beddd6eb3999cf983671a6abb8f25b21f17317dc8e8f5d8595a151a2a3d72f6a833d661911b43cb9c06be41d277ec551e4540a5d0b1e SHA512 bde2e07e2284f9c59bfc3dd448d46f34e14e3983d01baac6b89efac1093dd804318c4770cebe16d84830b34325dcd0aa88cf56136b3529bd36651bb32d73632b
 DIST ffmpeg-7.1.1.tar.xz 11019500 BLAKE2B 85d1850bfa39ec28d358b5454daa7c1cf8580af73a6f83e7c070ea94db40ad485adbaeb89e886e0b3908e0f1765bd9f2b40ddd838e33e0a76e5b286917535310 SHA512 42486e485c8fc6f3ec61598a1a7cb40360535762b3fcf28c10d7c6840bc55afe3334434912746e69eef862d3cedf45a02953bde73d38547d2d9a7a38a65e123a
 DIST ffmpeg-7.1.1.tar.xz.asc 520 BLAKE2B 3bb276ab356ba50a805a76e3e3cd2113141c28daf69d1f43aceded79769fffd686729f9db99df1046c88d5c1a6f12d224e34ddf409aa9989acfa87ebbbcd0155 SHA512 480846fd939d00f2ea90c0256081519a6996c7a990d0f66444a7ae1bce2e5ad6380f5d751efc9bde18da9c4d34738ade57dd66288b989dfd074c484562e20e75
+DIST ffmpeg-7.1.2.tar.xz 11030368 BLAKE2B b4e4d7810a48e1152f958a107b06d063505a1dfcac38d93fd568d926db630e8aeada6835695f32e0c3c36b0c8c27c381faee886ba993e51c9d3affd8bcdd5d31 SHA512 181e6415da359e3addbc448ff09b5cebe57d9c37106e5125c41f484adebc250502fc9efe150cb117d7378e20830715035be94c2ba4ad7c369b18af85f1a4ca20
+DIST ffmpeg-7.1.2.tar.xz.asc 520 BLAKE2B 29387c013b9c6d5bce9c755118df6466c0e8ebd1c203b3c6e8ac33b044732ae551608e15ee39027e8b78ed3935786c72817fddcf081c74273409368022a443a2 SHA512 b0358cea13be070a0d41b42e98c5df17ab8794b86a5f8b2a4bf0043e608a21b02fdbaad2bc3318457a9c43ef0d3c823509234ffd7292e6ea49b1eff951663f58
 DIST ffmpeg-rpi-6.1-r3.patch 800738 BLAKE2B b7e449ee5eec8b50a3b3bba233c5269f3b6845dbd18a619b844c841a97345ce24c7a5d7f4da05b08e3cb49668426b9044f3d3553d9c2ef3a50aec7199bfa3c09 SHA512 aeaf12afabf5f2192fb0b6ef47397d8477b109e49cee8c02a890d1656a27b1985c62c719ef72966d8c97b0709918233b65ea2e0ef988771507e4be137fcd9158
 DIST ffmpeg-rpi-7.1.1.patch 847869 BLAKE2B efc3fef1810034b40eee1f637499171529fc6027c4fc0ef66da587c704a7742b454903aa060b21305e1d9a714eb31d96cd93f93d7cadb5815a0de22ac040b9e1 SHA512 a3f9013aec9b17e0fc1689d946e57e251a88eac3f9e7856d46fe9614fea29211feaf106d32a31f97c0e8c83c1685ca454c31f9bcb5dafb669a0933d683e581c8

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-7.1.2.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-7.1.2.ebuild
new file mode 100644
index 000000000000..1d4de2ce6934
--- /dev/null
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-7.1.2.ebuild
@@ -0,0 +1,585 @@
+# 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-7.1.1.patch
+FFMPEG_SUBSLOT=59.61.61 # 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} )
+		"}
+		https://dev.gentoo.org/~ionen/distfiles/ffmpeg-$(ver_cut 1-2)-patchset-2.tar.xz
+	"
+	S=${WORKDIR}/ffmpeg-${PV} # avoid ${P} for ffmpeg-compat
+	KEYWORDS="~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
+	libtesseract
+	lv2
+	lzma
+	modplug:libmodplug
+	npp:^libnpp@nonfree # no multilib
+	nvenc:cuvid,ffnvcodec,nvdec,nvenc
+	openal
+	opencl
+	opengl
+	openh264:libopenh264
+	openmpt:libopenmpt
+	openssl:openssl,!gnutls@v3ifgpl # still LGPL2.1+ if USE=-gpl
+	opus:libopus
+	+postproc # exposed as a USE for clarity with the GPL requirement
+	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
+	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 ) npp? ( 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 )
+	npp? ( nvenc )
+	shaderc? ( vulkan )
+	libaribb24? ( gpl ) cdio? ( gpl ) dvd? ( gpl ) frei0r? ( gpl )
+	postproc? ( 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 ) npp? ( bindist ) )"
+
+# dlopen: amdgpu-pro-amf, vulkan-loader
+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}] )
+	libtesseract? ( app-text/tesseract:=[${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}] )
+	npp? ( dev-util/nvidia-cuda-toolkit:= )
+	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? ( sys-libs/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 )
+	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 )
+"
+BDEPEND="
+	app-alternatives/awk
+	virtual/pkgconfig
+	amd64? (
+		|| (
+			dev-lang/nasm
+			dev-lang/yasm
+		)
+	)
+	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=(
+	"${WORKDIR}"/patches
+)
+
+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}
+	fi
+	filter-lto
+}
+
+multilib_src_configure() {
+	if use npp && multilib_is_native_abi; then
+		local -x CPPFLAGS=${CPPFLAGS} LDFLAGS=${LDFLAGS}
+		append-cppflags $($(tc-getPKG_CONFIG) --cflags nppc || die)
+		append-ldflags $($(tc-getPKG_CONFIG) --libs-only-L nppc || die)
+	fi
+
+	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-libopenvino
+		--disable-libshine
+		--disable-libtls
+		--disable-libuavs3d
+		--disable-libvvenc
+		--disable-libxavs
+		--disable-libxavs2
+		--disable-libxevd
+		--disable-libxeve
+		--disable-pocketsphinx
+		--disable-rkmpp
+		--disable-vapoursynth
+
+		# 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-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
+
+	# 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() {
+	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
+}


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg-compat/
@ 2025-10-07  0:14 Ionen Wolkens
  0 siblings, 0 replies; 29+ messages in thread
From: Ionen Wolkens @ 2025-10-07  0:14 UTC (permalink / raw
  To: gentoo-commits

commit:     d0b81c45bc50b7d5741769ced4a54a42cd707bf3
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Oct  7 00:04:00 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Oct  7 00:13:28 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d0b81c45

media-video/ffmpeg-compat: sync with ffmpeg

incl. some stable keywords (intentional)

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 media-video/ffmpeg-compat/ffmpeg-compat-6.1.3.ebuild | 2 ++
 media-video/ffmpeg-compat/ffmpeg-compat-7.1.1.ebuild | 2 ++
 media-video/ffmpeg-compat/ffmpeg-compat-7.1.2.ebuild | 4 +++-
 3 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.3.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.3.ebuild
index 016041c3dd2c..1340bff431e3 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-6.1.3.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-6.1.3.ebuild
@@ -387,6 +387,8 @@ src_prepare() {
 	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
 

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-7.1.1.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-7.1.1.ebuild
index 703962f85e5d..3b92cea2ed5f 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-7.1.1.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-7.1.1.ebuild
@@ -398,6 +398,8 @@ src_prepare() {
 	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
 }

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-7.1.2.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-7.1.2.ebuild
index 1d4de2ce6934..d73f933f76ff 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-7.1.2.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-7.1.2.ebuild
@@ -25,7 +25,7 @@ else
 		https://dev.gentoo.org/~ionen/distfiles/ffmpeg-$(ver_cut 1-2)-patchset-2.tar.xz
 	"
 	S=${WORKDIR}/ffmpeg-${PV} # avoid ${P} for ffmpeg-compat
-	KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+	KEYWORDS="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"
@@ -398,6 +398,8 @@ src_prepare() {
 	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
 }


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg-compat/
@ 2025-10-07  8:12 Ionen Wolkens
  0 siblings, 0 replies; 29+ messages in thread
From: Ionen Wolkens @ 2025-10-07  8:12 UTC (permalink / raw
  To: gentoo-commits

commit:     619eb99f2f11300e9937f3069c02fac33ddcb5b4
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Oct  7 08:11:03 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Oct  7 08:11:03 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=619eb99f

media-video/ffmpeg-compat: sync with ffmpeg

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 media-video/ffmpeg-compat/ffmpeg-compat-7.1.2.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-7.1.2.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-7.1.2.ebuild
index d73f933f76ff..916add1209e8 100644
--- a/media-video/ffmpeg-compat/ffmpeg-compat-7.1.2.ebuild
+++ b/media-video/ffmpeg-compat/ffmpeg-compat-7.1.2.ebuild
@@ -25,7 +25,7 @@ else
 		https://dev.gentoo.org/~ionen/distfiles/ffmpeg-$(ver_cut 1-2)-patchset-2.tar.xz
 	"
 	S=${WORKDIR}/ffmpeg-${PV} # avoid ${P} for ffmpeg-compat
-	KEYWORDS="amd64 arm arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+	KEYWORDS="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"


^ permalink raw reply related	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2025-10-07  8:12 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-07  0:14 [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg-compat/ Ionen Wolkens
  -- strict thread matches above, loose matches on Subject: below --
2025-10-07  8:12 Ionen Wolkens
2025-09-15  7:55 Ionen Wolkens
2025-09-15  7:55 Ionen Wolkens
2025-09-07  3:54 Ionen Wolkens
2025-08-15  7:49 Ionen Wolkens
2025-08-13  0:36 Ionen Wolkens
2025-08-13  0:27 Ionen Wolkens
2025-08-08 16:40 Ionen Wolkens
2025-08-03  7:42 Ionen Wolkens
2025-07-23 19:59 Ionen Wolkens
2025-06-15  3:44 Ionen Wolkens
2025-05-18 19:29 Ionen Wolkens
2025-05-11 15:33 Sam James
2025-04-27  1:00 Ionen Wolkens
2025-04-27  0:48 Ionen Wolkens
2025-04-23 13:25 Ionen Wolkens
2025-04-23 12:38 Ionen Wolkens
2025-04-01  2:30 Ionen Wolkens
2025-03-27 19:01 Sam James
2025-03-27 19:01 Sam James
2025-03-27 19:01 Sam James
2025-03-27 19:01 Sam James
2025-03-27 19:01 Sam James
2025-03-27 19:01 Sam James
2025-03-16 18:04 Ionen Wolkens
2025-03-13  6:10 Ionen Wolkens
2025-03-13  4:24 Ionen Wolkens
2025-03-11  9:04 Ionen Wolkens

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox