diff --git a/media-video/ffmpeg-compat/Manifest b/media-video/ffmpeg-compat/Manifest index 4971b70cab6c0..8b76a0a543ce6 100644 --- a/media-video/ffmpeg-compat/Manifest +++ b/media-video/ffmpeg-compat/Manifest @@ -7,10 +7,7 @@ DIST ffmpeg-4.4.6.tar.xz.asc 520 BLAKE2B 6b16c806af2df78452c17cc81d254ba96056a2a DIST ffmpeg-6.1-patchset-3.tar.xz 11156 BLAKE2B b926ad445372f1c5410925f320a472e73752dba357d517136e3c7d00746ac0285938a750ad2359ffc5b45a39e3763df8e84034e94814652eb270e8c78c1fb32b SHA512 6705832a4e710795c8bdbfd0c14b1cae8d66389e80b5a0f4293e927b5337f9d2887845c2a33f51fc062a8a2af0cd6ea853814d7ef65b3e60a03e8a2cdba7777f 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 diff --git a/media-video/ffmpeg-compat/ffmpeg-compat-7.1.1.ebuild b/media-video/ffmpeg-compat/ffmpeg-compat-7.1.1.ebuild deleted file mode 100644 index a6d092ab79ca6..0000000000000 --- a/media-video/ffmpeg-compat/ffmpeg-compat-7.1.1.ebuild +++ /dev/null @@ -1,579 +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-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-1.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,...][@]], ^ = 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 - 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 ) - ) - !gpl? ( - LGPL-2.1+ - amr? ( LGPL-3+ ) amrenc? ( LGPL-3+ ) libaribb24? ( LGPL-3+ ) - gmp? ( LGPL-3+ ) - ) - samba? ( GPL-3+ ) -" -[[ ${FFMPEG_UNSLOTTED} ]] && : 0 || : "$(ver_cut 1)" -SLOT="${_}/${FFMPEG_SUBSLOT}" -IUSE=" - ${FFMPEG_IUSE_MAP[*]%:*} - ${FFMPEG_UNSLOTTED:+chromium} - ${FFMPEG_SOC_PATCH:+soc} -" -REQUIRED_USE=" - cuda? ( nvenc ) - fribidi? ( truetype ) - gmp? ( !librtmp ) - libplacebo? ( vulkan ) - shaderc? ( vulkan ) - libaribb24? ( gpl ) cdio? ( gpl ) dvd? ( gpl ) frei0r? ( gpl ) - 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 ) )" - -# 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}] ) - 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= (e.g. =thin) - FFMPEG_ENABLE_LTO=--enable-lto${_#-flto} - - tc-ld-is-mold && tc-is-clang && FFMPEG_ENABLE_LTO= #963835 - fi - filter-lto -} - -multilib_src_configure() { - local conf=( "${S}"/configure ) # not autotools-based - - local prefix=${EPREFIX}/usr - if [[ ! ${FFMPEG_UNSLOTTED} ]]; then - prefix+=/lib/ffmpeg${SLOT%/*} - # could get SONAME clashes, so prefer rpath over LDPATH - conf+=( - --enable-rpath - --disable-doc - ) - fi - - conf+=( - --prefix="${prefix}" - --libdir="${prefix}"/$(get_libdir) - --shlibdir="${prefix}"/$(get_libdir) - --mandir="${prefix}"/share/man - --docdir="${EPREFIX}"/usr/share/doc/${PF}/html - - --ar="$(tc-getAR)" - --cc="$(tc-getCC)" - --cxx="$(tc-getCXX)" - --nm="$(tc-getNM)" - --pkg-config="$(tc-getPKG_CONFIG)" - --ranlib="$(tc-getRANLIB)" - --disable-stripping - - # overrides users' -g/-O, let *FLAGS handle these - --disable-debug - --disable-optimizations - --optflags=' ' - - # pass option over *FLAGS due to special logic (bug #566282,#754654) - ${FFMPEG_ENABLE_LTO} - - # basic defaults that should not really need a USE - --enable-iconv - --enable-pic - --enable-shared - --disable-static - $(multilib_native_enable manpages) # needs pod2man - --disable-podpages - --disable-txtpages - - # disabled primarily due to being unpackaged - --disable-decklink - --disable-libaribcaption - --disable-libdavs2 - --disable-libklvanc - --disable-liblcevc-dec - --disable-libmysofa - --disable-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-libnpp # deprecated and not supported for cuda 13.0+ - --disable-libopencv # leaving for later due to circular opencv[ffmpeg] - --disable-librist # librist itself needs attention first (bug #822012) - --disable-libtensorflow # causes headaches, and is gone - --disable-libtorch # support may need special attention (bug #936127) - --disable-mbedtls # messy with slots, tests underlinking issues - --disable-mmal # prefer USE=soc - --disable-omx # unsupported (bug #653386) - --disable-omx-rpi # ^ - - # to avoid obscure issues like bug #915384 and simplify the ebuild, - # not passing the following (use EXTRA_ECONF if really must): - # --cpu: adds -march= after the user's more adapted - # =native, its logic also does not account for -mno-* - # --disable/enable-: 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 -}