From e68d405c5d712af4387159df07e226217bdda049 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 6 Apr 2022 22:33:41 +0100 Subject: gentoo resync : 06.04.2022 --- media-video/Manifest.gz | Bin 26668 -> 26671 bytes media-video/amdgpu-pro-amf/Manifest | 4 +- .../amdgpu-pro-amf-1.4.24.1376756-r1.ebuild | 58 +++ .../amdgpu-pro-amf-1.4.24.1376756.ebuild | 56 -- .../amdgpu-pro-amf-1.4.24.1384496-r1.ebuild | 58 +++ .../amdgpu-pro-amf-1.4.24.1384496.ebuild | 57 -- media-video/dvdrip/Manifest | 1 - .../files/dvdrip-0.98.11-fix_parallel_make.patch | 28 - media-video/ffmpeg/Manifest | 10 +- media-video/ffmpeg/ffmpeg-4.4.1-r3.ebuild | 566 -------------------- media-video/ffmpeg/ffmpeg-4.4.1-r5.ebuild | 569 ++++++++++++++++++++ media-video/ffmpeg/ffmpeg-5.0-r1.ebuild | 565 -------------------- media-video/ffmpeg/ffmpeg-5.0-r3.ebuild | 569 ++++++++++++++++++++ media-video/ffmpeg/ffmpeg-5.0.1.ebuild | 577 +++++++++++++++++++++ media-video/ffmpeg/ffmpeg-9999.ebuild | 35 +- media-video/ffmpeg/files/amf-env-vulkan-override | 1 + media-video/ffmpegthumbnailer/Manifest | 2 +- .../ffmpegthumbnailer-2.2.2.ebuild | 2 +- media-video/gaupol/Manifest | 4 +- media-video/gaupol/gaupol-1.11.ebuild | 65 +++ media-video/gaupol/gaupol-1.9.ebuild | 65 --- media-video/mpv/Manifest | 8 +- media-video/mpv/mpv-0.33.1-r2.ebuild | 358 ------------- media-video/mpv/mpv-0.33.1-r3.ebuild | 358 +++++++++++++ media-video/mpv/mpv-0.34.0-r1.ebuild | 358 +++++++++++++ media-video/mpv/mpv-0.34.0.ebuild | 358 ------------- media-video/mpv/mpv-0.34.1-r1.ebuild | 358 +++++++++++++ media-video/mpv/mpv-0.34.1.ebuild | 358 ------------- media-video/mpv/mpv-9999.ebuild | 2 +- media-video/obs-studio/Manifest | 8 +- .../files/obs-studio-26.1.2-python-3.8.patch | 18 - .../files/obs-studio-27.1.3-ffmpeg-5.0.patch | 314 ----------- media-video/obs-studio/obs-studio-27.1.3-r2.ebuild | 214 -------- media-video/obs-studio/obs-studio-27.2.4.ebuild | 204 ++++++++ media-video/pipewire/Manifest | 2 + media-video/pipewire/pipewire-0.3.49.ebuild | 352 +++++++++++++ media-video/simplescreenrecorder/Manifest | 7 +- .../files/simplescreenrecorder-0.4.2-cmake.patch | 28 - .../simplescreenrecorder-0.4.2.ebuild | 101 ---- .../simplescreenrecorder-0.4.4.ebuild | 105 ++++ .../simplescreenrecorder-9999.ebuild | 23 +- media-video/totem/Manifest | 2 + media-video/totem/totem-42.0-r1.ebuild | 122 +++++ media-video/vlc/Manifest | 8 +- media-video/vlc/vlc-3.0.16-r7.ebuild | 520 ------------------- media-video/vlc/vlc-3.0.16-r8.ebuild | 520 +++++++++++++++++++ media-video/vlc/vlc-3.0.17.3-r1.ebuild | 514 ++++++++++++++++++ media-video/vlc/vlc-3.0.17.3.ebuild | 514 ------------------ media-video/vlc/vlc-3.0.9999.ebuild | 2 +- media-video/vlc/vlc-9999.ebuild | 2 +- media-video/wireplumber/Manifest | 4 +- media-video/wireplumber/wireplumber-0.4.9.ebuild | 2 +- media-video/wireplumber/wireplumber-9999.ebuild | 2 +- 53 files changed, 4861 insertions(+), 4177 deletions(-) create mode 100644 media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1376756-r1.ebuild delete mode 100644 media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1376756.ebuild create mode 100644 media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1384496-r1.ebuild delete mode 100644 media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1384496.ebuild delete mode 100644 media-video/dvdrip/files/dvdrip-0.98.11-fix_parallel_make.patch delete mode 100644 media-video/ffmpeg/ffmpeg-4.4.1-r3.ebuild create mode 100644 media-video/ffmpeg/ffmpeg-4.4.1-r5.ebuild delete mode 100644 media-video/ffmpeg/ffmpeg-5.0-r1.ebuild create mode 100644 media-video/ffmpeg/ffmpeg-5.0-r3.ebuild create mode 100644 media-video/ffmpeg/ffmpeg-5.0.1.ebuild create mode 100644 media-video/ffmpeg/files/amf-env-vulkan-override create mode 100644 media-video/gaupol/gaupol-1.11.ebuild delete mode 100644 media-video/gaupol/gaupol-1.9.ebuild delete mode 100644 media-video/mpv/mpv-0.33.1-r2.ebuild create mode 100644 media-video/mpv/mpv-0.33.1-r3.ebuild create mode 100644 media-video/mpv/mpv-0.34.0-r1.ebuild delete mode 100644 media-video/mpv/mpv-0.34.0.ebuild create mode 100644 media-video/mpv/mpv-0.34.1-r1.ebuild delete mode 100644 media-video/mpv/mpv-0.34.1.ebuild delete mode 100644 media-video/obs-studio/files/obs-studio-26.1.2-python-3.8.patch delete mode 100644 media-video/obs-studio/files/obs-studio-27.1.3-ffmpeg-5.0.patch delete mode 100644 media-video/obs-studio/obs-studio-27.1.3-r2.ebuild create mode 100644 media-video/obs-studio/obs-studio-27.2.4.ebuild create mode 100644 media-video/pipewire/pipewire-0.3.49.ebuild delete mode 100644 media-video/simplescreenrecorder/files/simplescreenrecorder-0.4.2-cmake.patch delete mode 100644 media-video/simplescreenrecorder/simplescreenrecorder-0.4.2.ebuild create mode 100644 media-video/simplescreenrecorder/simplescreenrecorder-0.4.4.ebuild create mode 100644 media-video/totem/totem-42.0-r1.ebuild delete mode 100644 media-video/vlc/vlc-3.0.16-r7.ebuild create mode 100644 media-video/vlc/vlc-3.0.16-r8.ebuild create mode 100644 media-video/vlc/vlc-3.0.17.3-r1.ebuild delete mode 100644 media-video/vlc/vlc-3.0.17.3.ebuild (limited to 'media-video') diff --git a/media-video/Manifest.gz b/media-video/Manifest.gz index facb10775747..2c6c22f77728 100644 Binary files a/media-video/Manifest.gz and b/media-video/Manifest.gz differ diff --git a/media-video/amdgpu-pro-amf/Manifest b/media-video/amdgpu-pro-amf/Manifest index e369ce107686..2f92622a9313 100644 --- a/media-video/amdgpu-pro-amf/Manifest +++ b/media-video/amdgpu-pro-amf/Manifest @@ -1,5 +1,5 @@ DIST amdgpu-pro-amf-1.4.24.1376756.deb 1302168 BLAKE2B 706528317c317e0319e80decc8a9a59a0c55fed8c4c43c701ba93a2a503fbf5f2ee9fb44cfeb5bd582b013ebb8961514cb5b9faead8f24fdfe2b205f7d2dc656 SHA512 77740014e6bc2c91e822261e4fa247ac0e49747d6ff8af0c3b3046ec993c7c99621b55639ef18582021389a329e52ccc59edb85eb29d9e6a81da6986a487ec3e DIST amdgpu-pro-amf-1.4.24.1384496.deb 1304672 BLAKE2B a21e7d2cf9dc4fe139f87d5c61b4ac715e677fb23aa2cc3eb4a62e20776431d26e234d092d9b28ecad22de2f5acda1f21df394f3a51152c9fd36cdfddab78af2 SHA512 4620dda918196e67f99c8a1df8e3e487769bd3ad94881a3769e46a85a12648f50ba8520476c9eec9e982261354ff92f56803fd8731fa7a7e458670011426ce31 -EBUILD amdgpu-pro-amf-1.4.24.1376756.ebuild 1236 BLAKE2B 86ad5cb584eeba92c373b820377c360ef64e5cfbfd66a4a8dc3f12734e844367447906300685888493e9acd4ce3c7c83cbc8e9a7278ed55b8e30614e7572a08f SHA512 73f3a85048cbc913e1d0ae534013d7a142497e10fde6055f92a9eb7eb67ad46422b3ddcd38f5b59bee143de753ca144c94ab78bb26aa056c092cffe1794bcfc4 -EBUILD amdgpu-pro-amf-1.4.24.1384496.ebuild 1253 BLAKE2B df1dc11c5ce6e7956bbe466afed77412ffa9d74fd11363d4432f4f908f63fe80f1965275ddd5f9ae4904e918329809f9be3fba2559a31ce326d90bb3e25af0ab SHA512 f93a36b8b5453451ed986055c445031634c7f1c9c6b4fe32f9c9c66d072dbfe03f717d951d7d42d621d69c09a7a8e5da5e82b6a9fcce5507e0d58b48a41bde8d +EBUILD amdgpu-pro-amf-1.4.24.1376756-r1.ebuild 1283 BLAKE2B d563376c455b3761106c67ae912b7b6ca2047694f104157e98cc802239674676611f4a0bc67ebdeb18c78c26f35af4a75985a4cc8fe4cc8f95d89523c4cd3ae4 SHA512 f810d2cba5bc2d12e0256caeaf03ae94e82b11cf6942b77eb4da6eb34204beebef9f53b4745a6c2bd603507a1549699fc70666e037c10d8020af7076c4e82bec +EBUILD amdgpu-pro-amf-1.4.24.1384496-r1.ebuild 1283 BLAKE2B f2504aee7dd019b60621e7cfb4586dfc750ab0fced2929a725ec3b291f109c81eb04791df995947f8d94eac45e990182691e896cf240dfa4ece7eed72c7b8340 SHA512 fce600f954c56aec568828875ad815cc2cf34afaff63414cad75db260a5ad244817ae473295ee1c502341e776ab788086204ebfe085c8c6a8a550a02b63a3587 MISC metadata.xml 401 BLAKE2B c46c3e3729fe8721b57a97a504997e1dd773fceb8ba0ff302f985eca3053abba5ac5f1103d6e4437074b854a3c4c55f7fc6991def0054fb768c8db9eec27ce16 SHA512 08ef778f6f5675ec9848b8f0a8e9296d41a4f21f18a344ba5a0f915a5933280dbd21e66692aaee5ca854785b3a639707d41c0912fdbe43373b51aa173c751383 diff --git a/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1376756-r1.ebuild b/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1376756-r1.ebuild new file mode 100644 index 000000000000..28e503e1d763 --- /dev/null +++ b/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1376756-r1.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit unpacker + +MY_PV_HIGH=$(ver_cut 1) +MY_PV_MIDDLE=$(ver_cut 2) +MY_PV_LOW=$(ver_cut 3) +MY_PV_REV=$(ver_cut 4) + +MY_PV="${MY_PV_HIGH}.${MY_PV_MIDDLE}.${MY_PV_LOW}" +MY_PV_FULL="${MY_PV}-${MY_PV_REV}" + +MY_PN="amf-amdgpu-pro" + +PRO_VULKAN_PKG_VER="21.50.1" + +MY_LINK="https://repo.radeon.com/amdgpu/${PRO_VULKAN_PKG_VER}/ubuntu/pool/proprietary/a/${MY_PN}" + +DESCRIPTION="AMD's closed source Advanced Media Framework (AMF) driver" +HOMEPAGE="https://www.amd.com/en/support" +SRC_URI="${MY_LINK}/${MY_PN}_${MY_PV_FULL}_amd64.deb -> ${P}.deb" + +S="${WORKDIR}" + +RESTRICT="bindist mirror" + +LICENSE="AMD-GPU-PRO-EULA" +SLOT="0" +KEYWORDS="-* ~amd64" + +RDEPEND=" + media-libs/amdgpu-pro-vulkan + media-libs/libglvnd + x11-libs/libdrm + x11-libs/libX11 +" + +QA_PREBUILT=" + usr/lib64/libamfrt64.so* +" + +src_unpack() { + mkdir "${S}/${PN}-amd64" || die + cd "${S}/${PN}-amd64" || die + unpack_deb "${DISTDIR}/${P}.deb" +} + +src_install() { + insinto "/usr/$(get_libdir)" + + # AMF + doins "${S}/${PN}-amd64/opt/amdgpu-pro/lib/x86_64-linux-gnu/libamfrt64.so.${MY_PV}" + dosym "libamfrt64.so.${MY_PV}" "/usr/$(get_libdir)/libamfrt64.so" + dosym "libamfrt64.so.${MY_PV}" "/usr/$(get_libdir)/libamfrt64.so.1" +} diff --git a/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1376756.ebuild b/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1376756.ebuild deleted file mode 100644 index 0be0c41d4a6b..000000000000 --- a/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1376756.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit unpacker - -MY_PV_HIGH=$(ver_cut 1) -MY_PV_MIDDLE=$(ver_cut 2) -MY_PV_LOW=$(ver_cut 3) -MY_PV_REV=$(ver_cut 4) - -MY_PV="${MY_PV_HIGH}.${MY_PV_MIDDLE}.${MY_PV_LOW}" -MY_PV_FULL="${MY_PV}-${MY_PV_REV}" - -MY_PN="amf-amdgpu-pro" - -PRO_VULKAN_PKG_VER="21.50.1" - -MY_LINK="https://repo.radeon.com/amdgpu/${PRO_VULKAN_PKG_VER}/ubuntu/pool/proprietary/a/${MY_PN}" - -DESCRIPTION="AMD's closed source Advanced Media Framework (AMF) driver" -HOMEPAGE="https://www.amd.com/en/support" -SRC_URI="${MY_LINK}/${MY_PN}_${MY_PV_FULL}_amd64.deb -> ${P}.deb" - -S="${WORKDIR}" - -RESTRICT="bindist mirror" - -LICENSE="AMD-GPU-PRO-EULA" -SLOT="0" -KEYWORDS="-* ~amd64" - -RDEPEND=" - media-libs/libglvnd - x11-libs/libX11 -" - -QA_PREBUILT=" - usr/lib64/libamfrt64.so* -" - -src_unpack() { - mkdir "${S}/${PN}-amd64" || die - cd "${S}/${PN}-amd64" || die - unpack_deb "${DISTDIR}/${P}.deb" -} - -src_install() { - insinto "/usr/$(get_libdir)" - - # AMF - doins "${S}/${PN}-amd64/opt/amdgpu-pro/lib/x86_64-linux-gnu/libamfrt64.so.${MY_PV}" - dosym "libamfrt64.so.${MY_PV}" "/usr/$(get_libdir)/libamfrt64.so" - dosym "libamfrt64.so.${MY_PV}" "/usr/$(get_libdir)/libamfrt64.so.1" -} diff --git a/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1384496-r1.ebuild b/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1384496-r1.ebuild new file mode 100644 index 000000000000..d90e8996c76e --- /dev/null +++ b/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1384496-r1.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit unpacker + +MY_PV_HIGH=$(ver_cut 1) +MY_PV_MIDDLE=$(ver_cut 2) +MY_PV_LOW=$(ver_cut 3) +MY_PV_REV=$(ver_cut 4) + +MY_PV="${MY_PV_HIGH}.${MY_PV_MIDDLE}.${MY_PV_LOW}" +MY_PV_FULL="${MY_PV}-${MY_PV_REV}" + +MY_PN="amf-amdgpu-pro" + +PRO_VULKAN_PKG_VER="21.50.2" + +MY_LINK="https://repo.radeon.com/amdgpu/${PRO_VULKAN_PKG_VER}/ubuntu/pool/proprietary/a/${MY_PN}" + +DESCRIPTION="AMD's closed source Advanced Media Framework (AMF) driver" +HOMEPAGE="https://www.amd.com/en/support" +SRC_URI="${MY_LINK}/${MY_PN}_${MY_PV_FULL}_amd64.deb -> ${P}.deb" + +S="${WORKDIR}" + +RESTRICT="bindist mirror" + +LICENSE="AMD-GPU-PRO-EULA" +SLOT="0" +KEYWORDS="-* ~amd64" + +RDEPEND=" + media-libs/amdgpu-pro-vulkan + media-libs/libglvnd + x11-libs/libdrm + x11-libs/libX11 +" + +QA_PREBUILT=" + usr/lib64/libamfrt64.so* +" + +src_unpack() { + mkdir "${S}/${PN}-amd64" || die + cd "${S}/${PN}-amd64" || die + unpack_deb "${DISTDIR}/${P}.deb" +} + +src_install() { + insinto "/usr/$(get_libdir)" + + # AMF + doins "${S}/${PN}-amd64/opt/amdgpu-pro/lib/x86_64-linux-gnu/libamfrt64.so.${MY_PV}" + dosym "libamfrt64.so.${MY_PV}" "/usr/$(get_libdir)/libamfrt64.so" + dosym "libamfrt64.so.${MY_PV}" "/usr/$(get_libdir)/libamfrt64.so.1" +} diff --git a/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1384496.ebuild b/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1384496.ebuild deleted file mode 100644 index 98f60fa45fec..000000000000 --- a/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1384496.ebuild +++ /dev/null @@ -1,57 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit unpacker - -MY_PV_HIGH=$(ver_cut 1) -MY_PV_MIDDLE=$(ver_cut 2) -MY_PV_LOW=$(ver_cut 3) -MY_PV_REV=$(ver_cut 4) - -MY_PV="${MY_PV_HIGH}.${MY_PV_MIDDLE}.${MY_PV_LOW}" -MY_PV_FULL="${MY_PV}-${MY_PV_REV}" - -MY_PN="amf-amdgpu-pro" - -PRO_VULKAN_PKG_VER="21.50.2" - -MY_LINK="https://repo.radeon.com/amdgpu/${PRO_VULKAN_PKG_VER}/ubuntu/pool/proprietary/a/${MY_PN}" - -DESCRIPTION="AMD's closed source Advanced Media Framework (AMF) driver" -HOMEPAGE="https://www.amd.com/en/support" -SRC_URI="${MY_LINK}/${MY_PN}_${MY_PV_FULL}_amd64.deb -> ${P}.deb" - -S="${WORKDIR}" - -RESTRICT="bindist mirror" - -LICENSE="AMD-GPU-PRO-EULA" -SLOT="0" -KEYWORDS="-* ~amd64" - -RDEPEND=" - media-libs/libglvnd - x11-libs/libX11 - x11-libs/libdrm -" - -QA_PREBUILT=" - usr/lib64/libamfrt64.so* -" - -src_unpack() { - mkdir "${S}/${PN}-amd64" || die - cd "${S}/${PN}-amd64" || die - unpack_deb "${DISTDIR}/${P}.deb" -} - -src_install() { - insinto "/usr/$(get_libdir)" - - # AMF - doins "${S}/${PN}-amd64/opt/amdgpu-pro/lib/x86_64-linux-gnu/libamfrt64.so.${MY_PV}" - dosym "libamfrt64.so.${MY_PV}" "/usr/$(get_libdir)/libamfrt64.so" - dosym "libamfrt64.so.${MY_PV}" "/usr/$(get_libdir)/libamfrt64.so.1" -} diff --git a/media-video/dvdrip/Manifest b/media-video/dvdrip/Manifest index 4f9cc03fb584..10b4a7bf3ee4 100644 --- a/media-video/dvdrip/Manifest +++ b/media-video/dvdrip/Manifest @@ -1,4 +1,3 @@ -AUX dvdrip-0.98.11-fix_parallel_make.patch 880 BLAKE2B 3011cc4503bedfd056f6c587d65cf6bdd42d481f09f5c3644d8337ea11053fb6b91a0d88112385969c3592c8407294b8d1c661701e2b4f27ef4339e096125c80 SHA512 0fabe81659cb510357381d99ae8eea73a6a986e7c646dfd6b0fb7d38920a8b7cf9e79cb40a3606cb88a97f7ff9250d5e64aefb0fa599b9d9e6ae4ce91e692fb9 AUX dvdrip-0.98.11-r5-fix_parallel_make.patch 888 BLAKE2B ca4882e1f0166a3fecfb8703f5f445d55a62dd84127cc0be0b6a51c85e8fa9d8b4a3bc1d9cd640f351a0aa1393fd6e2f537fa855162b2155333c282cb2f9b6f1 SHA512 db928fb2db6f5d7bffe909667650b444ed7c43291bb0970a298055072687847cf9e2e8c24395cde4f7d911bec668c6b846b44ab7af8dae180693b7b4233c84a2 DIST dvdrip-0.98.11.tar.gz 2075302 BLAKE2B 875ea2d9ee679657b7bebce10ecf037a2467f7e61a8ae8f9417bbb93115368d439e1347b8e0f9c9aae88e8e6d0886ac7dc9b5650420618231550994cca0b65ff SHA512 8bb2e4cb72666ac3f7d1953e02ac868070503f00b05ea39b4961f54042088d07abd4ef020a9cefec11e96e965d84dd95d00288e7562d92551f480ccba88b9dce EBUILD dvdrip-0.98.11-r5.ebuild 2058 BLAKE2B b20a673a00184258b496c0003f6d2be0d82909dca0e113a42c9beff34492e248d8da52e4aad885ef831e882d5203a541aa5e2bfb0bbfae0c0da51e8328bc916c SHA512 59229cd20272a51b480ac84b98d0d11ce763000b3cf8e1563180117edfd9d7aebc2d03310837126e29fdc47f37fa5ee5f510f7c5b00763d3f2f13abcefec125c diff --git a/media-video/dvdrip/files/dvdrip-0.98.11-fix_parallel_make.patch b/media-video/dvdrip/files/dvdrip-0.98.11-fix_parallel_make.patch deleted file mode 100644 index df766c07cbcc..000000000000 --- a/media-video/dvdrip/files/dvdrip-0.98.11-fix_parallel_make.patch +++ /dev/null @@ -1,28 +0,0 @@ -http://bugs.gentoo.org/266739 - ---- src/Makefile -+++ src/Makefile -@@ -3,10 +3,10 @@ - all: ../bin/dvdrip-splitpipe ../bin/dvdrip-progress - - ../bin/dvdrip-splitpipe: dvdrip-splitpipe.c -- $(CC) $(OTHERLDFLAGS) $(CFLAGS) -o dvdrip-splitpipe dvdrip-splitpipe.c && mv dvdrip-splitpipe ../bin -+ $(CC) $(OTHERLDFLAGS) $(CFLAGS) -o ../bin/dvdrip-splitpipe dvdrip-splitpipe.c - - ../bin/dvdrip-progress: dvdrip-progress.c -- $(CC) $(OTHERLDFLAGS) $(CFLAGS) -o dvdrip-progress dvdrip-progress.c && mv dvdrip-progress ../bin -+ $(CC) $(OTHERLDFLAGS) $(CFLAGS) -o ../bin/dvdrip-progress dvdrip-progress.c - - clean: - rm -f dvdrip-splitpipe ../bin/dvdrip-splitpipe dvdrip-progress ../bin/dvdrip-progress ---- Makefile.PL -+++ Makefile.PL -@@ -52,7 +52,7 @@ - sub MY::postamble { - ' - bin/dvdrip-splitpipe bin/dvdrip-progress: src/Makefile -- cd src && make -+ cd src && ( $(MAKE) CC=$(CC) ) - '; - } - diff --git a/media-video/ffmpeg/Manifest b/media-video/ffmpeg/Manifest index 53a7af8cd82f..8d3f75ca9c73 100644 --- a/media-video/ffmpeg/Manifest +++ b/media-video/ffmpeg/Manifest @@ -1,3 +1,4 @@ +AUX amf-env-vulkan-override 60 BLAKE2B 409985e6b5ef0e148076c16d8132db2b79ea53e0a922719a37d66fca9920c5fb94d23c22baef39f91e5d5157a7f58bba3e036355b1dbfb5a70153e0cb9764680 SHA512 7711a02b674638f71383a00b867f22fbd2e4d71ed397376fdfe2cb15655ec0a97eb0d613a339a04268726aae3c34efd29d51a3e8f7f90bf3d8634825c0ef3cc7 AUX chromium-r1.patch 1582 BLAKE2B 48547a7d53fd1f0f44b682c7e2306e79f007f8e96b36253f76775c4a3ced54ffaaf403dfaae94e81aa26c60887677b2dabdd2c5cef9fc4553e203f8259453910 SHA512 808daad5afed13a6d3926c9f9ab5cb58f80e16969533022c7ee959147908bb2c12d066d2125a6b6975ef9304d9b8d49c39aeb0a047009adabb4529e3cf54498f AUX ffmpeg-4.3-altivec-novsx-yuv2rgb.patch 1110 BLAKE2B ceccefcb4dd106067c0200801408c759c9b4746177a224f4448ad557a3e8335d8d48710af4b476bb18180dcfd308ff958f5addb0a06e50ab1802e853c5d2f633 SHA512 402651608332e8a4056e64c1f7c1350527c543d51632f213a74b4ee455789f3f4eac1ce7afba63392a86fd7aed2fd7b96a66342c6639067ada66508fe2f8770c AUX ffmpeg-4.3-fix-build-without-SSSE3.patch 622 BLAKE2B 258b8bbe70d4d17c18d281a64341618d6089653e5a91a162309363bc1ed33c4eb4e5ae684de0ce4c5e199c6664a90761b9e3488982bff2a0e2e3cb56aa08f62b SHA512 509fb710586d934c782111e0b4e4ffd888f34311b5054a0521a7b6781615c562451f3c53bf7bd3cc5d42ddabe31fb4b63b653e7c32a38acc3574a813b0cae264 @@ -11,12 +12,15 @@ DIST ffmpeg-4.3.1.tar.bz2 11301038 BLAKE2B 3b0eb332459921435b60e72f5c572034abf65 DIST ffmpeg-4.3.2.tar.bz2 11307134 BLAKE2B 97e1e598e4abe397b06298d545c3073ea2303e11c01e98343fe09d99174e02ca94f52c4df0d389fbefe7814686221446d30f107092f00cb0b69275c8747d6f32 SHA512 ec5566f8684f0ceb18184d59786ea1fc166ab28c46260ebcca5b919ad53137ba7317fd0c537e97df28553572a0d5e42c558773c808cf76995d67985aec2d6d4d DIST ffmpeg-4.4.1.tar.bz2 11494996 BLAKE2B 050b0501cb21f44451d59bf3b20b18d55234636b5a69a4962103d63f80ce9af172cc2cecb1e33b92334fcf635b283afddbdfa20cbd6deb526008cdb34ae01c16 SHA512 c41e63ffa9f5465ea3a7f4a8b255b299a2f49d5868ada4310a2344b8fea02476365c44871defd5609da55c805cbb58f34063dbdd4b203ade932cba8b3cfefc72 DIST ffmpeg-4.4.tar.bz2 11489948 BLAKE2B a8dc007e260896228789d27339402e846cd21758e02c7a8d66a745ced2d1bbef4aa9c18c9b7cefef004b5ffa3fc859e2a2474c957bdf9ff27e82cec72ed4a5bf SHA512 212c330f477e9452b9d7873d6d3c452a5c946b6b9c17b01d94c60fda66e61e53b78388ef7686b8d9415a27cd3e05d5f0d6639a02a22467dbf1ed483b5594c80f +DIST ffmpeg-5.0.1.tar.xz 9812524 BLAKE2B 0a37d425780f7e15836848048214411829bceb0de12bb7089803feb3dda07a077be9c8e8174b72792558ed86d92224bee9d4db20cc74690ea54312fbf2f10e83 SHA512 e5810c7379748a6bbe1a903bf36b4372b67cb3973179727b6af6f0118eef46f4c990155961cc37255e08a5bafdc4b4683503ad410ebb7afe7a35b891c01fa602 +DIST ffmpeg-5.0.1.tar.xz.asc 520 BLAKE2B 686a8c372d26bd0158a0e79f6cbe8d9c46127bd200df7f4f6e2a4285bfd412cfa9aff865eca125a27a7204f32ba0cca86bcbf769ee4874e5202cc700b0eb4449 SHA512 9c4bd404196c3a3808bae92873aefc77f8c26a9419cc6130a3f2359a75c8e83189d206e9aee8ff85c5a7fe4a98da24e11cf607ec351386c18979ec2d5ad3b3ad DIST ffmpeg-5.0.tar.bz2 11821587 BLAKE2B 76abc243707712b7974552cfbd703b5059487ac05b76744dcaacab45924598bffe173b41354a41718a7b5bd0933e71e95a11f9e715b9127b49cc19a88124a3d6 SHA512 2e7f05d3218201869602a32fc473ae55f9b8bc22d2710ebe7523953c27d39cf459e91e34d3b940d8ffe90677b028cea04c5b189775b1718a83b2b73943ba3f61 EBUILD ffmpeg-4.2.4-r1.ebuild 17710 BLAKE2B d8a71212b9b5d9c06beeb83ef1e94a2cba952c75982092381136aafce5de15bd769d7f11b6c9cf0ea68e72ce1dc92a46403b90bf08cd11d8f8e58717d4e7e622 SHA512 73d4cface189cc092c00e7e10e1c318924dad348f56fa0a7dc3829694bdae2dfbd963337d17c2a39fd25953dd8c54faebbcf02ea2a28e14f23f8adb45ee6892b EBUILD ffmpeg-4.3.1-r1.ebuild 17815 BLAKE2B 0af16670e2539c3908d1c0ced67842efe9c29c75f3f01c5a01980cee568f706f70ad8f9334d0459efdcdaad34182a64f82c7c483cbac74f733bca3e16ff8d032 SHA512 d4f6beefa9997cc8154bafebf7490ab72f5ba5565aba63cba9957530a02b9554c34c60da2535aa702e59fc7af9bf0f307a2fb4a2eaf746cb51bb4fbf9d122cb3 EBUILD ffmpeg-4.3.2-r1.ebuild 17798 BLAKE2B 28f93ad79fed4eec399d8c5dfd2d5d71288cff5d1a4f51e19fdf1312597c0d9c7099e6a6ae6d4ed2770a19af52f6056bd6c44abd5fbcc1103b49da82a2c43362 SHA512 7f83545de0a9c736a580c05464fe63889399c7761c42bd4b65b9d332f901d5ece4a22095a2385582fd35970d15322e7a53e449b1d7fc92d581b1868daf10a997 EBUILD ffmpeg-4.4-r1.ebuild 17866 BLAKE2B f98d4fbd55a192d157953cf10455e80d1541f54743c089aac0dc9ac7c87c1e6d3040b189236bf37cf691b2872bf5b40cfe2af494df4754e8bdc39940e85467f8 SHA512 f40dac73d8415d6e6ada730f4d476973c6c11ca48bd5c46e07121f7793c21974af1e2044d1f3aa1271f14f9b1f75bc113ee0426c34c36ccf8cabe531f829a1bd -EBUILD ffmpeg-4.4.1-r3.ebuild 18186 BLAKE2B 773ef65426720535bfb9982e718c26546889fa72a4509181674aeb5bbc2883c737427dbaef13d294690679f6f016cef17f36313e2dafdc82edd0e102f1abb281 SHA512 54af77b2521f600ff51e25a8394002def234f9db0666b7298c85e3825da7e6014d2d229d228c3a6710e8f5521379a3b230cc3ee2fff4039746abb438e2c95c80 -EBUILD ffmpeg-5.0-r1.ebuild 18172 BLAKE2B 4c2041f9f432fa688e7a19522ae993814b9ea7c89bc261d96d2f3327a37823947403bccda66d3311785e3579db73a2056976606fdcfb1d5464312a10ef07ce0e SHA512 481a4d0f61112ff188655beb2a75d16a7fb1ff1c9520b6548a30c3a75df6efeaa0470b07a88b5e27c6af7a06aaee58ca4502fabe386dc60c697d0a686ae963e1 -EBUILD ffmpeg-9999.ebuild 18101 BLAKE2B 4501ecb2ee3124c1ab873ba93fd0a8d7074f6ff8245454a767225f598e9f2ded94a3b6906d11b11d8ed7ef0417d736a1cd69996458055c0ce23d53425f0e546c SHA512 2bfcd6e122a426a3c1f94aa7ce04d470ad2126feed3a6b6bc7c3da0185d4c5212515bb8eadd6e4a63a46f2ccfdc6415b386408b9e2562d8d2f86a4ef783a2da0 +EBUILD ffmpeg-4.4.1-r5.ebuild 18264 BLAKE2B e5a82a6df1ece073772f1893ab479440311086374a3922bf1172b6d2c6f071d216e2d23f8f6feab6d810bf941701430206b6b1faa049fc970db72630a0463a71 SHA512 988037cac5282256f0b2d21c4b6453e5844b2437112216d1abf76f6bf91a1d1bbd3c80109027e613aa7250d063798bb6dbc627375261125a6000693f041233c3 +EBUILD ffmpeg-5.0-r3.ebuild 18291 BLAKE2B 11f052d2f13f155d8dac9ab672f2810f75551dd049ef83bc2d4f430a7bdb7062064e2f4ddf7dc8d88ddf5f26e912649319b16407f8ce3c59ebaa942cde0a2d15 SHA512 dc5b1bfb814059e2f464dbafd4d897f317fae1dfa7f5940abe0c6d34d8dd2839311441fc51b61622490075f1b7fccd1337988f3de41e67ce3d5b462ef5574682 +EBUILD ffmpeg-5.0.1.ebuild 18622 BLAKE2B cef2a9767203bed7e0145feede62b653803ff2ac8ed15b819ce96c7e79efd6c6d47288793264cc6aa64d431aaf8f4a43dd73faad5ab1890e013419b58342dc2b SHA512 7814b6f94e3be298a9ece4c19f03560457340b84cc5c0bc51b94e82a4ce82dc33432e331427c0d64f998825c4d0693f2f06573ec58b584e15386259eae7c0b6e +EBUILD ffmpeg-9999.ebuild 18510 BLAKE2B 2ad3105093e540c2215c97da0a728f95b96bcfc49f98b5fef3f9201beba891ec882abfe415ca5f9252b17d50a6dd4ed988ff9fdac205f61c9d1367172f236f43 SHA512 13b0cead65524e1303353cc22261971771abdb4ddaa6a0b5ec54ade94ffc70721f2dd02aaa797eb965f8a69a02f6c42f4c88ea2510b07e6bd6127b0ba6ceb269 MISC metadata.xml 6269 BLAKE2B 5d7f3a5376927ddf9d9c95c7465bc2b8df451be3c2ba62be38cce88449222fb6b9d6c30d88e89c403a2d60eb3b3d3f95f762ac85f85f07d54712a24d2712e40f SHA512 fbd108f665076751db688ddd0bf05b9d1fd004eff547a6a3707be369e6919efe989d82f43c09775456fa0035699ec249c8a9941dbdbf7952b1c6be11cd26acda diff --git a/media-video/ffmpeg/ffmpeg-4.4.1-r3.ebuild b/media-video/ffmpeg/ffmpeg-4.4.1-r3.ebuild deleted file mode 100644 index 2c8dc26e3f13..000000000000 --- a/media-video/ffmpeg/ffmpeg-4.4.1-r3.ebuild +++ /dev/null @@ -1,566 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -# Subslot: libavutil major.libavcodec major.libavformat major -# Since FFmpeg ships several libraries, subslot is kind of limited here. -# Most consumers will use those three libraries, if a "less used" library -# changes its soname, consumers will have to be rebuilt the old way -# (preserve-libs). -# If, for example, a package does not link to libavformat and only libavformat -# changes its ABI then this package will be rebuilt needlessly. Hence, such a -# package is free _not_ to := depend on FFmpeg but I would strongly encourage -# doing so since such a case is unlikely. -FFMPEG_SUBSLOT=56.58.58 - -SCM="" -if [ "${PV#9999}" != "${PV}" ] ; then - SCM="git-r3" - EGIT_MIN_CLONE_TYPE="single" - EGIT_REPO_URI="https://git.ffmpeg.org/ffmpeg.git" -fi - -inherit flag-o-matic multilib multilib-minimal toolchain-funcs ${SCM} - -DESCRIPTION="Complete solution to record/convert/stream audio and video. Includes libavcodec" -HOMEPAGE="https://ffmpeg.org/" -if [ "${PV#9999}" != "${PV}" ] ; then - SRC_URI="" -elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot - SRC_URI="mirror://gentoo/${P}.tar.bz2" -else # Release - SRC_URI="https://ffmpeg.org/releases/${P/_/-}.tar.bz2" -fi -FFMPEG_REVISION="${PV#*_p}" - -SLOT="0/${FFMPEG_SUBSLOT}" -LICENSE=" - !gpl? ( LGPL-2.1 ) - gpl? ( GPL-2 ) - amr? ( - gpl? ( GPL-3 ) - !gpl? ( LGPL-3 ) - ) - gmp? ( - gpl? ( GPL-3 ) - !gpl? ( LGPL-3 ) - ) - libaribb24? ( - gpl? ( GPL-3 ) - !gpl? ( LGPL-3 ) - ) - encode? ( - amrenc? ( - gpl? ( GPL-3 ) - !gpl? ( LGPL-3 ) - ) - ) - samba? ( GPL-3 ) -" -if [ "${PV#9999}" = "${PV}" ] ; then - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux" -fi - -# Options to use as use_enable in the foo[:bar] form. -# This will feed configure with $(use_enable foo bar) -# or $(use_enable foo foo) if no :bar is set. -# foo is added to IUSE. -FFMPEG_FLAG_MAP=( - +bzip2:bzlib cpudetection:runtime-cpudetect debug gcrypt +gnutls gmp - +gpl hardcoded-tables +iconv libxml2 lzma +network opencl - openssl +postproc samba:libsmbclient sdl:ffplay sdl:sdl2 vaapi vdpau vulkan - X:xlib X:libxcb X:libxcb-shm X:libxcb-xfixes +zlib - # libavdevice options - cdio:libcdio iec61883:libiec61883 ieee1394:libdc1394 libcaca openal - opengl - # indevs - libv4l:libv4l2 pulseaudio:libpulse libdrm jack:libjack - # decoders - amr:libopencore-amrwb amr:libopencore-amrnb codec2:libcodec2 +dav1d:libdav1d fdk:libfdk-aac - jpeg2k:libopenjpeg bluray:libbluray gme:libgme gsm:libgsm - libaribb24 mmal modplug:libmodplug opus:libopus libilbc librtmp ssh:libssh - speex:libspeex srt:libsrt svg:librsvg nvenc:ffnvcodec - vorbis:libvorbis vpx:libvpx zvbi:libzvbi - # libavfilter options - appkit - bs2b:libbs2b chromaprint cuda:cuda-llvm flite:libflite frei0r vmaf:libvmaf - fribidi:libfribidi fontconfig ladspa libass libtesseract lv2 truetype:libfreetype vidstab:libvidstab - rubberband:librubberband zeromq:libzmq zimg:libzimg - # libswresample options - libsoxr - # Threads; we only support pthread for now but ffmpeg supports more - +threads:pthreads -) - -# Same as above but for encoders, i.e. they do something only with USE=encode. -FFMPEG_ENCODER_FLAG_MAP=( - amrenc:libvo-amrwbenc mp3:libmp3lame - kvazaar:libkvazaar libaom - openh264:libopenh264 rav1e:librav1e snappy:libsnappy svt-av1:libsvtav1 theora:libtheora twolame:libtwolame - webp:libwebp x264:libx264 x265:libx265 xvid:libxvid amf:amf -) - -IUSE=" - alsa chromium doc +encode oss pic sndio static-libs test v4l - ${FFMPEG_FLAG_MAP[@]%:*} - ${FFMPEG_ENCODER_FLAG_MAP[@]%:*} -" - -# Strings for CPU features in the useflag[:configure_option] form -# if :configure_option isn't set, it will use 'useflag' as configure option -ARM_CPU_FEATURES=( - cpu_flags_arm_thumb:armv5te - cpu_flags_arm_v6:armv6 - cpu_flags_arm_thumb2:armv6t2 - cpu_flags_arm_neon:neon - cpu_flags_arm_vfp:vfp - cpu_flags_arm_vfpv3:vfpv3 - cpu_flags_arm_v8:armv8 -) -ARM_CPU_REQUIRED_USE=" - arm64? ( cpu_flags_arm_v8 ) - cpu_flags_arm_v8? ( cpu_flags_arm_vfpv3 cpu_flags_arm_neon ) - cpu_flags_arm_neon? ( cpu_flags_arm_thumb2 cpu_flags_arm_vfp ) - cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp ) - cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 ) - cpu_flags_arm_v6? ( cpu_flags_arm_thumb ) -" -MIPS_CPU_FEATURES=( mipsdspr1:mipsdsp mipsdspr2 mipsfpu ) -PPC_CPU_FEATURES=( cpu_flags_ppc_altivec:altivec cpu_flags_ppc_vsx:vsx cpu_flags_ppc_vsx2:power8 ) -PPC_CPU_REQUIRED_USE=" - cpu_flags_ppc_vsx? ( cpu_flags_ppc_altivec ) - cpu_flags_ppc_vsx2? ( cpu_flags_ppc_vsx ) -" -X86_CPU_FEATURES_RAW=( 3dnow:amd3dnow 3dnowext:amd3dnowext aes:aesni avx:avx avx2:avx2 fma3:fma3 fma4:fma4 mmx:mmx mmxext:mmxext sse:sse sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4 sse4_2:sse42 xop:xop ) -X86_CPU_FEATURES=( ${X86_CPU_FEATURES_RAW[@]/#/cpu_flags_x86_} ) -X86_CPU_REQUIRED_USE=" - cpu_flags_x86_avx2? ( cpu_flags_x86_avx ) - cpu_flags_x86_fma4? ( cpu_flags_x86_avx ) - cpu_flags_x86_fma3? ( cpu_flags_x86_avx ) - cpu_flags_x86_xop? ( cpu_flags_x86_avx ) - cpu_flags_x86_avx? ( cpu_flags_x86_sse4_2 ) - cpu_flags_x86_aes? ( cpu_flags_x86_sse4_2 ) - cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 ) - cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 ) - cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 ) - cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 ) - cpu_flags_x86_sse2? ( cpu_flags_x86_sse ) - cpu_flags_x86_sse? ( cpu_flags_x86_mmxext ) - cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx ) - cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow ) - cpu_flags_x86_3dnow? ( cpu_flags_x86_mmx ) -" - -CPU_FEATURES_MAP=( - ${ARM_CPU_FEATURES[@]} - ${MIPS_CPU_FEATURES[@]} - ${PPC_CPU_FEATURES[@]} - ${X86_CPU_FEATURES[@]} -) -IUSE="${IUSE} - ${CPU_FEATURES_MAP[@]%:*}" - -CPU_REQUIRED_USE=" - ${ARM_CPU_REQUIRED_USE} - ${PPC_CPU_REQUIRED_USE} - ${X86_CPU_REQUIRED_USE} -" - -FFTOOLS=( aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher ) -IUSE="${IUSE} ${FFTOOLS[@]/#/+fftools_}" - -RDEPEND=" - alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] ) - amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] ) - bluray? ( >=media-libs/libbluray-0.3.0-r1:=[${MULTILIB_USEDEP}] ) - bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] ) - bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] ) - cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[${MULTILIB_USEDEP}] ) - chromaprint? ( >=media-libs/chromaprint-1.2-r1[${MULTILIB_USEDEP}] ) - codec2? ( media-libs/codec2[${MULTILIB_USEDEP}] ) - dav1d? ( >=media-libs/dav1d-0.4.0:0=[${MULTILIB_USEDEP}] ) - encode? ( - amrenc? ( >=media-libs/vo-amrwbenc-0.1.2-r1[${MULTILIB_USEDEP}] ) - kvazaar? ( >=media-libs/kvazaar-1.2.0[${MULTILIB_USEDEP}] ) - mp3? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] ) - openh264? ( >=media-libs/openh264-1.4.0-r1:=[${MULTILIB_USEDEP}] ) - rav1e? ( >=media-video/rav1e-0.4:=[capi] ) - snappy? ( >=app-arch/snappy-1.1.2-r1:=[${MULTILIB_USEDEP}] ) - theora? ( - >=media-libs/libtheora-1.1.1[encode,${MULTILIB_USEDEP}] - >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}] - ) - twolame? ( >=media-sound/twolame-0.3.13-r1[${MULTILIB_USEDEP}] ) - webp? ( >=media-libs/libwebp-0.3.0:=[${MULTILIB_USEDEP}] ) - x264? ( >=media-libs/x264-0.0.20130506:=[${MULTILIB_USEDEP}] ) - x265? ( >=media-libs/x265-1.6:=[${MULTILIB_USEDEP}] ) - xvid? ( >=media-libs/xvid-1.3.2-r1[${MULTILIB_USEDEP}] ) - ) - fdk? ( >=media-libs/fdk-aac-0.1.3:=[${MULTILIB_USEDEP}] ) - flite? ( >=app-accessibility/flite-1.4-r4[${MULTILIB_USEDEP}] ) - fontconfig? ( >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}] ) - frei0r? ( media-plugins/frei0r-plugins[${MULTILIB_USEDEP}] ) - fribidi? ( >=dev-libs/fribidi-0.19.6[${MULTILIB_USEDEP}] ) - gcrypt? ( >=dev-libs/libgcrypt-1.6:0=[${MULTILIB_USEDEP}] ) - gme? ( >=media-libs/game-music-emu-0.6.0[${MULTILIB_USEDEP}] ) - gmp? ( >=dev-libs/gmp-6:0=[${MULTILIB_USEDEP}] ) - gsm? ( >=media-sound/gsm-1.0.13-r1[${MULTILIB_USEDEP}] ) - iconv? ( >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] ) - iec61883? ( - >=media-libs/libiec61883-1.2.0-r1[${MULTILIB_USEDEP}] - >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}] - >=sys-libs/libavc1394-0.5.4-r1[${MULTILIB_USEDEP}] - ) - ieee1394? ( - >=media-libs/libdc1394-2.2.1:2=[${MULTILIB_USEDEP}] - >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}] - ) - jack? ( virtual/jack[${MULTILIB_USEDEP}] ) - jpeg2k? ( >=media-libs/openjpeg-2:2[${MULTILIB_USEDEP}] ) - libaom? ( >=media-libs/libaom-1.0.0-r1:=[${MULTILIB_USEDEP}] ) - libaribb24? ( >=media-libs/aribb24-1.0.3-r2[${MULTILIB_USEDEP}] ) - libass? ( >=media-libs/libass-0.10.2:=[${MULTILIB_USEDEP}] ) - libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[${MULTILIB_USEDEP}] ) - libdrm? ( x11-libs/libdrm[${MULTILIB_USEDEP}] ) - libilbc? ( >=media-libs/libilbc-2[${MULTILIB_USEDEP}] ) - librtmp? ( >=media-video/rtmpdump-2.4_p20131018[${MULTILIB_USEDEP}] ) - libsoxr? ( >=media-libs/soxr-0.1.0[${MULTILIB_USEDEP}] ) - libtesseract? ( >=app-text/tesseract-4.1.0-r1[${MULTILIB_USEDEP}] ) - libv4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] ) - libxml2? ( dev-libs/libxml2:=[${MULTILIB_USEDEP}] ) - lv2? ( media-libs/lv2[${MULTILIB_USEDEP}] media-libs/lilv[${MULTILIB_USEDEP}] ) - lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] ) - mmal? ( media-libs/raspberrypi-userland ) - modplug? ( >=media-libs/libmodplug-0.8.8.4-r1[${MULTILIB_USEDEP}] ) - openal? ( >=media-libs/openal-1.15.1[${MULTILIB_USEDEP}] ) - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) - opengl? ( >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] ) - opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] ) - pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] ) - rubberband? ( >=media-libs/rubberband-1.8.1-r1[${MULTILIB_USEDEP}] ) - samba? ( >=net-fs/samba-3.6.23-r1[client,${MULTILIB_USEDEP}] ) - sdl? ( media-libs/libsdl2[sound,video,${MULTILIB_USEDEP}] ) - sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] ) - speex? ( >=media-libs/speex-1.2_rc1-r1[${MULTILIB_USEDEP}] ) - srt? ( >=net-libs/srt-1.3.0:=[${MULTILIB_USEDEP}] ) - ssh? ( >=net-libs/libssh-0.5.5[${MULTILIB_USEDEP}] ) - svg? ( - gnome-base/librsvg:2=[${MULTILIB_USEDEP}] - x11-libs/cairo[${MULTILIB_USEDEP}] - ) - svt-av1? ( >=media-libs/svt-av1-0.8.4[${MULTILIB_USEDEP}] ) - truetype? ( >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}] ) - vaapi? ( >=x11-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] ) - nvenc? ( >=media-libs/nv-codec-headers-9.1.23.1[${MULTILIB_USEDEP}] ) - vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] ) - vidstab? ( >=media-libs/vidstab-1.1.0[${MULTILIB_USEDEP}] ) - vmaf? ( media-libs/libvmaf[${MULTILIB_USEDEP}] ) - vorbis? ( - >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}] - >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}] - ) - vpx? ( >=media-libs/libvpx-1.4.0:=[${MULTILIB_USEDEP}] ) - vulkan? ( >=media-libs/vulkan-loader-1.1.97:=[${MULTILIB_USEDEP}] ) - X? ( - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] - >=x11-libs/libXv-1.0.10[${MULTILIB_USEDEP}] - >=x11-libs/libxcb-1.4:=[${MULTILIB_USEDEP}] - ) - zeromq? ( >=net-libs/zeromq-4.1.6 ) - zimg? ( >=media-libs/zimg-2.7.4:=[${MULTILIB_USEDEP}] ) - zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] ) - zvbi? ( >=media-libs/zvbi-0.2.35[${MULTILIB_USEDEP}] ) - postproc? ( !media-libs/libpostproc ) -" - -RDEPEND="${RDEPEND} - openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] ) - !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) ) -" - -DEPEND="${RDEPEND} - ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] ) - v4l? ( sys-kernel/linux-headers ) -" -BDEPEND=" - >=sys-devel/make-3.81 - virtual/pkgconfig - cpu_flags_x86_mmx? ( || ( >=dev-lang/nasm-2.13 >=dev-lang/yasm-1.3 ) ) - cuda? ( >=sys-devel/clang-7[llvm_targets_NVPTX] ) - doc? ( sys-apps/texinfo ) - test? ( net-misc/wget sys-devel/bc ) - amf? ( media-libs/amf-headers ) -" - -# Code requiring FFmpeg to be built under gpl license -GPL_REQUIRED_USE=" - postproc? ( gpl ) - frei0r? ( gpl ) - cdio? ( gpl ) - rubberband? ( gpl ) - vidstab? ( gpl ) - samba? ( gpl ) - encode? ( - x264? ( gpl ) - x265? ( gpl ) - xvid? ( gpl ) - ) -" -REQUIRED_USE=" - cuda? ( nvenc ) - libv4l? ( v4l ) - fftools_cws2fws? ( zlib ) - test? ( encode ) - ${GPL_REQUIRED_USE} - ${CPU_REQUIRED_USE}" -RESTRICT=" - !test? ( test ) - gpl? ( openssl? ( bindist ) fdk? ( bindist ) ) -" - -S=${WORKDIR}/${P/_/-} - -PATCHES=( - "${FILESDIR}"/chromium-r1.patch - "${FILESDIR}"/ffmpeg-5.0-backport-ranlib-build-fix.patch -) - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/libavutil/avconfig.h -) - -build_separate_libffmpeg() { - use opencl -} - -src_prepare() { - if [[ "${PV%_p*}" != "${PV}" ]] ; then # Snapshot - export revision=git-N-${FFMPEG_REVISION} - fi - - eapply "${FILESDIR}/vmaf-models-default-path.patch" - - default - echo 'include $(SRC_PATH)/ffbuild/libffmpeg.mak' >> Makefile || die -} - -multilib_src_configure() { - local myconf=( ) - - local ffuse=( "${FFMPEG_FLAG_MAP[@]}" ) - use openssl && myconf+=( --enable-nonfree ) - use samba && myconf+=( --enable-version3 ) - - # Encoders - if use encode ; then - ffuse+=( "${FFMPEG_ENCODER_FLAG_MAP[@]}" ) - - # Licensing. - if use amrenc ; then - myconf+=( --enable-version3 ) - fi - else - myconf+=( --disable-encoders ) - fi - - # Indevs - use v4l || myconf+=( --disable-indev=v4l2 --disable-outdev=v4l2 ) - for i in alsa oss jack sndio ; do - use ${i} || myconf+=( --disable-indev=${i} ) - done - - # Outdevs - for i in alsa oss sndio ; do - use ${i} || myconf+=( --disable-outdev=${i} ) - done - - # Decoders - use amr && myconf+=( --enable-version3 ) - use gmp && myconf+=( --enable-version3 ) - use libaribb24 && myconf+=( --enable-version3 ) - use fdk && use gpl && myconf+=( --enable-nonfree ) - - for i in "${ffuse[@]#+}" ; do - myconf+=( $(use_enable ${i%:*} ${i#*:}) ) - done - - if use openssl ; then - myconf+=( --disable-gnutls ) - fi - - # (temporarily) disable non-multilib deps - if ! multilib_is_native_abi; then - for i in librav1e libzmq ; do - myconf+=( --disable-${i} ) - done - fi - - # CPU features - for i in "${CPU_FEATURES_MAP[@]}" ; do - use ${i%:*} || myconf+=( --disable-${i#*:} ) - done - - if use pic ; then - myconf+=( --enable-pic ) - # disable asm code if PIC is required - # as the provided asm decidedly is not PIC for x86. - [[ ${ABI} == x86 ]] && myconf+=( --disable-asm ) - fi - [[ ${ABI} == x32 ]] && myconf+=( --disable-asm ) #427004 - - # Try to get cpu type based on CFLAGS. - # Bug #172723 - # We need to do this so that features of that CPU will be better used - # If they contain an unknown CPU it will not hurt since ffmpeg's configure - # will just ignore it. - for i in $(get-flag mcpu) $(get-flag march) ; do - [[ ${i} = native ]] && i="host" # bug #273421 - myconf+=( --cpu=${i} ) - break - done - - # LTO support, bug #566282, bug #754654 - is-flagq "-flto*" && myconf+=( "--enable-lto" ) - filter-flags "-flto*" - - # Mandatory configuration - myconf=( - --enable-avfilter - --enable-avresample - --disable-stripping - # This is only for hardcoded cflags; those are used in configure checks that may - # interfere with proper detections, bug #671746 and bug #645778 - # We use optflags, so that overrides them anyway. - --disable-optimizations - --disable-libcelt # bug #664158 - "${myconf[@]}" - ) - - # cross compile support - if tc-is-cross-compiler ; then - myconf+=( --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}- --host-cc="$(tc-getBUILD_CC)" ) - case ${CHOST} in - *freebsd*) - myconf+=( --target-os=freebsd ) - ;; - *mingw32*) - myconf+=( --target-os=mingw32 ) - ;; - *linux*) - myconf+=( --target-os=linux ) - ;; - esac - fi - - # doc - myconf+=( - $(multilib_native_use_enable doc) - $(multilib_native_use_enable doc htmlpages) - $(multilib_native_enable manpages) - ) - - local extra_libs - if use arm || use ppc || use mips || [[ ${CHOST} == *i486* ]] ; then - # bug #782811 - # bug #790590 - extra_libs+="$(test-flags-CCLD -latomic) " - fi - - set -- "${S}/configure" \ - --prefix="${EPREFIX}/usr" \ - --libdir="${EPREFIX}/usr/$(get_libdir)" \ - --shlibdir="${EPREFIX}/usr/$(get_libdir)" \ - --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \ - --mandir="${EPREFIX}/usr/share/man" \ - --enable-shared \ - --cc="$(tc-getCC)" \ - --cxx="$(tc-getCXX)" \ - --ar="$(tc-getAR)" \ - --nm="$(tc-getNM)" \ - --strip="$(tc-getSTRIP)" \ - --ranlib="$(tc-getRANLIB)" \ - --pkg-config="$(tc-getPKG_CONFIG)" \ - --optflags="${CFLAGS}" \ - --extra-libs="${extra_libs}" \ - $(use_enable static-libs static) \ - "${myconf[@]}" \ - ${EXTRA_FFMPEG_CONF} - echo "${@}" - "${@}" || die - - if multilib_is_native_abi && use chromium && build_separate_libffmpeg; then - einfo "Configuring for Chromium" - mkdir -p ../chromium || die - pushd ../chromium >/dev/null || die - set -- "${@}" \ - --disable-shared \ - --enable-static \ - --enable-pic \ - --disable-opencl - echo "${@}" - "${@}" || die - popd >/dev/null || die - fi -} - -multilib_src_compile() { - emake V=1 - - if multilib_is_native_abi; then - for i in "${FFTOOLS[@]}" ; do - if use fftools_${i} ; then - emake V=1 tools/${i}$(get_exeext) - fi - done - - if use chromium; then - if build_separate_libffmpeg; then - einfo "Compiling for Chromium" - pushd ../chromium >/dev/null || die - emake V=1 libffmpeg - popd >/dev/null || die - else - emake V=1 libffmpeg - fi - fi - fi -} - -multilib_src_test() { - LD_LIBRARY_PATH="${BUILD_DIR}/libpostproc:${BUILD_DIR}/libswscale:${BUILD_DIR}/libswresample:${BUILD_DIR}/libavcodec:${BUILD_DIR}/libavdevice:${BUILD_DIR}/libavfilter:${BUILD_DIR}/libavformat:${BUILD_DIR}/libavutil:${BUILD_DIR}/libavresample" \ - emake V=1 fate -} - -multilib_src_install() { - emake V=1 DESTDIR="${D}" install install-doc - - if multilib_is_native_abi; then - for i in "${FFTOOLS[@]}" ; do - if use fftools_${i} ; then - dobin tools/${i}$(get_exeext) - fi - done - - if use chromium; then - if build_separate_libffmpeg; then - einfo "Installing for Chromium" - pushd ../chromium >/dev/null || die - emake V=1 DESTDIR="${D}" install-libffmpeg - popd >/dev/null || die - else - emake V=1 DESTDIR="${D}" install-libffmpeg - - # When not built separately, libffmpeg has no code of - # its own so this QA check raises a false positive. - QA_FLAGS_IGNORED+=" usr/$(get_libdir)/chromium/.*" - fi - fi - fi -} - -multilib_src_install_all() { - dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges - [ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES" -} diff --git a/media-video/ffmpeg/ffmpeg-4.4.1-r5.ebuild b/media-video/ffmpeg/ffmpeg-4.4.1-r5.ebuild new file mode 100644 index 000000000000..c7b310986593 --- /dev/null +++ b/media-video/ffmpeg/ffmpeg-4.4.1-r5.ebuild @@ -0,0 +1,569 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +# Subslot: libavutil major.libavcodec major.libavformat major +# Since FFmpeg ships several libraries, subslot is kind of limited here. +# Most consumers will use those three libraries, if a "less used" library +# changes its soname, consumers will have to be rebuilt the old way +# (preserve-libs). +# If, for example, a package does not link to libavformat and only libavformat +# changes its ABI then this package will be rebuilt needlessly. Hence, such a +# package is free _not_ to := depend on FFmpeg but I would strongly encourage +# doing so since such a case is unlikely. +FFMPEG_SUBSLOT=56.58.58 + +SCM="" +if [ "${PV#9999}" != "${PV}" ] ; then + SCM="git-r3" + EGIT_MIN_CLONE_TYPE="single" + EGIT_REPO_URI="https://git.ffmpeg.org/ffmpeg.git" +fi + +inherit flag-o-matic multilib multilib-minimal toolchain-funcs ${SCM} + +DESCRIPTION="Complete solution to record/convert/stream audio and video. Includes libavcodec" +HOMEPAGE="https://ffmpeg.org/" +if [ "${PV#9999}" != "${PV}" ] ; then + SRC_URI="" +elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot + SRC_URI="mirror://gentoo/${P}.tar.bz2" +else # Release + SRC_URI="https://ffmpeg.org/releases/${P/_/-}.tar.bz2" +fi +FFMPEG_REVISION="${PV#*_p}" + +SLOT="0/${FFMPEG_SUBSLOT}" +LICENSE=" + !gpl? ( LGPL-2.1 ) + gpl? ( GPL-2 ) + amr? ( + gpl? ( GPL-3 ) + !gpl? ( LGPL-3 ) + ) + gmp? ( + gpl? ( GPL-3 ) + !gpl? ( LGPL-3 ) + ) + libaribb24? ( + gpl? ( GPL-3 ) + !gpl? ( LGPL-3 ) + ) + encode? ( + amrenc? ( + gpl? ( GPL-3 ) + !gpl? ( LGPL-3 ) + ) + ) + samba? ( GPL-3 ) +" +if [ "${PV#9999}" = "${PV}" ] ; then + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux" +fi + +# Options to use as use_enable in the foo[:bar] form. +# This will feed configure with $(use_enable foo bar) +# or $(use_enable foo foo) if no :bar is set. +# foo is added to IUSE. +FFMPEG_FLAG_MAP=( + +bzip2:bzlib cpudetection:runtime-cpudetect debug gcrypt +gnutls gmp + +gpl hardcoded-tables +iconv libxml2 lzma +network opencl + openssl +postproc samba:libsmbclient sdl:ffplay sdl:sdl2 vaapi vdpau vulkan + X:xlib X:libxcb X:libxcb-shm X:libxcb-xfixes +zlib + # libavdevice options + cdio:libcdio iec61883:libiec61883 ieee1394:libdc1394 libcaca openal + opengl + # indevs + libv4l:libv4l2 pulseaudio:libpulse libdrm jack:libjack + # decoders + amr:libopencore-amrwb amr:libopencore-amrnb codec2:libcodec2 +dav1d:libdav1d fdk:libfdk-aac + jpeg2k:libopenjpeg bluray:libbluray gme:libgme gsm:libgsm + libaribb24 mmal modplug:libmodplug opus:libopus libilbc librtmp ssh:libssh + speex:libspeex srt:libsrt svg:librsvg nvenc:ffnvcodec + vorbis:libvorbis vpx:libvpx zvbi:libzvbi + # libavfilter options + appkit + bs2b:libbs2b chromaprint cuda:cuda-llvm flite:libflite frei0r vmaf:libvmaf + fribidi:libfribidi fontconfig ladspa libass libtesseract lv2 truetype:libfreetype vidstab:libvidstab + rubberband:librubberband zeromq:libzmq zimg:libzimg + # libswresample options + libsoxr + # Threads; we only support pthread for now but ffmpeg supports more + +threads:pthreads +) + +# Same as above but for encoders, i.e. they do something only with USE=encode. +FFMPEG_ENCODER_FLAG_MAP=( + amf amrenc:libvo-amrwbenc kvazaar:libkvazaar libaom mp3:libmp3lame + openh264:libopenh264 rav1e:librav1e snappy:libsnappy svt-av1:libsvtav1 + theora:libtheora twolame:libtwolame webp:libwebp x264:libx264 + x265:libx265 xvid:libxvid +) + +IUSE=" + alsa chromium doc +encode oss pic sndio static-libs test v4l + ${FFMPEG_FLAG_MAP[@]%:*} + ${FFMPEG_ENCODER_FLAG_MAP[@]%:*} +" + +# Strings for CPU features in the useflag[:configure_option] form +# if :configure_option isn't set, it will use 'useflag' as configure option +ARM_CPU_FEATURES=( + cpu_flags_arm_thumb:armv5te + cpu_flags_arm_v6:armv6 + cpu_flags_arm_thumb2:armv6t2 + cpu_flags_arm_neon:neon + cpu_flags_arm_vfp:vfp + cpu_flags_arm_vfpv3:vfpv3 + cpu_flags_arm_v8:armv8 +) +ARM_CPU_REQUIRED_USE=" + arm64? ( cpu_flags_arm_v8 ) + cpu_flags_arm_v8? ( cpu_flags_arm_vfpv3 cpu_flags_arm_neon ) + cpu_flags_arm_neon? ( cpu_flags_arm_thumb2 cpu_flags_arm_vfp ) + cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp ) + cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 ) + cpu_flags_arm_v6? ( cpu_flags_arm_thumb ) +" +MIPS_CPU_FEATURES=( mipsdspr1:mipsdsp mipsdspr2 mipsfpu ) +PPC_CPU_FEATURES=( cpu_flags_ppc_altivec:altivec cpu_flags_ppc_vsx:vsx cpu_flags_ppc_vsx2:power8 ) +PPC_CPU_REQUIRED_USE=" + cpu_flags_ppc_vsx? ( cpu_flags_ppc_altivec ) + cpu_flags_ppc_vsx2? ( cpu_flags_ppc_vsx ) +" +X86_CPU_FEATURES_RAW=( 3dnow:amd3dnow 3dnowext:amd3dnowext aes:aesni avx:avx avx2:avx2 fma3:fma3 fma4:fma4 mmx:mmx mmxext:mmxext sse:sse sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4 sse4_2:sse42 xop:xop ) +X86_CPU_FEATURES=( ${X86_CPU_FEATURES_RAW[@]/#/cpu_flags_x86_} ) +X86_CPU_REQUIRED_USE=" + cpu_flags_x86_avx2? ( cpu_flags_x86_avx ) + cpu_flags_x86_fma4? ( cpu_flags_x86_avx ) + cpu_flags_x86_fma3? ( cpu_flags_x86_avx ) + cpu_flags_x86_xop? ( cpu_flags_x86_avx ) + cpu_flags_x86_avx? ( cpu_flags_x86_sse4_2 ) + cpu_flags_x86_aes? ( cpu_flags_x86_sse4_2 ) + cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 ) + cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 ) + cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 ) + cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 ) + cpu_flags_x86_sse2? ( cpu_flags_x86_sse ) + cpu_flags_x86_sse? ( cpu_flags_x86_mmxext ) + cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx ) + cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow ) + cpu_flags_x86_3dnow? ( cpu_flags_x86_mmx ) +" + +CPU_FEATURES_MAP=( + ${ARM_CPU_FEATURES[@]} + ${MIPS_CPU_FEATURES[@]} + ${PPC_CPU_FEATURES[@]} + ${X86_CPU_FEATURES[@]} +) +IUSE="${IUSE} + ${CPU_FEATURES_MAP[@]%:*}" + +CPU_REQUIRED_USE=" + ${ARM_CPU_REQUIRED_USE} + ${PPC_CPU_REQUIRED_USE} + ${X86_CPU_REQUIRED_USE} +" + +FFTOOLS=( aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher ) +IUSE="${IUSE} ${FFTOOLS[@]/#/+fftools_}" + +RDEPEND=" + alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] ) + amf? ( media-video/amdgpu-pro-amf ) + amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] ) + bluray? ( >=media-libs/libbluray-0.3.0-r1:=[${MULTILIB_USEDEP}] ) + bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] ) + bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] ) + cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[${MULTILIB_USEDEP}] ) + chromaprint? ( >=media-libs/chromaprint-1.2-r1[${MULTILIB_USEDEP}] ) + codec2? ( media-libs/codec2[${MULTILIB_USEDEP}] ) + dav1d? ( >=media-libs/dav1d-0.4.0:0=[${MULTILIB_USEDEP}] ) + encode? ( + amrenc? ( >=media-libs/vo-amrwbenc-0.1.2-r1[${MULTILIB_USEDEP}] ) + kvazaar? ( >=media-libs/kvazaar-1.2.0[${MULTILIB_USEDEP}] ) + mp3? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] ) + openh264? ( >=media-libs/openh264-1.4.0-r1:=[${MULTILIB_USEDEP}] ) + rav1e? ( >=media-video/rav1e-0.4:=[capi] ) + snappy? ( >=app-arch/snappy-1.1.2-r1:=[${MULTILIB_USEDEP}] ) + theora? ( + >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}] + >=media-libs/libtheora-1.1.1[encode,${MULTILIB_USEDEP}] + ) + twolame? ( >=media-sound/twolame-0.3.13-r1[${MULTILIB_USEDEP}] ) + webp? ( >=media-libs/libwebp-0.3.0:=[${MULTILIB_USEDEP}] ) + x264? ( >=media-libs/x264-0.0.20130506:=[${MULTILIB_USEDEP}] ) + x265? ( >=media-libs/x265-1.6:=[${MULTILIB_USEDEP}] ) + xvid? ( >=media-libs/xvid-1.3.2-r1[${MULTILIB_USEDEP}] ) + ) + fdk? ( >=media-libs/fdk-aac-0.1.3:=[${MULTILIB_USEDEP}] ) + flite? ( >=app-accessibility/flite-1.4-r4[${MULTILIB_USEDEP}] ) + fontconfig? ( >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}] ) + frei0r? ( media-plugins/frei0r-plugins[${MULTILIB_USEDEP}] ) + fribidi? ( >=dev-libs/fribidi-0.19.6[${MULTILIB_USEDEP}] ) + gcrypt? ( >=dev-libs/libgcrypt-1.6:0=[${MULTILIB_USEDEP}] ) + gme? ( >=media-libs/game-music-emu-0.6.0[${MULTILIB_USEDEP}] ) + gmp? ( >=dev-libs/gmp-6:0=[${MULTILIB_USEDEP}] ) + gsm? ( >=media-sound/gsm-1.0.13-r1[${MULTILIB_USEDEP}] ) + iconv? ( >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] ) + iec61883? ( + >=media-libs/libiec61883-1.2.0-r1[${MULTILIB_USEDEP}] + >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}] + >=sys-libs/libavc1394-0.5.4-r1[${MULTILIB_USEDEP}] + ) + ieee1394? ( + >=media-libs/libdc1394-2.2.1:2=[${MULTILIB_USEDEP}] + >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}] + ) + jack? ( virtual/jack[${MULTILIB_USEDEP}] ) + jpeg2k? ( >=media-libs/openjpeg-2:2[${MULTILIB_USEDEP}] ) + libaom? ( >=media-libs/libaom-1.0.0-r1:=[${MULTILIB_USEDEP}] ) + libaribb24? ( >=media-libs/aribb24-1.0.3-r2[${MULTILIB_USEDEP}] ) + libass? ( >=media-libs/libass-0.10.2:=[${MULTILIB_USEDEP}] ) + libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[${MULTILIB_USEDEP}] ) + libdrm? ( x11-libs/libdrm[${MULTILIB_USEDEP}] ) + libilbc? ( >=media-libs/libilbc-2[${MULTILIB_USEDEP}] ) + librtmp? ( >=media-video/rtmpdump-2.4_p20131018[${MULTILIB_USEDEP}] ) + libsoxr? ( >=media-libs/soxr-0.1.0[${MULTILIB_USEDEP}] ) + libtesseract? ( >=app-text/tesseract-4.1.0-r1[${MULTILIB_USEDEP}] ) + libv4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] ) + libxml2? ( dev-libs/libxml2:=[${MULTILIB_USEDEP}] ) + lv2? ( media-libs/lv2[${MULTILIB_USEDEP}] media-libs/lilv[${MULTILIB_USEDEP}] ) + lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] ) + mmal? ( media-libs/raspberrypi-userland ) + modplug? ( >=media-libs/libmodplug-0.8.8.4-r1[${MULTILIB_USEDEP}] ) + openal? ( >=media-libs/openal-1.15.1[${MULTILIB_USEDEP}] ) + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) + opengl? ( >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] ) + opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] ) + pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] ) + rubberband? ( >=media-libs/rubberband-1.8.1-r1[${MULTILIB_USEDEP}] ) + samba? ( >=net-fs/samba-3.6.23-r1[client,${MULTILIB_USEDEP}] ) + sdl? ( media-libs/libsdl2[sound,video,${MULTILIB_USEDEP}] ) + sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] ) + speex? ( >=media-libs/speex-1.2_rc1-r1[${MULTILIB_USEDEP}] ) + srt? ( >=net-libs/srt-1.3.0:=[${MULTILIB_USEDEP}] ) + ssh? ( >=net-libs/libssh-0.5.5:=[sftp,${MULTILIB_USEDEP}] ) + svg? ( + gnome-base/librsvg:2=[${MULTILIB_USEDEP}] + x11-libs/cairo[${MULTILIB_USEDEP}] + ) + nvenc? ( >=media-libs/nv-codec-headers-9.1.23.1 ) + svt-av1? ( >=media-libs/svt-av1-0.8.4[${MULTILIB_USEDEP}] ) + truetype? ( >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}] ) + vaapi? ( >=x11-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] ) + vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] ) + vidstab? ( >=media-libs/vidstab-1.1.0[${MULTILIB_USEDEP}] ) + vmaf? ( media-libs/libvmaf[${MULTILIB_USEDEP}] ) + vorbis? ( + >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}] + >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}] + ) + vpx? ( >=media-libs/libvpx-1.4.0:=[${MULTILIB_USEDEP}] ) + vulkan? ( >=media-libs/vulkan-loader-1.1.97:=[${MULTILIB_USEDEP}] ) + X? ( + >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] + >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] + >=x11-libs/libXv-1.0.10[${MULTILIB_USEDEP}] + >=x11-libs/libxcb-1.4:=[${MULTILIB_USEDEP}] + ) + postproc? ( !media-libs/libpostproc ) + zeromq? ( >=net-libs/zeromq-4.1.6 ) + zimg? ( >=media-libs/zimg-2.7.4:=[${MULTILIB_USEDEP}] ) + zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] ) + zvbi? ( >=media-libs/zvbi-0.2.35[${MULTILIB_USEDEP}] ) +" + +RDEPEND="${RDEPEND} + openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] ) + !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) ) +" + +DEPEND="${RDEPEND} + ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] ) + v4l? ( sys-kernel/linux-headers ) +" +BDEPEND=" + >=sys-devel/make-3.81 + virtual/pkgconfig + amf? ( media-libs/amf-headers ) + cpu_flags_x86_mmx? ( || ( >=dev-lang/nasm-2.13 >=dev-lang/yasm-1.3 ) ) + cuda? ( >=sys-devel/clang-7[llvm_targets_NVPTX] ) + doc? ( sys-apps/texinfo ) + test? ( net-misc/wget sys-devel/bc ) +" + +# Code requiring FFmpeg to be built under gpl license +GPL_REQUIRED_USE=" + postproc? ( gpl ) + frei0r? ( gpl ) + cdio? ( gpl ) + rubberband? ( gpl ) + vidstab? ( gpl ) + samba? ( gpl ) + encode? ( + x264? ( gpl ) + x265? ( gpl ) + xvid? ( gpl ) + ) +" +REQUIRED_USE=" + cuda? ( nvenc ) + libv4l? ( v4l ) + fftools_cws2fws? ( zlib ) + test? ( encode ) + ${GPL_REQUIRED_USE} + ${CPU_REQUIRED_USE}" +RESTRICT=" + !test? ( test ) + gpl? ( openssl? ( bindist ) fdk? ( bindist ) ) +" + +S=${WORKDIR}/${P/_/-} + +PATCHES=( + "${FILESDIR}"/chromium-r1.patch + "${FILESDIR}"/ffmpeg-5.0-backport-ranlib-build-fix.patch +) + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/libavutil/avconfig.h +) + +build_separate_libffmpeg() { + use opencl +} + +src_prepare() { + if [[ "${PV%_p*}" != "${PV}" ]] ; then # Snapshot + export revision=git-N-${FFMPEG_REVISION} + fi + + eapply "${FILESDIR}/vmaf-models-default-path.patch" + + default + echo 'include $(SRC_PATH)/ffbuild/libffmpeg.mak' >> Makefile || die +} + +multilib_src_configure() { + local myconf=( ) + + local ffuse=( "${FFMPEG_FLAG_MAP[@]}" ) + use openssl && myconf+=( --enable-nonfree ) + use samba && myconf+=( --enable-version3 ) + + # Encoders + if use encode ; then + ffuse+=( "${FFMPEG_ENCODER_FLAG_MAP[@]}" ) + + # Licensing. + if use amrenc ; then + myconf+=( --enable-version3 ) + fi + else + myconf+=( --disable-encoders ) + fi + + # Indevs + use v4l || myconf+=( --disable-indev=v4l2 --disable-outdev=v4l2 ) + for i in alsa oss jack sndio ; do + use ${i} || myconf+=( --disable-indev=${i} ) + done + + # Outdevs + for i in alsa oss sndio ; do + use ${i} || myconf+=( --disable-outdev=${i} ) + done + + # Decoders + use amr && myconf+=( --enable-version3 ) + use gmp && myconf+=( --enable-version3 ) + use libaribb24 && myconf+=( --enable-version3 ) + use fdk && use gpl && myconf+=( --enable-nonfree ) + + for i in "${ffuse[@]#+}" ; do + myconf+=( $(use_enable ${i%:*} ${i#*:}) ) + done + + if use openssl ; then + myconf+=( --disable-gnutls ) + fi + + # (temporarily) disable non-multilib deps + if ! multilib_is_native_abi; then + for i in librav1e libzmq ; do + myconf+=( --disable-${i} ) + done + fi + + # CPU features + for i in "${CPU_FEATURES_MAP[@]}" ; do + use ${i%:*} || myconf+=( --disable-${i#*:} ) + done + + if use pic ; then + myconf+=( --enable-pic ) + # disable asm code if PIC is required + # as the provided asm decidedly is not PIC for x86. + [[ ${ABI} == x86 ]] && myconf+=( --disable-asm ) + fi + [[ ${ABI} == x32 ]] && myconf+=( --disable-asm ) #427004 + + # Try to get cpu type based on CFLAGS. + # Bug #172723 + # We need to do this so that features of that CPU will be better used + # If they contain an unknown CPU it will not hurt since ffmpeg's configure + # will just ignore it. + for i in $(get-flag mcpu) $(get-flag march) ; do + [[ ${i} = native ]] && i="host" # bug #273421 + myconf+=( --cpu=${i} ) + break + done + + # LTO support, bug #566282, bug #754654 + is-flagq "-flto*" && myconf+=( "--enable-lto" ) + filter-flags "-flto*" + + # Mandatory configuration + myconf=( + --enable-avfilter + --enable-avresample + --disable-stripping + # This is only for hardcoded cflags; those are used in configure checks that may + # interfere with proper detections, bug #671746 and bug #645778 + # We use optflags, so that overrides them anyway. + --disable-optimizations + --disable-libcelt # bug #664158 + "${myconf[@]}" + ) + + # cross compile support + if tc-is-cross-compiler ; then + myconf+=( --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}- --host-cc="$(tc-getBUILD_CC)" ) + case ${CHOST} in + *freebsd*) + myconf+=( --target-os=freebsd ) + ;; + *mingw32*) + myconf+=( --target-os=mingw32 ) + ;; + *linux*) + myconf+=( --target-os=linux ) + ;; + esac + fi + + # doc + myconf+=( + $(multilib_native_use_enable doc) + $(multilib_native_use_enable doc htmlpages) + $(multilib_native_enable manpages) + ) + + local extra_libs + if use arm || use ppc || use mips || [[ ${CHOST} == *i486* ]] ; then + # bug #782811 + # bug #790590 + extra_libs+="$(test-flags-CCLD -latomic) " + fi + + set -- "${S}/configure" \ + --prefix="${EPREFIX}/usr" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --shlibdir="${EPREFIX}/usr/$(get_libdir)" \ + --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \ + --mandir="${EPREFIX}/usr/share/man" \ + --enable-shared \ + --cc="$(tc-getCC)" \ + --cxx="$(tc-getCXX)" \ + --ar="$(tc-getAR)" \ + --nm="$(tc-getNM)" \ + --strip="$(tc-getSTRIP)" \ + --ranlib="$(tc-getRANLIB)" \ + --pkg-config="$(tc-getPKG_CONFIG)" \ + --optflags="${CFLAGS}" \ + --extra-libs="${extra_libs}" \ + $(use_enable static-libs static) \ + "${myconf[@]}" \ + ${EXTRA_FFMPEG_CONF} + echo "${@}" + "${@}" || die + + if multilib_is_native_abi && use chromium && build_separate_libffmpeg; then + einfo "Configuring for Chromium" + mkdir -p ../chromium || die + pushd ../chromium >/dev/null || die + set -- "${@}" \ + --disable-shared \ + --enable-static \ + --enable-pic \ + --disable-opencl + echo "${@}" + "${@}" || die + popd >/dev/null || die + fi +} + +multilib_src_compile() { + emake V=1 + + if multilib_is_native_abi; then + for i in "${FFTOOLS[@]}" ; do + if use fftools_${i} ; then + emake V=1 tools/${i}$(get_exeext) + fi + done + + if use chromium; then + if build_separate_libffmpeg; then + einfo "Compiling for Chromium" + pushd ../chromium >/dev/null || die + emake V=1 libffmpeg + popd >/dev/null || die + else + emake V=1 libffmpeg + fi + fi + fi +} + +multilib_src_test() { + LD_LIBRARY_PATH="${BUILD_DIR}/libpostproc:${BUILD_DIR}/libswscale:${BUILD_DIR}/libswresample:${BUILD_DIR}/libavcodec:${BUILD_DIR}/libavdevice:${BUILD_DIR}/libavfilter:${BUILD_DIR}/libavformat:${BUILD_DIR}/libavutil:${BUILD_DIR}/libavresample" \ + emake V=1 fate +} + +multilib_src_install() { + emake V=1 DESTDIR="${D}" install install-doc + + if multilib_is_native_abi; then + for i in "${FFTOOLS[@]}" ; do + if use fftools_${i} ; then + dobin tools/${i}$(get_exeext) + fi + done + + if use chromium; then + if build_separate_libffmpeg; then + einfo "Installing for Chromium" + pushd ../chromium >/dev/null || die + emake V=1 DESTDIR="${D}" install-libffmpeg + popd >/dev/null || die + else + emake V=1 DESTDIR="${D}" install-libffmpeg + + # When not built separately, libffmpeg has no code of + # its own so this QA check raises a false positive. + QA_FLAGS_IGNORED+=" usr/$(get_libdir)/chromium/.*" + fi + fi + fi +} + +multilib_src_install_all() { + dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges + [ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES" + + use amf && doenvd "${FILESDIR}"/amf-env-vulkan-override +} diff --git a/media-video/ffmpeg/ffmpeg-5.0-r1.ebuild b/media-video/ffmpeg/ffmpeg-5.0-r1.ebuild deleted file mode 100644 index a818aa4782dc..000000000000 --- a/media-video/ffmpeg/ffmpeg-5.0-r1.ebuild +++ /dev/null @@ -1,565 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -# Subslot: libavutil major.libavcodec major.libavformat major -# Since FFmpeg ships several libraries, subslot is kind of limited here. -# Most consumers will use those three libraries, if a "less used" library -# changes its soname, consumers will have to be rebuilt the old way -# (preserve-libs). -# If, for example, a package does not link to libavformat and only libavformat -# changes its ABI then this package will be rebuilt needlessly. Hence, such a -# package is free _not_ to := depend on FFmpeg but I would strongly encourage -# doing so since such a case is unlikely. -FFMPEG_SUBSLOT=57.59.59 - -SCM="" -if [ "${PV#9999}" != "${PV}" ] ; then - SCM="git-r3" - EGIT_MIN_CLONE_TYPE="single" - EGIT_REPO_URI="https://git.ffmpeg.org/ffmpeg.git" -fi - -inherit flag-o-matic multilib multilib-minimal toolchain-funcs ${SCM} - -DESCRIPTION="Complete solution to record/convert/stream audio and video. Includes libavcodec" -HOMEPAGE="https://ffmpeg.org/" -if [ "${PV#9999}" != "${PV}" ] ; then - SRC_URI="" -elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot - SRC_URI="mirror://gentoo/${P}.tar.bz2" -else # Release - SRC_URI="https://ffmpeg.org/releases/${P/_/-}.tar.bz2" -fi -FFMPEG_REVISION="${PV#*_p}" - -SLOT="0/${FFMPEG_SUBSLOT}" -LICENSE=" - !gpl? ( LGPL-2.1 ) - gpl? ( GPL-2 ) - amr? ( - gpl? ( GPL-3 ) - !gpl? ( LGPL-3 ) - ) - gmp? ( - gpl? ( GPL-3 ) - !gpl? ( LGPL-3 ) - ) - libaribb24? ( - gpl? ( GPL-3 ) - !gpl? ( LGPL-3 ) - ) - encode? ( - amrenc? ( - gpl? ( GPL-3 ) - !gpl? ( LGPL-3 ) - ) - ) - samba? ( GPL-3 ) -" -if [ "${PV#9999}" = "${PV}" ] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" -fi - -# Options to use as use_enable in the foo[:bar] form. -# This will feed configure with $(use_enable foo bar) -# or $(use_enable foo foo) if no :bar is set. -# foo is added to IUSE. -FFMPEG_FLAG_MAP=( - +bzip2:bzlib cpudetection:runtime-cpudetect debug gcrypt +gnutls gmp - +gpl hardcoded-tables +iconv libxml2 lzma +network opencl - openssl +postproc samba:libsmbclient sdl:ffplay sdl:sdl2 vaapi vdpau vulkan - X:xlib X:libxcb X:libxcb-shm X:libxcb-xfixes +zlib - # libavdevice options - cdio:libcdio iec61883:libiec61883 ieee1394:libdc1394 libcaca openal - opengl - # indevs - libv4l:libv4l2 pulseaudio:libpulse libdrm jack:libjack - # decoders - amr:libopencore-amrwb amr:libopencore-amrnb codec2:libcodec2 +dav1d:libdav1d fdk:libfdk-aac - jpeg2k:libopenjpeg bluray:libbluray gme:libgme gsm:libgsm - libaribb24 mmal modplug:libmodplug opus:libopus libilbc librtmp ssh:libssh - speex:libspeex srt:libsrt svg:librsvg nvenc:ffnvcodec - vorbis:libvorbis vpx:libvpx zvbi:libzvbi - # libavfilter options - appkit - bs2b:libbs2b chromaprint cuda:cuda-llvm flite:libflite frei0r vmaf:libvmaf - fribidi:libfribidi fontconfig ladspa libass libtesseract lv2 truetype:libfreetype vidstab:libvidstab - rubberband:librubberband zeromq:libzmq zimg:libzimg - # libswresample options - libsoxr - # Threads; we only support pthread for now but ffmpeg supports more - +threads:pthreads -) - -# Same as above but for encoders, i.e. they do something only with USE=encode. -FFMPEG_ENCODER_FLAG_MAP=( - amrenc:libvo-amrwbenc mp3:libmp3lame - kvazaar:libkvazaar libaom - openh264:libopenh264 rav1e:librav1e snappy:libsnappy svt-av1:libsvtav1 theora:libtheora twolame:libtwolame - webp:libwebp x264:libx264 x265:libx265 xvid:libxvid -) - -IUSE=" - alsa chromium doc +encode oss pic sndio static-libs test v4l - ${FFMPEG_FLAG_MAP[@]%:*} - ${FFMPEG_ENCODER_FLAG_MAP[@]%:*} -" - -# Strings for CPU features in the useflag[:configure_option] form -# if :configure_option isn't set, it will use 'useflag' as configure option -ARM_CPU_FEATURES=( - cpu_flags_arm_thumb:armv5te - cpu_flags_arm_v6:armv6 - cpu_flags_arm_thumb2:armv6t2 - cpu_flags_arm_neon:neon - cpu_flags_arm_vfp:vfp - cpu_flags_arm_vfpv3:vfpv3 - cpu_flags_arm_v8:armv8 -) -ARM_CPU_REQUIRED_USE=" - arm64? ( cpu_flags_arm_v8 ) - cpu_flags_arm_v8? ( cpu_flags_arm_vfpv3 cpu_flags_arm_neon ) - cpu_flags_arm_neon? ( cpu_flags_arm_thumb2 cpu_flags_arm_vfp ) - cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp ) - cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 ) - cpu_flags_arm_v6? ( cpu_flags_arm_thumb ) -" -MIPS_CPU_FEATURES=( mipsdspr1:mipsdsp mipsdspr2 mipsfpu ) -PPC_CPU_FEATURES=( cpu_flags_ppc_altivec:altivec cpu_flags_ppc_vsx:vsx cpu_flags_ppc_vsx2:power8 ) -PPC_CPU_REQUIRED_USE=" - cpu_flags_ppc_vsx? ( cpu_flags_ppc_altivec ) - cpu_flags_ppc_vsx2? ( cpu_flags_ppc_vsx ) -" -X86_CPU_FEATURES_RAW=( 3dnow:amd3dnow 3dnowext:amd3dnowext aes:aesni avx:avx avx2:avx2 fma3:fma3 fma4:fma4 mmx:mmx mmxext:mmxext sse:sse sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4 sse4_2:sse42 xop:xop ) -X86_CPU_FEATURES=( ${X86_CPU_FEATURES_RAW[@]/#/cpu_flags_x86_} ) -X86_CPU_REQUIRED_USE=" - cpu_flags_x86_avx2? ( cpu_flags_x86_avx ) - cpu_flags_x86_fma4? ( cpu_flags_x86_avx ) - cpu_flags_x86_fma3? ( cpu_flags_x86_avx ) - cpu_flags_x86_xop? ( cpu_flags_x86_avx ) - cpu_flags_x86_avx? ( cpu_flags_x86_sse4_2 ) - cpu_flags_x86_aes? ( cpu_flags_x86_sse4_2 ) - cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 ) - cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 ) - cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 ) - cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 ) - cpu_flags_x86_sse2? ( cpu_flags_x86_sse ) - cpu_flags_x86_sse? ( cpu_flags_x86_mmxext ) - cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx ) - cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow ) - cpu_flags_x86_3dnow? ( cpu_flags_x86_mmx ) -" - -CPU_FEATURES_MAP=( - ${ARM_CPU_FEATURES[@]} - ${MIPS_CPU_FEATURES[@]} - ${PPC_CPU_FEATURES[@]} - ${X86_CPU_FEATURES[@]} -) -IUSE="${IUSE} - ${CPU_FEATURES_MAP[@]%:*}" - -CPU_REQUIRED_USE=" - ${ARM_CPU_REQUIRED_USE} - ${PPC_CPU_REQUIRED_USE} - ${X86_CPU_REQUIRED_USE} -" - -FFTOOLS=( aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher ) -IUSE="${IUSE} ${FFTOOLS[@]/#/+fftools_}" - -RDEPEND=" - alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] ) - amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] ) - bluray? ( >=media-libs/libbluray-0.3.0-r1:=[${MULTILIB_USEDEP}] ) - bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] ) - bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] ) - cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[${MULTILIB_USEDEP}] ) - chromaprint? ( >=media-libs/chromaprint-1.2-r1[${MULTILIB_USEDEP}] ) - codec2? ( media-libs/codec2[${MULTILIB_USEDEP}] ) - dav1d? ( >=media-libs/dav1d-0.4.0:0=[${MULTILIB_USEDEP}] ) - encode? ( - amrenc? ( >=media-libs/vo-amrwbenc-0.1.2-r1[${MULTILIB_USEDEP}] ) - kvazaar? ( >=media-libs/kvazaar-1.2.0[${MULTILIB_USEDEP}] ) - mp3? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] ) - openh264? ( >=media-libs/openh264-1.4.0-r1:=[${MULTILIB_USEDEP}] ) - rav1e? ( >=media-video/rav1e-0.4:=[capi] ) - snappy? ( >=app-arch/snappy-1.1.2-r1:=[${MULTILIB_USEDEP}] ) - theora? ( - >=media-libs/libtheora-1.1.1[encode,${MULTILIB_USEDEP}] - >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}] - ) - twolame? ( >=media-sound/twolame-0.3.13-r1[${MULTILIB_USEDEP}] ) - webp? ( >=media-libs/libwebp-0.3.0:=[${MULTILIB_USEDEP}] ) - x264? ( >=media-libs/x264-0.0.20130506:=[${MULTILIB_USEDEP}] ) - x265? ( >=media-libs/x265-1.6:=[${MULTILIB_USEDEP}] ) - xvid? ( >=media-libs/xvid-1.3.2-r1[${MULTILIB_USEDEP}] ) - ) - fdk? ( >=media-libs/fdk-aac-0.1.3:=[${MULTILIB_USEDEP}] ) - flite? ( >=app-accessibility/flite-1.4-r4[${MULTILIB_USEDEP}] ) - fontconfig? ( >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}] ) - frei0r? ( media-plugins/frei0r-plugins[${MULTILIB_USEDEP}] ) - fribidi? ( >=dev-libs/fribidi-0.19.6[${MULTILIB_USEDEP}] ) - gcrypt? ( >=dev-libs/libgcrypt-1.6:0=[${MULTILIB_USEDEP}] ) - gme? ( >=media-libs/game-music-emu-0.6.0[${MULTILIB_USEDEP}] ) - gmp? ( >=dev-libs/gmp-6:0=[${MULTILIB_USEDEP}] ) - gsm? ( >=media-sound/gsm-1.0.13-r1[${MULTILIB_USEDEP}] ) - iconv? ( >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] ) - iec61883? ( - >=media-libs/libiec61883-1.2.0-r1[${MULTILIB_USEDEP}] - >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}] - >=sys-libs/libavc1394-0.5.4-r1[${MULTILIB_USEDEP}] - ) - ieee1394? ( - >=media-libs/libdc1394-2.2.1:2=[${MULTILIB_USEDEP}] - >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}] - ) - jack? ( virtual/jack[${MULTILIB_USEDEP}] ) - jpeg2k? ( >=media-libs/openjpeg-2:2[${MULTILIB_USEDEP}] ) - libaom? ( >=media-libs/libaom-1.0.0-r1:=[${MULTILIB_USEDEP}] ) - libaribb24? ( >=media-libs/aribb24-1.0.3-r2[${MULTILIB_USEDEP}] ) - libass? ( >=media-libs/libass-0.11.0:=[${MULTILIB_USEDEP}] ) - libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[${MULTILIB_USEDEP}] ) - libdrm? ( x11-libs/libdrm[${MULTILIB_USEDEP}] ) - libilbc? ( >=media-libs/libilbc-2[${MULTILIB_USEDEP}] ) - librtmp? ( >=media-video/rtmpdump-2.4_p20131018[${MULTILIB_USEDEP}] ) - libsoxr? ( >=media-libs/soxr-0.1.0[${MULTILIB_USEDEP}] ) - libtesseract? ( >=app-text/tesseract-4.1.0-r1[${MULTILIB_USEDEP}] ) - libv4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] ) - libxml2? ( dev-libs/libxml2:=[${MULTILIB_USEDEP}] ) - lv2? ( media-libs/lv2[${MULTILIB_USEDEP}] media-libs/lilv[${MULTILIB_USEDEP}] ) - lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] ) - mmal? ( media-libs/raspberrypi-userland ) - modplug? ( >=media-libs/libmodplug-0.8.8.4-r1[${MULTILIB_USEDEP}] ) - openal? ( >=media-libs/openal-1.15.1[${MULTILIB_USEDEP}] ) - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) - opengl? ( >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] ) - opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] ) - pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] ) - rubberband? ( >=media-libs/rubberband-1.8.1-r1[${MULTILIB_USEDEP}] ) - samba? ( >=net-fs/samba-3.6.23-r1[client,${MULTILIB_USEDEP}] ) - sdl? ( media-libs/libsdl2[sound,video,${MULTILIB_USEDEP}] ) - sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] ) - speex? ( >=media-libs/speex-1.2_rc1-r1[${MULTILIB_USEDEP}] ) - srt? ( >=net-libs/srt-1.3.0:=[${MULTILIB_USEDEP}] ) - ssh? ( >=net-libs/libssh-0.5.5[${MULTILIB_USEDEP}] ) - svg? ( - gnome-base/librsvg:2=[${MULTILIB_USEDEP}] - x11-libs/cairo[${MULTILIB_USEDEP}] - ) - svt-av1? ( >=media-libs/svt-av1-0.8.4[${MULTILIB_USEDEP}] ) - truetype? ( >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}] ) - vaapi? ( >=x11-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] ) - nvenc? ( >=media-libs/nv-codec-headers-9.1.23.1[${MULTILIB_USEDEP}] ) - vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] ) - vidstab? ( >=media-libs/vidstab-1.1.0[${MULTILIB_USEDEP}] ) - vmaf? ( media-libs/libvmaf[${MULTILIB_USEDEP}] ) - vorbis? ( - >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}] - >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}] - ) - vpx? ( >=media-libs/libvpx-1.4.0:=[${MULTILIB_USEDEP}] ) - vulkan? ( >=media-libs/vulkan-loader-1.2.189:=[${MULTILIB_USEDEP}] ) - X? ( - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] - >=x11-libs/libXv-1.0.10[${MULTILIB_USEDEP}] - >=x11-libs/libxcb-1.4:=[${MULTILIB_USEDEP}] - ) - zeromq? ( >=net-libs/zeromq-4.1.6 ) - zimg? ( >=media-libs/zimg-2.7.4:=[${MULTILIB_USEDEP}] ) - zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] ) - zvbi? ( >=media-libs/zvbi-0.2.35[${MULTILIB_USEDEP}] ) - postproc? ( !media-libs/libpostproc ) -" - -RDEPEND="${RDEPEND} - openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] ) - !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) ) -" - -DEPEND="${RDEPEND} - ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] ) - v4l? ( sys-kernel/linux-headers ) -" -BDEPEND=" - >=sys-devel/make-3.81 - virtual/pkgconfig - cpu_flags_x86_mmx? ( || ( >=dev-lang/nasm-2.13 >=dev-lang/yasm-1.3 ) ) - cuda? ( >=sys-devel/clang-7[llvm_targets_NVPTX] ) - doc? ( sys-apps/texinfo ) - test? ( net-misc/wget sys-devel/bc ) -" - -# Code requiring FFmpeg to be built under gpl license -GPL_REQUIRED_USE=" - postproc? ( gpl ) - frei0r? ( gpl ) - cdio? ( gpl ) - rubberband? ( gpl ) - vidstab? ( gpl ) - samba? ( gpl ) - encode? ( - x264? ( gpl ) - x265? ( gpl ) - xvid? ( gpl ) - ) -" -REQUIRED_USE=" - cuda? ( nvenc ) - libv4l? ( v4l ) - fftools_cws2fws? ( zlib ) - test? ( encode ) - ${GPL_REQUIRED_USE} - ${CPU_REQUIRED_USE}" -RESTRICT=" - !test? ( test ) - gpl? ( openssl? ( bindist ) fdk? ( bindist ) ) -" - -S=${WORKDIR}/${P/_/-} - -PATCHES=( - "${FILESDIR}"/chromium-r1.patch - "${FILESDIR}"/ffmpeg-5.0-backport-ranlib-build-fix.patch -) - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/libavutil/avconfig.h -) - -build_separate_libffmpeg() { - use opencl -} - -src_prepare() { - if [[ "${PV%_p*}" != "${PV}" ]] ; then # Snapshot - export revision=git-N-${FFMPEG_REVISION} - fi - - eapply "${FILESDIR}/vmaf-models-default-path.patch" - - default - echo 'include $(SRC_PATH)/ffbuild/libffmpeg.mak' >> Makefile || die -} - -multilib_src_configure() { - local myconf=( ) - - local ffuse=( "${FFMPEG_FLAG_MAP[@]}" ) - use openssl && myconf+=( --enable-nonfree ) - use samba && myconf+=( --enable-version3 ) - - # Encoders - if use encode ; then - ffuse+=( "${FFMPEG_ENCODER_FLAG_MAP[@]}" ) - - # Licensing. - if use amrenc ; then - myconf+=( --enable-version3 ) - fi - else - myconf+=( --disable-encoders ) - fi - - # Indevs - use v4l || myconf+=( --disable-indev=v4l2 --disable-outdev=v4l2 ) - for i in alsa oss jack sndio ; do - use ${i} || myconf+=( --disable-indev=${i} ) - done - - # Outdevs - for i in alsa oss sndio ; do - use ${i} || myconf+=( --disable-outdev=${i} ) - done - - # Decoders - use amr && myconf+=( --enable-version3 ) - use gmp && myconf+=( --enable-version3 ) - use libaribb24 && myconf+=( --enable-version3 ) - use fdk && use gpl && myconf+=( --enable-nonfree ) - - for i in "${ffuse[@]#+}" ; do - myconf+=( $(use_enable ${i%:*} ${i#*:}) ) - done - - if use openssl ; then - myconf+=( --disable-gnutls ) - has_version dev-libs/openssl:0/3 && myconf+=( --enable-version3 ) - fi - - # (temporarily) disable non-multilib deps - if ! multilib_is_native_abi; then - for i in librav1e libzmq ; do - myconf+=( --disable-${i} ) - done - fi - - # CPU features - for i in "${CPU_FEATURES_MAP[@]}" ; do - use ${i%:*} || myconf+=( --disable-${i#*:} ) - done - - if use pic ; then - myconf+=( --enable-pic ) - # disable asm code if PIC is required - # as the provided asm decidedly is not PIC for x86. - [[ ${ABI} == x86 ]] && myconf+=( --disable-asm ) - fi - [[ ${ABI} == x32 ]] && myconf+=( --disable-asm ) #427004 - - # Try to get cpu type based on CFLAGS. - # Bug #172723 - # We need to do this so that features of that CPU will be better used - # If they contain an unknown CPU it will not hurt since ffmpeg's configure - # will just ignore it. - for i in $(get-flag mcpu) $(get-flag march) ; do - [[ ${i} = native ]] && i="host" # bug #273421 - myconf+=( --cpu=${i} ) - break - done - - # LTO support, bug #566282, bug #754654 - is-flagq "-flto*" && myconf+=( "--enable-lto" ) - filter-flags "-flto*" - - # Mandatory configuration - myconf=( - --enable-avfilter - --disable-stripping - # This is only for hardcoded cflags; those are used in configure checks that may - # interfere with proper detections, bug #671746 and bug #645778 - # We use optflags, so that overrides them anyway. - --disable-optimizations - --disable-libcelt # bug #664158 - "${myconf[@]}" - ) - - # cross compile support - if tc-is-cross-compiler ; then - myconf+=( --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}- --host-cc="$(tc-getBUILD_CC)" ) - case ${CHOST} in - *freebsd*) - myconf+=( --target-os=freebsd ) - ;; - *mingw32*) - myconf+=( --target-os=mingw32 ) - ;; - *linux*) - myconf+=( --target-os=linux ) - ;; - esac - fi - - # doc - myconf+=( - $(multilib_native_use_enable doc) - $(multilib_native_use_enable doc htmlpages) - $(multilib_native_enable manpages) - ) - - local extra_libs - if use arm || use ppc || use mips || [[ ${CHOST} == *i486* ]] ; then - # bug #782811 - # bug #790590 - extra_libs+="$(test-flags-CCLD -latomic) " - fi - - set -- "${S}/configure" \ - --prefix="${EPREFIX}/usr" \ - --libdir="${EPREFIX}/usr/$(get_libdir)" \ - --shlibdir="${EPREFIX}/usr/$(get_libdir)" \ - --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \ - --mandir="${EPREFIX}/usr/share/man" \ - --enable-shared \ - --cc="$(tc-getCC)" \ - --cxx="$(tc-getCXX)" \ - --ar="$(tc-getAR)" \ - --nm="$(tc-getNM)" \ - --strip="$(tc-getSTRIP)" \ - --ranlib="$(tc-getRANLIB)" \ - --pkg-config="$(tc-getPKG_CONFIG)" \ - --optflags="${CFLAGS}" \ - --extra-libs="${extra_libs}" \ - $(use_enable static-libs static) \ - "${myconf[@]}" \ - ${EXTRA_FFMPEG_CONF} - echo "${@}" - "${@}" || die - - if multilib_is_native_abi && use chromium && build_separate_libffmpeg; then - einfo "Configuring for Chromium" - mkdir -p ../chromium || die - pushd ../chromium >/dev/null || die - set -- "${@}" \ - --disable-shared \ - --enable-static \ - --enable-pic \ - --disable-opencl - echo "${@}" - "${@}" || die - popd >/dev/null || die - fi -} - -multilib_src_compile() { - emake V=1 - - if multilib_is_native_abi; then - for i in "${FFTOOLS[@]}" ; do - if use fftools_${i} ; then - emake V=1 tools/${i}$(get_exeext) - fi - done - - if use chromium; then - if build_separate_libffmpeg; then - einfo "Compiling for Chromium" - pushd ../chromium >/dev/null || die - emake V=1 libffmpeg - popd >/dev/null || die - else - emake V=1 libffmpeg - fi - fi - fi -} - -multilib_src_test() { - LD_LIBRARY_PATH="${BUILD_DIR}/libpostproc:${BUILD_DIR}/libswscale:${BUILD_DIR}/libswresample:${BUILD_DIR}/libavcodec:${BUILD_DIR}/libavdevice:${BUILD_DIR}/libavfilter:${BUILD_DIR}/libavformat:${BUILD_DIR}/libavutil" \ - emake V=1 fate -} - -multilib_src_install() { - emake V=1 DESTDIR="${D}" install install-doc - - if multilib_is_native_abi; then - for i in "${FFTOOLS[@]}" ; do - if use fftools_${i} ; then - dobin tools/${i}$(get_exeext) - fi - done - - if use chromium; then - if build_separate_libffmpeg; then - einfo "Installing for Chromium" - pushd ../chromium >/dev/null || die - emake V=1 DESTDIR="${D}" install-libffmpeg - popd >/dev/null || die - else - emake V=1 DESTDIR="${D}" install-libffmpeg - - # When not built separately, libffmpeg has no code of - # its own so this QA check raises a false positive. - QA_FLAGS_IGNORED+=" usr/$(get_libdir)/chromium/.*" - fi - fi - fi -} - -multilib_src_install_all() { - dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges - [ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES" -} diff --git a/media-video/ffmpeg/ffmpeg-5.0-r3.ebuild b/media-video/ffmpeg/ffmpeg-5.0-r3.ebuild new file mode 100644 index 000000000000..f4365662bbad --- /dev/null +++ b/media-video/ffmpeg/ffmpeg-5.0-r3.ebuild @@ -0,0 +1,569 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +# Subslot: libavutil major.libavcodec major.libavformat major +# Since FFmpeg ships several libraries, subslot is kind of limited here. +# Most consumers will use those three libraries, if a "less used" library +# changes its soname, consumers will have to be rebuilt the old way +# (preserve-libs). +# If, for example, a package does not link to libavformat and only libavformat +# changes its ABI then this package will be rebuilt needlessly. Hence, such a +# package is free _not_ to := depend on FFmpeg but I would strongly encourage +# doing so since such a case is unlikely. +FFMPEG_SUBSLOT=57.59.59 + +SCM="" +if [ "${PV#9999}" != "${PV}" ] ; then + SCM="git-r3" + EGIT_MIN_CLONE_TYPE="single" + EGIT_REPO_URI="https://git.ffmpeg.org/ffmpeg.git" +fi + +inherit flag-o-matic multilib multilib-minimal toolchain-funcs ${SCM} + +DESCRIPTION="Complete solution to record/convert/stream audio and video. Includes libavcodec" +HOMEPAGE="https://ffmpeg.org/" +if [ "${PV#9999}" != "${PV}" ] ; then + SRC_URI="" +elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot + SRC_URI="mirror://gentoo/${P}.tar.bz2" +else # Release + SRC_URI="https://ffmpeg.org/releases/${P/_/-}.tar.bz2" +fi +FFMPEG_REVISION="${PV#*_p}" + +SLOT="0/${FFMPEG_SUBSLOT}" +LICENSE=" + !gpl? ( LGPL-2.1 ) + gpl? ( GPL-2 ) + amr? ( + gpl? ( GPL-3 ) + !gpl? ( LGPL-3 ) + ) + gmp? ( + gpl? ( GPL-3 ) + !gpl? ( LGPL-3 ) + ) + libaribb24? ( + gpl? ( GPL-3 ) + !gpl? ( LGPL-3 ) + ) + encode? ( + amrenc? ( + gpl? ( GPL-3 ) + !gpl? ( LGPL-3 ) + ) + ) + samba? ( GPL-3 ) +" +if [ "${PV#9999}" = "${PV}" ] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +fi + +# Options to use as use_enable in the foo[:bar] form. +# This will feed configure with $(use_enable foo bar) +# or $(use_enable foo foo) if no :bar is set. +# foo is added to IUSE. +FFMPEG_FLAG_MAP=( + +bzip2:bzlib cpudetection:runtime-cpudetect debug gcrypt +gnutls gmp + +gpl hardcoded-tables +iconv libxml2 lzma +network opencl + openssl +postproc samba:libsmbclient sdl:ffplay sdl:sdl2 vaapi vdpau vulkan + X:xlib X:libxcb X:libxcb-shm X:libxcb-xfixes +zlib + # libavdevice options + cdio:libcdio iec61883:libiec61883 ieee1394:libdc1394 libcaca openal + opengl + # indevs + libv4l:libv4l2 pulseaudio:libpulse libdrm jack:libjack + # decoders + amr:libopencore-amrwb amr:libopencore-amrnb codec2:libcodec2 +dav1d:libdav1d fdk:libfdk-aac + jpeg2k:libopenjpeg bluray:libbluray gme:libgme gsm:libgsm + libaribb24 mmal modplug:libmodplug opus:libopus libilbc librtmp ssh:libssh + speex:libspeex srt:libsrt svg:librsvg nvenc:ffnvcodec + vorbis:libvorbis vpx:libvpx zvbi:libzvbi + # libavfilter options + appkit + bs2b:libbs2b chromaprint cuda:cuda-llvm flite:libflite frei0r vmaf:libvmaf + fribidi:libfribidi fontconfig ladspa libass libtesseract lv2 truetype:libfreetype vidstab:libvidstab + rubberband:librubberband zeromq:libzmq zimg:libzimg + # libswresample options + libsoxr + # Threads; we only support pthread for now but ffmpeg supports more + +threads:pthreads +) + +# Same as above but for encoders, i.e. they do something only with USE=encode. +FFMPEG_ENCODER_FLAG_MAP=( + amf amrenc:libvo-amrwbenc kvazaar:libkvazaar libaom mp3:libmp3lame + openh264:libopenh264 rav1e:librav1e snappy:libsnappy svt-av1:libsvtav1 + theora:libtheora twolame:libtwolame webp:libwebp x264:libx264 + x265:libx265 xvid:libxvid +) + +IUSE=" + alsa chromium doc +encode oss pic sndio static-libs test v4l + ${FFMPEG_FLAG_MAP[@]%:*} + ${FFMPEG_ENCODER_FLAG_MAP[@]%:*} +" + +# Strings for CPU features in the useflag[:configure_option] form +# if :configure_option isn't set, it will use 'useflag' as configure option +ARM_CPU_FEATURES=( + cpu_flags_arm_thumb:armv5te + cpu_flags_arm_v6:armv6 + cpu_flags_arm_thumb2:armv6t2 + cpu_flags_arm_neon:neon + cpu_flags_arm_vfp:vfp + cpu_flags_arm_vfpv3:vfpv3 + cpu_flags_arm_v8:armv8 +) +ARM_CPU_REQUIRED_USE=" + arm64? ( cpu_flags_arm_v8 ) + cpu_flags_arm_v8? ( cpu_flags_arm_vfpv3 cpu_flags_arm_neon ) + cpu_flags_arm_neon? ( cpu_flags_arm_thumb2 cpu_flags_arm_vfp ) + cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp ) + cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 ) + cpu_flags_arm_v6? ( cpu_flags_arm_thumb ) +" +MIPS_CPU_FEATURES=( mipsdspr1:mipsdsp mipsdspr2 mipsfpu ) +PPC_CPU_FEATURES=( cpu_flags_ppc_altivec:altivec cpu_flags_ppc_vsx:vsx cpu_flags_ppc_vsx2:power8 ) +PPC_CPU_REQUIRED_USE=" + cpu_flags_ppc_vsx? ( cpu_flags_ppc_altivec ) + cpu_flags_ppc_vsx2? ( cpu_flags_ppc_vsx ) +" +X86_CPU_FEATURES_RAW=( 3dnow:amd3dnow 3dnowext:amd3dnowext aes:aesni avx:avx avx2:avx2 fma3:fma3 fma4:fma4 mmx:mmx mmxext:mmxext sse:sse sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4 sse4_2:sse42 xop:xop ) +X86_CPU_FEATURES=( ${X86_CPU_FEATURES_RAW[@]/#/cpu_flags_x86_} ) +X86_CPU_REQUIRED_USE=" + cpu_flags_x86_avx2? ( cpu_flags_x86_avx ) + cpu_flags_x86_fma4? ( cpu_flags_x86_avx ) + cpu_flags_x86_fma3? ( cpu_flags_x86_avx ) + cpu_flags_x86_xop? ( cpu_flags_x86_avx ) + cpu_flags_x86_avx? ( cpu_flags_x86_sse4_2 ) + cpu_flags_x86_aes? ( cpu_flags_x86_sse4_2 ) + cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 ) + cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 ) + cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 ) + cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 ) + cpu_flags_x86_sse2? ( cpu_flags_x86_sse ) + cpu_flags_x86_sse? ( cpu_flags_x86_mmxext ) + cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx ) + cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow ) + cpu_flags_x86_3dnow? ( cpu_flags_x86_mmx ) +" + +CPU_FEATURES_MAP=( + ${ARM_CPU_FEATURES[@]} + ${MIPS_CPU_FEATURES[@]} + ${PPC_CPU_FEATURES[@]} + ${X86_CPU_FEATURES[@]} +) +IUSE="${IUSE} + ${CPU_FEATURES_MAP[@]%:*}" + +CPU_REQUIRED_USE=" + ${ARM_CPU_REQUIRED_USE} + ${PPC_CPU_REQUIRED_USE} + ${X86_CPU_REQUIRED_USE} +" + +FFTOOLS=( aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher ) +IUSE="${IUSE} ${FFTOOLS[@]/#/+fftools_}" + +RDEPEND=" + alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] ) + amf? ( media-video/amdgpu-pro-amf ) + amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] ) + bluray? ( >=media-libs/libbluray-0.3.0-r1:=[${MULTILIB_USEDEP}] ) + bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] ) + bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] ) + cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[${MULTILIB_USEDEP}] ) + chromaprint? ( >=media-libs/chromaprint-1.2-r1[${MULTILIB_USEDEP}] ) + codec2? ( media-libs/codec2[${MULTILIB_USEDEP}] ) + dav1d? ( >=media-libs/dav1d-0.4.0:0=[${MULTILIB_USEDEP}] ) + encode? ( + amrenc? ( >=media-libs/vo-amrwbenc-0.1.2-r1[${MULTILIB_USEDEP}] ) + kvazaar? ( >=media-libs/kvazaar-1.2.0[${MULTILIB_USEDEP}] ) + mp3? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] ) + openh264? ( >=media-libs/openh264-1.4.0-r1:=[${MULTILIB_USEDEP}] ) + rav1e? ( >=media-video/rav1e-0.4:=[capi] ) + snappy? ( >=app-arch/snappy-1.1.2-r1:=[${MULTILIB_USEDEP}] ) + theora? ( + >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}] + >=media-libs/libtheora-1.1.1[encode,${MULTILIB_USEDEP}] + ) + twolame? ( >=media-sound/twolame-0.3.13-r1[${MULTILIB_USEDEP}] ) + webp? ( >=media-libs/libwebp-0.3.0:=[${MULTILIB_USEDEP}] ) + x264? ( >=media-libs/x264-0.0.20130506:=[${MULTILIB_USEDEP}] ) + x265? ( >=media-libs/x265-1.6:=[${MULTILIB_USEDEP}] ) + xvid? ( >=media-libs/xvid-1.3.2-r1[${MULTILIB_USEDEP}] ) + ) + fdk? ( >=media-libs/fdk-aac-0.1.3:=[${MULTILIB_USEDEP}] ) + flite? ( >=app-accessibility/flite-1.4-r4[${MULTILIB_USEDEP}] ) + fontconfig? ( >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}] ) + frei0r? ( media-plugins/frei0r-plugins[${MULTILIB_USEDEP}] ) + fribidi? ( >=dev-libs/fribidi-0.19.6[${MULTILIB_USEDEP}] ) + gcrypt? ( >=dev-libs/libgcrypt-1.6:0=[${MULTILIB_USEDEP}] ) + gme? ( >=media-libs/game-music-emu-0.6.0[${MULTILIB_USEDEP}] ) + gmp? ( >=dev-libs/gmp-6:0=[${MULTILIB_USEDEP}] ) + gsm? ( >=media-sound/gsm-1.0.13-r1[${MULTILIB_USEDEP}] ) + iconv? ( >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] ) + iec61883? ( + >=media-libs/libiec61883-1.2.0-r1[${MULTILIB_USEDEP}] + >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}] + >=sys-libs/libavc1394-0.5.4-r1[${MULTILIB_USEDEP}] + ) + ieee1394? ( + >=media-libs/libdc1394-2.2.1:2=[${MULTILIB_USEDEP}] + >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}] + ) + jack? ( virtual/jack[${MULTILIB_USEDEP}] ) + jpeg2k? ( >=media-libs/openjpeg-2:2[${MULTILIB_USEDEP}] ) + libaom? ( >=media-libs/libaom-1.0.0-r1:=[${MULTILIB_USEDEP}] ) + libaribb24? ( >=media-libs/aribb24-1.0.3-r2[${MULTILIB_USEDEP}] ) + libass? ( >=media-libs/libass-0.11.0:=[${MULTILIB_USEDEP}] ) + libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[${MULTILIB_USEDEP}] ) + libdrm? ( x11-libs/libdrm[${MULTILIB_USEDEP}] ) + libilbc? ( >=media-libs/libilbc-2[${MULTILIB_USEDEP}] ) + librtmp? ( >=media-video/rtmpdump-2.4_p20131018[${MULTILIB_USEDEP}] ) + libsoxr? ( >=media-libs/soxr-0.1.0[${MULTILIB_USEDEP}] ) + libtesseract? ( >=app-text/tesseract-4.1.0-r1[${MULTILIB_USEDEP}] ) + libv4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] ) + libxml2? ( dev-libs/libxml2:=[${MULTILIB_USEDEP}] ) + lv2? ( media-libs/lv2[${MULTILIB_USEDEP}] media-libs/lilv[${MULTILIB_USEDEP}] ) + lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] ) + mmal? ( media-libs/raspberrypi-userland ) + modplug? ( >=media-libs/libmodplug-0.8.8.4-r1[${MULTILIB_USEDEP}] ) + openal? ( >=media-libs/openal-1.15.1[${MULTILIB_USEDEP}] ) + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) + opengl? ( >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] ) + opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] ) + pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] ) + rubberband? ( >=media-libs/rubberband-1.8.1-r1[${MULTILIB_USEDEP}] ) + samba? ( >=net-fs/samba-3.6.23-r1[client,${MULTILIB_USEDEP}] ) + sdl? ( media-libs/libsdl2[sound,video,${MULTILIB_USEDEP}] ) + sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] ) + speex? ( >=media-libs/speex-1.2_rc1-r1[${MULTILIB_USEDEP}] ) + srt? ( >=net-libs/srt-1.3.0:=[${MULTILIB_USEDEP}] ) + ssh? ( >=net-libs/libssh-0.5.5:=[sftp,${MULTILIB_USEDEP}] ) + svg? ( + gnome-base/librsvg:2=[${MULTILIB_USEDEP}] + x11-libs/cairo[${MULTILIB_USEDEP}] + ) + nvenc? ( >=media-libs/nv-codec-headers-9.1.23.1 ) + svt-av1? ( >=media-libs/svt-av1-0.8.4[${MULTILIB_USEDEP}] ) + truetype? ( >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}] ) + vaapi? ( >=x11-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] ) + vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] ) + vidstab? ( >=media-libs/vidstab-1.1.0[${MULTILIB_USEDEP}] ) + vmaf? ( media-libs/libvmaf[${MULTILIB_USEDEP}] ) + vorbis? ( + >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}] + >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}] + ) + vpx? ( >=media-libs/libvpx-1.4.0:=[${MULTILIB_USEDEP}] ) + vulkan? ( >=media-libs/vulkan-loader-1.2.189:=[${MULTILIB_USEDEP}] ) + X? ( + >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] + >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] + >=x11-libs/libXv-1.0.10[${MULTILIB_USEDEP}] + >=x11-libs/libxcb-1.4:=[${MULTILIB_USEDEP}] + ) + postproc? ( !media-libs/libpostproc ) + zeromq? ( >=net-libs/zeromq-4.1.6 ) + zimg? ( >=media-libs/zimg-2.7.4:=[${MULTILIB_USEDEP}] ) + zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] ) + zvbi? ( >=media-libs/zvbi-0.2.35[${MULTILIB_USEDEP}] ) +" + +RDEPEND="${RDEPEND} + openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] ) + !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) ) +" + +DEPEND="${RDEPEND} + ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] ) + v4l? ( sys-kernel/linux-headers ) +" +BDEPEND=" + >=sys-devel/make-3.81 + virtual/pkgconfig + amf? ( media-libs/amf-headers ) + cpu_flags_x86_mmx? ( || ( >=dev-lang/nasm-2.13 >=dev-lang/yasm-1.3 ) ) + cuda? ( >=sys-devel/clang-7[llvm_targets_NVPTX] ) + doc? ( sys-apps/texinfo ) + test? ( net-misc/wget sys-devel/bc ) +" + +# Code requiring FFmpeg to be built under gpl license +GPL_REQUIRED_USE=" + postproc? ( gpl ) + frei0r? ( gpl ) + cdio? ( gpl ) + rubberband? ( gpl ) + vidstab? ( gpl ) + samba? ( gpl ) + encode? ( + x264? ( gpl ) + x265? ( gpl ) + xvid? ( gpl ) + ) +" +REQUIRED_USE=" + cuda? ( nvenc ) + libv4l? ( v4l ) + fftools_cws2fws? ( zlib ) + test? ( encode ) + ${GPL_REQUIRED_USE} + ${CPU_REQUIRED_USE}" +RESTRICT=" + !test? ( test ) + gpl? ( openssl? ( bindist ) fdk? ( bindist ) ) +" + +S=${WORKDIR}/${P/_/-} + +PATCHES=( + "${FILESDIR}"/chromium-r1.patch + "${FILESDIR}"/ffmpeg-5.0-backport-ranlib-build-fix.patch +) + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/libavutil/avconfig.h +) + +build_separate_libffmpeg() { + use opencl +} + +src_prepare() { + if [[ "${PV%_p*}" != "${PV}" ]] ; then # Snapshot + export revision=git-N-${FFMPEG_REVISION} + fi + + eapply "${FILESDIR}/vmaf-models-default-path.patch" + + default + echo 'include $(SRC_PATH)/ffbuild/libffmpeg.mak' >> Makefile || die +} + +multilib_src_configure() { + local myconf=( ) + + local ffuse=( "${FFMPEG_FLAG_MAP[@]}" ) + use openssl && myconf+=( --enable-nonfree ) + use samba && myconf+=( --enable-version3 ) + + # Encoders + if use encode ; then + ffuse+=( "${FFMPEG_ENCODER_FLAG_MAP[@]}" ) + + # Licensing. + if use amrenc ; then + myconf+=( --enable-version3 ) + fi + else + myconf+=( --disable-encoders ) + fi + + # Indevs + use v4l || myconf+=( --disable-indev=v4l2 --disable-outdev=v4l2 ) + for i in alsa oss jack sndio ; do + use ${i} || myconf+=( --disable-indev=${i} ) + done + + # Outdevs + for i in alsa oss sndio ; do + use ${i} || myconf+=( --disable-outdev=${i} ) + done + + # Decoders + use amr && myconf+=( --enable-version3 ) + use gmp && myconf+=( --enable-version3 ) + use libaribb24 && myconf+=( --enable-version3 ) + use fdk && use gpl && myconf+=( --enable-nonfree ) + + for i in "${ffuse[@]#+}" ; do + myconf+=( $(use_enable ${i%:*} ${i#*:}) ) + done + + if use openssl ; then + myconf+=( --disable-gnutls ) + has_version dev-libs/openssl:0/3 && myconf+=( --enable-version3 ) + fi + + # (temporarily) disable non-multilib deps + if ! multilib_is_native_abi; then + for i in librav1e libzmq ; do + myconf+=( --disable-${i} ) + done + fi + + # CPU features + for i in "${CPU_FEATURES_MAP[@]}" ; do + use ${i%:*} || myconf+=( --disable-${i#*:} ) + done + + if use pic ; then + myconf+=( --enable-pic ) + # disable asm code if PIC is required + # as the provided asm decidedly is not PIC for x86. + [[ ${ABI} == x86 ]] && myconf+=( --disable-asm ) + fi + [[ ${ABI} == x32 ]] && myconf+=( --disable-asm ) #427004 + + # Try to get cpu type based on CFLAGS. + # Bug #172723 + # We need to do this so that features of that CPU will be better used + # If they contain an unknown CPU it will not hurt since ffmpeg's configure + # will just ignore it. + for i in $(get-flag mcpu) $(get-flag march) ; do + [[ ${i} = native ]] && i="host" # bug #273421 + myconf+=( --cpu=${i} ) + break + done + + # LTO support, bug #566282, bug #754654 + is-flagq "-flto*" && myconf+=( "--enable-lto" ) + filter-flags "-flto*" + + # Mandatory configuration + myconf=( + --enable-avfilter + --disable-stripping + # This is only for hardcoded cflags; those are used in configure checks that may + # interfere with proper detections, bug #671746 and bug #645778 + # We use optflags, so that overrides them anyway. + --disable-optimizations + --disable-libcelt # bug #664158 + "${myconf[@]}" + ) + + # cross compile support + if tc-is-cross-compiler ; then + myconf+=( --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}- --host-cc="$(tc-getBUILD_CC)" ) + case ${CHOST} in + *freebsd*) + myconf+=( --target-os=freebsd ) + ;; + *mingw32*) + myconf+=( --target-os=mingw32 ) + ;; + *linux*) + myconf+=( --target-os=linux ) + ;; + esac + fi + + # doc + myconf+=( + $(multilib_native_use_enable doc) + $(multilib_native_use_enable doc htmlpages) + $(multilib_native_enable manpages) + ) + + local extra_libs + if use arm || use ppc || use mips || [[ ${CHOST} == *i486* ]] ; then + # bug #782811 + # bug #790590 + extra_libs+="$(test-flags-CCLD -latomic) " + fi + + set -- "${S}/configure" \ + --prefix="${EPREFIX}/usr" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --shlibdir="${EPREFIX}/usr/$(get_libdir)" \ + --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \ + --mandir="${EPREFIX}/usr/share/man" \ + --enable-shared \ + --cc="$(tc-getCC)" \ + --cxx="$(tc-getCXX)" \ + --ar="$(tc-getAR)" \ + --nm="$(tc-getNM)" \ + --strip="$(tc-getSTRIP)" \ + --ranlib="$(tc-getRANLIB)" \ + --pkg-config="$(tc-getPKG_CONFIG)" \ + --optflags="${CFLAGS}" \ + --extra-libs="${extra_libs}" \ + $(use_enable static-libs static) \ + "${myconf[@]}" \ + ${EXTRA_FFMPEG_CONF} + echo "${@}" + "${@}" || die + + if multilib_is_native_abi && use chromium && build_separate_libffmpeg; then + einfo "Configuring for Chromium" + mkdir -p ../chromium || die + pushd ../chromium >/dev/null || die + set -- "${@}" \ + --disable-shared \ + --enable-static \ + --enable-pic \ + --disable-opencl + echo "${@}" + "${@}" || die + popd >/dev/null || die + fi +} + +multilib_src_compile() { + emake V=1 + + if multilib_is_native_abi; then + for i in "${FFTOOLS[@]}" ; do + if use fftools_${i} ; then + emake V=1 tools/${i}$(get_exeext) + fi + done + + if use chromium; then + if build_separate_libffmpeg; then + einfo "Compiling for Chromium" + pushd ../chromium >/dev/null || die + emake V=1 libffmpeg + popd >/dev/null || die + else + emake V=1 libffmpeg + fi + fi + fi +} + +multilib_src_test() { + LD_LIBRARY_PATH="${BUILD_DIR}/libpostproc:${BUILD_DIR}/libswscale:${BUILD_DIR}/libswresample:${BUILD_DIR}/libavcodec:${BUILD_DIR}/libavdevice:${BUILD_DIR}/libavfilter:${BUILD_DIR}/libavformat:${BUILD_DIR}/libavutil" \ + emake V=1 fate +} + +multilib_src_install() { + emake V=1 DESTDIR="${D}" install install-doc + + if multilib_is_native_abi; then + for i in "${FFTOOLS[@]}" ; do + if use fftools_${i} ; then + dobin tools/${i}$(get_exeext) + fi + done + + if use chromium; then + if build_separate_libffmpeg; then + einfo "Installing for Chromium" + pushd ../chromium >/dev/null || die + emake V=1 DESTDIR="${D}" install-libffmpeg + popd >/dev/null || die + else + emake V=1 DESTDIR="${D}" install-libffmpeg + + # When not built separately, libffmpeg has no code of + # its own so this QA check raises a false positive. + QA_FLAGS_IGNORED+=" usr/$(get_libdir)/chromium/.*" + fi + fi + fi +} + +multilib_src_install_all() { + dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges + [ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES" + + use amf && doenvd "${FILESDIR}"/amf-env-vulkan-override +} diff --git a/media-video/ffmpeg/ffmpeg-5.0.1.ebuild b/media-video/ffmpeg/ffmpeg-5.0.1.ebuild new file mode 100644 index 000000000000..abdb3b553fae --- /dev/null +++ b/media-video/ffmpeg/ffmpeg-5.0.1.ebuild @@ -0,0 +1,577 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +# Subslot: libavutil major.libavcodec major.libavformat major +# Since FFmpeg ships several libraries, subslot is kind of limited here. +# Most consumers will use those three libraries, if a "less used" library +# changes its soname, consumers will have to be rebuilt the old way +# (preserve-libs). +# If, for example, a package does not link to libavformat and only libavformat +# changes its ABI then this package will be rebuilt needlessly. Hence, such a +# package is free _not_ to := depend on FFmpeg but I would strongly encourage +# doing so since such a case is unlikely. +FFMPEG_SUBSLOT=57.59.59 + +SCM="" +if [ "${PV#9999}" != "${PV}" ] ; then + SCM="git-r3" + EGIT_MIN_CLONE_TYPE="single" + EGIT_REPO_URI="https://git.ffmpeg.org/ffmpeg.git" +fi + +inherit flag-o-matic multilib multilib-minimal toolchain-funcs ${SCM} + +DESCRIPTION="Complete solution to record/convert/stream audio and video. Includes libavcodec" +HOMEPAGE="https://ffmpeg.org/" +if [ "${PV#9999}" != "${PV}" ] ; then + SRC_URI="" +elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot + SRC_URI="mirror://gentoo/${P}.tar.xz" +else # Release + VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/ffmpeg.asc + inherit verify-sig + SRC_URI="https://ffmpeg.org/releases/${P/_/-}.tar.xz" + SRC_URI+=" verify-sig? ( https://ffmpeg.org/releases/${P/_/-}.tar.xz.asc )" + + BDEPEND=" verify-sig? ( sec-keys/openpgp-keys-ffmpeg )" +fi +FFMPEG_REVISION="${PV#*_p}" + +SLOT="0/${FFMPEG_SUBSLOT}" +LICENSE=" + !gpl? ( LGPL-2.1 ) + gpl? ( GPL-2 ) + amr? ( + gpl? ( GPL-3 ) + !gpl? ( LGPL-3 ) + ) + gmp? ( + gpl? ( GPL-3 ) + !gpl? ( LGPL-3 ) + ) + libaribb24? ( + gpl? ( GPL-3 ) + !gpl? ( LGPL-3 ) + ) + encode? ( + amrenc? ( + gpl? ( GPL-3 ) + !gpl? ( LGPL-3 ) + ) + ) + samba? ( GPL-3 ) +" +if [ "${PV#9999}" = "${PV}" ] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +fi + +# Options to use as use_enable in the foo[:bar] form. +# This will feed configure with $(use_enable foo bar) +# or $(use_enable foo foo) if no :bar is set. +# foo is added to IUSE. +FFMPEG_FLAG_MAP=( + +bzip2:bzlib cpudetection:runtime-cpudetect debug gcrypt +gnutls gmp + +gpl hardcoded-tables +iconv libxml2 lzma +network opencl + openssl +postproc samba:libsmbclient sdl:ffplay sdl:sdl2 vaapi vdpau vulkan + X:xlib X:libxcb X:libxcb-shm X:libxcb-xfixes +zlib + # libavdevice options + cdio:libcdio iec61883:libiec61883 ieee1394:libdc1394 libcaca openal + opengl + # indevs + libv4l:libv4l2 pulseaudio:libpulse libdrm jack:libjack + # decoders + amr:libopencore-amrwb amr:libopencore-amrnb codec2:libcodec2 +dav1d:libdav1d fdk:libfdk-aac + jpeg2k:libopenjpeg bluray:libbluray gme:libgme gsm:libgsm + libaribb24 mmal modplug:libmodplug opus:libopus libilbc librtmp ssh:libssh + speex:libspeex srt:libsrt svg:librsvg nvenc:ffnvcodec + vorbis:libvorbis vpx:libvpx zvbi:libzvbi + # libavfilter options + appkit + bs2b:libbs2b chromaprint cuda:cuda-llvm flite:libflite frei0r vmaf:libvmaf + fribidi:libfribidi fontconfig ladspa libass libtesseract lv2 truetype:libfreetype vidstab:libvidstab + rubberband:librubberband zeromq:libzmq zimg:libzimg + # libswresample options + libsoxr + # Threads; we only support pthread for now but ffmpeg supports more + +threads:pthreads +) + +# Same as above but for encoders, i.e. they do something only with USE=encode. +FFMPEG_ENCODER_FLAG_MAP=( + amf amrenc:libvo-amrwbenc kvazaar:libkvazaar libaom mp3:libmp3lame + openh264:libopenh264 rav1e:librav1e snappy:libsnappy svt-av1:libsvtav1 + theora:libtheora twolame:libtwolame webp:libwebp x264:libx264 + x265:libx265 xvid:libxvid +) + +IUSE=" + alsa chromium doc +encode oss pic sndio static-libs test v4l + ${FFMPEG_FLAG_MAP[@]%:*} + ${FFMPEG_ENCODER_FLAG_MAP[@]%:*} +" + +# Strings for CPU features in the useflag[:configure_option] form +# if :configure_option isn't set, it will use 'useflag' as configure option +ARM_CPU_FEATURES=( + cpu_flags_arm_thumb:armv5te + cpu_flags_arm_v6:armv6 + cpu_flags_arm_thumb2:armv6t2 + cpu_flags_arm_neon:neon + cpu_flags_arm_vfp:vfp + cpu_flags_arm_vfpv3:vfpv3 + cpu_flags_arm_v8:armv8 +) +ARM_CPU_REQUIRED_USE=" + arm64? ( cpu_flags_arm_v8 ) + cpu_flags_arm_v8? ( cpu_flags_arm_vfpv3 cpu_flags_arm_neon ) + cpu_flags_arm_neon? ( cpu_flags_arm_thumb2 cpu_flags_arm_vfp ) + cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp ) + cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 ) + cpu_flags_arm_v6? ( cpu_flags_arm_thumb ) +" +MIPS_CPU_FEATURES=( mipsdspr1:mipsdsp mipsdspr2 mipsfpu ) +PPC_CPU_FEATURES=( cpu_flags_ppc_altivec:altivec cpu_flags_ppc_vsx:vsx cpu_flags_ppc_vsx2:power8 ) +PPC_CPU_REQUIRED_USE=" + cpu_flags_ppc_vsx? ( cpu_flags_ppc_altivec ) + cpu_flags_ppc_vsx2? ( cpu_flags_ppc_vsx ) +" +X86_CPU_FEATURES_RAW=( 3dnow:amd3dnow 3dnowext:amd3dnowext aes:aesni avx:avx avx2:avx2 fma3:fma3 fma4:fma4 mmx:mmx mmxext:mmxext sse:sse sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4 sse4_2:sse42 xop:xop ) +X86_CPU_FEATURES=( ${X86_CPU_FEATURES_RAW[@]/#/cpu_flags_x86_} ) +X86_CPU_REQUIRED_USE=" + cpu_flags_x86_avx2? ( cpu_flags_x86_avx ) + cpu_flags_x86_fma4? ( cpu_flags_x86_avx ) + cpu_flags_x86_fma3? ( cpu_flags_x86_avx ) + cpu_flags_x86_xop? ( cpu_flags_x86_avx ) + cpu_flags_x86_avx? ( cpu_flags_x86_sse4_2 ) + cpu_flags_x86_aes? ( cpu_flags_x86_sse4_2 ) + cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 ) + cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 ) + cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 ) + cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 ) + cpu_flags_x86_sse2? ( cpu_flags_x86_sse ) + cpu_flags_x86_sse? ( cpu_flags_x86_mmxext ) + cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx ) + cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow ) + cpu_flags_x86_3dnow? ( cpu_flags_x86_mmx ) +" + +CPU_FEATURES_MAP=( + ${ARM_CPU_FEATURES[@]} + ${MIPS_CPU_FEATURES[@]} + ${PPC_CPU_FEATURES[@]} + ${X86_CPU_FEATURES[@]} +) +IUSE="${IUSE} + ${CPU_FEATURES_MAP[@]%:*}" + +CPU_REQUIRED_USE=" + ${ARM_CPU_REQUIRED_USE} + ${PPC_CPU_REQUIRED_USE} + ${X86_CPU_REQUIRED_USE} +" + +FFTOOLS=( aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher ) +IUSE="${IUSE} ${FFTOOLS[@]/#/+fftools_}" + +RDEPEND=" + alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] ) + amf? ( media-video/amdgpu-pro-amf ) + amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] ) + bluray? ( >=media-libs/libbluray-0.3.0-r1:=[${MULTILIB_USEDEP}] ) + bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] ) + bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] ) + cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[${MULTILIB_USEDEP}] ) + chromaprint? ( >=media-libs/chromaprint-1.2-r1[${MULTILIB_USEDEP}] ) + codec2? ( media-libs/codec2[${MULTILIB_USEDEP}] ) + dav1d? ( >=media-libs/dav1d-0.4.0:0=[${MULTILIB_USEDEP}] ) + encode? ( + amrenc? ( >=media-libs/vo-amrwbenc-0.1.2-r1[${MULTILIB_USEDEP}] ) + kvazaar? ( >=media-libs/kvazaar-1.2.0[${MULTILIB_USEDEP}] ) + mp3? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] ) + openh264? ( >=media-libs/openh264-1.4.0-r1:=[${MULTILIB_USEDEP}] ) + rav1e? ( >=media-video/rav1e-0.4:=[capi] ) + snappy? ( >=app-arch/snappy-1.1.2-r1:=[${MULTILIB_USEDEP}] ) + theora? ( + >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}] + >=media-libs/libtheora-1.1.1[encode,${MULTILIB_USEDEP}] + ) + twolame? ( >=media-sound/twolame-0.3.13-r1[${MULTILIB_USEDEP}] ) + webp? ( >=media-libs/libwebp-0.3.0:=[${MULTILIB_USEDEP}] ) + x264? ( >=media-libs/x264-0.0.20130506:=[${MULTILIB_USEDEP}] ) + x265? ( >=media-libs/x265-1.6:=[${MULTILIB_USEDEP}] ) + xvid? ( >=media-libs/xvid-1.3.2-r1[${MULTILIB_USEDEP}] ) + ) + fdk? ( >=media-libs/fdk-aac-0.1.3:=[${MULTILIB_USEDEP}] ) + flite? ( >=app-accessibility/flite-1.4-r4[${MULTILIB_USEDEP}] ) + fontconfig? ( >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}] ) + frei0r? ( media-plugins/frei0r-plugins[${MULTILIB_USEDEP}] ) + fribidi? ( >=dev-libs/fribidi-0.19.6[${MULTILIB_USEDEP}] ) + gcrypt? ( >=dev-libs/libgcrypt-1.6:0=[${MULTILIB_USEDEP}] ) + gme? ( >=media-libs/game-music-emu-0.6.0[${MULTILIB_USEDEP}] ) + gmp? ( >=dev-libs/gmp-6:0=[${MULTILIB_USEDEP}] ) + gsm? ( >=media-sound/gsm-1.0.13-r1[${MULTILIB_USEDEP}] ) + iconv? ( >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] ) + iec61883? ( + >=media-libs/libiec61883-1.2.0-r1[${MULTILIB_USEDEP}] + >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}] + >=sys-libs/libavc1394-0.5.4-r1[${MULTILIB_USEDEP}] + ) + ieee1394? ( + >=media-libs/libdc1394-2.2.1:2=[${MULTILIB_USEDEP}] + >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}] + ) + jack? ( virtual/jack[${MULTILIB_USEDEP}] ) + jpeg2k? ( >=media-libs/openjpeg-2:2[${MULTILIB_USEDEP}] ) + libaom? ( >=media-libs/libaom-1.0.0-r1:=[${MULTILIB_USEDEP}] ) + libaribb24? ( >=media-libs/aribb24-1.0.3-r2[${MULTILIB_USEDEP}] ) + libass? ( >=media-libs/libass-0.11.0:=[${MULTILIB_USEDEP}] ) + libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[${MULTILIB_USEDEP}] ) + libdrm? ( x11-libs/libdrm[${MULTILIB_USEDEP}] ) + libilbc? ( >=media-libs/libilbc-2[${MULTILIB_USEDEP}] ) + librtmp? ( >=media-video/rtmpdump-2.4_p20131018[${MULTILIB_USEDEP}] ) + libsoxr? ( >=media-libs/soxr-0.1.0[${MULTILIB_USEDEP}] ) + libtesseract? ( >=app-text/tesseract-4.1.0-r1[${MULTILIB_USEDEP}] ) + libv4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] ) + libxml2? ( dev-libs/libxml2:=[${MULTILIB_USEDEP}] ) + lv2? ( media-libs/lv2[${MULTILIB_USEDEP}] media-libs/lilv[${MULTILIB_USEDEP}] ) + lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] ) + mmal? ( media-libs/raspberrypi-userland ) + modplug? ( >=media-libs/libmodplug-0.8.8.4-r1[${MULTILIB_USEDEP}] ) + openal? ( >=media-libs/openal-1.15.1[${MULTILIB_USEDEP}] ) + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) + opengl? ( >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] ) + opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] ) + pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] ) + rubberband? ( >=media-libs/rubberband-1.8.1-r1[${MULTILIB_USEDEP}] ) + samba? ( >=net-fs/samba-3.6.23-r1[client,${MULTILIB_USEDEP}] ) + sdl? ( media-libs/libsdl2[sound,video,${MULTILIB_USEDEP}] ) + sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] ) + speex? ( >=media-libs/speex-1.2_rc1-r1[${MULTILIB_USEDEP}] ) + srt? ( >=net-libs/srt-1.3.0:=[${MULTILIB_USEDEP}] ) + ssh? ( >=net-libs/libssh-0.5.5:=[sftp,${MULTILIB_USEDEP}] ) + svg? ( + gnome-base/librsvg:2=[${MULTILIB_USEDEP}] + x11-libs/cairo[${MULTILIB_USEDEP}] + ) + nvenc? ( >=media-libs/nv-codec-headers-9.1.23.1 ) + svt-av1? ( >=media-libs/svt-av1-0.8.4[${MULTILIB_USEDEP}] ) + truetype? ( >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}] ) + vaapi? ( >=x11-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] ) + vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] ) + vidstab? ( >=media-libs/vidstab-1.1.0[${MULTILIB_USEDEP}] ) + vmaf? ( media-libs/libvmaf[${MULTILIB_USEDEP}] ) + vorbis? ( + >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}] + >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}] + ) + vpx? ( >=media-libs/libvpx-1.4.0:=[${MULTILIB_USEDEP}] ) + vulkan? ( >=media-libs/vulkan-loader-1.2.189:=[${MULTILIB_USEDEP}] ) + X? ( + >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] + >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] + >=x11-libs/libXv-1.0.10[${MULTILIB_USEDEP}] + >=x11-libs/libxcb-1.4:=[${MULTILIB_USEDEP}] + ) + postproc? ( !media-libs/libpostproc ) + zeromq? ( >=net-libs/zeromq-4.1.6 ) + zimg? ( >=media-libs/zimg-2.7.4:=[${MULTILIB_USEDEP}] ) + zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] ) + zvbi? ( >=media-libs/zvbi-0.2.35[${MULTILIB_USEDEP}] ) +" + +RDEPEND="${RDEPEND} + openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] ) + !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) ) +" + +DEPEND="${RDEPEND} + ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] ) + v4l? ( sys-kernel/linux-headers ) +" + +# += for verify-sig above +BDEPEND+=" + >=sys-devel/make-3.81 + virtual/pkgconfig + amf? ( media-libs/amf-headers ) + cpu_flags_x86_mmx? ( || ( >=dev-lang/nasm-2.13 >=dev-lang/yasm-1.3 ) ) + cuda? ( >=sys-devel/clang-7[llvm_targets_NVPTX] ) + doc? ( sys-apps/texinfo ) + test? ( net-misc/wget sys-devel/bc ) +" + +# Code requiring FFmpeg to be built under gpl license +GPL_REQUIRED_USE=" + postproc? ( gpl ) + frei0r? ( gpl ) + cdio? ( gpl ) + rubberband? ( gpl ) + vidstab? ( gpl ) + samba? ( gpl ) + encode? ( + x264? ( gpl ) + x265? ( gpl ) + xvid? ( gpl ) + ) +" +REQUIRED_USE=" + cuda? ( nvenc ) + libv4l? ( v4l ) + fftools_cws2fws? ( zlib ) + test? ( encode ) + ${GPL_REQUIRED_USE} + ${CPU_REQUIRED_USE}" +RESTRICT=" + !test? ( test ) + gpl? ( openssl? ( bindist ) fdk? ( bindist ) ) +" + +S=${WORKDIR}/${P/_/-} + +PATCHES=( + "${FILESDIR}"/chromium-r1.patch + "${FILESDIR}"/ffmpeg-5.0-backport-ranlib-build-fix.patch +) + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/libavutil/avconfig.h +) + +build_separate_libffmpeg() { + use opencl +} + +src_prepare() { + if [[ "${PV%_p*}" != "${PV}" ]] ; then # Snapshot + export revision=git-N-${FFMPEG_REVISION} + fi + + eapply "${FILESDIR}/vmaf-models-default-path.patch" + + default + echo 'include $(SRC_PATH)/ffbuild/libffmpeg.mak' >> Makefile || die +} + +multilib_src_configure() { + local myconf=( ) + + local ffuse=( "${FFMPEG_FLAG_MAP[@]}" ) + use openssl && myconf+=( --enable-nonfree ) + use samba && myconf+=( --enable-version3 ) + + # Encoders + if use encode ; then + ffuse+=( "${FFMPEG_ENCODER_FLAG_MAP[@]}" ) + + # Licensing. + if use amrenc ; then + myconf+=( --enable-version3 ) + fi + else + myconf+=( --disable-encoders ) + fi + + # Indevs + use v4l || myconf+=( --disable-indev=v4l2 --disable-outdev=v4l2 ) + for i in alsa oss jack sndio ; do + use ${i} || myconf+=( --disable-indev=${i} ) + done + + # Outdevs + for i in alsa oss sndio ; do + use ${i} || myconf+=( --disable-outdev=${i} ) + done + + # Decoders + use amr && myconf+=( --enable-version3 ) + use gmp && myconf+=( --enable-version3 ) + use libaribb24 && myconf+=( --enable-version3 ) + use fdk && use gpl && myconf+=( --enable-nonfree ) + + for i in "${ffuse[@]#+}" ; do + myconf+=( $(use_enable ${i%:*} ${i#*:}) ) + done + + if use openssl ; then + myconf+=( --disable-gnutls ) + has_version dev-libs/openssl:0/3 && myconf+=( --enable-version3 ) + fi + + # (temporarily) disable non-multilib deps + if ! multilib_is_native_abi; then + for i in librav1e libzmq ; do + myconf+=( --disable-${i} ) + done + fi + + # CPU features + for i in "${CPU_FEATURES_MAP[@]}" ; do + use ${i%:*} || myconf+=( --disable-${i#*:} ) + done + + if use pic ; then + myconf+=( --enable-pic ) + # disable asm code if PIC is required + # as the provided asm decidedly is not PIC for x86. + [[ ${ABI} == x86 ]] && myconf+=( --disable-asm ) + fi + [[ ${ABI} == x32 ]] && myconf+=( --disable-asm ) #427004 + + # Try to get cpu type based on CFLAGS. + # Bug #172723 + # We need to do this so that features of that CPU will be better used + # If they contain an unknown CPU it will not hurt since ffmpeg's configure + # will just ignore it. + for i in $(get-flag mcpu) $(get-flag march) ; do + [[ ${i} = native ]] && i="host" # bug #273421 + myconf+=( --cpu=${i} ) + break + done + + # LTO support, bug #566282, bug #754654 + is-flagq "-flto*" && myconf+=( "--enable-lto" ) + filter-flags "-flto*" + + # Mandatory configuration + myconf=( + --enable-avfilter + --disable-stripping + # This is only for hardcoded cflags; those are used in configure checks that may + # interfere with proper detections, bug #671746 and bug #645778 + # We use optflags, so that overrides them anyway. + --disable-optimizations + --disable-libcelt # bug #664158 + "${myconf[@]}" + ) + + # cross compile support + if tc-is-cross-compiler ; then + myconf+=( --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}- --host-cc="$(tc-getBUILD_CC)" ) + case ${CHOST} in + *freebsd*) + myconf+=( --target-os=freebsd ) + ;; + *mingw32*) + myconf+=( --target-os=mingw32 ) + ;; + *linux*) + myconf+=( --target-os=linux ) + ;; + esac + fi + + # doc + myconf+=( + $(multilib_native_use_enable doc) + $(multilib_native_use_enable doc htmlpages) + $(multilib_native_enable manpages) + ) + + # Fixed in 5.0.1? Waiting for verification from someone who hit the issue. + local extra_libs + if use arm || use ppc || use mips || [[ ${CHOST} == *i486* ]] ; then + # bug #782811 + # bug #790590 + extra_libs+="$(test-flags-CCLD -latomic) " + fi + + set -- "${S}/configure" \ + --prefix="${EPREFIX}/usr" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --shlibdir="${EPREFIX}/usr/$(get_libdir)" \ + --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \ + --mandir="${EPREFIX}/usr/share/man" \ + --enable-shared \ + --cc="$(tc-getCC)" \ + --cxx="$(tc-getCXX)" \ + --ar="$(tc-getAR)" \ + --nm="$(tc-getNM)" \ + --strip="$(tc-getSTRIP)" \ + --ranlib="$(tc-getRANLIB)" \ + --pkg-config="$(tc-getPKG_CONFIG)" \ + --optflags="${CFLAGS}" \ + --extra-libs="${extra_libs}" \ + $(use_enable static-libs static) \ + "${myconf[@]}" \ + ${EXTRA_FFMPEG_CONF} + echo "${@}" + "${@}" || die + + if multilib_is_native_abi && use chromium && build_separate_libffmpeg; then + einfo "Configuring for Chromium" + mkdir -p ../chromium || die + pushd ../chromium >/dev/null || die + set -- "${@}" \ + --disable-shared \ + --enable-static \ + --enable-pic \ + --disable-opencl + echo "${@}" + "${@}" || die + popd >/dev/null || die + fi +} + +multilib_src_compile() { + emake V=1 + + if multilib_is_native_abi; then + for i in "${FFTOOLS[@]}" ; do + if use fftools_${i} ; then + emake V=1 tools/${i}$(get_exeext) + fi + done + + if use chromium; then + if build_separate_libffmpeg; then + einfo "Compiling for Chromium" + pushd ../chromium >/dev/null || die + emake V=1 libffmpeg + popd >/dev/null || die + else + emake V=1 libffmpeg + fi + fi + fi +} + +multilib_src_test() { + LD_LIBRARY_PATH="${BUILD_DIR}/libpostproc:${BUILD_DIR}/libswscale:${BUILD_DIR}/libswresample:${BUILD_DIR}/libavcodec:${BUILD_DIR}/libavdevice:${BUILD_DIR}/libavfilter:${BUILD_DIR}/libavformat:${BUILD_DIR}/libavutil" \ + emake V=1 fate +} + +multilib_src_install() { + emake V=1 DESTDIR="${D}" install install-doc + + if multilib_is_native_abi; then + for i in "${FFTOOLS[@]}" ; do + if use fftools_${i} ; then + dobin tools/${i}$(get_exeext) + fi + done + + if use chromium; then + if build_separate_libffmpeg; then + einfo "Installing for Chromium" + pushd ../chromium >/dev/null || die + emake V=1 DESTDIR="${D}" install-libffmpeg + popd >/dev/null || die + else + emake V=1 DESTDIR="${D}" install-libffmpeg + + # When not built separately, libffmpeg has no code of + # its own so this QA check raises a false positive. + QA_FLAGS_IGNORED+=" usr/$(get_libdir)/chromium/.*" + fi + fi + fi +} + +multilib_src_install_all() { + dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges + [ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES" + + use amf && doenvd "${FILESDIR}"/amf-env-vulkan-override +} diff --git a/media-video/ffmpeg/ffmpeg-9999.ebuild b/media-video/ffmpeg/ffmpeg-9999.ebuild index 89a0768ff91c..b8ab241af568 100644 --- a/media-video/ffmpeg/ffmpeg-9999.ebuild +++ b/media-video/ffmpeg/ffmpeg-9999.ebuild @@ -28,9 +28,14 @@ HOMEPAGE="https://ffmpeg.org/" if [ "${PV#9999}" != "${PV}" ] ; then SRC_URI="" elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot - SRC_URI="mirror://gentoo/${P}.tar.bz2" + SRC_URI="mirror://gentoo/${P}.tar.xz" else # Release - SRC_URI="https://ffmpeg.org/releases/${P/_/-}.tar.bz2" + VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/ffmpeg.asc + inherit verify-sig + SRC_URI="https://ffmpeg.org/releases/${P/_/-}.tar.xz" + SRC_URI+=" verify-sig? ( https://ffmpeg.org/releases/${P/_/-}.tar.xz.asc )" + + BDEPEND=" verify-sig? ( sec-keys/openpgp-keys-ffmpeg )" fi FFMPEG_REVISION="${PV#*_p}" @@ -95,10 +100,10 @@ FFMPEG_FLAG_MAP=( # Same as above but for encoders, i.e. they do something only with USE=encode. FFMPEG_ENCODER_FLAG_MAP=( - amrenc:libvo-amrwbenc mp3:libmp3lame - kvazaar:libkvazaar libaom - openh264:libopenh264 rav1e:librav1e snappy:libsnappy svt-av1:libsvtav1 theora:libtheora twolame:libtwolame - webp:libwebp x264:libx264 x265:libx265 xvid:libxvid amf:amf + amf amrenc:libvo-amrwbenc kvazaar:libkvazaar libaom mp3:libmp3lame + openh264:libopenh264 rav1e:librav1e snappy:libsnappy svt-av1:libsvtav1 + theora:libtheora twolame:libtwolame webp:libwebp x264:libx264 + x265:libx265 xvid:libxvid ) IUSE=" @@ -172,6 +177,7 @@ IUSE="${IUSE} ${FFTOOLS[@]/#/+fftools_}" RDEPEND=" alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] ) + amf? ( media-video/amdgpu-pro-amf ) amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] ) bluray? ( >=media-libs/libbluray-0.3.0-r1:=[${MULTILIB_USEDEP}] ) bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] ) @@ -188,8 +194,8 @@ RDEPEND=" rav1e? ( >=media-video/rav1e-0.4:=[capi] ) snappy? ( >=app-arch/snappy-1.1.2-r1:=[${MULTILIB_USEDEP}] ) theora? ( - >=media-libs/libtheora-1.1.1[encode,${MULTILIB_USEDEP}] >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}] + >=media-libs/libtheora-1.1.1[encode,${MULTILIB_USEDEP}] ) twolame? ( >=media-sound/twolame-0.3.13-r1[${MULTILIB_USEDEP}] ) webp? ( >=media-libs/libwebp-0.3.0:=[${MULTILIB_USEDEP}] ) @@ -244,15 +250,15 @@ RDEPEND=" sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] ) speex? ( >=media-libs/speex-1.2_rc1-r1[${MULTILIB_USEDEP}] ) srt? ( >=net-libs/srt-1.3.0:=[${MULTILIB_USEDEP}] ) - ssh? ( >=net-libs/libssh-0.5.5[${MULTILIB_USEDEP}] ) + ssh? ( >=net-libs/libssh-0.5.5:=[sftp,${MULTILIB_USEDEP}] ) svg? ( gnome-base/librsvg:2=[${MULTILIB_USEDEP}] x11-libs/cairo[${MULTILIB_USEDEP}] ) + nvenc? ( >=media-libs/nv-codec-headers-9.1.23.1 ) svt-av1? ( >=media-libs/svt-av1-0.8.4[${MULTILIB_USEDEP}] ) truetype? ( >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}] ) vaapi? ( >=x11-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] ) - nvenc? ( >=media-libs/nv-codec-headers-9.1.23.1[${MULTILIB_USEDEP}] ) vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] ) vidstab? ( >=media-libs/vidstab-1.1.0[${MULTILIB_USEDEP}] ) vmaf? ( media-libs/libvmaf[${MULTILIB_USEDEP}] ) @@ -268,11 +274,11 @@ RDEPEND=" >=x11-libs/libXv-1.0.10[${MULTILIB_USEDEP}] >=x11-libs/libxcb-1.4:=[${MULTILIB_USEDEP}] ) + postproc? ( !media-libs/libpostproc ) zeromq? ( >=net-libs/zeromq-4.1.6 ) zimg? ( >=media-libs/zimg-2.7.4:=[${MULTILIB_USEDEP}] ) zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] ) zvbi? ( >=media-libs/zvbi-0.2.35[${MULTILIB_USEDEP}] ) - postproc? ( !media-libs/libpostproc ) " RDEPEND="${RDEPEND} @@ -284,14 +290,16 @@ DEPEND="${RDEPEND} ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] ) v4l? ( sys-kernel/linux-headers ) " -BDEPEND=" + +# += for verify-sig above +BDEPEND+=" >=sys-devel/make-3.81 virtual/pkgconfig + amf? ( media-libs/amf-headers ) cpu_flags_x86_mmx? ( || ( >=dev-lang/nasm-2.13 >=dev-lang/yasm-1.3 ) ) cuda? ( >=sys-devel/clang-7[llvm_targets_NVPTX] ) doc? ( sys-apps/texinfo ) test? ( net-misc/wget sys-devel/bc ) - amf? ( media-libs/amf-headers ) " # Code requiring FFmpeg to be built under gpl license @@ -458,6 +466,7 @@ multilib_src_configure() { $(multilib_native_enable manpages) ) + # Fixed in 5.0.1? Waiting for verification from someone who hit the issue. local extra_libs if use arm || use ppc || use mips || [[ ${CHOST} == *i486* ]] ; then # bug #782811 @@ -560,4 +569,6 @@ multilib_src_install() { multilib_src_install_all() { dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges [ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES" + + use amf && doenvd "${FILESDIR}"/amf-env-vulkan-override } diff --git a/media-video/ffmpeg/files/amf-env-vulkan-override b/media-video/ffmpeg/files/amf-env-vulkan-override new file mode 100644 index 000000000000..41ee27911178 --- /dev/null +++ b/media-video/ffmpeg/files/amf-env-vulkan-override @@ -0,0 +1 @@ +VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/amd_pro_icd64.json diff --git a/media-video/ffmpegthumbnailer/Manifest b/media-video/ffmpegthumbnailer/Manifest index 89e910f4533d..ee3ab929d54e 100644 --- a/media-video/ffmpegthumbnailer/Manifest +++ b/media-video/ffmpegthumbnailer/Manifest @@ -13,5 +13,5 @@ DIST ffmpegthumbnailer-2.2.0.tar.bz2 1223895 BLAKE2B 1babd01672f927a9ae043488e67 DIST ffmpegthumbnailer-2.2.2.tar.bz2 1201838 BLAKE2B 449a876eaf56feb41c06dc5f3d123b138d66dfe8b6e1bc2e53f1742ef6fbd4ec5d14d77402e13cf8c369ee0cf0707ae5b100ac1d9fb02435b3c3a776cc9dc5f4 SHA512 52760dcf59430e5e85024c9f19dc1fac1d5f0edb4f937b33feac2b3ca8f12bbf549b5f658fc16fc07bf773717b9e10048aa3eb24bf52811c5c88c995ef492612 EBUILD ffmpegthumbnailer-2.2.0-r1.ebuild 1085 BLAKE2B d89bcbeed12ca0aea9c931461dbdecce973d44e8ecd0d8d777abfa6f0128f491f36771a1a4d7adddac49b8228458cb81821b7b85d78d85b1bccdfb907c871dc5 SHA512 aa950d982ac2529cbaef04af04582cb8023e2165e3905d20c6f72411fe59bd5e1e1c71e2fa8891958ef44f943406dbcfc366588c445e3105fc02ce2992233348 EBUILD ffmpegthumbnailer-2.2.2-r1.ebuild 1367 BLAKE2B 09bf778fbf7178cd9718f39436bc7c3c8c5c262a69fcd7fd6d0fcd2388383b1a1c84a385b330db5af7c54e419c1edfc97346923ba611621bf44802ae3595a850 SHA512 e2e641cd7ae9cf3387b527f1cc14af7f6a1103a2de4f72f011fa84ae9daee9672b1ba7d0c916167bf0d9583e6c42224565ad5966ffe2636f1914f807e540d975 -EBUILD ffmpegthumbnailer-2.2.2.ebuild 1039 BLAKE2B 8c7728b54400d0842efd3d7cf30aec85121aa6cd02ae8f45d42046826a2f0b1edd327237ef75b3ff0700d8e95af00c6a2ac95dd569f6d13b56ab764c98f9e657 SHA512 c837d49f7b64676a03826a5b3f8c15d0857121ba557fe4615b26aae111a627fd76e57ddc8b7924cf9758dd2766048609df7219fcc1fff0ef50ac3c34040bd48b +EBUILD ffmpegthumbnailer-2.2.2.ebuild 1037 BLAKE2B 0e448619b80a4edf33a6bfc617a62ec24e97730b8d548ef94280a8b9c03febfa9915dcf3da4044265b139be55fc4e9e3f7e6da4b4d62675a2017387a4339bf80 SHA512 76a7f27b82b951e16eeb2997f01d252abdc7d258ff2f008670a92ffc392132de633799093d2e772267be51a666a768cd5461ecb60ab7d50a617773095e09bb5d MISC metadata.xml 376 BLAKE2B df0d1b58a98ba2ae162e809f763889e3f84a51363ebb65d7a530217f723198fada6c7e0445ac50057c8ac5a082ecfaada6f6b3479faf8294bf9ee5cef9db53c5 SHA512 b902ffa5d659e09df7635fa70ffde6cd31848bd5c20033b9933217c6331aa9e9a34cfdf90c3f10c5cded9bc9ba6e6601f21d752ad1eca287c4754c01e31bc43e diff --git a/media-video/ffmpegthumbnailer/ffmpegthumbnailer-2.2.2.ebuild b/media-video/ffmpegthumbnailer/ffmpegthumbnailer-2.2.2.ebuild index bcc643818faa..009948d53ef0 100644 --- a/media-video/ffmpegthumbnailer/ffmpegthumbnailer-2.2.2.ebuild +++ b/media-video/ffmpegthumbnailer/ffmpegthumbnailer-2.2.2.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/dirkvdb/${PN}/releases/download/${PV}/${P}.tar.bz2" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv sparc x86" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86" IUSE="gnome gtk jpeg png test" RESTRICT="!test? ( test )" diff --git a/media-video/gaupol/Manifest b/media-video/gaupol/Manifest index e263b0134a8e..68e8342af952 100644 --- a/media-video/gaupol/Manifest +++ b/media-video/gaupol/Manifest @@ -1,5 +1,5 @@ DIST gaupol-1.10.1.tar.gz 580890 BLAKE2B eb3f5bc3f9ec371d4169a9517f83bd42371aa41532f99f650b51e4649f813f0a37c0de5a01f69ee0c73f38cf2b57dd3260b5cac88f4c09785e86da2ec82c0cba SHA512 f294ea10c73dcf9941f70988ae58066917d7b321141e3a3ba3e12810e5f20a4711feca45d354dddc0e104a1ee2496fad24e529b129bdeee1cdb92010ec20be1d -DIST gaupol-1.9.tar.gz 579382 BLAKE2B c326e800ebd56bab53757d13e075c7499d9b37c6677a3f2ef710e71ab427bc9d502d1539778e87625e43a6218a358b15dfc3c84fd22b42e95d808fc8495feb43 SHA512 c115409afe68a0981f7c29e5d6d3e23950081f186b74de460045de9976a6c7a674701d316214ee2b91bc59f1dd856fdc9cf999e328aba8abeb8eaf71911c68d2 +DIST gaupol-1.11.tar.gz 581799 BLAKE2B d0f4ad7c71086f585138bde79ba49f43e8e71eba7bc5ef5f0ac324ab962049cd1c71030f5a7d6ec859d4ac32dc7a07c8255ab01d98114629055f777f11210a2e SHA512 8c623f6ed8d189a79a994545be3dd96ae7fec399216520bfe89587a9c0b5917e07b6d80fe1f8a7b2d016b9fb1aa544bdabe103428dc97ea78e6d8c05666d0e9c EBUILD gaupol-1.10.1.ebuild 1610 BLAKE2B 913b19290318c821146465b2fcce0f12d13a438d783e0011ac96a096083237735755d35d03813dad973aa20156bf1d414bf700ae3e91303cad9fcb6608355b12 SHA512 92b5fb0ae733f04a39fbd2d72c33d571d44381b26f7a992a105be3479533427ac27b00ec9678def5a119cee99d701f90edd8c9c473433fbddc4e0431454c982b -EBUILD gaupol-1.9.ebuild 1618 BLAKE2B e039e80ce001fc413fd6b264d7b776db08944295ef166648b40b50e56de3e8c7bbf8ced7d74e93e22efba13a9346e20c555236db686749c73a828d9d19248cbb SHA512 2f5f6b9c00bfac63deb93f693ca5f17c2b0d974675c4568c67b8c56fa2cddabf60a085d87cadecc514ab54ae8bef41064c5743b63a135895eedb8c6b1c58bb89 +EBUILD gaupol-1.11.ebuild 1614 BLAKE2B d897c90467238edee5b5b7601b034ea30ad81fe46ce38f93994cef7ca2d3be080267fe8e7a89ff04886c43c93c268f51ee403322cbd36b4c48ee2a9d4d9d820b SHA512 cde582f73fc6f3859e72e72a8a690728a1a8cd026742dfe4deeb76678409ca2ce6b4485a85aa96866f39d7a28e5d3e1312a54bd4e2498868ae914d5ded2a6007 MISC metadata.xml 533 BLAKE2B eb6d56dbe104832c594f306fc020b591b04e4f21d7533740ab613ecf105cdfdc4bc9232fe18bbfc4276cc08063a7a570a1c98025e9c74561b4abda0119e3801e SHA512 49859f8f6b75f20c6cf94f60764c1e688ddf907a7657815574b666fcc7873de0a3105cda9acd9f4bbdb7f658bd0003c67ec1ced72e3d84e15b5d86b64ca91abe diff --git a/media-video/gaupol/gaupol-1.11.ebuild b/media-video/gaupol/gaupol-1.11.ebuild new file mode 100644 index 000000000000..b895c8078cc1 --- /dev/null +++ b/media-video/gaupol/gaupol-1.11.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..10} ) +DISTUTILS_USE_PEP517=setuptools + +inherit distutils-r1 virtualx xdg-utils + +DESCRIPTION="A subtitle editor for text-based subtitles" +HOMEPAGE="https://otsaloma.io/gaupol/" +SRC_URI="https://github.com/otsaloma/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="spell" + +RDEPEND=" + app-text/iso-codes + dev-python/chardet[${PYTHON_USEDEP}] + dev-python/pygobject:3[${PYTHON_USEDEP}] + x11-libs/gtk+:3[introspection] + spell? ( app-text/gspell[introspection] ) +" +BDEPEND=" + sys-devel/gettext + test? ( + app-dicts/myspell-en + app-text/enchant[hunspell] + app-text/gspell[introspection] + ) +" + +distutils_enable_tests pytest + +DOCS=( AUTHORS.md NEWS.md README.md README.aeidon.md ) + +python_test() { + virtx epytest +} + +pkg_postinst() { + xdg_desktop_database_update + xdg_icon_cache_update + if [[ -z ${REPLACING_VERSIONS} ]]; then + elog "The integrated video player requires media-plugins/gst-plugins-gtk." + elog "" + elog "External video previewing support requires MPV, MPlayer or VLC." + if use spell; then + elog "" + elog "Spell-checking requires a dictionary, any of app-dicts/myspell-*" + elog "or app-text/aspell with the appropriate L10N variable." + elog "" + elog "Additionally, make sure that app-text/enchant has the correct flags enabled:" + elog "USE=hunspell for myspell dictionaries and USE=aspell for aspell dictionaries." + fi + fi +} + +pkg_postrm() { + xdg_desktop_database_update + xdg_icon_cache_update +} diff --git a/media-video/gaupol/gaupol-1.9.ebuild b/media-video/gaupol/gaupol-1.9.ebuild deleted file mode 100644 index 1bbf9094611d..000000000000 --- a/media-video/gaupol/gaupol-1.9.ebuild +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{7..10} ) -DISTUTILS_USE_SETUPTOOLS=no - -inherit distutils-r1 virtualx xdg-utils - -DESCRIPTION="A subtitle editor for text-based subtitles" -HOMEPAGE="https://otsaloma.io/gaupol/" -SRC_URI="https://github.com/otsaloma/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="amd64 arm64 x86" -IUSE="spell" - -RDEPEND=" - app-text/iso-codes - dev-python/chardet[${PYTHON_USEDEP}] - dev-python/pygobject:3[${PYTHON_USEDEP}] - x11-libs/gtk+:3[introspection] - spell? ( app-text/gspell[introspection] ) -" -BDEPEND=" - sys-devel/gettext - test? ( - app-dicts/myspell-en - app-text/enchant[hunspell] - app-text/gspell[introspection] - ) -" - -distutils_enable_tests pytest - -DOCS=( AUTHORS.md NEWS.md TODO.md README.md README.aeidon.md ) - -python_test() { - virtx pytest -vv -} - -pkg_postinst() { - xdg_desktop_database_update - xdg_icon_cache_update - if [[ -z ${REPLACING_VERSIONS} ]]; then - elog "The integrated video player requires media-plugins/gst-plugins-gtk." - elog "" - elog "External video previewing support requires MPV, MPlayer or VLC." - if use spell; then - elog "" - elog "Spell-checking requires a dictionary, any of app-dicts/myspell-*" - elog "or app-text/aspell with the appropriate L10N variable." - elog "" - elog "Additionally, make sure that app-text/enchant has the correct flags enabled:" - elog "USE=hunspell for myspell dictionaries and USE=aspell for aspell dictionaries." - fi - fi -} - -pkg_postrm() { - xdg_desktop_database_update - xdg_icon_cache_update -} diff --git a/media-video/mpv/Manifest b/media-video/mpv/Manifest index 6266a28af09c..5667169c99b5 100644 --- a/media-video/mpv/Manifest +++ b/media-video/mpv/Manifest @@ -3,8 +3,8 @@ DIST mpv-0.34.0.tar.gz 3287976 BLAKE2B 9fc412544d81b249c71eed0d6669121a1942771ec DIST mpv-0.34.1.tar.gz 3288356 BLAKE2B c0e5dc3cd23307449a526bd2cf0df5d870322aa1914a139784fd50d77274d42648a769ee4da3ba74e34a7a080700a5740dae13ed0827df1b3cfef36846f983ab SHA512 77ea349d6999f8cce9b5cce4cebd3506a224fc18ab08d22dd16bd34c34d012bb170879b268ddd62db40d116b4cc0b2d9d651b8097f387ed9115c426834cac77e DIST waf-2.0.22 104880 BLAKE2B 6cae9e764712012ef97f790c723b86a2603dc64e9bafcec02c5251dbc1b23ec629db26c02eee2a72a77cf70c11d2729a626ea71f3cb50a6281257fd6f63eadf0 SHA512 4156cefa65b7e6349ddb1ca643bbdf3e4444449d137e5f595535564271d521362291f257765329015671584ac2c596a0ad98cfdbd621f5d5352141a55d384292 DIST waf-2.0.9 103104 BLAKE2B c7e996aa49662da3ff941d076fc7e2dd23e867ade92a3b2ae07560b76d63a69e495184a1f9c76be5c51977ddb1713f9247f62e672033ecb988ac559e3a47e546 SHA512 0755170ded115b03e78a2096f197cd9fff62b5036db764153d26ce426f182ea7d7b8231cfa1a10b4a564a8480428502f3691851df66e7b83c7bca8e5fe26de7d -EBUILD mpv-0.33.1-r2.ebuild 9717 BLAKE2B 32c6c20c5b8baf39270a040f72afc61df457617749f84b1b82ff6d65a5be1f020461f4135fc2c455d7f81061665dd82e9ed68354963bce458ece6bf212829e76 SHA512 a2cb0f953d63cf6d3430c11e464de8babb965ac5335375791f408ca08c14d842ad60b52645e508812492c4fcb2d8484d9f6930a5a962e7909fd03f2bc35fba47 -EBUILD mpv-0.34.0.ebuild 9720 BLAKE2B df9e6c42c29738fb8d4ede3b40f968fb97604b0e9834dcee6d60030c09ccceff39b2b5c35b838ff7084a2e4961cb067d8d59f0ce583c7d073fe95c42eb94994c SHA512 ef5231c4ee9bb7ac75cbae2f27acf61c180ffdc4fe5bbfd55ca7279e072d5a018064b8690480974d80bb4a513d71abab28ca2d83d00b994a5ae5d4b164414f7f -EBUILD mpv-0.34.1.ebuild 9720 BLAKE2B df9e6c42c29738fb8d4ede3b40f968fb97604b0e9834dcee6d60030c09ccceff39b2b5c35b838ff7084a2e4961cb067d8d59f0ce583c7d073fe95c42eb94994c SHA512 ef5231c4ee9bb7ac75cbae2f27acf61c180ffdc4fe5bbfd55ca7279e072d5a018064b8690480974d80bb4a513d71abab28ca2d83d00b994a5ae5d4b164414f7f -EBUILD mpv-9999.ebuild 9720 BLAKE2B de46a17b87a5639a9e9e59eefda60add4e8b0889c6f428c9e012d6e241689a7564ca1e9eea61124516635aedd4f1603697ab06c721c2d15190c1f7931867a0fa SHA512 717a16db932376c9dbbdb913283e3af60c92fff63c244f991b07e24f1988412bb2f0b6057bdc898c5a403dd1208e74bcac2d571fe7af38d64116c559b9cfc778 +EBUILD mpv-0.33.1-r3.ebuild 9720 BLAKE2B 8a2d518fcaa64b2e2dedb2b728c9cc1fa07ca54acc1e716fed99cf4b3c46edd90e4ad756ff3409a0509400930a25b8aff62475c5e210ec87c254b986322b5c6c SHA512 24be8f183448b42f568782b8d82a887f755951cc9ebfd9fcfdb2dc809bd44a7959557c1cde7bfaf345b678787a4178324c414465bfde966755ac94044b8ad5da +EBUILD mpv-0.34.0-r1.ebuild 9723 BLAKE2B ea3092ef06dc08e0fd4eeca8a8f3eaad4a8e092276b320a6bcd443edb892cb402ecdc8b4816c59df0f104512a250b861b569a5faaabea9bafc950ba2b20c9367 SHA512 87f666a4f8f6e27d234fe249a20350da7984fa6e609fb57b9f9c75292b6002d5c1afd77761971652645e320c9a37b447fb8df20c292edfec60087c7f865d70d0 +EBUILD mpv-0.34.1-r1.ebuild 9723 BLAKE2B ea3092ef06dc08e0fd4eeca8a8f3eaad4a8e092276b320a6bcd443edb892cb402ecdc8b4816c59df0f104512a250b861b569a5faaabea9bafc950ba2b20c9367 SHA512 87f666a4f8f6e27d234fe249a20350da7984fa6e609fb57b9f9c75292b6002d5c1afd77761971652645e320c9a37b447fb8df20c292edfec60087c7f865d70d0 +EBUILD mpv-9999.ebuild 9723 BLAKE2B 3399a6b6172d8a297d9eb1fbc104ff53ea427c88baa4c3c5cac731d8377c788269438d04d1d5a870003e173ad121b6c1c938b8838b8dbd7620d3458338e39168 SHA512 344718103007d763a6a642671d71f3c05bae4d42f0f34d778beedf05dfd8f243309b2119ceb57fdd9c12e3ad35e867452a51965d7ba7f299b8e028cf68171eb0 MISC metadata.xml 2137 BLAKE2B fe78cb8478cac266c72c939fd87043c0a685c12c840e0966d34d58b1c9dd39767197d93762d8150454a5e2f58ecf0c68cde1289bb392cd92b0d199a81d5f4ff6 SHA512 bd37f4f676eaf2507484d28b0b29f861e575a6232bc67413cae1c09fd16481d5a62b2646ee2e9e5b5a0c5bd8a0dfa63d1b4ef80e3f70c1ef8ff040d103fd6beb diff --git a/media-video/mpv/mpv-0.33.1-r2.ebuild b/media-video/mpv/mpv-0.33.1-r2.ebuild deleted file mode 100644 index 69fc1d6faa71..000000000000 --- a/media-video/mpv/mpv-0.33.1-r2.ebuild +++ /dev/null @@ -1,358 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -LUA_COMPAT=( lua5-{1..2} luajit ) -PYTHON_COMPAT=( python3_{7..9} ) -PYTHON_REQ_USE='threads(+)' - -WAF_PV=2.0.9 - -inherit bash-completion-r1 flag-o-matic lua-single optfeature pax-utils python-r1 toolchain-funcs waf-utils xdg-utils - -DESCRIPTION="Media player based on MPlayer and mplayer2" -HOMEPAGE="https://mpv.io/ https://github.com/mpv-player/mpv" - -if [[ ${PV} != *9999* ]]; then - SRC_URI="https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ppc ppc64 ~riscv x86 ~amd64-linux" - DOCS=( RELEASE_NOTES ) -else - EGIT_REPO_URI="https://github.com/mpv-player/mpv.git" - inherit git-r3 - DOCS=(); SRC_URI="" -fi -SRC_URI+=" https://waf.io/waf-${WAF_PV}" -DOCS+=( README.md DOCS/{client-api,interface}-changes.rst ) - -# See Copyright in sources and Gentoo bug 506946. Waf is BSD, libmpv is ISC. -LICENSE="LGPL-2.1+ GPL-2+ BSD ISC" -SLOT="0" -IUSE="+alsa aqua archive bluray cdda +cli coreaudio cplugins debug doc drm dvb - dvd +egl gamepad gbm +iconv jack javascript jpeg lcms libcaca libmpv +lua - nvenc openal +opengl pulseaudio raspberry-pi rubberband sdl - selinux test tools +uchardet vaapi vdpau vulkan wayland +X +xv zlib zimg" - -REQUIRED_USE=" - || ( cli libmpv ) - aqua? ( opengl ) - egl? ( || ( gbm X wayland ) ) - gamepad? ( sdl ) - gbm? ( drm egl opengl ) - lcms? ( opengl ) - lua? ( ${LUA_REQUIRED_USE} ) - nvenc? ( opengl ) - opengl? ( || ( aqua egl X raspberry-pi !cli ) ) - raspberry-pi? ( opengl ) - test? ( opengl ) - tools? ( cli ) - uchardet? ( iconv ) - vaapi? ( || ( gbm X wayland ) ) - vdpau? ( X ) - vulkan? ( || ( X wayland ) ) - wayland? ( egl ) - X? ( egl? ( opengl ) ) - xv? ( X ) - ${PYTHON_REQUIRED_USE} -" - -RESTRICT="!test? ( test )" - -COMMON_DEPEND=" - >=media-video/ffmpeg-4.0:0=[encode,threads,vaapi?,vdpau?] - alsa? ( >=media-libs/alsa-lib-1.0.18 ) - archive? ( >=app-arch/libarchive-3.4.0:= ) - bluray? ( >=media-libs/libbluray-0.3.0:= ) - cdda? ( dev-libs/libcdio-paranoia - dev-libs/libcdio:= ) - drm? ( x11-libs/libdrm ) - dvd? ( - >=media-libs/libdvdnav-4.2.0:= - >=media-libs/libdvdread-4.1.0:= - ) - egl? ( media-libs/mesa[egl(+),gbm(+)?,wayland(-)?] ) - gamepad? ( media-libs/libsdl2 ) - iconv? ( - virtual/libiconv - uchardet? ( app-i18n/uchardet ) - ) - jack? ( virtual/jack ) - javascript? ( >=dev-lang/mujs-1.0.0 ) - jpeg? ( virtual/jpeg:0 ) - lcms? ( >=media-libs/lcms-2.6:2 ) - >=media-libs/libass-0.12.1:=[fontconfig,harfbuzz(+)] - virtual/ttf-fonts - libcaca? ( >=media-libs/libcaca-0.99_beta18 ) - lua? ( ${LUA_DEPS} ) - openal? ( >=media-libs/openal-1.13 ) - pulseaudio? ( media-sound/pulseaudio ) - raspberry-pi? ( >=media-libs/raspberrypi-userland-0_pre20160305-r1 ) - rubberband? ( >=media-libs/rubberband-1.8.0 ) - sdl? ( media-libs/libsdl2[sound,threads,video] ) - vaapi? ( x11-libs/libva:=[drm?,X?,wayland?] ) - vdpau? ( x11-libs/libvdpau ) - vulkan? ( - =dev-libs/wayland-1.6.0 - >=dev-libs/wayland-protocols-1.14 - >=x11-libs/libxkbcommon-0.3.0 - ) - X? ( - x11-libs/libX11 - x11-libs/libXScrnSaver - x11-libs/libXext - x11-libs/libXinerama - x11-libs/libXrandr - opengl? ( - x11-libs/libXdamage - virtual/opengl - ) - xv? ( x11-libs/libXv ) - ) - zlib? ( sys-libs/zlib ) - zimg? ( >=media-libs/zimg-2.9.2 ) -" -DEPEND="${COMMON_DEPEND} - ${PYTHON_DEPS} - dvb? ( virtual/linuxtv-dvb-headers ) - nvenc? ( >=media-libs/nv-codec-headers-8.2.15.7 ) -" -RDEPEND="${COMMON_DEPEND} - nvenc? ( x11-drivers/nvidia-drivers[X] ) - selinux? ( sec-policy/selinux-mplayer ) - tools? ( ${PYTHON_DEPS} ) -" -BDEPEND="dev-python/docutils - virtual/pkgconfig - test? ( >=dev-util/cmocka-1.0.0 ) -" - -pkg_setup() { - use lua && lua-single_pkg_setup -} - -src_prepare() { - cp "${DISTDIR}/waf-${WAF_PV}" "${S}"/waf || die - chmod +x "${S}"/waf || die - default -} - -src_configure() { - python_setup - tc-export CC PKG_CONFIG AR - - if use raspberry-pi; then - append-cflags -I"${SYSROOT%/}${EPREFIX}/opt/vc/include" - append-ldflags -L"${SYSROOT%/}${EPREFIX}/opt/vc/lib" - fi - - local mywafargs=( - --confdir="${EPREFIX}/etc/${PN}" - - $(usex cli '' '--disable-cplayer') - $(use_enable libmpv libmpv-shared) - - --disable-libmpv-static - --disable-static-build - # See deep down below for build-date. - --disable-optimize # Don't add '-O2' to CFLAGS. - $(usex debug '' '--disable-debug-build') - - $(use_enable doc html-build) - --disable-pdf-build - --enable-manpage-build - $(use_enable cplugins) - $(use_enable test) - - $(use_enable iconv) - $(use_enable lua) - $(use_enable javascript) - $(use_enable zlib) - $(use_enable bluray libbluray) - $(use_enable dvd dvdnav) - $(use_enable cdda) - $(use_enable uchardet) - $(use_enable rubberband) - $(use_enable lcms lcms2) - --disable-vapoursynth # Only available in overlays. - $(use_enable archive libarchive) - - --enable-libavdevice - - # Audio outputs: - $(use_enable sdl sdl2) # Listed under audio, but also includes video. - $(use_enable pulseaudio pulse) - $(use_enable jack) - $(use_enable openal) - --disable-opensles - $(use_enable alsa) - $(use_enable coreaudio) - - # Video outputs: - $(use_enable aqua cocoa) - $(use_enable drm) - $(use_enable gbm) - $(use_enable wayland wayland-scanner) - $(use_enable wayland wayland-protocols) - $(use_enable wayland) - $(use_enable X x11) - $(use_enable xv) - $(usex opengl "$(use_enable aqua gl-cocoa)" '--disable-gl-cocoa') - $(usex opengl "$(use_enable X gl-x11)" '--disable-gl-x11') - $(usex egl "$(use_enable X egl-x11)" '--disable-egl-x11') - $(usex egl "$(use_enable gbm egl-drm)" '--disable-egl-drm') - $(usex opengl "$(use_enable wayland gl-wayland)" '--disable-gl-wayland') - $(use_enable vdpau) - $(usex vdpau "$(use_enable opengl vdpau-gl-x11)" '--disable-vdpau-gl-x11') - $(use_enable vaapi) # See below for vaapi-glx, vaapi-x-egl. - $(usex vaapi "$(use_enable X vaapi-x11)" '--disable-vaapi-x11') - $(usex vaapi "$(use_enable wayland vaapi-wayland)" '--disable-vaapi-wayland') - $(usex vaapi "$(use_enable gbm vaapi-drm)" '--disable-vaapi-drm') - $(use_enable libcaca caca) - $(use_enable jpeg) - $(use_enable vulkan shaderc) - $(use_enable vulkan libplacebo) - $(use_enable raspberry-pi rpi) - $(usex libmpv "$(use_enable opengl plain-gl)" '--disable-plain-gl') - $(usex opengl '' '--disable-gl') - $(use_enable vulkan) - $(use_enable gamepad sdl2-gamepad) - - # HWaccels: - # Automagic Video Toolbox HW acceleration. See Gentoo bug 577332. - $(use_enable nvenc cuda-hwaccel) - $(use_enable nvenc cuda-interop) - - # TV features: - $(use_enable dvb dvbin) - - # Miscellaneous features: - $(use_enable zimg) - ) - if use lua; then - if use lua_single_target_luajit; then - mywafargs+=( --lua="luajit" ) - else - # Because it would be too simple to just let the user directly - # specify the package name to check, wouldn't it. - mywafargs+=( --lua="$(ver_rs 1 '' $(ver_cut 1-2 $(lua_get_version)))" ) - fi - fi - - if use vaapi && use X; then - mywafargs+=( - $(use_enable egl vaapi-x-egl) - ) - fi - - # Not for us - mywafargs+=( - --disable-android - --disable-egl-android - --disable-uwp - --disable-audiounit - --disable-macos-media-player - --disable-wasapi - --disable-ios-gl - --disable-macos-touchbar - --disable-macos-cocoa-cb - --disable-tvos - --disable-egl-angle-win32 - ) - - mywafargs+=( - --bashdir="$(get_bashcompdir)" - --zshdir="${EPREFIX}"/usr/share/zsh/site-functions -) - - # Create reproducible non-live builds. - [[ ${PV} != *9999* ]] && mywafargs+=(--disable-build-date) - - waf-utils_src_configure "${mywafargs[@]}" -} - -src_install() { - waf-utils_src_install - - if use lua; then - insinto /usr/share/${PN} - doins -r TOOLS/lua - fi - - if use cli && use lua_single_target_luajit; then - pax-mark -m "${ED}"/usr/bin/${PN} - fi - - if use tools; then - dobin TOOLS/{mpv_identify.sh,umpv} - newbin TOOLS/idet.sh mpv_idet.sh - python_replicate_script "${ED}"/usr/bin/umpv - fi -} - -pkg_postinst() { - local rv softvol_0_18_1=0 osc_0_21_0=0 txtsubs_0_24_0=0 opengl_0_25_0=0 - - for rv in ${REPLACING_VERSIONS}; do - ver_test ${rv} -lt 0.18.1 && softvol_0_18_1=1 - ver_test ${rv} -lt 0.21.0 && osc_0_21_0=1 - ver_test ${rv} -lt 0.24.0 && txtsubs_0_24_0=1 - ver_test ${rv} -lt 0.25.0 && ! use opengl && opengl_0_25_0=1 - done - - if [[ ${softvol_0_18_1} -eq 1 ]]; then - elog "Since version 0.18.1 the software volume control is always enabled." - elog "This means that volume controls don't change the system volume," - elog "e.g. per-application volume with PulseAudio." - elog "If you want to restore the previous behaviour, please refer to" - elog - elog "https://wiki.gentoo.org/wiki/Mpv#Volume_in_0.18.1" - elog - fi - - if [[ ${osc_0_21_0} -eq 1 ]]; then - elog "In version 0.21.0 the default OSC layout was changed." - elog "If you want to restore the previous layout, please refer to" - elog - elog "https://wiki.gentoo.org/wiki/Mpv#OSC_in_0.21.0" - elog - fi - - if [[ ${txtsubs_0_24_0} -eq 1 ]]; then - elog "Since version 0.24.0 subtitles with .txt extension aren't autoloaded." - elog "If you want to restore the previous behaviour, please refer to" - elog - elog "https://wiki.gentoo.org/wiki/Mpv#Subtitles_with_.txt_extension_in_0.24.0" - elog - fi - - if [[ ${opengl_0_25_0} -eq 1 ]]; then - elog "Since version 0.25.0 the 'opengl' USE flag is mapped to" - elog "the 'opengl' video output and no longer explicitly requires" - elog "X11 or Mac OS Aqua. Consider enabling the 'opengl' USE flag." - fi - - optfeature "URL support" net-misc/youtube-dl - - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -src_test() { - cd "${S}"/build/test || die - local test - for test in *; do - if [[ -x ${test} ]]; then - ./"${test}" || die "Test suite failed" - fi - done -} diff --git a/media-video/mpv/mpv-0.33.1-r3.ebuild b/media-video/mpv/mpv-0.33.1-r3.ebuild new file mode 100644 index 000000000000..bd6de4e3f9f0 --- /dev/null +++ b/media-video/mpv/mpv-0.33.1-r3.ebuild @@ -0,0 +1,358 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +LUA_COMPAT=( lua5-{1..2} luajit ) +PYTHON_COMPAT=( python3_{7..9} ) +PYTHON_REQ_USE='threads(+)' + +WAF_PV=2.0.9 + +inherit bash-completion-r1 flag-o-matic lua-single optfeature pax-utils python-r1 toolchain-funcs waf-utils xdg-utils + +DESCRIPTION="Media player based on MPlayer and mplayer2" +HOMEPAGE="https://mpv.io/ https://github.com/mpv-player/mpv" + +if [[ ${PV} != *9999* ]]; then + SRC_URI="https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ppc ppc64 ~riscv x86 ~amd64-linux" + DOCS=( RELEASE_NOTES ) +else + EGIT_REPO_URI="https://github.com/mpv-player/mpv.git" + inherit git-r3 + DOCS=(); SRC_URI="" +fi +SRC_URI+=" https://waf.io/waf-${WAF_PV}" +DOCS+=( README.md DOCS/{client-api,interface}-changes.rst ) + +# See Copyright in sources and Gentoo bug 506946. Waf is BSD, libmpv is ISC. +LICENSE="LGPL-2.1+ GPL-2+ BSD ISC" +SLOT="0" +IUSE="+alsa aqua archive bluray cdda +cli coreaudio cplugins debug doc drm dvb + dvd +egl gamepad gbm +iconv jack javascript jpeg lcms libcaca libmpv +lua + nvenc openal +opengl pulseaudio raspberry-pi rubberband sdl + selinux test tools +uchardet vaapi vdpau vulkan wayland +X +xv zlib zimg" + +REQUIRED_USE=" + || ( cli libmpv ) + aqua? ( opengl ) + egl? ( || ( gbm X wayland ) ) + gamepad? ( sdl ) + gbm? ( drm egl opengl ) + lcms? ( opengl ) + lua? ( ${LUA_REQUIRED_USE} ) + nvenc? ( opengl ) + opengl? ( || ( aqua egl X raspberry-pi !cli ) ) + raspberry-pi? ( opengl ) + test? ( opengl ) + tools? ( cli ) + uchardet? ( iconv ) + vaapi? ( || ( gbm X wayland ) ) + vdpau? ( X ) + vulkan? ( || ( X wayland ) ) + wayland? ( egl ) + X? ( egl? ( opengl ) ) + xv? ( X ) + ${PYTHON_REQUIRED_USE} +" + +RESTRICT="!test? ( test )" + +COMMON_DEPEND=" + >=media-video/ffmpeg-4.0:0=[encode,threads,vaapi?,vdpau?] + alsa? ( >=media-libs/alsa-lib-1.0.18 ) + archive? ( >=app-arch/libarchive-3.4.0:= ) + bluray? ( >=media-libs/libbluray-0.3.0:= ) + cdda? ( dev-libs/libcdio-paranoia + dev-libs/libcdio:= ) + drm? ( x11-libs/libdrm ) + dvd? ( + >=media-libs/libdvdnav-4.2.0:= + >=media-libs/libdvdread-4.1.0:= + ) + egl? ( media-libs/mesa[egl(+),gbm(+)?,wayland(-)?] ) + gamepad? ( media-libs/libsdl2 ) + iconv? ( + virtual/libiconv + uchardet? ( app-i18n/uchardet ) + ) + jack? ( virtual/jack ) + javascript? ( >=dev-lang/mujs-1.0.0 ) + jpeg? ( virtual/jpeg:0 ) + lcms? ( >=media-libs/lcms-2.6:2 ) + >=media-libs/libass-0.12.1:=[fontconfig,harfbuzz(+)] + virtual/ttf-fonts + libcaca? ( >=media-libs/libcaca-0.99_beta18 ) + lua? ( ${LUA_DEPS} ) + openal? ( >=media-libs/openal-1.13 ) + pulseaudio? ( media-sound/pulseaudio ) + raspberry-pi? ( >=media-libs/raspberrypi-userland-0_pre20160305-r1 ) + rubberband? ( >=media-libs/rubberband-1.8.0 ) + sdl? ( media-libs/libsdl2[sound,threads,video] ) + vaapi? ( x11-libs/libva:=[drm(+)?,X?,wayland?] ) + vdpau? ( x11-libs/libvdpau ) + vulkan? ( + =dev-libs/wayland-1.6.0 + >=dev-libs/wayland-protocols-1.14 + >=x11-libs/libxkbcommon-0.3.0 + ) + X? ( + x11-libs/libX11 + x11-libs/libXScrnSaver + x11-libs/libXext + x11-libs/libXinerama + x11-libs/libXrandr + opengl? ( + x11-libs/libXdamage + virtual/opengl + ) + xv? ( x11-libs/libXv ) + ) + zlib? ( sys-libs/zlib ) + zimg? ( >=media-libs/zimg-2.9.2 ) +" +DEPEND="${COMMON_DEPEND} + ${PYTHON_DEPS} + dvb? ( virtual/linuxtv-dvb-headers ) + nvenc? ( >=media-libs/nv-codec-headers-8.2.15.7 ) +" +RDEPEND="${COMMON_DEPEND} + nvenc? ( x11-drivers/nvidia-drivers[X] ) + selinux? ( sec-policy/selinux-mplayer ) + tools? ( ${PYTHON_DEPS} ) +" +BDEPEND="dev-python/docutils + virtual/pkgconfig + test? ( >=dev-util/cmocka-1.0.0 ) +" + +pkg_setup() { + use lua && lua-single_pkg_setup +} + +src_prepare() { + cp "${DISTDIR}/waf-${WAF_PV}" "${S}"/waf || die + chmod +x "${S}"/waf || die + default +} + +src_configure() { + python_setup + tc-export CC PKG_CONFIG AR + + if use raspberry-pi; then + append-cflags -I"${SYSROOT%/}${EPREFIX}/opt/vc/include" + append-ldflags -L"${SYSROOT%/}${EPREFIX}/opt/vc/lib" + fi + + local mywafargs=( + --confdir="${EPREFIX}/etc/${PN}" + + $(usex cli '' '--disable-cplayer') + $(use_enable libmpv libmpv-shared) + + --disable-libmpv-static + --disable-static-build + # See deep down below for build-date. + --disable-optimize # Don't add '-O2' to CFLAGS. + $(usex debug '' '--disable-debug-build') + + $(use_enable doc html-build) + --disable-pdf-build + --enable-manpage-build + $(use_enable cplugins) + $(use_enable test) + + $(use_enable iconv) + $(use_enable lua) + $(use_enable javascript) + $(use_enable zlib) + $(use_enable bluray libbluray) + $(use_enable dvd dvdnav) + $(use_enable cdda) + $(use_enable uchardet) + $(use_enable rubberband) + $(use_enable lcms lcms2) + --disable-vapoursynth # Only available in overlays. + $(use_enable archive libarchive) + + --enable-libavdevice + + # Audio outputs: + $(use_enable sdl sdl2) # Listed under audio, but also includes video. + $(use_enable pulseaudio pulse) + $(use_enable jack) + $(use_enable openal) + --disable-opensles + $(use_enable alsa) + $(use_enable coreaudio) + + # Video outputs: + $(use_enable aqua cocoa) + $(use_enable drm) + $(use_enable gbm) + $(use_enable wayland wayland-scanner) + $(use_enable wayland wayland-protocols) + $(use_enable wayland) + $(use_enable X x11) + $(use_enable xv) + $(usex opengl "$(use_enable aqua gl-cocoa)" '--disable-gl-cocoa') + $(usex opengl "$(use_enable X gl-x11)" '--disable-gl-x11') + $(usex egl "$(use_enable X egl-x11)" '--disable-egl-x11') + $(usex egl "$(use_enable gbm egl-drm)" '--disable-egl-drm') + $(usex opengl "$(use_enable wayland gl-wayland)" '--disable-gl-wayland') + $(use_enable vdpau) + $(usex vdpau "$(use_enable opengl vdpau-gl-x11)" '--disable-vdpau-gl-x11') + $(use_enable vaapi) # See below for vaapi-glx, vaapi-x-egl. + $(usex vaapi "$(use_enable X vaapi-x11)" '--disable-vaapi-x11') + $(usex vaapi "$(use_enable wayland vaapi-wayland)" '--disable-vaapi-wayland') + $(usex vaapi "$(use_enable gbm vaapi-drm)" '--disable-vaapi-drm') + $(use_enable libcaca caca) + $(use_enable jpeg) + $(use_enable vulkan shaderc) + $(use_enable vulkan libplacebo) + $(use_enable raspberry-pi rpi) + $(usex libmpv "$(use_enable opengl plain-gl)" '--disable-plain-gl') + $(usex opengl '' '--disable-gl') + $(use_enable vulkan) + $(use_enable gamepad sdl2-gamepad) + + # HWaccels: + # Automagic Video Toolbox HW acceleration. See Gentoo bug 577332. + $(use_enable nvenc cuda-hwaccel) + $(use_enable nvenc cuda-interop) + + # TV features: + $(use_enable dvb dvbin) + + # Miscellaneous features: + $(use_enable zimg) + ) + if use lua; then + if use lua_single_target_luajit; then + mywafargs+=( --lua="luajit" ) + else + # Because it would be too simple to just let the user directly + # specify the package name to check, wouldn't it. + mywafargs+=( --lua="$(ver_rs 1 '' $(ver_cut 1-2 $(lua_get_version)))" ) + fi + fi + + if use vaapi && use X; then + mywafargs+=( + $(use_enable egl vaapi-x-egl) + ) + fi + + # Not for us + mywafargs+=( + --disable-android + --disable-egl-android + --disable-uwp + --disable-audiounit + --disable-macos-media-player + --disable-wasapi + --disable-ios-gl + --disable-macos-touchbar + --disable-macos-cocoa-cb + --disable-tvos + --disable-egl-angle-win32 + ) + + mywafargs+=( + --bashdir="$(get_bashcompdir)" + --zshdir="${EPREFIX}"/usr/share/zsh/site-functions +) + + # Create reproducible non-live builds. + [[ ${PV} != *9999* ]] && mywafargs+=(--disable-build-date) + + waf-utils_src_configure "${mywafargs[@]}" +} + +src_install() { + waf-utils_src_install + + if use lua; then + insinto /usr/share/${PN} + doins -r TOOLS/lua + fi + + if use cli && use lua_single_target_luajit; then + pax-mark -m "${ED}"/usr/bin/${PN} + fi + + if use tools; then + dobin TOOLS/{mpv_identify.sh,umpv} + newbin TOOLS/idet.sh mpv_idet.sh + python_replicate_script "${ED}"/usr/bin/umpv + fi +} + +pkg_postinst() { + local rv softvol_0_18_1=0 osc_0_21_0=0 txtsubs_0_24_0=0 opengl_0_25_0=0 + + for rv in ${REPLACING_VERSIONS}; do + ver_test ${rv} -lt 0.18.1 && softvol_0_18_1=1 + ver_test ${rv} -lt 0.21.0 && osc_0_21_0=1 + ver_test ${rv} -lt 0.24.0 && txtsubs_0_24_0=1 + ver_test ${rv} -lt 0.25.0 && ! use opengl && opengl_0_25_0=1 + done + + if [[ ${softvol_0_18_1} -eq 1 ]]; then + elog "Since version 0.18.1 the software volume control is always enabled." + elog "This means that volume controls don't change the system volume," + elog "e.g. per-application volume with PulseAudio." + elog "If you want to restore the previous behaviour, please refer to" + elog + elog "https://wiki.gentoo.org/wiki/Mpv#Volume_in_0.18.1" + elog + fi + + if [[ ${osc_0_21_0} -eq 1 ]]; then + elog "In version 0.21.0 the default OSC layout was changed." + elog "If you want to restore the previous layout, please refer to" + elog + elog "https://wiki.gentoo.org/wiki/Mpv#OSC_in_0.21.0" + elog + fi + + if [[ ${txtsubs_0_24_0} -eq 1 ]]; then + elog "Since version 0.24.0 subtitles with .txt extension aren't autoloaded." + elog "If you want to restore the previous behaviour, please refer to" + elog + elog "https://wiki.gentoo.org/wiki/Mpv#Subtitles_with_.txt_extension_in_0.24.0" + elog + fi + + if [[ ${opengl_0_25_0} -eq 1 ]]; then + elog "Since version 0.25.0 the 'opengl' USE flag is mapped to" + elog "the 'opengl' video output and no longer explicitly requires" + elog "X11 or Mac OS Aqua. Consider enabling the 'opengl' USE flag." + fi + + optfeature "URL support" net-misc/youtube-dl + + xdg_icon_cache_update + xdg_desktop_database_update +} + +pkg_postrm() { + xdg_icon_cache_update + xdg_desktop_database_update +} + +src_test() { + cd "${S}"/build/test || die + local test + for test in *; do + if [[ -x ${test} ]]; then + ./"${test}" || die "Test suite failed" + fi + done +} diff --git a/media-video/mpv/mpv-0.34.0-r1.ebuild b/media-video/mpv/mpv-0.34.0-r1.ebuild new file mode 100644 index 000000000000..398bdb258c34 --- /dev/null +++ b/media-video/mpv/mpv-0.34.0-r1.ebuild @@ -0,0 +1,358 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +LUA_COMPAT=( lua5-{1..2} luajit ) +PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_REQ_USE='threads(+)' + +WAF_PV=2.0.22 + +inherit bash-completion-r1 flag-o-matic lua-single optfeature pax-utils python-r1 toolchain-funcs waf-utils xdg-utils + +DESCRIPTION="Media player based on MPlayer and mplayer2" +HOMEPAGE="https://mpv.io/ https://github.com/mpv-player/mpv" + +if [[ ${PV} != *9999* ]]; then + SRC_URI="https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux" + DOCS=( RELEASE_NOTES ) +else + EGIT_REPO_URI="https://github.com/mpv-player/mpv.git" + inherit git-r3 + DOCS=(); SRC_URI="" +fi +SRC_URI+=" https://waf.io/waf-${WAF_PV}" +DOCS+=( README.md DOCS/{client-api,interface}-changes.rst ) + +# See Copyright in sources and Gentoo bug 506946. Waf is BSD, libmpv is ISC. +LICENSE="LGPL-2.1+ GPL-2+ BSD ISC" +SLOT="0" +IUSE="+alsa aqua archive bluray cdda +cli coreaudio cplugins debug doc drm dvb + dvd +egl gamepad gbm +iconv jack javascript jpeg lcms libcaca libmpv +lua + nvenc openal +opengl pulseaudio raspberry-pi rubberband sdl + selinux test tools +uchardet vaapi vdpau vulkan wayland +X +xv zlib zimg" + +REQUIRED_USE=" + || ( cli libmpv ) + aqua? ( opengl ) + egl? ( || ( gbm X wayland ) ) + gamepad? ( sdl ) + gbm? ( drm egl opengl ) + lcms? ( opengl ) + lua? ( ${LUA_REQUIRED_USE} ) + nvenc? ( opengl ) + opengl? ( || ( aqua egl X raspberry-pi !cli ) ) + raspberry-pi? ( opengl ) + test? ( opengl ) + tools? ( cli ) + uchardet? ( iconv ) + vaapi? ( || ( gbm X wayland ) ) + vdpau? ( X ) + vulkan? ( || ( X wayland ) ) + wayland? ( egl ) + X? ( egl? ( opengl ) ) + xv? ( X ) + ${PYTHON_REQUIRED_USE} +" + +RESTRICT="!test? ( test )" + +COMMON_DEPEND=" + >=media-video/ffmpeg-4.0:0=[encode,threads,vaapi?,vdpau?] + alsa? ( >=media-libs/alsa-lib-1.0.18 ) + archive? ( >=app-arch/libarchive-3.4.0:= ) + bluray? ( >=media-libs/libbluray-0.3.0:= ) + cdda? ( dev-libs/libcdio-paranoia + dev-libs/libcdio:= ) + drm? ( x11-libs/libdrm ) + dvd? ( + >=media-libs/libdvdnav-4.2.0:= + >=media-libs/libdvdread-4.1.0:= + ) + egl? ( media-libs/mesa[egl(+),gbm(+)?,wayland(-)?] ) + gamepad? ( media-libs/libsdl2 ) + iconv? ( + virtual/libiconv + uchardet? ( app-i18n/uchardet ) + ) + jack? ( virtual/jack ) + javascript? ( >=dev-lang/mujs-1.0.0 ) + jpeg? ( virtual/jpeg:0 ) + lcms? ( >=media-libs/lcms-2.6:2 ) + >=media-libs/libass-0.12.1:=[fontconfig,harfbuzz(+)] + virtual/ttf-fonts + libcaca? ( >=media-libs/libcaca-0.99_beta18 ) + lua? ( ${LUA_DEPS} ) + openal? ( >=media-libs/openal-1.13 ) + pulseaudio? ( media-sound/pulseaudio ) + raspberry-pi? ( >=media-libs/raspberrypi-userland-0_pre20160305-r1 ) + rubberband? ( >=media-libs/rubberband-1.8.0 ) + sdl? ( media-libs/libsdl2[sound,threads,video] ) + vaapi? ( x11-libs/libva:=[drm(+)?,X?,wayland?] ) + vdpau? ( x11-libs/libvdpau ) + vulkan? ( + >=media-libs/libplacebo-3.104.0:=[vulkan] + media-libs/shaderc + ) + wayland? ( + >=dev-libs/wayland-1.6.0 + >=dev-libs/wayland-protocols-1.14 + >=x11-libs/libxkbcommon-0.3.0 + ) + X? ( + x11-libs/libX11 + x11-libs/libXScrnSaver + x11-libs/libXext + x11-libs/libXinerama + x11-libs/libXrandr + opengl? ( + x11-libs/libXdamage + virtual/opengl + ) + xv? ( x11-libs/libXv ) + ) + zlib? ( sys-libs/zlib ) + zimg? ( >=media-libs/zimg-2.9.2 ) +" +DEPEND="${COMMON_DEPEND} + ${PYTHON_DEPS} + dvb? ( virtual/linuxtv-dvb-headers ) + nvenc? ( >=media-libs/nv-codec-headers-8.2.15.7 ) +" +RDEPEND="${COMMON_DEPEND} + nvenc? ( x11-drivers/nvidia-drivers[X] ) + selinux? ( sec-policy/selinux-mplayer ) + tools? ( ${PYTHON_DEPS} ) +" +BDEPEND="dev-python/docutils + virtual/pkgconfig + test? ( >=dev-util/cmocka-1.0.0 ) +" + +pkg_setup() { + use lua && lua-single_pkg_setup +} + +src_prepare() { + cp "${DISTDIR}/waf-${WAF_PV}" "${S}"/waf || die + chmod +x "${S}"/waf || die + default +} + +src_configure() { + python_setup + tc-export CC PKG_CONFIG AR + + if use raspberry-pi; then + append-cflags -I"${SYSROOT%/}${EPREFIX}/opt/vc/include" + append-ldflags -L"${SYSROOT%/}${EPREFIX}/opt/vc/lib" + fi + + local mywafargs=( + --confdir="${EPREFIX}/etc/${PN}" + + $(usex cli '' '--disable-cplayer') + $(use_enable libmpv libmpv-shared) + + --disable-libmpv-static + --disable-static-build + # See deep down below for build-date. + --disable-optimize # Don't add '-O2' to CFLAGS. + $(usex debug '' '--disable-debug-build') + + $(use_enable doc html-build) + --disable-pdf-build + --enable-manpage-build + $(use_enable cplugins) + $(use_enable test) + + $(use_enable iconv) + $(use_enable lua) + $(use_enable javascript) + $(use_enable zlib) + $(use_enable bluray libbluray) + $(use_enable dvd dvdnav) + $(use_enable cdda) + $(use_enable uchardet) + $(use_enable rubberband) + $(use_enable lcms lcms2) + --disable-vapoursynth # Only available in overlays. + $(use_enable archive libarchive) + + --enable-libavdevice + + # Audio outputs: + $(use_enable sdl sdl2) # Listed under audio, but also includes video. + $(use_enable pulseaudio pulse) + $(use_enable jack) + $(use_enable openal) + --disable-opensles + $(use_enable alsa) + $(use_enable coreaudio) + + # Video outputs: + $(use_enable aqua cocoa) + $(use_enable drm) + $(use_enable gbm) + $(use_enable wayland wayland-scanner) + $(use_enable wayland wayland-protocols) + $(use_enable wayland) + $(use_enable X x11) + $(use_enable xv) + $(usex opengl "$(use_enable aqua gl-cocoa)" '--disable-gl-cocoa') + $(usex opengl "$(use_enable X gl-x11)" '--disable-gl-x11') + $(usex egl "$(use_enable X egl-x11)" '--disable-egl-x11') + $(usex egl "$(use_enable gbm egl-drm)" '--disable-egl-drm') + $(usex opengl "$(use_enable wayland gl-wayland)" '--disable-gl-wayland') + $(use_enable vdpau) + $(usex vdpau "$(use_enable opengl vdpau-gl-x11)" '--disable-vdpau-gl-x11') + $(use_enable vaapi) # See below for vaapi-glx, vaapi-x-egl. + $(usex vaapi "$(use_enable X vaapi-x11)" '--disable-vaapi-x11') + $(usex vaapi "$(use_enable wayland vaapi-wayland)" '--disable-vaapi-wayland') + $(usex vaapi "$(use_enable gbm vaapi-drm)" '--disable-vaapi-drm') + $(use_enable libcaca caca) + $(use_enable jpeg) + $(use_enable vulkan shaderc) + $(use_enable vulkan libplacebo) + $(use_enable raspberry-pi rpi) + $(usex libmpv "$(use_enable opengl plain-gl)" '--disable-plain-gl') + $(usex opengl '' '--disable-gl') + $(use_enable vulkan) + $(use_enable gamepad sdl2-gamepad) + + # HWaccels: + # Automagic Video Toolbox HW acceleration. See Gentoo bug 577332. + $(use_enable nvenc cuda-hwaccel) + $(use_enable nvenc cuda-interop) + + # TV features: + $(use_enable dvb dvbin) + + # Miscellaneous features: + $(use_enable zimg) + ) + if use lua; then + if use lua_single_target_luajit; then + mywafargs+=( --lua="luajit" ) + else + # Because it would be too simple to just let the user directly + # specify the package name to check, wouldn't it. + mywafargs+=( --lua="$(ver_rs 1 '' $(ver_cut 1-2 $(lua_get_version)))" ) + fi + fi + + if use vaapi && use X; then + mywafargs+=( + $(use_enable egl vaapi-x-egl) + ) + fi + + # Not for us + mywafargs+=( + --disable-android + --disable-egl-android + --disable-uwp + --disable-audiounit + --disable-macos-media-player + --disable-wasapi + --disable-ios-gl + --disable-macos-touchbar + --disable-macos-cocoa-cb + --disable-tvos + --disable-egl-angle-win32 + ) + + mywafargs+=( + --bashdir="$(get_bashcompdir)" + --zshdir="${EPREFIX}"/usr/share/zsh/site-functions +) + + # Create reproducible non-live builds. + [[ ${PV} != *9999* ]] && mywafargs+=(--disable-build-date) + + waf-utils_src_configure "${mywafargs[@]}" +} + +src_install() { + waf-utils_src_install + + if use lua; then + insinto /usr/share/${PN} + doins -r TOOLS/lua + fi + + if use cli && use lua_single_target_luajit; then + pax-mark -m "${ED}"/usr/bin/${PN} + fi + + if use tools; then + dobin TOOLS/{mpv_identify.sh,umpv} + newbin TOOLS/idet.sh mpv_idet.sh + python_replicate_script "${ED}"/usr/bin/umpv + fi +} + +pkg_postinst() { + local rv softvol_0_18_1=0 osc_0_21_0=0 txtsubs_0_24_0=0 opengl_0_25_0=0 + + for rv in ${REPLACING_VERSIONS}; do + ver_test ${rv} -lt 0.18.1 && softvol_0_18_1=1 + ver_test ${rv} -lt 0.21.0 && osc_0_21_0=1 + ver_test ${rv} -lt 0.24.0 && txtsubs_0_24_0=1 + ver_test ${rv} -lt 0.25.0 && ! use opengl && opengl_0_25_0=1 + done + + if [[ ${softvol_0_18_1} -eq 1 ]]; then + elog "Since version 0.18.1 the software volume control is always enabled." + elog "This means that volume controls don't change the system volume," + elog "e.g. per-application volume with PulseAudio." + elog "If you want to restore the previous behaviour, please refer to" + elog + elog "https://wiki.gentoo.org/wiki/Mpv#Volume_in_0.18.1" + elog + fi + + if [[ ${osc_0_21_0} -eq 1 ]]; then + elog "In version 0.21.0 the default OSC layout was changed." + elog "If you want to restore the previous layout, please refer to" + elog + elog "https://wiki.gentoo.org/wiki/Mpv#OSC_in_0.21.0" + elog + fi + + if [[ ${txtsubs_0_24_0} -eq 1 ]]; then + elog "Since version 0.24.0 subtitles with .txt extension aren't autoloaded." + elog "If you want to restore the previous behaviour, please refer to" + elog + elog "https://wiki.gentoo.org/wiki/Mpv#Subtitles_with_.txt_extension_in_0.24.0" + elog + fi + + if [[ ${opengl_0_25_0} -eq 1 ]]; then + elog "Since version 0.25.0 the 'opengl' USE flag is mapped to" + elog "the 'opengl' video output and no longer explicitly requires" + elog "X11 or Mac OS Aqua. Consider enabling the 'opengl' USE flag." + fi + + optfeature "URL support" net-misc/yt-dlp + + xdg_icon_cache_update + xdg_desktop_database_update +} + +pkg_postrm() { + xdg_icon_cache_update + xdg_desktop_database_update +} + +src_test() { + cd "${S}"/build/test || die + local test + for test in *; do + if [[ -x ${test} ]]; then + ./"${test}" || die "Test suite failed" + fi + done +} diff --git a/media-video/mpv/mpv-0.34.0.ebuild b/media-video/mpv/mpv-0.34.0.ebuild deleted file mode 100644 index e0f0ee5c96cf..000000000000 --- a/media-video/mpv/mpv-0.34.0.ebuild +++ /dev/null @@ -1,358 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -LUA_COMPAT=( lua5-{1..2} luajit ) -PYTHON_COMPAT=( python3_{8..10} ) -PYTHON_REQ_USE='threads(+)' - -WAF_PV=2.0.22 - -inherit bash-completion-r1 flag-o-matic lua-single optfeature pax-utils python-r1 toolchain-funcs waf-utils xdg-utils - -DESCRIPTION="Media player based on MPlayer and mplayer2" -HOMEPAGE="https://mpv.io/ https://github.com/mpv-player/mpv" - -if [[ ${PV} != *9999* ]]; then - SRC_URI="https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux" - DOCS=( RELEASE_NOTES ) -else - EGIT_REPO_URI="https://github.com/mpv-player/mpv.git" - inherit git-r3 - DOCS=(); SRC_URI="" -fi -SRC_URI+=" https://waf.io/waf-${WAF_PV}" -DOCS+=( README.md DOCS/{client-api,interface}-changes.rst ) - -# See Copyright in sources and Gentoo bug 506946. Waf is BSD, libmpv is ISC. -LICENSE="LGPL-2.1+ GPL-2+ BSD ISC" -SLOT="0" -IUSE="+alsa aqua archive bluray cdda +cli coreaudio cplugins debug doc drm dvb - dvd +egl gamepad gbm +iconv jack javascript jpeg lcms libcaca libmpv +lua - nvenc openal +opengl pulseaudio raspberry-pi rubberband sdl - selinux test tools +uchardet vaapi vdpau vulkan wayland +X +xv zlib zimg" - -REQUIRED_USE=" - || ( cli libmpv ) - aqua? ( opengl ) - egl? ( || ( gbm X wayland ) ) - gamepad? ( sdl ) - gbm? ( drm egl opengl ) - lcms? ( opengl ) - lua? ( ${LUA_REQUIRED_USE} ) - nvenc? ( opengl ) - opengl? ( || ( aqua egl X raspberry-pi !cli ) ) - raspberry-pi? ( opengl ) - test? ( opengl ) - tools? ( cli ) - uchardet? ( iconv ) - vaapi? ( || ( gbm X wayland ) ) - vdpau? ( X ) - vulkan? ( || ( X wayland ) ) - wayland? ( egl ) - X? ( egl? ( opengl ) ) - xv? ( X ) - ${PYTHON_REQUIRED_USE} -" - -RESTRICT="!test? ( test )" - -COMMON_DEPEND=" - >=media-video/ffmpeg-4.0:0=[encode,threads,vaapi?,vdpau?] - alsa? ( >=media-libs/alsa-lib-1.0.18 ) - archive? ( >=app-arch/libarchive-3.4.0:= ) - bluray? ( >=media-libs/libbluray-0.3.0:= ) - cdda? ( dev-libs/libcdio-paranoia - dev-libs/libcdio:= ) - drm? ( x11-libs/libdrm ) - dvd? ( - >=media-libs/libdvdnav-4.2.0:= - >=media-libs/libdvdread-4.1.0:= - ) - egl? ( media-libs/mesa[egl(+),gbm(+)?,wayland(-)?] ) - gamepad? ( media-libs/libsdl2 ) - iconv? ( - virtual/libiconv - uchardet? ( app-i18n/uchardet ) - ) - jack? ( virtual/jack ) - javascript? ( >=dev-lang/mujs-1.0.0 ) - jpeg? ( virtual/jpeg:0 ) - lcms? ( >=media-libs/lcms-2.6:2 ) - >=media-libs/libass-0.12.1:=[fontconfig,harfbuzz(+)] - virtual/ttf-fonts - libcaca? ( >=media-libs/libcaca-0.99_beta18 ) - lua? ( ${LUA_DEPS} ) - openal? ( >=media-libs/openal-1.13 ) - pulseaudio? ( media-sound/pulseaudio ) - raspberry-pi? ( >=media-libs/raspberrypi-userland-0_pre20160305-r1 ) - rubberband? ( >=media-libs/rubberband-1.8.0 ) - sdl? ( media-libs/libsdl2[sound,threads,video] ) - vaapi? ( x11-libs/libva:=[drm?,X?,wayland?] ) - vdpau? ( x11-libs/libvdpau ) - vulkan? ( - >=media-libs/libplacebo-3.104.0:=[vulkan] - media-libs/shaderc - ) - wayland? ( - >=dev-libs/wayland-1.6.0 - >=dev-libs/wayland-protocols-1.14 - >=x11-libs/libxkbcommon-0.3.0 - ) - X? ( - x11-libs/libX11 - x11-libs/libXScrnSaver - x11-libs/libXext - x11-libs/libXinerama - x11-libs/libXrandr - opengl? ( - x11-libs/libXdamage - virtual/opengl - ) - xv? ( x11-libs/libXv ) - ) - zlib? ( sys-libs/zlib ) - zimg? ( >=media-libs/zimg-2.9.2 ) -" -DEPEND="${COMMON_DEPEND} - ${PYTHON_DEPS} - dvb? ( virtual/linuxtv-dvb-headers ) - nvenc? ( >=media-libs/nv-codec-headers-8.2.15.7 ) -" -RDEPEND="${COMMON_DEPEND} - nvenc? ( x11-drivers/nvidia-drivers[X] ) - selinux? ( sec-policy/selinux-mplayer ) - tools? ( ${PYTHON_DEPS} ) -" -BDEPEND="dev-python/docutils - virtual/pkgconfig - test? ( >=dev-util/cmocka-1.0.0 ) -" - -pkg_setup() { - use lua && lua-single_pkg_setup -} - -src_prepare() { - cp "${DISTDIR}/waf-${WAF_PV}" "${S}"/waf || die - chmod +x "${S}"/waf || die - default -} - -src_configure() { - python_setup - tc-export CC PKG_CONFIG AR - - if use raspberry-pi; then - append-cflags -I"${SYSROOT%/}${EPREFIX}/opt/vc/include" - append-ldflags -L"${SYSROOT%/}${EPREFIX}/opt/vc/lib" - fi - - local mywafargs=( - --confdir="${EPREFIX}/etc/${PN}" - - $(usex cli '' '--disable-cplayer') - $(use_enable libmpv libmpv-shared) - - --disable-libmpv-static - --disable-static-build - # See deep down below for build-date. - --disable-optimize # Don't add '-O2' to CFLAGS. - $(usex debug '' '--disable-debug-build') - - $(use_enable doc html-build) - --disable-pdf-build - --enable-manpage-build - $(use_enable cplugins) - $(use_enable test) - - $(use_enable iconv) - $(use_enable lua) - $(use_enable javascript) - $(use_enable zlib) - $(use_enable bluray libbluray) - $(use_enable dvd dvdnav) - $(use_enable cdda) - $(use_enable uchardet) - $(use_enable rubberband) - $(use_enable lcms lcms2) - --disable-vapoursynth # Only available in overlays. - $(use_enable archive libarchive) - - --enable-libavdevice - - # Audio outputs: - $(use_enable sdl sdl2) # Listed under audio, but also includes video. - $(use_enable pulseaudio pulse) - $(use_enable jack) - $(use_enable openal) - --disable-opensles - $(use_enable alsa) - $(use_enable coreaudio) - - # Video outputs: - $(use_enable aqua cocoa) - $(use_enable drm) - $(use_enable gbm) - $(use_enable wayland wayland-scanner) - $(use_enable wayland wayland-protocols) - $(use_enable wayland) - $(use_enable X x11) - $(use_enable xv) - $(usex opengl "$(use_enable aqua gl-cocoa)" '--disable-gl-cocoa') - $(usex opengl "$(use_enable X gl-x11)" '--disable-gl-x11') - $(usex egl "$(use_enable X egl-x11)" '--disable-egl-x11') - $(usex egl "$(use_enable gbm egl-drm)" '--disable-egl-drm') - $(usex opengl "$(use_enable wayland gl-wayland)" '--disable-gl-wayland') - $(use_enable vdpau) - $(usex vdpau "$(use_enable opengl vdpau-gl-x11)" '--disable-vdpau-gl-x11') - $(use_enable vaapi) # See below for vaapi-glx, vaapi-x-egl. - $(usex vaapi "$(use_enable X vaapi-x11)" '--disable-vaapi-x11') - $(usex vaapi "$(use_enable wayland vaapi-wayland)" '--disable-vaapi-wayland') - $(usex vaapi "$(use_enable gbm vaapi-drm)" '--disable-vaapi-drm') - $(use_enable libcaca caca) - $(use_enable jpeg) - $(use_enable vulkan shaderc) - $(use_enable vulkan libplacebo) - $(use_enable raspberry-pi rpi) - $(usex libmpv "$(use_enable opengl plain-gl)" '--disable-plain-gl') - $(usex opengl '' '--disable-gl') - $(use_enable vulkan) - $(use_enable gamepad sdl2-gamepad) - - # HWaccels: - # Automagic Video Toolbox HW acceleration. See Gentoo bug 577332. - $(use_enable nvenc cuda-hwaccel) - $(use_enable nvenc cuda-interop) - - # TV features: - $(use_enable dvb dvbin) - - # Miscellaneous features: - $(use_enable zimg) - ) - if use lua; then - if use lua_single_target_luajit; then - mywafargs+=( --lua="luajit" ) - else - # Because it would be too simple to just let the user directly - # specify the package name to check, wouldn't it. - mywafargs+=( --lua="$(ver_rs 1 '' $(ver_cut 1-2 $(lua_get_version)))" ) - fi - fi - - if use vaapi && use X; then - mywafargs+=( - $(use_enable egl vaapi-x-egl) - ) - fi - - # Not for us - mywafargs+=( - --disable-android - --disable-egl-android - --disable-uwp - --disable-audiounit - --disable-macos-media-player - --disable-wasapi - --disable-ios-gl - --disable-macos-touchbar - --disable-macos-cocoa-cb - --disable-tvos - --disable-egl-angle-win32 - ) - - mywafargs+=( - --bashdir="$(get_bashcompdir)" - --zshdir="${EPREFIX}"/usr/share/zsh/site-functions -) - - # Create reproducible non-live builds. - [[ ${PV} != *9999* ]] && mywafargs+=(--disable-build-date) - - waf-utils_src_configure "${mywafargs[@]}" -} - -src_install() { - waf-utils_src_install - - if use lua; then - insinto /usr/share/${PN} - doins -r TOOLS/lua - fi - - if use cli && use lua_single_target_luajit; then - pax-mark -m "${ED}"/usr/bin/${PN} - fi - - if use tools; then - dobin TOOLS/{mpv_identify.sh,umpv} - newbin TOOLS/idet.sh mpv_idet.sh - python_replicate_script "${ED}"/usr/bin/umpv - fi -} - -pkg_postinst() { - local rv softvol_0_18_1=0 osc_0_21_0=0 txtsubs_0_24_0=0 opengl_0_25_0=0 - - for rv in ${REPLACING_VERSIONS}; do - ver_test ${rv} -lt 0.18.1 && softvol_0_18_1=1 - ver_test ${rv} -lt 0.21.0 && osc_0_21_0=1 - ver_test ${rv} -lt 0.24.0 && txtsubs_0_24_0=1 - ver_test ${rv} -lt 0.25.0 && ! use opengl && opengl_0_25_0=1 - done - - if [[ ${softvol_0_18_1} -eq 1 ]]; then - elog "Since version 0.18.1 the software volume control is always enabled." - elog "This means that volume controls don't change the system volume," - elog "e.g. per-application volume with PulseAudio." - elog "If you want to restore the previous behaviour, please refer to" - elog - elog "https://wiki.gentoo.org/wiki/Mpv#Volume_in_0.18.1" - elog - fi - - if [[ ${osc_0_21_0} -eq 1 ]]; then - elog "In version 0.21.0 the default OSC layout was changed." - elog "If you want to restore the previous layout, please refer to" - elog - elog "https://wiki.gentoo.org/wiki/Mpv#OSC_in_0.21.0" - elog - fi - - if [[ ${txtsubs_0_24_0} -eq 1 ]]; then - elog "Since version 0.24.0 subtitles with .txt extension aren't autoloaded." - elog "If you want to restore the previous behaviour, please refer to" - elog - elog "https://wiki.gentoo.org/wiki/Mpv#Subtitles_with_.txt_extension_in_0.24.0" - elog - fi - - if [[ ${opengl_0_25_0} -eq 1 ]]; then - elog "Since version 0.25.0 the 'opengl' USE flag is mapped to" - elog "the 'opengl' video output and no longer explicitly requires" - elog "X11 or Mac OS Aqua. Consider enabling the 'opengl' USE flag." - fi - - optfeature "URL support" net-misc/yt-dlp - - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -src_test() { - cd "${S}"/build/test || die - local test - for test in *; do - if [[ -x ${test} ]]; then - ./"${test}" || die "Test suite failed" - fi - done -} diff --git a/media-video/mpv/mpv-0.34.1-r1.ebuild b/media-video/mpv/mpv-0.34.1-r1.ebuild new file mode 100644 index 000000000000..398bdb258c34 --- /dev/null +++ b/media-video/mpv/mpv-0.34.1-r1.ebuild @@ -0,0 +1,358 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +LUA_COMPAT=( lua5-{1..2} luajit ) +PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_REQ_USE='threads(+)' + +WAF_PV=2.0.22 + +inherit bash-completion-r1 flag-o-matic lua-single optfeature pax-utils python-r1 toolchain-funcs waf-utils xdg-utils + +DESCRIPTION="Media player based on MPlayer and mplayer2" +HOMEPAGE="https://mpv.io/ https://github.com/mpv-player/mpv" + +if [[ ${PV} != *9999* ]]; then + SRC_URI="https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux" + DOCS=( RELEASE_NOTES ) +else + EGIT_REPO_URI="https://github.com/mpv-player/mpv.git" + inherit git-r3 + DOCS=(); SRC_URI="" +fi +SRC_URI+=" https://waf.io/waf-${WAF_PV}" +DOCS+=( README.md DOCS/{client-api,interface}-changes.rst ) + +# See Copyright in sources and Gentoo bug 506946. Waf is BSD, libmpv is ISC. +LICENSE="LGPL-2.1+ GPL-2+ BSD ISC" +SLOT="0" +IUSE="+alsa aqua archive bluray cdda +cli coreaudio cplugins debug doc drm dvb + dvd +egl gamepad gbm +iconv jack javascript jpeg lcms libcaca libmpv +lua + nvenc openal +opengl pulseaudio raspberry-pi rubberband sdl + selinux test tools +uchardet vaapi vdpau vulkan wayland +X +xv zlib zimg" + +REQUIRED_USE=" + || ( cli libmpv ) + aqua? ( opengl ) + egl? ( || ( gbm X wayland ) ) + gamepad? ( sdl ) + gbm? ( drm egl opengl ) + lcms? ( opengl ) + lua? ( ${LUA_REQUIRED_USE} ) + nvenc? ( opengl ) + opengl? ( || ( aqua egl X raspberry-pi !cli ) ) + raspberry-pi? ( opengl ) + test? ( opengl ) + tools? ( cli ) + uchardet? ( iconv ) + vaapi? ( || ( gbm X wayland ) ) + vdpau? ( X ) + vulkan? ( || ( X wayland ) ) + wayland? ( egl ) + X? ( egl? ( opengl ) ) + xv? ( X ) + ${PYTHON_REQUIRED_USE} +" + +RESTRICT="!test? ( test )" + +COMMON_DEPEND=" + >=media-video/ffmpeg-4.0:0=[encode,threads,vaapi?,vdpau?] + alsa? ( >=media-libs/alsa-lib-1.0.18 ) + archive? ( >=app-arch/libarchive-3.4.0:= ) + bluray? ( >=media-libs/libbluray-0.3.0:= ) + cdda? ( dev-libs/libcdio-paranoia + dev-libs/libcdio:= ) + drm? ( x11-libs/libdrm ) + dvd? ( + >=media-libs/libdvdnav-4.2.0:= + >=media-libs/libdvdread-4.1.0:= + ) + egl? ( media-libs/mesa[egl(+),gbm(+)?,wayland(-)?] ) + gamepad? ( media-libs/libsdl2 ) + iconv? ( + virtual/libiconv + uchardet? ( app-i18n/uchardet ) + ) + jack? ( virtual/jack ) + javascript? ( >=dev-lang/mujs-1.0.0 ) + jpeg? ( virtual/jpeg:0 ) + lcms? ( >=media-libs/lcms-2.6:2 ) + >=media-libs/libass-0.12.1:=[fontconfig,harfbuzz(+)] + virtual/ttf-fonts + libcaca? ( >=media-libs/libcaca-0.99_beta18 ) + lua? ( ${LUA_DEPS} ) + openal? ( >=media-libs/openal-1.13 ) + pulseaudio? ( media-sound/pulseaudio ) + raspberry-pi? ( >=media-libs/raspberrypi-userland-0_pre20160305-r1 ) + rubberband? ( >=media-libs/rubberband-1.8.0 ) + sdl? ( media-libs/libsdl2[sound,threads,video] ) + vaapi? ( x11-libs/libva:=[drm(+)?,X?,wayland?] ) + vdpau? ( x11-libs/libvdpau ) + vulkan? ( + >=media-libs/libplacebo-3.104.0:=[vulkan] + media-libs/shaderc + ) + wayland? ( + >=dev-libs/wayland-1.6.0 + >=dev-libs/wayland-protocols-1.14 + >=x11-libs/libxkbcommon-0.3.0 + ) + X? ( + x11-libs/libX11 + x11-libs/libXScrnSaver + x11-libs/libXext + x11-libs/libXinerama + x11-libs/libXrandr + opengl? ( + x11-libs/libXdamage + virtual/opengl + ) + xv? ( x11-libs/libXv ) + ) + zlib? ( sys-libs/zlib ) + zimg? ( >=media-libs/zimg-2.9.2 ) +" +DEPEND="${COMMON_DEPEND} + ${PYTHON_DEPS} + dvb? ( virtual/linuxtv-dvb-headers ) + nvenc? ( >=media-libs/nv-codec-headers-8.2.15.7 ) +" +RDEPEND="${COMMON_DEPEND} + nvenc? ( x11-drivers/nvidia-drivers[X] ) + selinux? ( sec-policy/selinux-mplayer ) + tools? ( ${PYTHON_DEPS} ) +" +BDEPEND="dev-python/docutils + virtual/pkgconfig + test? ( >=dev-util/cmocka-1.0.0 ) +" + +pkg_setup() { + use lua && lua-single_pkg_setup +} + +src_prepare() { + cp "${DISTDIR}/waf-${WAF_PV}" "${S}"/waf || die + chmod +x "${S}"/waf || die + default +} + +src_configure() { + python_setup + tc-export CC PKG_CONFIG AR + + if use raspberry-pi; then + append-cflags -I"${SYSROOT%/}${EPREFIX}/opt/vc/include" + append-ldflags -L"${SYSROOT%/}${EPREFIX}/opt/vc/lib" + fi + + local mywafargs=( + --confdir="${EPREFIX}/etc/${PN}" + + $(usex cli '' '--disable-cplayer') + $(use_enable libmpv libmpv-shared) + + --disable-libmpv-static + --disable-static-build + # See deep down below for build-date. + --disable-optimize # Don't add '-O2' to CFLAGS. + $(usex debug '' '--disable-debug-build') + + $(use_enable doc html-build) + --disable-pdf-build + --enable-manpage-build + $(use_enable cplugins) + $(use_enable test) + + $(use_enable iconv) + $(use_enable lua) + $(use_enable javascript) + $(use_enable zlib) + $(use_enable bluray libbluray) + $(use_enable dvd dvdnav) + $(use_enable cdda) + $(use_enable uchardet) + $(use_enable rubberband) + $(use_enable lcms lcms2) + --disable-vapoursynth # Only available in overlays. + $(use_enable archive libarchive) + + --enable-libavdevice + + # Audio outputs: + $(use_enable sdl sdl2) # Listed under audio, but also includes video. + $(use_enable pulseaudio pulse) + $(use_enable jack) + $(use_enable openal) + --disable-opensles + $(use_enable alsa) + $(use_enable coreaudio) + + # Video outputs: + $(use_enable aqua cocoa) + $(use_enable drm) + $(use_enable gbm) + $(use_enable wayland wayland-scanner) + $(use_enable wayland wayland-protocols) + $(use_enable wayland) + $(use_enable X x11) + $(use_enable xv) + $(usex opengl "$(use_enable aqua gl-cocoa)" '--disable-gl-cocoa') + $(usex opengl "$(use_enable X gl-x11)" '--disable-gl-x11') + $(usex egl "$(use_enable X egl-x11)" '--disable-egl-x11') + $(usex egl "$(use_enable gbm egl-drm)" '--disable-egl-drm') + $(usex opengl "$(use_enable wayland gl-wayland)" '--disable-gl-wayland') + $(use_enable vdpau) + $(usex vdpau "$(use_enable opengl vdpau-gl-x11)" '--disable-vdpau-gl-x11') + $(use_enable vaapi) # See below for vaapi-glx, vaapi-x-egl. + $(usex vaapi "$(use_enable X vaapi-x11)" '--disable-vaapi-x11') + $(usex vaapi "$(use_enable wayland vaapi-wayland)" '--disable-vaapi-wayland') + $(usex vaapi "$(use_enable gbm vaapi-drm)" '--disable-vaapi-drm') + $(use_enable libcaca caca) + $(use_enable jpeg) + $(use_enable vulkan shaderc) + $(use_enable vulkan libplacebo) + $(use_enable raspberry-pi rpi) + $(usex libmpv "$(use_enable opengl plain-gl)" '--disable-plain-gl') + $(usex opengl '' '--disable-gl') + $(use_enable vulkan) + $(use_enable gamepad sdl2-gamepad) + + # HWaccels: + # Automagic Video Toolbox HW acceleration. See Gentoo bug 577332. + $(use_enable nvenc cuda-hwaccel) + $(use_enable nvenc cuda-interop) + + # TV features: + $(use_enable dvb dvbin) + + # Miscellaneous features: + $(use_enable zimg) + ) + if use lua; then + if use lua_single_target_luajit; then + mywafargs+=( --lua="luajit" ) + else + # Because it would be too simple to just let the user directly + # specify the package name to check, wouldn't it. + mywafargs+=( --lua="$(ver_rs 1 '' $(ver_cut 1-2 $(lua_get_version)))" ) + fi + fi + + if use vaapi && use X; then + mywafargs+=( + $(use_enable egl vaapi-x-egl) + ) + fi + + # Not for us + mywafargs+=( + --disable-android + --disable-egl-android + --disable-uwp + --disable-audiounit + --disable-macos-media-player + --disable-wasapi + --disable-ios-gl + --disable-macos-touchbar + --disable-macos-cocoa-cb + --disable-tvos + --disable-egl-angle-win32 + ) + + mywafargs+=( + --bashdir="$(get_bashcompdir)" + --zshdir="${EPREFIX}"/usr/share/zsh/site-functions +) + + # Create reproducible non-live builds. + [[ ${PV} != *9999* ]] && mywafargs+=(--disable-build-date) + + waf-utils_src_configure "${mywafargs[@]}" +} + +src_install() { + waf-utils_src_install + + if use lua; then + insinto /usr/share/${PN} + doins -r TOOLS/lua + fi + + if use cli && use lua_single_target_luajit; then + pax-mark -m "${ED}"/usr/bin/${PN} + fi + + if use tools; then + dobin TOOLS/{mpv_identify.sh,umpv} + newbin TOOLS/idet.sh mpv_idet.sh + python_replicate_script "${ED}"/usr/bin/umpv + fi +} + +pkg_postinst() { + local rv softvol_0_18_1=0 osc_0_21_0=0 txtsubs_0_24_0=0 opengl_0_25_0=0 + + for rv in ${REPLACING_VERSIONS}; do + ver_test ${rv} -lt 0.18.1 && softvol_0_18_1=1 + ver_test ${rv} -lt 0.21.0 && osc_0_21_0=1 + ver_test ${rv} -lt 0.24.0 && txtsubs_0_24_0=1 + ver_test ${rv} -lt 0.25.0 && ! use opengl && opengl_0_25_0=1 + done + + if [[ ${softvol_0_18_1} -eq 1 ]]; then + elog "Since version 0.18.1 the software volume control is always enabled." + elog "This means that volume controls don't change the system volume," + elog "e.g. per-application volume with PulseAudio." + elog "If you want to restore the previous behaviour, please refer to" + elog + elog "https://wiki.gentoo.org/wiki/Mpv#Volume_in_0.18.1" + elog + fi + + if [[ ${osc_0_21_0} -eq 1 ]]; then + elog "In version 0.21.0 the default OSC layout was changed." + elog "If you want to restore the previous layout, please refer to" + elog + elog "https://wiki.gentoo.org/wiki/Mpv#OSC_in_0.21.0" + elog + fi + + if [[ ${txtsubs_0_24_0} -eq 1 ]]; then + elog "Since version 0.24.0 subtitles with .txt extension aren't autoloaded." + elog "If you want to restore the previous behaviour, please refer to" + elog + elog "https://wiki.gentoo.org/wiki/Mpv#Subtitles_with_.txt_extension_in_0.24.0" + elog + fi + + if [[ ${opengl_0_25_0} -eq 1 ]]; then + elog "Since version 0.25.0 the 'opengl' USE flag is mapped to" + elog "the 'opengl' video output and no longer explicitly requires" + elog "X11 or Mac OS Aqua. Consider enabling the 'opengl' USE flag." + fi + + optfeature "URL support" net-misc/yt-dlp + + xdg_icon_cache_update + xdg_desktop_database_update +} + +pkg_postrm() { + xdg_icon_cache_update + xdg_desktop_database_update +} + +src_test() { + cd "${S}"/build/test || die + local test + for test in *; do + if [[ -x ${test} ]]; then + ./"${test}" || die "Test suite failed" + fi + done +} diff --git a/media-video/mpv/mpv-0.34.1.ebuild b/media-video/mpv/mpv-0.34.1.ebuild deleted file mode 100644 index e0f0ee5c96cf..000000000000 --- a/media-video/mpv/mpv-0.34.1.ebuild +++ /dev/null @@ -1,358 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -LUA_COMPAT=( lua5-{1..2} luajit ) -PYTHON_COMPAT=( python3_{8..10} ) -PYTHON_REQ_USE='threads(+)' - -WAF_PV=2.0.22 - -inherit bash-completion-r1 flag-o-matic lua-single optfeature pax-utils python-r1 toolchain-funcs waf-utils xdg-utils - -DESCRIPTION="Media player based on MPlayer and mplayer2" -HOMEPAGE="https://mpv.io/ https://github.com/mpv-player/mpv" - -if [[ ${PV} != *9999* ]]; then - SRC_URI="https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux" - DOCS=( RELEASE_NOTES ) -else - EGIT_REPO_URI="https://github.com/mpv-player/mpv.git" - inherit git-r3 - DOCS=(); SRC_URI="" -fi -SRC_URI+=" https://waf.io/waf-${WAF_PV}" -DOCS+=( README.md DOCS/{client-api,interface}-changes.rst ) - -# See Copyright in sources and Gentoo bug 506946. Waf is BSD, libmpv is ISC. -LICENSE="LGPL-2.1+ GPL-2+ BSD ISC" -SLOT="0" -IUSE="+alsa aqua archive bluray cdda +cli coreaudio cplugins debug doc drm dvb - dvd +egl gamepad gbm +iconv jack javascript jpeg lcms libcaca libmpv +lua - nvenc openal +opengl pulseaudio raspberry-pi rubberband sdl - selinux test tools +uchardet vaapi vdpau vulkan wayland +X +xv zlib zimg" - -REQUIRED_USE=" - || ( cli libmpv ) - aqua? ( opengl ) - egl? ( || ( gbm X wayland ) ) - gamepad? ( sdl ) - gbm? ( drm egl opengl ) - lcms? ( opengl ) - lua? ( ${LUA_REQUIRED_USE} ) - nvenc? ( opengl ) - opengl? ( || ( aqua egl X raspberry-pi !cli ) ) - raspberry-pi? ( opengl ) - test? ( opengl ) - tools? ( cli ) - uchardet? ( iconv ) - vaapi? ( || ( gbm X wayland ) ) - vdpau? ( X ) - vulkan? ( || ( X wayland ) ) - wayland? ( egl ) - X? ( egl? ( opengl ) ) - xv? ( X ) - ${PYTHON_REQUIRED_USE} -" - -RESTRICT="!test? ( test )" - -COMMON_DEPEND=" - >=media-video/ffmpeg-4.0:0=[encode,threads,vaapi?,vdpau?] - alsa? ( >=media-libs/alsa-lib-1.0.18 ) - archive? ( >=app-arch/libarchive-3.4.0:= ) - bluray? ( >=media-libs/libbluray-0.3.0:= ) - cdda? ( dev-libs/libcdio-paranoia - dev-libs/libcdio:= ) - drm? ( x11-libs/libdrm ) - dvd? ( - >=media-libs/libdvdnav-4.2.0:= - >=media-libs/libdvdread-4.1.0:= - ) - egl? ( media-libs/mesa[egl(+),gbm(+)?,wayland(-)?] ) - gamepad? ( media-libs/libsdl2 ) - iconv? ( - virtual/libiconv - uchardet? ( app-i18n/uchardet ) - ) - jack? ( virtual/jack ) - javascript? ( >=dev-lang/mujs-1.0.0 ) - jpeg? ( virtual/jpeg:0 ) - lcms? ( >=media-libs/lcms-2.6:2 ) - >=media-libs/libass-0.12.1:=[fontconfig,harfbuzz(+)] - virtual/ttf-fonts - libcaca? ( >=media-libs/libcaca-0.99_beta18 ) - lua? ( ${LUA_DEPS} ) - openal? ( >=media-libs/openal-1.13 ) - pulseaudio? ( media-sound/pulseaudio ) - raspberry-pi? ( >=media-libs/raspberrypi-userland-0_pre20160305-r1 ) - rubberband? ( >=media-libs/rubberband-1.8.0 ) - sdl? ( media-libs/libsdl2[sound,threads,video] ) - vaapi? ( x11-libs/libva:=[drm?,X?,wayland?] ) - vdpau? ( x11-libs/libvdpau ) - vulkan? ( - >=media-libs/libplacebo-3.104.0:=[vulkan] - media-libs/shaderc - ) - wayland? ( - >=dev-libs/wayland-1.6.0 - >=dev-libs/wayland-protocols-1.14 - >=x11-libs/libxkbcommon-0.3.0 - ) - X? ( - x11-libs/libX11 - x11-libs/libXScrnSaver - x11-libs/libXext - x11-libs/libXinerama - x11-libs/libXrandr - opengl? ( - x11-libs/libXdamage - virtual/opengl - ) - xv? ( x11-libs/libXv ) - ) - zlib? ( sys-libs/zlib ) - zimg? ( >=media-libs/zimg-2.9.2 ) -" -DEPEND="${COMMON_DEPEND} - ${PYTHON_DEPS} - dvb? ( virtual/linuxtv-dvb-headers ) - nvenc? ( >=media-libs/nv-codec-headers-8.2.15.7 ) -" -RDEPEND="${COMMON_DEPEND} - nvenc? ( x11-drivers/nvidia-drivers[X] ) - selinux? ( sec-policy/selinux-mplayer ) - tools? ( ${PYTHON_DEPS} ) -" -BDEPEND="dev-python/docutils - virtual/pkgconfig - test? ( >=dev-util/cmocka-1.0.0 ) -" - -pkg_setup() { - use lua && lua-single_pkg_setup -} - -src_prepare() { - cp "${DISTDIR}/waf-${WAF_PV}" "${S}"/waf || die - chmod +x "${S}"/waf || die - default -} - -src_configure() { - python_setup - tc-export CC PKG_CONFIG AR - - if use raspberry-pi; then - append-cflags -I"${SYSROOT%/}${EPREFIX}/opt/vc/include" - append-ldflags -L"${SYSROOT%/}${EPREFIX}/opt/vc/lib" - fi - - local mywafargs=( - --confdir="${EPREFIX}/etc/${PN}" - - $(usex cli '' '--disable-cplayer') - $(use_enable libmpv libmpv-shared) - - --disable-libmpv-static - --disable-static-build - # See deep down below for build-date. - --disable-optimize # Don't add '-O2' to CFLAGS. - $(usex debug '' '--disable-debug-build') - - $(use_enable doc html-build) - --disable-pdf-build - --enable-manpage-build - $(use_enable cplugins) - $(use_enable test) - - $(use_enable iconv) - $(use_enable lua) - $(use_enable javascript) - $(use_enable zlib) - $(use_enable bluray libbluray) - $(use_enable dvd dvdnav) - $(use_enable cdda) - $(use_enable uchardet) - $(use_enable rubberband) - $(use_enable lcms lcms2) - --disable-vapoursynth # Only available in overlays. - $(use_enable archive libarchive) - - --enable-libavdevice - - # Audio outputs: - $(use_enable sdl sdl2) # Listed under audio, but also includes video. - $(use_enable pulseaudio pulse) - $(use_enable jack) - $(use_enable openal) - --disable-opensles - $(use_enable alsa) - $(use_enable coreaudio) - - # Video outputs: - $(use_enable aqua cocoa) - $(use_enable drm) - $(use_enable gbm) - $(use_enable wayland wayland-scanner) - $(use_enable wayland wayland-protocols) - $(use_enable wayland) - $(use_enable X x11) - $(use_enable xv) - $(usex opengl "$(use_enable aqua gl-cocoa)" '--disable-gl-cocoa') - $(usex opengl "$(use_enable X gl-x11)" '--disable-gl-x11') - $(usex egl "$(use_enable X egl-x11)" '--disable-egl-x11') - $(usex egl "$(use_enable gbm egl-drm)" '--disable-egl-drm') - $(usex opengl "$(use_enable wayland gl-wayland)" '--disable-gl-wayland') - $(use_enable vdpau) - $(usex vdpau "$(use_enable opengl vdpau-gl-x11)" '--disable-vdpau-gl-x11') - $(use_enable vaapi) # See below for vaapi-glx, vaapi-x-egl. - $(usex vaapi "$(use_enable X vaapi-x11)" '--disable-vaapi-x11') - $(usex vaapi "$(use_enable wayland vaapi-wayland)" '--disable-vaapi-wayland') - $(usex vaapi "$(use_enable gbm vaapi-drm)" '--disable-vaapi-drm') - $(use_enable libcaca caca) - $(use_enable jpeg) - $(use_enable vulkan shaderc) - $(use_enable vulkan libplacebo) - $(use_enable raspberry-pi rpi) - $(usex libmpv "$(use_enable opengl plain-gl)" '--disable-plain-gl') - $(usex opengl '' '--disable-gl') - $(use_enable vulkan) - $(use_enable gamepad sdl2-gamepad) - - # HWaccels: - # Automagic Video Toolbox HW acceleration. See Gentoo bug 577332. - $(use_enable nvenc cuda-hwaccel) - $(use_enable nvenc cuda-interop) - - # TV features: - $(use_enable dvb dvbin) - - # Miscellaneous features: - $(use_enable zimg) - ) - if use lua; then - if use lua_single_target_luajit; then - mywafargs+=( --lua="luajit" ) - else - # Because it would be too simple to just let the user directly - # specify the package name to check, wouldn't it. - mywafargs+=( --lua="$(ver_rs 1 '' $(ver_cut 1-2 $(lua_get_version)))" ) - fi - fi - - if use vaapi && use X; then - mywafargs+=( - $(use_enable egl vaapi-x-egl) - ) - fi - - # Not for us - mywafargs+=( - --disable-android - --disable-egl-android - --disable-uwp - --disable-audiounit - --disable-macos-media-player - --disable-wasapi - --disable-ios-gl - --disable-macos-touchbar - --disable-macos-cocoa-cb - --disable-tvos - --disable-egl-angle-win32 - ) - - mywafargs+=( - --bashdir="$(get_bashcompdir)" - --zshdir="${EPREFIX}"/usr/share/zsh/site-functions -) - - # Create reproducible non-live builds. - [[ ${PV} != *9999* ]] && mywafargs+=(--disable-build-date) - - waf-utils_src_configure "${mywafargs[@]}" -} - -src_install() { - waf-utils_src_install - - if use lua; then - insinto /usr/share/${PN} - doins -r TOOLS/lua - fi - - if use cli && use lua_single_target_luajit; then - pax-mark -m "${ED}"/usr/bin/${PN} - fi - - if use tools; then - dobin TOOLS/{mpv_identify.sh,umpv} - newbin TOOLS/idet.sh mpv_idet.sh - python_replicate_script "${ED}"/usr/bin/umpv - fi -} - -pkg_postinst() { - local rv softvol_0_18_1=0 osc_0_21_0=0 txtsubs_0_24_0=0 opengl_0_25_0=0 - - for rv in ${REPLACING_VERSIONS}; do - ver_test ${rv} -lt 0.18.1 && softvol_0_18_1=1 - ver_test ${rv} -lt 0.21.0 && osc_0_21_0=1 - ver_test ${rv} -lt 0.24.0 && txtsubs_0_24_0=1 - ver_test ${rv} -lt 0.25.0 && ! use opengl && opengl_0_25_0=1 - done - - if [[ ${softvol_0_18_1} -eq 1 ]]; then - elog "Since version 0.18.1 the software volume control is always enabled." - elog "This means that volume controls don't change the system volume," - elog "e.g. per-application volume with PulseAudio." - elog "If you want to restore the previous behaviour, please refer to" - elog - elog "https://wiki.gentoo.org/wiki/Mpv#Volume_in_0.18.1" - elog - fi - - if [[ ${osc_0_21_0} -eq 1 ]]; then - elog "In version 0.21.0 the default OSC layout was changed." - elog "If you want to restore the previous layout, please refer to" - elog - elog "https://wiki.gentoo.org/wiki/Mpv#OSC_in_0.21.0" - elog - fi - - if [[ ${txtsubs_0_24_0} -eq 1 ]]; then - elog "Since version 0.24.0 subtitles with .txt extension aren't autoloaded." - elog "If you want to restore the previous behaviour, please refer to" - elog - elog "https://wiki.gentoo.org/wiki/Mpv#Subtitles_with_.txt_extension_in_0.24.0" - elog - fi - - if [[ ${opengl_0_25_0} -eq 1 ]]; then - elog "Since version 0.25.0 the 'opengl' USE flag is mapped to" - elog "the 'opengl' video output and no longer explicitly requires" - elog "X11 or Mac OS Aqua. Consider enabling the 'opengl' USE flag." - fi - - optfeature "URL support" net-misc/yt-dlp - - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -src_test() { - cd "${S}"/build/test || die - local test - for test in *; do - if [[ -x ${test} ]]; then - ./"${test}" || die "Test suite failed" - fi - done -} diff --git a/media-video/mpv/mpv-9999.ebuild b/media-video/mpv/mpv-9999.ebuild index 856b88db74d8..6d29fba49c11 100644 --- a/media-video/mpv/mpv-9999.ebuild +++ b/media-video/mpv/mpv-9999.ebuild @@ -90,7 +90,7 @@ COMMON_DEPEND=" raspberry-pi? ( >=media-libs/raspberrypi-userland-0_pre20160305-r1 ) rubberband? ( >=media-libs/rubberband-1.8.0 ) sdl? ( media-libs/libsdl2[sound,threads,video] ) - vaapi? ( x11-libs/libva:=[drm?,X?,wayland?] ) + vaapi? ( x11-libs/libva:=[drm(+)?,X?,wayland?] ) vdpau? ( x11-libs/libvdpau ) vulkan? ( >=media-libs/libplacebo-4.192.1:=[vulkan] diff --git a/media-video/obs-studio/Manifest b/media-video/obs-studio/Manifest index 941c26b56e0a..5b697de6db14 100644 --- a/media-video/obs-studio/Manifest +++ b/media-video/obs-studio/Manifest @@ -1,12 +1,8 @@ -AUX obs-studio-26.1.2-python-3.8.patch 653 BLAKE2B 6fbafacb2b2a7dc7dbb15f63eea9463e7c26744caab9399146bd404227d6b7e4119cbeb8f93b4b5c81399d342f02b002d79ad72d2a8dde3317d8f5a67f163dc9 SHA512 598701d227feab450d2f8db40d18b7380dcbedb13b6586deb481b7164c33e12e04b1d5babdadbe073d5af0ac899d783f7a2a2d2ed020f19edb6146cfd00798af -AUX obs-studio-27.1.3-ffmpeg-5.0.patch 11768 BLAKE2B 35bf91bf2921ea1a8007a6eb973f60724de5b53485d429199af5ea63b290313066367f83bd2f2b8cbd5a31a0186d9c2cce0b1ba9f98cc346209ae50a0bae955a SHA512 04332aab35aed3ced4bab6a5b9e267224a816ba4fea190272e3516358ff96714dc1fe087d0092bcad753f87b62c500cac62398fc93f9ae04fd2de742ec1a6413 -DIST cef_binary_4280_linux64.tar.bz2 79740715 BLAKE2B c648a9a4205094450f9eae407e98cbc3da2b7cd81b3c19c4f52cfa3efcca01dce40528018996c65f026eb97520d78040165d1906b0d19236a86e76ec39c58c26 SHA512 060a5a8716a75b4b96dfb6ac28c132e22b93107915d680311c1b9d4fd12c7712a9e3497338eac6d2b9f4e74f2dc005a75d195c597bba049e4731fe3724f519ba DIST cef_binary_4638_linux64.tar.bz2 104578246 BLAKE2B 13ee05d4a2fbf27290506297416b298c786954450c19183b493d13aa691db409c22b30870fbc55adf814ff30142a666eb8b172f16ccc48e6cf01135c72e5d6d6 SHA512 2eb01151e07adf332affce36a659c6e87da1fbc403c65db7e7c53472ff418df6cd04300a7c6ebc8789c094926429cc70d829e556e5de3127da230f8258fabe49 DIST obs-browser-915761778ec1eae99e740ad4bf63b40db3142ee2.tar.gz 100021 BLAKE2B d72df588aaeaf199c6ea5a7e419bb4792ef8b4c4237e700f75064d96caaec83ed2be2ea4ab34ba31e30a87ec6cbf1f267dd7b100c3a6cfec36e46b2eca8c4b2e SHA512 3ab6118a9509054ea4e8aed14dade7f374495ba25fcb5295a3ef7ed29e6e3305b0ae2f12ba2c0d27fcd6886822c98ab44a48fa9a4b66ae0507ab2bf1001157cb -DIST obs-browser-aee43000bd994022cd73e32dc50938ab777d4a06.tar.gz 89603 BLAKE2B a51b92f829ecb7055dcf969d6d5bdc4632b51288f0bc7e2ab66fda087da608869ddffccda83aa925f049c79e745a6f67e70ec72303184b970f5009fe37b34054 SHA512 8159ca02b5c30d2733ce8e566f21d6b77d6b7beabd0a5898049ee83b0b4d720b967fc55fcf876cd772fdaa12ca08163a0f8cabf249a9b3b6eb56b7666d1192c7 -DIST obs-studio-27.1.3.tar.gz 15994678 BLAKE2B 5544a1ecdb04dca7f6422936ea5499a206b4beb8e5332605c18cd72a91ce73aa74ff06c49a106931822c1c413ee94d383942f173a71f2b21168a00495b4e301f SHA512 04c11c79e3b091aa9ea8fc6674c9fbcaa1c924fe049f68e9be63f63724c31305d6e4fb33aecdd4d0095d20013e2ee188983f6938b175257368d2260681c2fb39 DIST obs-studio-27.2.3.tar.gz 16383685 BLAKE2B 76802ba67dcebccabd9b2a1f09f505a4aea83887b445093c51a2c7a49fbaa064549b6212bd1b2f3200674a78349b2de4bfa54d14871c76be248cd62139d98a56 SHA512 c34e850e1a83e55aed952611257446a39d7ba4456b94f74d91c85d09d77361af2f76848f7d3f3d8ba7ae76c926129adad555e2f54d632658832596d0f2696a3c -EBUILD obs-studio-27.1.3-r2.ebuild 5231 BLAKE2B af7ad6d47fae292e9907ca5f28898e83f512358ca27a14b8ac320e78371cf28492dc95df283dc562a685bf38f90cf703fac0b83cec5d540de7f6a7c7bf55b8aa SHA512 846279f7d20195924e8a3d7c8ecdd4ec4e1573c2c93d36648b2cdec8543cb82e232e996b6f707cc20be99eacb9b5ecf36d14f2c81444270d10e1a978502640d3 +DIST obs-studio-27.2.4.tar.gz 16385399 BLAKE2B 00c05ecd055d707b7132ca4b20e1c4946b682c0f79f1477167ae55aba3ec367c97b05aac190b07260f936e68f79f2d58e19dcc0602f70408f4c056eb733a6fdd SHA512 575341dd3d9240b21881517a16d01ca11f833e08b40ca7990f0360b4cd1076e8217a9bb8dddf174eca5429e6eadaadb6cfdbd61d24e0eb13ebeaa7f29cfad8bf EBUILD obs-studio-27.2.3-r1.ebuild 4912 BLAKE2B 60d4bd7ab7e3f24796d5353dceb428855493847cbd480e82bc8b39ab9c745ebbe665849048b29f5614b624c9ccc9fd87ec3dd1742215ed527d64581d3933ac1a SHA512 1bd27589d22bc5d6cf17e37340e1c48bacfed68e1ce94c33f5213ae99594bf3ee75e7fdab1c1084f89e0381d57aceb10db2d26222d4b10033f0de69e843e9552 +EBUILD obs-studio-27.2.4.ebuild 4912 BLAKE2B 60d4bd7ab7e3f24796d5353dceb428855493847cbd480e82bc8b39ab9c745ebbe665849048b29f5614b624c9ccc9fd87ec3dd1742215ed527d64581d3933ac1a SHA512 1bd27589d22bc5d6cf17e37340e1c48bacfed68e1ce94c33f5213ae99594bf3ee75e7fdab1c1084f89e0381d57aceb10db2d26222d4b10033f0de69e843e9552 EBUILD obs-studio-9999.ebuild 4912 BLAKE2B 60d4bd7ab7e3f24796d5353dceb428855493847cbd480e82bc8b39ab9c745ebbe665849048b29f5614b624c9ccc9fd87ec3dd1742215ed527d64581d3933ac1a SHA512 1bd27589d22bc5d6cf17e37340e1c48bacfed68e1ce94c33f5213ae99594bf3ee75e7fdab1c1084f89e0381d57aceb10db2d26222d4b10033f0de69e843e9552 MISC metadata.xml 1415 BLAKE2B 0dda0116d11846076fba50dbb159af34dd1c8cf1f77dadeab5b280d5190b99dae3d73a20bbd5ef52d63d96958a078c0d2ae61f5e8b32a64126a579a47e5cbd5e SHA512 7327bd2d7ecff1db9fbd721fc34e41fcafbde30b898381406da9ee3837410c05f95d64f124a7b616ec7b96d7b2d450dd5fdae6df0b1afb30837ef55864c329b0 diff --git a/media-video/obs-studio/files/obs-studio-26.1.2-python-3.8.patch b/media-video/obs-studio/files/obs-studio-26.1.2-python-3.8.patch deleted file mode 100644 index d9e328ea4efb..000000000000 --- a/media-video/obs-studio/files/obs-studio-26.1.2-python-3.8.patch +++ /dev/null @@ -1,18 +0,0 @@ -https://bugs.gentoo.org/754006 - -https://github.com/obsproject/obs-studio/pull/3335 -From: Matt Gajownik -Date: Tue, 25 Aug 2020 19:28:26 +1000 -Subject: [PATCH] libobs/util: Fix loading Python binary modules on *nix ---- a/libobs/util/platform-nix.c -+++ b/libobs/util/platform-nix.c -@@ -71,7 +71,8 @@ void *os_dlopen(const char *path) - #ifdef __APPLE__ - void *res = dlopen(dylib_name.array, RTLD_LAZY | RTLD_FIRST); - #else -- void *res = dlopen(dylib_name.array, RTLD_LAZY); -+ void *res = dlopen(dylib_name.array, -+ RTLD_LAZY | RTLD_DEEPBIND | RTLD_GLOBAL); - #endif - if (!res) - blog(LOG_ERROR, "os_dlopen(%s->%s): %s\n", path, diff --git a/media-video/obs-studio/files/obs-studio-27.1.3-ffmpeg-5.0.patch b/media-video/obs-studio/files/obs-studio-27.1.3-ffmpeg-5.0.patch deleted file mode 100644 index a529dca715a9..000000000000 --- a/media-video/obs-studio/files/obs-studio-27.1.3-ffmpeg-5.0.patch +++ /dev/null @@ -1,314 +0,0 @@ -# https://git.exherbo.org/media.git/commit/?id=10c891cb37f4f7e42e95a00b27a5d4636266353e -# https://git.exherbo.org/media.git/commit/?id=e888c31724357431dbd0e73014ca87a552850d45 - -From 08547a1696fa381d0bda18aed57b9f87a6b1b334 Mon Sep 17 00:00:00 2001 -From: Ryan Foster -Date: Sat, 6 Nov 2021 18:57:35 -0400 -Subject: [PATCH] obs-ffmpeg: Include avcodec header for AVCodecContext - -FFmpeg commit e67e02d15672 [1] drops avcodec.h from avformat.h includes. -Therefore we need to include it explicitly. - -[1]: https://github.com/FFmpeg/FFmpeg/commit/e67e02d15672a87da1b0566e197a1e19dc7e1e33 - lavf/avformat.h: drop the avcodec.h include ---- - plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c | 1 + - plugins/obs-ffmpeg/obs-ffmpeg-formats.h | 2 ++ - plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c | 1 + - plugins/obs-ffmpeg/obs-ffmpeg-output.h | 1 + - 4 files changed, 5 insertions(+) - -diff --git a/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c b/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c -index 1c160ced4b1f..e4c6cdb9fa2f 100644 ---- a/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c -+++ b/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c -@@ -27,6 +27,7 @@ - #include "ffmpeg-mux.h" - - #include -+#include - #include - - #define ANSI_COLOR_RED "\x1b[0;91m" -diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-formats.h b/plugins/obs-ffmpeg/obs-ffmpeg-formats.h -index 62e3866d037a..b40ef37293b4 100644 ---- a/plugins/obs-ffmpeg/obs-ffmpeg-formats.h -+++ b/plugins/obs-ffmpeg/obs-ffmpeg-formats.h -@@ -1,5 +1,7 @@ - #pragma once - -+#include -+ - static inline int64_t rescale_ts(int64_t val, AVCodecContext *context, - AVRational new_base) - { -diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c b/plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c -index f2d93d2def89..e66010ce5f9c 100644 ---- a/plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c -+++ b/plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c -@@ -24,6 +24,7 @@ - - #include - #include -+#include - #include - - #include "obs-ffmpeg-formats.h" -diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-output.h b/plugins/obs-ffmpeg/obs-ffmpeg-output.h -index 99f4dcd13b44..72d89dfacc4c 100644 ---- a/plugins/obs-ffmpeg/obs-ffmpeg-output.h -+++ b/plugins/obs-ffmpeg/obs-ffmpeg-output.h -@@ -2,6 +2,7 @@ - - #include - #include -+#include - #include - #include - -From abf1d609d29196921df8f09ab6e07340b7cf9660 Mon Sep 17 00:00:00 2001 -From: Ryan Foster -Date: Sat, 6 Nov 2021 18:58:05 -0400 -Subject: [PATCH] obs-ffmpeg: Include channel_layout.h - -avcodec.h stopped including channel_layout.h per FFmpeg commit -1be3d8a0cb77 [1]. avformat.h stopped including avcodec.h per FFmpeg -commit e67e02d15672 [2]. As a result, we need to explicitly include -avutil/channel_layout.h when needed. Fixes compilation error against -FFmpeg later than the two mentioned commits. - -[1]: https://github.com/FFmpeg/FFmpeg/commit/1be3d8a0cb77f8d34c1f39b47bf5328fe10c82d7 -[2]: https://github.com/FFmpeg/FFmpeg/commit/e67e02d15672a87da1b0566e197a1e19dc7e1e33 ---- - plugins/obs-ffmpeg/obs-ffmpeg-audio-encoders.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-audio-encoders.c b/plugins/obs-ffmpeg/obs-ffmpeg-audio-encoders.c -index 2e3899464362..cbcb9ac31bcb 100644 ---- a/plugins/obs-ffmpeg/obs-ffmpeg-audio-encoders.c -+++ b/plugins/obs-ffmpeg/obs-ffmpeg-audio-encoders.c -@@ -21,6 +21,7 @@ - #include - #include - -+#include - #include - #include - -From ce734366bc0b95ff91930f463e7ebe528cf8eabf Mon Sep 17 00:00:00 2001 -From: Ryan Foster -Date: Sat, 6 Nov 2021 18:58:36 -0400 -Subject: [PATCH] obs-ffmpeg: Respect AVFormatContext and AVOutputFormat - constness - -AVFormatContext::oformat was made const on April 27, 2021 [1]. If we -respect the constness of AVOutputFormat and do not cast results from -FFmpeg functions to non-const, we cannot modify the results after the -fact. Our choices are either to cast them to non-const (and presumably -have them implicitly casted back to const on later function calls), or -only try to modify the results in versions of FFmpeg where these are not -expected to be const. - -Instead of relying on casts, we can set the encoder values in the -ffmpeg_cfg struct, which are later passed to new_stream. - -Also modifies deps/media-playback. Removes compiler warnings. -Some avformat functions return const AV(In/Out)putFormat per [1], so -ifdef as needed. - -[1]: https://github.com/FFmpeg/FFmpeg/commit/56450a0ee4fdda160f4039fc2ae33edfd27765c9 - lavf 59.0.100 avformat.h - avformat: Constify the API wrt AV(In|Out)putFormat - - Also constify AVProbeData. ---- - deps/media-playback/media-playback/media.c | 4 ++++ - plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c | 10 ++++++++++ - plugins/obs-ffmpeg/obs-ffmpeg-output.c | 19 ++++++++++++++++++- - 3 files changed, 32 insertions(+), 1 deletion(-) - -diff --git a/deps/media-playback/media-playback/media.c b/deps/media-playback/media-playback/media.c -index 9041b62e9cdd..a09b58ed5d10 100644 ---- a/deps/media-playback/media-playback/media.c -+++ b/deps/media-playback/media-playback/media.c -@@ -608,7 +608,11 @@ static int interrupt_callback(void *data) - - static bool init_avformat(mp_media_t *m) - { -+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(59, 0, 100) - AVInputFormat *format = NULL; -+#else -+ const AVInputFormat *format = NULL; -+#endif - - if (m->format_name && *m->format_name) { - format = av_find_input_format(m->format_name); -diff --git a/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c b/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c -index e4c6cdb9fa2f..ffce3ee33eec 100644 ---- a/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c -+++ b/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c -@@ -565,7 +565,11 @@ static inline bool ffmpeg_mux_get_extra_data(struct ffmpeg_mux *ffm) - - static inline int open_output_file(struct ffmpeg_mux *ffm) - { -+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(59, 0, 100) - AVOutputFormat *format = ffm->output->oformat; -+#else -+ const AVOutputFormat *format = ffm->output->oformat; -+#endif - int ret; - - if ((format->flags & AVFMT_NOFILE) == 0) { -@@ -631,7 +635,11 @@ static bool ffmpeg_mux_is_network(struct ffmpeg_mux *ffm) - - static int ffmpeg_mux_init_context(struct ffmpeg_mux *ffm) - { -+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(59, 0, 100) - AVOutputFormat *output_format; -+#else -+ const AVOutputFormat *output_format; -+#endif - int ret; - bool is_http = false; - is_http = (strncmp(ffm->params.file, HTTP_PROTO, -@@ -665,8 +673,10 @@ static int ffmpeg_mux_init_context(struct ffmpeg_mux *ffm) - return FFM_ERROR; - } - -+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(59, 0, 100) - ffm->output->oformat->video_codec = AV_CODEC_ID_NONE; - ffm->output->oformat->audio_codec = AV_CODEC_ID_NONE; -+#endif - - if (!init_streams(ffm)) { - free_avformat(ffm); -diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-output.c b/plugins/obs-ffmpeg/obs-ffmpeg-output.c -index 6bc1637b1796..7447e952b9c2 100644 ---- a/plugins/obs-ffmpeg/obs-ffmpeg-output.c -+++ b/plugins/obs-ffmpeg/obs-ffmpeg-output.c -@@ -543,6 +543,7 @@ static enum AVCodecID get_codec_id(const char *name, int id) - return codec->id; - } - -+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(59, 0, 100) - static void set_encoder_ids(struct ffmpeg_data *data) - { - data->output->oformat->video_codec = get_codec_id( -@@ -551,6 +552,7 @@ static void set_encoder_ids(struct ffmpeg_data *data) - data->output->oformat->audio_codec = get_codec_id( - data->config.audio_encoder, data->config.audio_encoder_id); - } -+#endif - - bool ffmpeg_data_init(struct ffmpeg_data *data, struct ffmpeg_cfg *config) - { -@@ -570,7 +572,13 @@ bool ffmpeg_data_init(struct ffmpeg_data *data, struct ffmpeg_cfg *config) - - is_rtmp = (astrcmpi_n(config->url, "rtmp://", 7) == 0); - -- AVOutputFormat *output_format = av_guess_format( -+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(59, 0, 100) -+ AVOutputFormat *output_format; -+#else -+ const AVOutputFormat *output_format; -+#endif -+ -+ output_format = av_guess_format( - is_rtmp ? "flv" : data->config.format_name, data->config.url, - is_rtmp ? NULL : data->config.format_mime_type); - -@@ -596,6 +604,7 @@ bool ffmpeg_data_init(struct ffmpeg_data *data, struct ffmpeg_cfg *config) - goto fail; - } - -+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(59, 0, 100) - if (is_rtmp) { - data->output->oformat->video_codec = AV_CODEC_ID_H264; - data->output->oformat->audio_codec = AV_CODEC_ID_AAC; -@@ -603,6 +612,14 @@ bool ffmpeg_data_init(struct ffmpeg_data *data, struct ffmpeg_cfg *config) - if (data->config.format_name) - set_encoder_ids(data); - } -+#else -+ if (is_rtmp) { -+ data->config.audio_encoder = "aac"; -+ data->config.audio_encoder_id = AV_CODEC_ID_AAC; -+ data->config.video_encoder = "libx264"; -+ data->config.video_encoder_id = AV_CODEC_ID_H264; -+ } -+#endif - - if (!init_streams(data)) - goto fail; - -From d78971b4db34d5fffbd11d2acabf37a65e11cd58 Mon Sep 17 00:00:00 2001 -From: pkv -Date: Fri, 17 Dec 2021 20:52:11 +0100 -Subject: [PATCH] obs-ffmpeg: Further FFmpeg deprecations fixes for FFmpeg 4.4+ - -avcodec.h stopped including channel_layout.h per FFmpeg commit -1be3d8a0cb77 [1]. Fixes compilation error on macOS against -FFmpeg later than the mentioned commit. -[1] https://github.com/FFmpeg/FFmpeg/commit/1be3d8a0cb77f8d34c1f39b47bf5328fe10c82d7 ---- - plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c | 1 + - plugins/obs-ffmpeg/obs-ffmpeg-output.c | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c b/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c -index c07e22abe266..db26cb425ce5 100644 ---- a/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c -+++ b/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c -@@ -29,6 +29,7 @@ - #include - #include - #include -+#include - - #define ANSI_COLOR_RED "\x1b[0;91m" - #define ANSI_COLOR_MAGENTA "\x1b[0;95m" -diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-output.c b/plugins/obs-ffmpeg/obs-ffmpeg-output.c -index d3637ebbb59b..7d1f12a60393 100644 ---- a/plugins/obs-ffmpeg/obs-ffmpeg-output.c -+++ b/plugins/obs-ffmpeg/obs-ffmpeg-output.c -@@ -25,6 +25,7 @@ - #include "obs-ffmpeg-output.h" - #include "obs-ffmpeg-formats.h" - #include "obs-ffmpeg-compat.h" -+#include - - struct ffmpeg_output { - obs_output_t *output; - -From c398ac9739a82bc95632eef9544dd0fb5bc5f0cf Mon Sep 17 00:00:00 2001 -From: pkv -Date: Sat, 6 Nov 2021 18:59:37 -0400 -Subject: [PATCH] obs-ffmpeg: Fix NVENC old codec naming removed in FFmpeg - -Per FFmpeg commit 337f777f378c [1], FFmpeg removed nvenc_h264_encoder -and nvenc_hevc_encoder after deprecation in FFmpeg commit 888a5c794778 -[2]. The names to be used are ff_h264_nvenc_encoder and -ff_hevc_nvenc_encoder. So we must allow alternative search of codec as -h264_nvenc or nvenc_h264 in obs-ffmpeg.c. - -[1]: https://github.com/FFmpeg/FFmpeg/commit/337f777f378cfcc0d6f0d01fb7125905e8b0da55 -[2]: https://github.com/FFmpeg/FFmpeg/commit/888a5c794778a2f2aad22e9b4a3952dff92b11fa ---- - plugins/obs-ffmpeg/obs-ffmpeg.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/plugins/obs-ffmpeg/obs-ffmpeg.c b/plugins/obs-ffmpeg/obs-ffmpeg.c -index 7330b2273544..399c5bfa64b6 100644 ---- a/plugins/obs-ffmpeg/obs-ffmpeg.c -+++ b/plugins/obs-ffmpeg/obs-ffmpeg.c -@@ -180,7 +180,9 @@ static bool nvenc_supported(void) - bool success = false; - - if (!nvenc) { -- goto cleanup; -+ nvenc = avcodec_find_encoder_by_name("h264_nvenc"); -+ if (!nvenc) -+ goto cleanup; - } - - #if defined(_WIN32) diff --git a/media-video/obs-studio/obs-studio-27.1.3-r2.ebuild b/media-video/obs-studio/obs-studio-27.1.3-r2.ebuild deleted file mode 100644 index a018ce0e7966..000000000000 --- a/media-video/obs-studio/obs-studio-27.1.3-r2.ebuild +++ /dev/null @@ -1,214 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CMAKE_REMOVE_MODULES_LIST=( FindFreetype ) -LUA_COMPAT=( luajit ) -PYTHON_COMPAT=( python3_{8..10} ) - -inherit cmake lua-single python-single-r1 xdg - -OBS_BROWSER_COMMIT="aee43000bd994022cd73e32dc50938ab777d4a06" -CEF_DIR="cef_binary_4280_linux64" - -if [[ ${PV} == 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/obsproject/obs-studio.git" - EGIT_SUBMODULES=( plugins/obs-browser ) -else - SRC_URI="https://github.com/obsproject/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" - SRC_URI+=" browser? ( https://github.com/obsproject/obs-browser/archive/${OBS_BROWSER_COMMIT}.tar.gz -> obs-browser-${OBS_BROWSER_COMMIT}.tar.gz )" - KEYWORDS="~amd64 ~ppc64 ~x86" -fi -SRC_URI+=" browser? ( https://cdn-fastly.obsproject.com/downloads/${CEF_DIR}.tar.bz2 )" - -DESCRIPTION="Software for Recording and Streaming Live Video Content" -HOMEPAGE="https://obsproject.com" - -LICENSE="GPL-2" -SLOT="0" -IUSE=" - +alsa browser decklink fdk jack lua nvenc pipewire - pulseaudio python speex +ssl truetype v4l vlc wayland -" -REQUIRED_USE=" - browser? ( || ( alsa pulseaudio ) ) - lua? ( ${LUA_REQUIRED_USE} ) - python? ( ${PYTHON_REQUIRED_USE} ) -" - -BDEPEND=" - lua? ( dev-lang/swig ) - python? ( dev-lang/swig ) -" -DEPEND=" - dev-libs/glib:2 - dev-libs/jansson:= - dev-qt/qtcore:5 - dev-qt/qtdeclarative:5 - dev-qt/qtgui:5[wayland?] - dev-qt/qtmultimedia:5 - dev-qt/qtnetwork:5 - dev-qt/qtquickcontrols:5 - dev-qt/qtsql:5 - dev-qt/qtsvg:5 - dev-qt/qtwidgets:5 - dev-qt/qtx11extras:5 - dev-qt/qtxml:5 - media-libs/libglvnd - media-libs/x264:= - media-video/ffmpeg:=[nvenc?,x264] - net-misc/curl - sys-apps/dbus - sys-libs/zlib:= - virtual/udev - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXfixes - x11-libs/libXinerama - x11-libs/libXrandr - x11-libs/libxcb:= - alsa? ( media-libs/alsa-lib ) - browser? ( - app-accessibility/at-spi2-atk - app-accessibility/at-spi2-core:2 - dev-libs/atk - dev-libs/expat - dev-libs/glib - dev-libs/nspr - dev-libs/nss - media-libs/alsa-lib - media-libs/fontconfig - media-libs/mesa[gbm(+)] - net-print/cups - x11-libs/libdrm - x11-libs/libXScrnSaver - x11-libs/libXcursor - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXi - x11-libs/libXrender - x11-libs/libXtst - ) - fdk? ( media-libs/fdk-aac:= ) - jack? ( virtual/jack ) - lua? ( ${LUA_DEPS} ) - pipewire? ( media-video/pipewire:= ) - pulseaudio? ( media-sound/pulseaudio ) - python? ( ${PYTHON_DEPS} ) - speex? ( media-libs/speexdsp ) - ssl? ( net-libs/mbedtls:= ) - truetype? ( - media-libs/fontconfig - media-libs/freetype - ) - v4l? ( media-libs/libv4l ) - vlc? ( media-video/vlc:= ) - wayland? ( dev-libs/wayland ) -" -RDEPEND="${DEPEND}" - -QA_PREBUILT=" - usr/lib*/obs-plugins/chrome-sandbox - usr/lib*/obs-plugins/libEGL.so - usr/lib*/obs-plugins/libGLESv2.so - usr/lib*/obs-plugins/libcef.so - usr/lib*/obs-plugins/swiftshader/libEGL.so - usr/lib*/obs-plugins/swiftshader/libGLESv2.so -" - -PATCHES=( - "${FILESDIR}/${PN}-26.1.2-python-3.8.patch" - "${FILESDIR}/${PN}-27.1.3-ffmpeg-5.0.patch" -) - -pkg_setup() { - use lua && lua-single_pkg_setup - use python && python-single-r1_pkg_setup -} - -src_unpack() { - default - - if [[ ${PV} == 9999 ]]; then - git-r3_src_unpack - elif use browser; then - rm -d ${P}/plugins/obs-browser || die - mv obs-browser-${OBS_BROWSER_COMMIT} ${P}/plugins/obs-browser || die - fi -} - -src_configure() { - local libdir=$(get_libdir) - local mycmakeargs=( - $(usev browser -DCEF_ROOT_DIR=../${CEF_DIR}) - -DBUILD_BROWSER=$(usex browser) - -DBUILD_VST=no - -DENABLE_WAYLAND=$(usex wayland) - -DDISABLE_ALSA=$(usex !alsa) - -DDISABLE_DECKLINK=$(usex !decklink) - -DDISABLE_FREETYPE=$(usex !truetype) - -DDISABLE_JACK=$(usex !jack) - -DDISABLE_LIBFDK=$(usex !fdk) - -DENABLE_PIPEWIRE=$(usex pipewire) - -DDISABLE_PULSEAUDIO=$(usex !pulseaudio) - $(cmake_use_find_package pulseaudio PulseAudio) - -DDISABLE_SPEEXDSP=$(usex !speex) - -DDISABLE_V4L2=$(usex !v4l) - -DDISABLE_VLC=$(usex !vlc) - -DOBS_MULTIARCH_SUFFIX=${libdir#lib} - -DUNIX_STRUCTURE=1 - -DWITH_RTMPS=$(usex ssl) - - # deprecated and currently cause issues - # https://github.com/obsproject/obs-studio/pull/4560#issuecomment-826345608 - -DLIBOBS_PREFER_IMAGEMAGICK=no - ) - - if [[ ${PV} != 9999 ]]; then - mycmakeargs+=( - -DOBS_VERSION_OVERRIDE=${PV} - ) - fi - - if use lua || use python; then - mycmakeargs+=( - -DDISABLE_LUA=$(usex !lua) - -DDISABLE_PYTHON=$(usex !python) - -DENABLE_SCRIPTING=yes - ) - else - mycmakeargs+=( -DENABLE_SCRIPTING=no ) - fi - - cmake_src_configure -} - -src_install() { - cmake_src_install - - # external plugins may need some things not installed by default, install them here - insinto /usr/include/obs/UI/obs-frontend-api - doins UI/obs-frontend-api/obs-frontend-api.h -} - -pkg_postinst() { - xdg_pkg_postinst - - if ! use alsa && ! use pulseaudio; then - elog - elog "For the audio capture features to be available," - elog "either the 'alsa' or the 'pulseaudio' USE-flag needs to" - elog "be enabled." - elog - fi - - if use python; then - ewarn "This ebuild applies a patch that is not yet accepted upstream," - ewarn "and while it fixes Python support at least to some extent, it" - ewarn "may cause other issues." - ewarn "" - ewarn "Please report any such issues to the Gentoo maintainer." - fi -} diff --git a/media-video/obs-studio/obs-studio-27.2.4.ebuild b/media-video/obs-studio/obs-studio-27.2.4.ebuild new file mode 100644 index 000000000000..b9550e6de3df --- /dev/null +++ b/media-video/obs-studio/obs-studio-27.2.4.ebuild @@ -0,0 +1,204 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CMAKE_REMOVE_MODULES_LIST=( FindFreetype ) +LUA_COMPAT=( luajit ) +PYTHON_COMPAT=( python3_{8..10} ) + +inherit cmake lua-single python-single-r1 xdg + +OBS_BROWSER_COMMIT="915761778ec1eae99e740ad4bf63b40db3142ee2" +CEF_DIR="cef_binary_4638_linux64" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/obsproject/obs-studio.git" + EGIT_SUBMODULES=( plugins/obs-browser ) +else + SRC_URI="https://github.com/obsproject/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + SRC_URI+=" browser? ( https://github.com/obsproject/obs-browser/archive/${OBS_BROWSER_COMMIT}.tar.gz -> obs-browser-${OBS_BROWSER_COMMIT}.tar.gz )" + KEYWORDS="~amd64 ~ppc64 ~x86" +fi +SRC_URI+=" browser? ( https://cdn-fastly.obsproject.com/downloads/${CEF_DIR}.tar.bz2 )" + +DESCRIPTION="Software for Recording and Streaming Live Video Content" +HOMEPAGE="https://obsproject.com" + +LICENSE="GPL-2" +SLOT="0" +IUSE=" + +alsa browser decklink fdk jack lua nvenc pipewire + pulseaudio python speex +ssl truetype v4l vlc wayland +" +REQUIRED_USE=" + browser? ( || ( alsa pulseaudio ) ) + lua? ( ${LUA_REQUIRED_USE} ) + python? ( ${PYTHON_REQUIRED_USE} ) +" + +BDEPEND=" + lua? ( dev-lang/swig ) + python? ( dev-lang/swig ) +" +DEPEND=" + dev-libs/glib:2 + dev-libs/jansson:= + dev-qt/qtcore:5 + dev-qt/qtdeclarative:5 + dev-qt/qtgui:5[wayland?] + dev-qt/qtmultimedia:5 + dev-qt/qtnetwork:5 + dev-qt/qtquickcontrols:5 + dev-qt/qtsql:5 + dev-qt/qtsvg:5 + dev-qt/qtwidgets:5 + dev-qt/qtx11extras:5 + dev-qt/qtxml:5 + media-libs/libglvnd + media-libs/x264:= + media-video/ffmpeg:=[nvenc?,x264] + net-misc/curl + sys-apps/dbus + sys-apps/pciutils + sys-libs/zlib:= + virtual/udev + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXfixes + x11-libs/libXinerama + x11-libs/libXrandr + x11-libs/libxcb:= + alsa? ( media-libs/alsa-lib ) + browser? ( + app-accessibility/at-spi2-atk + app-accessibility/at-spi2-core:2 + dev-libs/atk + dev-libs/expat + dev-libs/glib + dev-libs/nspr + dev-libs/nss + media-libs/alsa-lib + media-libs/fontconfig + media-libs/mesa[gbm(+)] + net-print/cups + x11-libs/cairo + x11-libs/libdrm + x11-libs/libXScrnSaver + x11-libs/libXcursor + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrender + x11-libs/libXtst + ) + fdk? ( media-libs/fdk-aac:= ) + jack? ( virtual/jack ) + lua? ( ${LUA_DEPS} ) + pipewire? ( media-video/pipewire:= ) + pulseaudio? ( media-sound/pulseaudio ) + python? ( ${PYTHON_DEPS} ) + speex? ( media-libs/speexdsp ) + ssl? ( net-libs/mbedtls:= ) + truetype? ( + media-libs/fontconfig + media-libs/freetype + ) + v4l? ( media-libs/libv4l ) + vlc? ( media-video/vlc:= ) + wayland? ( dev-libs/wayland ) +" +RDEPEND="${DEPEND}" + +QA_PREBUILT=" + usr/lib*/obs-plugins/chrome-sandbox + usr/lib*/obs-plugins/libcef.so + usr/lib*/obs-plugins/libEGL.so + usr/lib*/obs-plugins/libGLESv2.so + usr/lib*/obs-plugins/libvk_swiftshader.so + usr/lib*/obs-plugins/libvulkan.so.1 + usr/lib*/obs-plugins/swiftshader/libEGL.so + usr/lib*/obs-plugins/swiftshader/libGLESv2.so +" + +pkg_setup() { + use lua && lua-single_pkg_setup + use python && python-single-r1_pkg_setup +} + +src_unpack() { + default + + if [[ ${PV} == 9999 ]]; then + git-r3_src_unpack + elif use browser; then + rm -d ${P}/plugins/obs-browser || die + mv obs-browser-${OBS_BROWSER_COMMIT} ${P}/plugins/obs-browser || die + fi +} + +src_configure() { + local libdir=$(get_libdir) + local mycmakeargs=( + $(usev browser -DCEF_ROOT_DIR=../${CEF_DIR}) + -DBUILD_BROWSER=$(usex browser) + -DBUILD_VST=no + -DENABLE_WAYLAND=$(usex wayland) + -DDISABLE_ALSA=$(usex !alsa) + -DDISABLE_DECKLINK=$(usex !decklink) + -DDISABLE_FREETYPE=$(usex !truetype) + -DDISABLE_JACK=$(usex !jack) + -DDISABLE_LIBFDK=$(usex !fdk) + -DENABLE_PIPEWIRE=$(usex pipewire) + -DDISABLE_PULSEAUDIO=$(usex !pulseaudio) + -DDISABLE_SPEEXDSP=$(usex !speex) + -DDISABLE_V4L2=$(usex !v4l) + -DDISABLE_VLC=$(usex !vlc) + -DOBS_MULTIARCH_SUFFIX=${libdir#lib} + -DUNIX_STRUCTURE=1 + -DWITH_RTMPS=$(usex ssl) + + # deprecated and currently cause issues + # https://github.com/obsproject/obs-studio/pull/4560#issuecomment-826345608 + -DLIBOBS_PREFER_IMAGEMAGICK=no + ) + + if [[ ${PV} != 9999 ]]; then + mycmakeargs+=( + -DOBS_VERSION_OVERRIDE=${PV} + ) + fi + + if use lua || use python; then + mycmakeargs+=( + -DDISABLE_LUA=$(usex !lua) + -DDISABLE_PYTHON=$(usex !python) + -DENABLE_SCRIPTING=yes + ) + else + mycmakeargs+=( -DENABLE_SCRIPTING=no ) + fi + + cmake_src_configure +} + +src_install() { + cmake_src_install + + # external plugins may need some things not installed by default, install them here + insinto /usr/include/obs/UI/obs-frontend-api + doins UI/obs-frontend-api/obs-frontend-api.h +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use alsa && ! use pulseaudio; then + elog + elog "For the audio capture features to be available," + elog "either the 'alsa' or the 'pulseaudio' USE-flag needs to" + elog "be enabled." + elog + fi +} diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest index ad9e2567d144..6dddcbf438eb 100644 --- a/media-video/pipewire/Manifest +++ b/media-video/pipewire/Manifest @@ -20,6 +20,7 @@ DIST pipewire-0.3.44.tar.gz 1731260 BLAKE2B 5dd4fbffa21c34984836d097028e48654e2c DIST pipewire-0.3.45_p20220205.tar.bz2 1296767 BLAKE2B 2dbdb1db9ffdaa36579d7a6ee459fa001997ecd7b4ece006cf1265267ce956b65c752e8dd51affbff9c17b2934480e1fb86c6950c70ab5ecc8d61063c31a410b SHA512 eae64ccf484c051a10a7a7ac11522de6cd3760c87414febe4868b76f22a8651b1bf94c04cd305fbacd1c6e7233fedb8008933c0dbd6809d4507eb27e633c3930 DIST pipewire-0.3.47.tar.gz 1746286 BLAKE2B a34e5378d99b2b3c98731baaabf695b7aab882e557635b1a7f1cf542a5012014685bcf4254e4a81d4aab2ec2c8dd804115d5a57eaf13cbb042db2d4232f4bdfc SHA512 2f188910b6a04ebc6ebf288e2f6eab8a227056fd9c5c97a8a279ebff0f88cd6b98b9bfc3bf6aff55104fa537ca04f2c89a8d45da7f2104e07e1b2e531f6cc21c DIST pipewire-0.3.48.tar.gz 1754730 BLAKE2B 2ba562cdfdb179ab7c36e1227405dd83cc2a9fda3b3496e8d9339a4efc607cfbc1866eb2a9b2be9d44a2e3e4412a2c8af593028086c7c6b81dd14aa7158f19a5 SHA512 67699015612dfafd12f8e0908fa028a1ae91f8ce3a6cd7aeaf313ce991c6cfa206ace24a559bf64631c0a690ea8aa03f878c7f73e3c123881f1b015cf6627c50 +DIST pipewire-0.3.49.tar.gz 1769037 BLAKE2B 2567bc98933bfbb295358886e8f97db2af2f0a6ee3c2586c1718e39f7eedaed8528a4663753ba56d3295e42576da015ce9278f22aff9bbd9ca43d883bff5a2f6 SHA512 36398872f7d7b31193d7a8885bbdfb415a122bd779874107a0642202dfd8408f39fddf769bfbae4533c2cc99fe9ef67903d50cc721e936aa4802229f1c46d809 EBUILD pipewire-0.3.30-r2.ebuild 9675 BLAKE2B df43c7f1ef0622d96741266e53dc343d9697903571c723c73f5267a8083539fde110ea8f6420f2c86e296d275ab45e4b9abacbd6f0310825a6121336cf11215b SHA512 47cdcbd48311cee24b45c05b3283c4bbe1231c44f6d55136966f887aa43ad69b789bf642e003b17aa6f1a3b59963e68047e4f8c396431cb05f6dd4d3161f8c14 EBUILD pipewire-0.3.36.ebuild 10263 BLAKE2B 033b26477ad91c843e9307504ce8eddcad7977a386925a1960409767946a88ac539954c7647075bb48ac373b4e36fecf0bbdb5d50351213b51465ea298cad336 SHA512 38d6225ab02d31d1fe33723f7c14a385648853b5f4f84cfd13fcf7f91489dffc2c5fbac5f649bdf80bdd9a4bd1b19977bae59eba83beca9c3d9e34030f6f332b EBUILD pipewire-0.3.43-r3.ebuild 11620 BLAKE2B 64ff8aaaec2894008dfb32bbbcd6f8e6f9c0480089d3f19b5b1b2dec57b2ddf5880a11f9b4e383efd0ce05e1a4480671042947586deae5a849404dc7d9de17b7 SHA512 86e838d0792b78b46186e1645acc241e0bce35bae2ff58e3bf41c41f491cbf24e9cb82fa68f18adb1016d5df51659963e74c66578bdefe599f6f7c0f6ceade98 @@ -27,5 +28,6 @@ EBUILD pipewire-0.3.44-r1.ebuild 11766 BLAKE2B bbd2c2da083e950bc17440871c8d5120e EBUILD pipewire-0.3.45_p20220205.ebuild 12746 BLAKE2B ea55e2256447631293e8cb5b509202d14c3ada1fe6589cfc0a75ce7028a3f3f5cf5d68bc7b6bca7c8059a56d1c1c0f5fb99a494170d9b8c2238b37da7e1ecd84 SHA512 eb0d8ad4df48c8265159ac75c340be3b20d665bcfb9610dbc45dc3ea0cfb6408e01b9ec6374ce53fb536075725b09a9d5381edfedad3c3ccab812db153c739b5 EBUILD pipewire-0.3.47-r1.ebuild 12835 BLAKE2B 4276d587ae84c78692676853430541e454a252ce54d5909dcfa1c8e9bb69aefdc3178073618a91354865faf0b14b30651b2cedd95b079e138e6e32817d2de3d7 SHA512 46f43ace5ec82aac295e70b95904227961c2fbaf242d31809b1bc3f17b38c4943f62de29bcbfeea94d63cc545e2d05e2f3726562fa8f5931cf062065ad8acb98 EBUILD pipewire-0.3.48-r1.ebuild 12781 BLAKE2B 41ee2277e1f8b823e0c1cafd66061596cc3228e048ed0d33711df3821ad3721960d87a762e1cac58097835fe7faf0164356136eba45412efc8dfb0174bca4d36 SHA512 21ec3b4a6698d040685cf97d67f7e09ccd20f8e1b7c4225300020ec703dfd6b7e58ba57d325e048b7504506baa108f5179f264c2f10231e839e7d0251e89af5c +EBUILD pipewire-0.3.49.ebuild 12781 BLAKE2B 41ee2277e1f8b823e0c1cafd66061596cc3228e048ed0d33711df3821ad3721960d87a762e1cac58097835fe7faf0164356136eba45412efc8dfb0174bca4d36 SHA512 21ec3b4a6698d040685cf97d67f7e09ccd20f8e1b7c4225300020ec703dfd6b7e58ba57d325e048b7504506baa108f5179f264c2f10231e839e7d0251e89af5c EBUILD pipewire-9999.ebuild 12781 BLAKE2B 41ee2277e1f8b823e0c1cafd66061596cc3228e048ed0d33711df3821ad3721960d87a762e1cac58097835fe7faf0164356136eba45412efc8dfb0174bca4d36 SHA512 21ec3b4a6698d040685cf97d67f7e09ccd20f8e1b7c4225300020ec703dfd6b7e58ba57d325e048b7504506baa108f5179f264c2f10231e839e7d0251e89af5c MISC metadata.xml 1617 BLAKE2B e24aeb1644a4fe0a9ca35ad078149c1736de01820ee78d78cd733b06313a82294913601ceab2f35eee98a608bc5c25d184d285810916c42902515058a57e13b4 SHA512 992b300e69e808ecd51c4e3073941d7e577889e4d8d8573b7643a49fb3bb7de1fb2c48d4f99c8e703c5cd7d03bd55f6cffa2c1ccca052f89d6a4cabccb09a76e diff --git a/media-video/pipewire/pipewire-0.3.49.ebuild b/media-video/pipewire/pipewire-0.3.49.ebuild new file mode 100644 index 000000000000..0a674de08b12 --- /dev/null +++ b/media-video/pipewire/pipewire-0.3.49.ebuild @@ -0,0 +1,352 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..10} ) + +inherit meson-multilib optfeature prefix python-any-r1 systemd udev + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" + inherit git-r3 +else + if [[ ${PV} == *_p* ]] ; then + MY_COMMIT="" + SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2" + S="${WORKDIR}"/${PN}-${MY_COMMIT} + else + SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz" + fi + + KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +DESCRIPTION="Multimedia processing graphs" +HOMEPAGE="https://pipewire.org/" + +LICENSE="MIT LGPL-2.1+ GPL-2" +# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49 +SLOT="0/0.4" +IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk lv2 pipewire-alsa ssl system-service systemd test v4l X zeroconf" + +# Once replacing system JACK libraries is possible, it's likely that +# jack-client IUSE will need blocking to avoid users accidentally +# configuring their systems to send PW sink output to the emulated +# JACK's sink - doing so is likely to yield no audio, cause a CPU +# cycles consuming loop (and may even cause GUI crashes)! + +REQUIRED_USE=" + jack-sdk? ( !jack-client ) + system-service? ( systemd ) +" + +RESTRICT="!test? ( test )" + +BDEPEND=" + >=dev-util/meson-0.59 + virtual/pkgconfig + ${PYTHON_DEPS} + $(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]') + doc? ( + app-doc/doxygen + media-gfx/graphviz + ) +" +RDEPEND=" + acct-group/audio + media-libs/alsa-lib + sys-apps/dbus[${MULTILIB_USEDEP}] + sys-libs/readline:= + sys-libs/ncurses:=[unicode(+)] + virtual/libintl[${MULTILIB_USEDEP}] + virtual/libudev[${MULTILIB_USEDEP}] + bluetooth? ( + media-libs/fdk-aac + media-libs/libldac + media-libs/libfreeaptx + media-libs/sbc + >=net-wireless/bluez-4.101:= + virtual/libusb:1 + ) + echo-cancel? ( media-libs/webrtc-audio-processing:0 ) + extra? ( + >=media-libs/libsndfile-1.0.20 + ) + gstreamer? ( + >=dev-libs/glib-2.32.0:2 + >=media-libs/gstreamer-1.10.0:1.0 + media-libs/gst-plugins-base:1.0 + ) + jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] ) + jack-sdk? ( + !media-sound/jack-audio-connection-kit + !media-sound/jack2 + ) + lv2? ( media-libs/lilv ) + pipewire-alsa? ( + >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] + !media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] + ) + !pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] ) + ssl? ( dev-libs/openssl:= ) + systemd? ( sys-apps/systemd ) + system-service? ( + acct-user/pipewire + acct-group/pipewire + ) + v4l? ( media-libs/libv4l ) + X? ( + media-libs/libcanberra + x11-libs/libX11 + x11-libs/libXfixes + ) + zeroconf? ( net-dns/avahi ) +" + +DEPEND="${RDEPEND}" + +# TODO: Consider use cases where pipewire is not used for driving audio +# Doing so with WirePlumber currently involves editing Lua scripts +PDEPEND=">=media-video/wireplumber-0.4.8-r3" + +# Present RDEPEND that are currently always disabled due to the PW +# code using them being required to be disabled by Gentoo guidelines +# (i.e. developer binaries not meant for users) and unready code +# media-video/ffmpeg:= +# media-libs/libsdl2 +# >=media-libs/vulkan-loader-1.1.69 +# +# Ditto for DEPEND +# >=dev-util/vulkan-headers-1.1.69 + +DOCS=( {README,INSTALL}.md NEWS ) + +PATCHES=( + "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch +) + +# limitsdfile related code taken from =sys-auth/realtime-base-0.1 +# with changes as necessary. +limitsdfile=40-${PN}.conf + +python_check_deps() { + has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" +} + +src_prepare() { + default + + einfo "Generating ${limitsdfile}" + cat > ${limitsdfile} <<- EOF || die + # Start of ${limitsdfile} from ${P} + + @audio - memlock 256 + + $(use system-service && { + echo @pipewire - rtprio 95 + echo @pipewire - priority -19 + echo @pipewire - memlock 4194304 + }) + + # End of ${limitsdfile} from ${P} + EOF +} + +multilib_src_configure() { + local emesonargs=( + -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} + + $(meson_native_use_feature zeroconf avahi) + $(meson_native_use_feature doc docs) + $(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone + $(meson_native_enabled man) + $(meson_feature test tests) + -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests + $(meson_native_use_feature gstreamer) + $(meson_native_use_feature gstreamer gstreamer-device-provider) + $(meson_native_use_feature systemd) + + $(meson_native_use_feature system-service systemd-system-service) + -Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)" + -Dsystemd-user-unit-dir="$(systemd_get_userunitdir)" + + $(meson_native_use_feature systemd systemd-user-service) + $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph + -Dspa-plugins=enabled + -Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible) + -Daudiomixer=enabled # Matches upstream + -Daudioconvert=enabled # Matches upstream + $(meson_native_use_feature bluetooth bluez5) + $(meson_native_use_feature bluetooth bluez5-backend-hsp-native) + $(meson_native_use_feature bluetooth bluez5-backend-hfp-native) + $(meson_native_use_feature bluetooth bluez5-backend-ofono) + $(meson_native_use_feature bluetooth bluez5-backend-hsphfpd) + $(meson_native_use_feature bluetooth bluez5-codec-aac) + $(meson_native_use_feature bluetooth bluez5-codec-aptx) + $(meson_native_use_feature bluetooth bluez5-codec-ldac) + $(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters) + $(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889 + -Dcontrol=enabled # Matches upstream + -Daudiotestsrc=enabled # Matches upstream + -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020 + -Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph + $(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client + $(meson_use jack-sdk jack-devel) + $(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '') + -Dsupport=enabled # Miscellaneous/common plugins, such as null sink + -Devl=disabled # Matches upstream + -Dtest=disabled # fakesink and fakesource plugins + $(meson_native_use_feature lv2) + $(meson_native_use_feature v4l v4l2) + -Dlibcamera=disabled # libcamera is not in Portage tree + $(meson_native_use_feature ssl raop) + -Dvideoconvert=enabled # Matches upstream + -Dvideotestsrc=enabled # Matches upstream + -Dvolume=enabled # Matches upstream + -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream) + $(meson_native_use_feature extra pw-cat) + -Dudev=enabled + -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d" + -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install) + $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat) + -Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build + + # Just for bell sounds in X11 right now. + $(meson_native_use_feature X x11) + $(meson_native_use_feature X x11-xfixes) + $(meson_native_use_feature X libcanberra) + ) + + meson_src_configure +} + +multilib_src_install() { + # Our custom DOCS do not exist in multilib source directory + DOCS= meson_src_install +} + +multilib_src_install_all() { + einstalldocs + + insinto /etc/security/limits.d + doins ${limitsdfile} + + if use pipewire-alsa; then + dodir /etc/alsa/conf.d + # These will break if someone has /etc that is a symbolic link to a subfolder! See #724222 + # And the current dosym8 -r implementation is likely affected by the same issue, too. + dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf + dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf + fi + + if ! use systemd; then + insinto /etc/xdg/autostart + newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop + + exeinto /usr/bin + newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher + eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher + fi +} + +pkg_postinst() { + elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users" + elog "using PipeWire. Do it either manually or add yourself" + elog "to the 'audio' group:" + elog + elog " usermod -aG audio " + elog + + if ! use jack-sdk; then + elog "JACK emulation is incomplete and not all programs will work. PipeWire's" + elog "alternative libraries have been installed to a non-default location." + elog "To use them, put pw-jack before every JACK application." + elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack" + elog "provider is still needed to compile the JACK applications themselves." + elog + fi + + if use systemd; then + elog "When switching from PulseAudio, you may need to disable PulseAudio:" + elog + elog " systemctl --user disable pulseaudio.service pulseaudio.socket" + elog + elog "To use PipeWire, the user units must be manually enabled" + elog "by running this command as each user you use for desktop activities:" + elog + elog " systemctl --user enable pipewire.socket pipewire-pulse.socket" + elog + elog "A reboot is recommended to avoid interferences from still running" + elog "PulseAudio daemon." + elog + elog "Both new users and those upgrading need to enable WirePlumber" + elog "for relevant users:" + elog + elog " systemctl --user disable pipewire-media-session.service" + elog " systemctl --user --force enable wireplumber.service" + elog + elog "Root user may replace --user with --global to change system default" + elog "configuration for all of the above commands." + else + ewarn "PipeWire daemon startup has been moved to a launcher script!" + ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no" + ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all" + ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)" + ewarn + ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from" + ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly" + ewarn "advised that a D-Bus user session is set up before starting the script." + ewarn + if has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon'; then + elog "This ebuild auto-enables PulseAudio replacement. Because of that, users" + elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable" + elog "autospawning of the original daemon by setting:" + elog + elog " autospawn = no" + elog + elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!" + elog + elog "Alternatively, if replacing PulseAudio daemon is not desired, edit" + elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant" + elog "command:" + elog + elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &" + elog + fi + elog "NOTE:" + elog "Starting with PipeWire-0.3.30, this package is no longer installing its config" + elog "into ${EROOT}/etc/pipewire by default. In case you need to change" + elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire" + elog "and just override the sections you want to change." + fi + elog + + elog "For latest tips and tricks, troubleshooting information and documentation" + elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire" + elog + + optfeature_header "The following can be installed for optional runtime features:" + optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit + + if has_version 'net-misc/ofono' ; then + ewarn "Native backend has become default. Please disable oFono via:" + if systemd_is_booted ; then + ewarn "systemctl disable ofono" + else + ewarn "rc-update delete ofono" + fi + ewarn + fi + + if use system-service; then + ewarn + ewarn "WARNING: you have enabled the system-service USE flag, which installs" + ewarn "the system-wide systemd units that enable PipeWire to run as a system" + ewarn "service. This is more than likely NOT what you want. You are strongly" + ewarn "advised not to enable this mode and instead stick with systemd user" + ewarn "units. The default configuration files will likely not work out of" + ewarn "box, and you are on your own with configuration." + ewarn + fi +} diff --git a/media-video/simplescreenrecorder/Manifest b/media-video/simplescreenrecorder/Manifest index e619e8d24572..29e61444bc17 100644 --- a/media-video/simplescreenrecorder/Manifest +++ b/media-video/simplescreenrecorder/Manifest @@ -1,7 +1,6 @@ -AUX simplescreenrecorder-0.4.2-cmake.patch 968 BLAKE2B d5d750a4ce9520b6c48f6661865d6c18a253d4af00839d42954f690a690d7a3eeadab48c09d5fcc3b391f68cfac31d75606d7e3cc4dad01144804ed7a28c7296 SHA512 6c91ad4faaa9afa3077d6ac12d9e1015ba858a8b2d629d4a1fb9f2a2dd871c2c8126364b10af3cda79fee9c9929b5eb34d98fb674d01f0fb4beed504a4efb646 -DIST simplescreenrecorder-0.4.2.tar.gz 1912151 BLAKE2B d8a4605a82e49693f94ecfac8853405a660a4528c3001961b1734d4387e49eeb4c91603929b3cd5d5b67a23a6ec839ace606b29666b916960f10322e6ec1b452 SHA512 60b0127d7f82f294e5a8f015363e37a10b5492089a0178b07a5e383c7e4b857102ed2bda7a95e3c67293a255f892481aeaf4037c583320d68d463637348ed7f7 DIST simplescreenrecorder-0.4.3.tar.gz 1918958 BLAKE2B 9d0e07255c7345d8752a8f49fd2e7947db4058c6e6bdbe1239955f96f06543eff24b207bcd049d07eb7d3d5815ad5f1c77721e1fa139f940b1deb3b3da7a46e0 SHA512 c930045d6763bdb026cee80fe82aa0e973de7a1bd92bce9650c5cae627f5d8f8d913f260024410a41170081c8eda61c1aea346bc2d9740b8dc169a3952b3bfd0 -EBUILD simplescreenrecorder-0.4.2.ebuild 2745 BLAKE2B cf20147685ba950c89c5cb20ae81b2d9d42d73010c002662caa3481814f2c2c387095e2e173fd75c67c884a01e92eae24edd61d474a6ef5379c4dab5257a5d88 SHA512 88d683a6185c7b3bc20930eddc1c000ba4521766e543055d5b01a9b7dadabbdf946e2deb0e8f8ac03abfeb0fe86dffb3ec7ceef5be5ba01b9b19ee3b6bc36fb1 +DIST simplescreenrecorder-0.4.4.tar.gz 1961269 BLAKE2B 05c7635840f8461ab324f740f0cc554eb544ed91b00cdf39c80f861e6a8631f59afbdcc9fe958830b0f1e31eedb90f11d29c114ce4bbb612f1756264502f069f SHA512 a90549a2709490482d70559073e505e669417a93abf16124b98c021e6d2bf08b91b53eb68e006df4f80fcee9fe4da2624bf8de979618953adb3f37eb1d471525 EBUILD simplescreenrecorder-0.4.3.ebuild 2804 BLAKE2B a126ce612b02720d487f3cee881bb0def3244f538d14a789ecdab0920e795801a88888f9df5570ca3a0588099cce56e8c93c8d64b78efedfa0c7ad66eb21fa27 SHA512 b9d8e773d680a2bb2f40ce19c0b8781009f8d1734f8f14bc22e891dd8582befb941bc5e358425151b5ed7d51f5c323f3bfef2ff6589a1198f9b97e24dc97a38e -EBUILD simplescreenrecorder-9999.ebuild 2806 BLAKE2B 3ea243a40385742049abd81cb976d836f497486b8b9c68e816d9844d9920fbb2a94d7e64fb99679397a1e57b9b4473a85efdbb1931bc58ed805dd7c18d5de34b SHA512 c74b87b3bc53b1292cccd416870648bcf76eb6b7ca181a6a7e16e3974235b1823dadfda3dd296a413b00ca6f0afc31c0cd99e6be90324acaf90af6454eb1df6f +EBUILD simplescreenrecorder-0.4.4.ebuild 2922 BLAKE2B f579d6fc82b09d1697abca25e69fd8d049aaebb489ab7ad3a1e18ba27a7dd6d8ae5181ddae3a85cc5fed8f30444c16805496e1cc046713caea4d568a28e3c6e6 SHA512 c99e945d9b09fc7ea220089bfcd1db9034901b6152ae3d3879ece709679ec1b99bc10f422b8f374ac40a758128367757399794b090519f655b17df7196b024d0 +EBUILD simplescreenrecorder-9999.ebuild 2922 BLAKE2B f579d6fc82b09d1697abca25e69fd8d049aaebb489ab7ad3a1e18ba27a7dd6d8ae5181ddae3a85cc5fed8f30444c16805496e1cc046713caea4d568a28e3c6e6 SHA512 c99e945d9b09fc7ea220089bfcd1db9034901b6152ae3d3879ece709679ec1b99bc10f422b8f374ac40a758128367757399794b090519f655b17df7196b024d0 MISC metadata.xml 509 BLAKE2B 7a7186a614ad537259b0478e457918c9ed4f06f6e69f3b6c71ddfe31d019cfb44cf9c73171deca2949f7279e6f9baf7100f843beaf8eaac0cc3066ba3ea21e45 SHA512 714073a20e3acb9e903891a96097b5963e8ef01f39c7a98fe1d18b8b3c1f25f525cbd07dcbac05f090948253113182be4813b6336baa297b2d3c99c8b190377e diff --git a/media-video/simplescreenrecorder/files/simplescreenrecorder-0.4.2-cmake.patch b/media-video/simplescreenrecorder/files/simplescreenrecorder-0.4.2-cmake.patch deleted file mode 100644 index 9f8bc408331e..000000000000 --- a/media-video/simplescreenrecorder/files/simplescreenrecorder-0.4.2-cmake.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 5330a3d65b7877f5f3691c20df35fbb7856d6f38 Mon Sep 17 00:00:00 2001 -From: Andreas Sturmlechner -Date: Thu, 11 Jan 2018 21:28:15 +0100 -Subject: [PATCH] Fix Qt5LinguistTools detection/lrelease binary location - -Correctly find the Qt5 module that provides the path to Qt5-based lrelease. -Available since >= Qt-5.3.1 which is well below the current minimum version. ---- - src/translations/CMakeLists.txt | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/translations/CMakeLists.txt b/src/translations/CMakeLists.txt -index d9afded..174acea 100644 ---- a/src/translations/CMakeLists.txt -+++ b/src/translations/CMakeLists.txt -@@ -1,7 +1,8 @@ - # translations for 'simplescreenrecorder' executable - - if(WITH_QT5) -- find_program(LRELEASE NAMES lrelease-qt5 lrelease) -+ find_package(Qt5LinguistTools REQUIRED) -+ set(LRELEASE Qt5::lrelease) - else() - find_program(LRELEASE NAMES lrelease-qt4 lrelease) - endif() --- -2.29.2 - diff --git a/media-video/simplescreenrecorder/simplescreenrecorder-0.4.2.ebuild b/media-video/simplescreenrecorder/simplescreenrecorder-0.4.2.ebuild deleted file mode 100644 index f0ac1589ed52..000000000000 --- a/media-video/simplescreenrecorder/simplescreenrecorder-0.4.2.ebuild +++ /dev/null @@ -1,101 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -CMAKE_ECLASS=cmake -inherit cmake-multilib flag-o-matic xdg - -DESCRIPTION="A Simple Screen Recorder" -HOMEPAGE="https://www.maartenbaert.be/simplescreenrecorder" -LICENSE="GPL-3" -PKGNAME="ssr" -if [[ ${PV} = 9999 ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/MaartenBaert/${PKGNAME}.git" - EGIT_BOOTSTRAP="" -else - SRC_URI="https://github.com/MaartenBaert/${PKGNAME}/archive/${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="amd64 x86" - S="${WORKDIR}/${PKGNAME}-${PV}" -fi - -SLOT="0" -IUSE="+asm jack mp3 pulseaudio theora vorbis vpx x264" - -RDEPEND=" - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtwidgets:5 - dev-qt/qtx11extras:5 - media-libs/alsa-lib:0= - media-libs/libglvnd[${MULTILIB_USEDEP},X] - media-video/ffmpeg[vorbis?,vpx?,x264?,mp3?,theora?] - x11-libs/libX11[${MULTILIB_USEDEP}] - x11-libs/libXext - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/libXi - x11-libs/libXinerama - virtual/glu[${MULTILIB_USEDEP}] - jack? ( virtual/jack ) - pulseaudio? ( media-sound/pulseaudio ) -" -DEPEND="${RDEPEND}" -BDEPEND="dev-qt/linguist-tools:5" - -PATCHES=( "${FILESDIR}/${P}-cmake.patch" ) # bug #624480, in git master - -pkg_pretend() { - if [[ "${ABI}" == amd64 ]]; then - elog "You may want to add USE flag 'abi_x86_32' when running a 64bit system" - elog "When added 32bit GLInject libraries are also included. This is" - elog "required if you want to use OpenGL recording on 32bit applications." - elog - fi - - if has_version media-video/ffmpeg[x264] && has_version media-libs/x264[10bit] ; then - ewarn - ewarn "media-libs/x264 is currently built with 10bit useflag." - ewarn "This is known to prevent simplescreenrecorder from recording x264 videos" - ewarn "correctly. Please build media-libs/x264 without 10bit if you want to " - ewarn "record videos with x264." - ewarn - fi -} - -pkg_setup() { - # QT requires -fPIC. Compile fails otherwise. - # Recently removed from the default compile options upstream - # https://github.com/MaartenBaert/ssr/commit/25fe1743058f0d1f95f6fbb39014b6ac146b5180 - append-flags -fPIC -} - -src_prepare() { - # required because xdg.eclass overrides default cmake_src_prepare - cmake_src_prepare -} - -multilib_src_configure() { - local mycmakeargs=( - -DENABLE_X86_ASM="$(usex asm)" - -DWITH_PULSEAUDIO="$(multilib_native_usex pulseaudio)" - -DWITH_JACK="$(multilib_native_usex jack)" - -DWITH_GLINJECT="true" - ) - - if multilib_is_native_abi ; then - mycmakeargs+=( - -DENABLE_32BIT_GLINJECT="false" - -DWITH_QT5="true" - ) - else - mycmakeargs+=( - # https://bugs.gentoo.org/660438 - -DCMAKE_INSTALL_LIB32DIR="$(get_libdir)" - -DENABLE_32BIT_GLINJECT="true" - -DWITH_SIMPLESCREENRECORDER="false" - ) - fi - - cmake_src_configure -} diff --git a/media-video/simplescreenrecorder/simplescreenrecorder-0.4.4.ebuild b/media-video/simplescreenrecorder/simplescreenrecorder-0.4.4.ebuild new file mode 100644 index 000000000000..5c2e985195d7 --- /dev/null +++ b/media-video/simplescreenrecorder/simplescreenrecorder-0.4.4.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CMAKE_ECLASS=cmake +inherit cmake-multilib flag-o-matic xdg + +DESCRIPTION="A Simple Screen Recorder" +HOMEPAGE="https://www.maartenbaert.be/simplescreenrecorder" +LICENSE="GPL-3" +PKGNAME="ssr" +if [[ ${PV} = 9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/MaartenBaert/${PKGNAME}.git" + EGIT_BOOTSTRAP="" +else + SRC_URI="https://github.com/MaartenBaert/${PKGNAME}/archive/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" + S="${WORKDIR}/${PKGNAME}-${PV}" +fi + +SLOT="0" +IUSE="+asm jack mp3 opengl pulseaudio theora v4l vorbis vpx x264" + +RDEPEND=" + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtwidgets:5 + dev-qt/qtx11extras:5 + media-libs/alsa-lib:0= + media-video/ffmpeg[vorbis?,vpx?,x264?,mp3?,theora?] + x11-libs/libX11[${MULTILIB_USEDEP}] + x11-libs/libXext + x11-libs/libXfixes[${MULTILIB_USEDEP}] + x11-libs/libXi + x11-libs/libXinerama + virtual/glu[${MULTILIB_USEDEP}] + v4l? ( media-libs/libv4l ) + jack? ( virtual/jack ) + opengl? ( media-libs/libglvnd[${MULTILIB_USEDEP},X] ) + pulseaudio? ( media-sound/pulseaudio ) +" +DEPEND="${RDEPEND}" +BDEPEND="dev-qt/linguist-tools:5" + +REQUIRED_USE="abi_x86_32? ( opengl )" + +pkg_pretend() { + if [[ "${ABI}" == amd64 ]] ; then + einfo "You may want to add USE flag 'abi_x86_32' when running a 64bit system" + einfo "When added 32bit GLInject libraries are also included. This is" + einfo "required if you want to use OpenGL recording on 32bit applications." + einfo + fi + + if has_version media-video/ffmpeg[x264] && has_version media-libs/x264[10bit] ; then + ewarn + ewarn "media-libs/x264 is currently built with 10bit useflag." + ewarn "This is known to prevent simplescreenrecorder from recording x264 videos" + ewarn "correctly. Please build media-libs/x264 without 10bit if you want to " + ewarn "record videos with x264." + ewarn + fi +} + +pkg_setup() { + # QT requires -fPIC. Compile fails otherwise. + # Recently removed from the default compile options upstream + # https://github.com/MaartenBaert/ssr/commit/25fe1743058f0d1f95f6fbb39014b6ac146b5180 + append-flags -fPIC +} + +src_prepare() { + # required because xdg.eclass overrides default cmake_src_prepare + cmake_src_prepare +} + +multilib_src_configure() { + local mycmakeargs=( + -DENABLE_JACK_METADATA="$(multilib_native_usex jack)" + -DENABLE_X86_ASM="$(usex asm)" + -DWITH_OPENGL_RECORDING="$(usex opengl)" + -DWITH_PULSEAUDIO="$(multilib_native_usex pulseaudio)" + -DWITH_JACK="$(multilib_native_usex jack)" + -DWITH_GLINJECT="$(usex opengl)" + -DWITH_V4L2="$(multilib_native_usex v4l)" + ) + + if multilib_is_native_abi ; then + mycmakeargs+=( + -DENABLE_32BIT_GLINJECT="false" + -DWITH_QT5="true" + ) + else + mycmakeargs+=( + # https://bugs.gentoo.org/660438 + -DCMAKE_INSTALL_LIB32DIR="$(get_libdir)" + -DENABLE_32BIT_GLINJECT="true" + -DWITH_SIMPLESCREENRECORDER="false" + ) + fi + + cmake_src_configure +} diff --git a/media-video/simplescreenrecorder/simplescreenrecorder-9999.ebuild b/media-video/simplescreenrecorder/simplescreenrecorder-9999.ebuild index 337ba993d166..5c2e985195d7 100644 --- a/media-video/simplescreenrecorder/simplescreenrecorder-9999.ebuild +++ b/media-video/simplescreenrecorder/simplescreenrecorder-9999.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 CMAKE_ECLASS=cmake inherit cmake-multilib flag-o-matic xdg @@ -21,7 +21,7 @@ else fi SLOT="0" -IUSE="+asm jack mp3 pulseaudio theora v4l vorbis vpx x264" +IUSE="+asm jack mp3 opengl pulseaudio theora v4l vorbis vpx x264" RDEPEND=" dev-qt/qtcore:5 @@ -29,7 +29,6 @@ RDEPEND=" dev-qt/qtwidgets:5 dev-qt/qtx11extras:5 media-libs/alsa-lib:0= - media-libs/libglvnd[${MULTILIB_USEDEP},X] media-video/ffmpeg[vorbis?,vpx?,x264?,mp3?,theora?] x11-libs/libX11[${MULTILIB_USEDEP}] x11-libs/libXext @@ -39,17 +38,20 @@ RDEPEND=" virtual/glu[${MULTILIB_USEDEP}] v4l? ( media-libs/libv4l ) jack? ( virtual/jack ) + opengl? ( media-libs/libglvnd[${MULTILIB_USEDEP},X] ) pulseaudio? ( media-sound/pulseaudio ) " DEPEND="${RDEPEND}" BDEPEND="dev-qt/linguist-tools:5" +REQUIRED_USE="abi_x86_32? ( opengl )" + pkg_pretend() { - if [[ "${ABI}" == amd64 ]]; then - elog "You may want to add USE flag 'abi_x86_32' when running a 64bit system" - elog "When added 32bit GLInject libraries are also included. This is" - elog "required if you want to use OpenGL recording on 32bit applications." - elog + if [[ "${ABI}" == amd64 ]] ; then + einfo "You may want to add USE flag 'abi_x86_32' when running a 64bit system" + einfo "When added 32bit GLInject libraries are also included. This is" + einfo "required if you want to use OpenGL recording on 32bit applications." + einfo fi if has_version media-video/ffmpeg[x264] && has_version media-libs/x264[10bit] ; then @@ -78,9 +80,10 @@ multilib_src_configure() { local mycmakeargs=( -DENABLE_JACK_METADATA="$(multilib_native_usex jack)" -DENABLE_X86_ASM="$(usex asm)" + -DWITH_OPENGL_RECORDING="$(usex opengl)" -DWITH_PULSEAUDIO="$(multilib_native_usex pulseaudio)" -DWITH_JACK="$(multilib_native_usex jack)" - -DWITH_GLINJECT="true" + -DWITH_GLINJECT="$(usex opengl)" -DWITH_V4L2="$(multilib_native_usex v4l)" ) diff --git a/media-video/totem/Manifest b/media-video/totem/Manifest index 6022bc4e30a3..03068d726164 100644 --- a/media-video/totem/Manifest +++ b/media-video/totem/Manifest @@ -1,5 +1,7 @@ AUX 3.38.0-gst-inspect-sandbox.patch 1823 BLAKE2B 14be244c4bd9d96264ff776fb68381df5ea153fac41bf358e2253628bdb09733846a9331e6b129a1abd9186b967357549d6247d5ac021a37362a34206d8e17d8 SHA512 45f7602233b2f64debe1624442a2f6a21e0bf0b2cddf06b49dcdae7dcf0fc0ae6c3f16e5ec2603340df7cd89271501be70a31a0e0b0a737f85f667ac10c3ad53 AUX 3.38.2-fix-build-with-meson-0.61.1.patch 1170 BLAKE2B 63303d911e4ace3025a9ded387afb033f7d2719be681d340d1f270fa82dbbc47382177102429e0f11fcc8d3f41773c900419e0b57dd4971d6cccaa2928ea86b3 SHA512 8bbe98c9974004ca5f933b13185356ca258d557263b3a9272a748f5bb52b777dda3fc98f487f80ab5a9ff8513264e3c072606c38293d1b50e277df650e6f5b04 DIST totem-3.38.2.tar.xz 2190700 BLAKE2B 3b3b8166cf674b882a3a66a5729d794489fe779944bb277fad35fe027b56270e6ef578590924309b9fe28aca0544754696acd98d31a7243a33a533abe73ed6fd SHA512 1dac3a0afe31b47147a129c70dddf7480446fc1bb5432f9cd537384e3be25da6a9b87918fa7bcf7e7cd68c8dac45e75f6b1f7c1885edefac846c52f96b40567f +DIST totem-42.0.tar.xz 2476952 BLAKE2B 45eac2e586c3c17eab9f570812ae2c79812859635d1ef6df1d0d2c526436558dbab9581699ce86d3e2cd3048f5d65bbd1927c3faa5f7575a5468d0813ce68bcc SHA512 67872d06a7d691a23b97255c5ee5f8d90a1fdf2b36f064f26c10fb4958733772eea456aab4f0fe2c89d23ec987cf5b9c2383c97ba5bec45247953296f1cd6c4b EBUILD totem-3.38.2.ebuild 2890 BLAKE2B b14e07b5ebcfeabfe4c69fd8e662d377dd193524421ecf671d1fd8ecbf22ef2d805bfca147420403ce8ef4bc817dab1621127e1966f154c425596e4e0dc9de37 SHA512 a8f131f6967ade9636e03781502b4dd4c78797afaf733e2474c392b8af325ec6471585e1ad8857fe76e5e11db37ed18fba9ee12d7ce19c08b9e8f7ec61cee09d +EBUILD totem-42.0-r1.ebuild 2867 BLAKE2B 5458a5616a78c361ca8620cb4fde4ad0048e12f458a339089628e78d8786f69b86d9f6ba514bb1e08cac376b096f0edab2e99972bd77f6fb2866560283589a79 SHA512 1ad5ad3ad62907a07806bb493db41d1fcc1092a31d4633ada57d27fb110ff498597e2cbf9de0ea02bedb010f24315d5b01d0e74873228347f919a573763337d2 MISC metadata.xml 1018 BLAKE2B 1cb6fbaa86e0aa6bc60901e7e0b30765de1bea563666af206bfd75c8ed779332e1536dfebbe8d83d0a940bb4266157d0673b19f64021c76e3fa549a208945335 SHA512 3cb85a567ae7573ec0cf7cc12440ff3d879a3566b4773930752142b9e83ab366b983a470d3ae1f212acd78b217136c1ee681ff7d98d1e980e769867b1791d1d6 diff --git a/media-video/totem/totem-42.0-r1.ebuild b/media-video/totem/totem-42.0-r1.ebuild new file mode 100644 index 000000000000..cbc4522cdc97 --- /dev/null +++ b/media-video/totem/totem-42.0-r1.ebuild @@ -0,0 +1,122 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_REQ_USE="threads(+)" + +inherit gnome.org gnome2-utils meson virtualx xdg python-single-r1 + +DESCRIPTION="Media player for GNOME" +HOMEPAGE="https://wiki.gnome.org/Apps/Videos https://gitlab.gnome.org/GNOME/totem/" + +LICENSE="GPL-2+ LGPL-2+" +SLOT="0" +IUSE="gtk-doc +python test" +# see bug #359379 +REQUIRED_USE=" + python? ( ${PYTHON_REQUIRED_USE} ) +" +RESTRICT="!test? ( test )" + +KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~x86" + +DEPEND=" + >=dev-libs/glib-2.56.0:2 + >=x11-libs/gtk+-3.22.0:3[introspection] + >=gui-libs/libhandy-1.5.0:1 + >=media-libs/gstreamer-1.6.0:1.0 + >=media-libs/gst-plugins-base-1.6.0:1.0[pango] + >=media-libs/gst-plugins-good-1.6.0:1.0 + >=media-libs/grilo-0.3.0:0.3[playlist] + >=dev-libs/libpeas-1.1.0[gtk] + >=dev-libs/totem-pl-parser-3.26.5:0=[introspection] + gnome-base/gnome-desktop:3= + gnome-base/gsettings-desktop-schemas + >=x11-libs/cairo-1.14 + x11-libs/gdk-pixbuf:2 + >=dev-libs/gobject-introspection-1.54:= + + python? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + >=dev-python/pygobject-2.90.3:3[${PYTHON_USEDEP}] + ') + ) +" +RDEPEND="${DEPEND} + media-plugins/grilo-plugins:0.3 + media-plugins/gst-plugins-gtk:1.0[opengl] + media-plugins/gst-plugins-meta:1.0 + media-plugins/gst-plugins-taglib:1.0 + x11-themes/adwaita-icon-theme + python? ( + x11-libs/pango[introspection] + >=dev-libs/libpeas-1.1.0[python,${PYTHON_SINGLE_USEDEP}] + $(python_gen_cond_dep ' + dev-python/dbus-python[${PYTHON_USEDEP}] + ') + ) +" +BDEPEND=" + dev-lang/perl + gtk-doc? ( >=dev-util/gtk-doc-1.14 + app-text/docbook-xml-dtd:4.5 ) + dev-util/glib-utils + dev-util/itstool + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig + x11-base/xorg-proto +" +# perl for pod2man +# Prevent dev-python/pylint dep, bug #482538 + +PATCHES=( + "${FILESDIR}"/3.38.0-gst-inspect-sandbox.patch # Allow disabling calls to gst-inspect (sandbox issue) +) + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + default + xdg_environment_reset + + # Drop pointless samplepython plugin from build + sed -e '/samplepython/d' -i src/plugins/meson.build || die +} + +src_configure() { + local emesonargs=( + -Dhelp=true + -Denable-easy-codec-installation=yes + -Denable-python=$(usex python yes no) + -Dwith-plugins=all # in 3.34.1 only builtin and python plugins are left, and python is extra controlled by enable-python + $(meson_use gtk-doc enable-gtk-doc) + -Dgst-inspect=false + ) + meson_src_configure +} + +src_install() { + local -x GST_PLUGIN_SYSTEM_PATH_1_0= # bug 812170 + meson_src_install + if use python ; then + python_optimize "${ED}"/usr/$(get_libdir)/totem/plugins/ + fi +} + +pkg_postinst() { + xdg_pkg_postinst + gnome2_schemas_update +} + +pkg_postrm() { + xdg_pkg_postrm + gnome2_schemas_update +} + +src_test() { + virtx meson_src_test +} diff --git a/media-video/vlc/Manifest b/media-video/vlc/Manifest index d5462417749d..101115e022e0 100644 --- a/media-video/vlc/Manifest +++ b/media-video/vlc/Manifest @@ -10,8 +10,8 @@ AUX vlc-9999-libupnp-slot-1.8.patch 763 BLAKE2B 6bc8cf46f029db27d6d30d96e871d3bc AUX vlc-configure_lua_version.patch 2057 BLAKE2B 995291bab038c912b5d76982da803da34afd4ddce4e21f2aeff8ebe2be760857d169f904a0ce96658b6810e1030031f0a33d0c57f7bc514b1bbdc17e0d67157c SHA512 119f2fff52b334cb073c73979a6bec8710695c67e5ab3ff80d846ede52e922138ac77f8f3f9cccb6f750c74a00baf1529e27c683f0b93a6698436bdcdd930e99 DIST vlc-3.0.16.tar.xz 26439328 BLAKE2B 1971b88f3faf6d3b019c3fcb83108242bb218f1472dc3c1763a8eaa996befcb36a685a75beb8c2513e3365e77a9df6623d194ef511b5271e3114f2f46588e1ff SHA512 35cdf191071224d0cf1b5a83c00773ff87b9e5bfcf0f5523f7edd53f75b23eda6b27bb49ffa97d69a1d176b8fe4786d959aeeb00d4380beab71c9f7e6b7c7298 DIST vlc-3.0.17.3.tar.xz 26393440 BLAKE2B 5079caa779335647394eb4af631ae89098b22545531ecf95ed81f9551f7004b8469a6e44de08f512e381164dc64e011d42be14d675d20c09ab043a00348f6b83 SHA512 99095b39ed600c3a89ebc0d377a2fc2522b3623a56b0f6de2df50a3c6e0148c67c28c0f2d8dec28bbdf5c62cf29b3579429a79ed00440570643778a9871022b6 -EBUILD vlc-3.0.16-r7.ebuild 13946 BLAKE2B cd43fba1f30bf10d5cc9db74c23adb94324cc7945fa7de9f48d5b77ff8f68c5b789a127dc8f89c981478224603422fc9146b25badcd8eebd24a0b655c99a4e58 SHA512 eeae7cb14f9dba68d4f45b789967d731d2941c5d107131bec0765a76d2957f7222c120fe78cd40711de0466fe6e066832a4e25615617b84090cfa0b70d9660db -EBUILD vlc-3.0.17.3.ebuild 13602 BLAKE2B 5489eb00da13a276b881cc9bef367e7775ac4453d6ce9e75858ea513f1362df2939d97457624d37cd45b1170f3315401f86b8342c66d4f59198dd867fadbf4ea SHA512 aabd6951cb799b2cf06fc72aef10d83b621016af165d491c54cf842225e0a7c5395e5dbcc79635220d79eb779914e2a6d4899ea14a8cbad739a10e2f1f5bb5d5 -EBUILD vlc-3.0.9999.ebuild 13527 BLAKE2B b5e14fea96effc5e6474f86f0fd1343904440c759edb569b5cb93d29eb40c50c2d37cedd11120efca48af745b2a078c73babaae29ebab8352addbbf6f572074b SHA512 ac9e367a284df724ae6f24edce329883e85721e6cdc1d1f9ece4f7096c4656fd109e368217fac691735f5108eb71bd0f3f4e52724f4c98ffc6af27ab61070c87 -EBUILD vlc-9999.ebuild 13582 BLAKE2B f8140ab87c25f1d257ff79e6021bd7d093e73b874c4de923c542dcf18b783520012b21f44bc70b32cf8c654cd224436f2e5a89ee2c459d3805d41db4b28eb565 SHA512 14e3352062b1582665d769589b5f08e1f60a3234f385474e1f2ee2495e142d4807f00a1622931568d8e67f50020819d1344f3064fdd55cc6b8a9ea4eed4afe18 +EBUILD vlc-3.0.16-r8.ebuild 13949 BLAKE2B 04f67e1a403aa00ecf8d79830428d749e5d7185a8ff351e8caccf0a4571b20176c1d557850769df0393046666ef56d4005126eb88a3f86ba6addd2ffd142b72e SHA512 a6f9942d8dfd05559e367af4d3e99c2c5255302d4528963960358b1d851bfc942c4046f7125dd2eff758bcf2d61fbe2e8a9819afc304772d249b211651dcad15 +EBUILD vlc-3.0.17.3-r1.ebuild 13605 BLAKE2B a8fb27aab81b7facd4f4c4d873b99c8f1cd8a05be7e0882eeeb1095d91a7cfb0608b6a65118b29e73cbfb9f7c6810de606fea6fc1b3fe57703db64c7c7636f9d SHA512 9a11f3360f61ae7fc93689d525f4d0576d8c441c6b7ef279416bbcb05fb62b3a347e416cff3db6b7e3d5920fb7ec2376e32cda713df200e9471a11dbdff7bbc4 +EBUILD vlc-3.0.9999.ebuild 13530 BLAKE2B 2559442319979fe086775639fa6be9e54457ddeda0ba863c8ea4fcaedef273fad3232f2c1bbec2b2419bd69de0460392a902b0b5d4848e1ecc6acf80944bbc67 SHA512 e97a1e90249a3901056428c3d1c38d994b7da10e39d10127fe09cf4671bb541f693d363c43d0a45f52194b9edddd311e40d087bd4e06310dc651977847a2c55f +EBUILD vlc-9999.ebuild 13585 BLAKE2B f5674a971f396451cca51456cd889941c41e4f88f83dc3ddf47114de2c7bd7aed4211542647e1a48ad90fd047d364e6bfb50510c07d006740febee8e941f0555 SHA512 6d98c79d19a82f7659a72505f5ca4e0043df497ac783982756e6334778eaf59eec19a21bee2b9d1e4986666136a860fa94e9736619107d643d4d7bd8d2079ca0 MISC metadata.xml 4912 BLAKE2B 97661f54c1c16cb3084e12ce7899c080e7e69b203c1539b90048cf3d7c1f673b29051fd68216b6bed54f8842990f0c47e2c67038d85e911dcd1c905b54093719 SHA512 c24db55603932f9b52808e0b9d5687a333078d1735c05e1b561d91c08b99246b321b5b60f8111b286041c524d5913ec6f4f321a79c0773cbb9aaaa3fea9a50d6 diff --git a/media-video/vlc/vlc-3.0.16-r7.ebuild b/media-video/vlc/vlc-3.0.16-r7.ebuild deleted file mode 100644 index a489be732bc1..000000000000 --- a/media-video/vlc/vlc-3.0.16-r7.ebuild +++ /dev/null @@ -1,520 +0,0 @@ -# Copyright 2000-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -LUA_COMPAT=( lua5-{1..2} ) - -MY_PV="${PV/_/-}" -MY_PV="${MY_PV/-beta/-test}" -MY_P="${PN}-${MY_PV}" -if [[ ${PV} = *9999 ]] ; then - if [[ ${PV%.9999} != ${PV} ]] ; then - EGIT_REPO_URI="https://git.videolan.org/git/vlc/vlc-${PV%.9999}.git" - else - EGIT_REPO_URI="https://git.videolan.org/git/vlc.git" - fi - inherit git-r3 -else - SRC_URI="https://get.videolan.org/vlc/${PV}/${P}.tar.xz" - #S="${WORKDIR}/${PN}-$(ver_cut 1-2)-${PV}" - #SRC_URI="https://code.videolan.org/videolan/vlc-$(ver_cut 1-2)/-/archive/${PV}/vlc-$(ver_cut 1-2)-${PV}.tar.gz" - #if [[ ${MY_P} = ${P} ]] ; then - # SRC_URI="https://download.videolan.org/pub/videolan/${PN}/${PV}/${P}.tar.xz" - #else - # SRC_URI="https://download.videolan.org/pub/videolan/testing/${MY_P}/${MY_P}.tar.xz" - #fi - KEYWORDS="amd64 ~arm arm64 ppc ppc64 ~riscv -sparc x86" -fi - -inherit autotools flag-o-matic lua-single toolchain-funcs virtualx xdg - -DESCRIPTION="Media player and framework with support for most multimedia files and streaming" -HOMEPAGE="https://www.videolan.org/vlc/" - -LICENSE="LGPL-2.1 GPL-2" -SLOT="0/5-9" # vlc - vlccore - -IUSE="a52 alsa aom archive aribsub bidi bluray cddb chromaprint chromecast - dav1d dbus dc1394 debug directx dts +dvbpsi dvd +encode faad fdk +ffmpeg flac - fluidsynth fontconfig +gcrypt gme gnome-keyring gstreamer ieee1394 jack jpeg kate - libass libcaca libnotify +libsamplerate libtar libtiger linsys lirc - live lua macosx-notifications mad matroska modplug mp3 mpeg mtp musepack ncurses - nfs ogg omxil optimisememory opus png projectm pulseaudio +qt5 rdp - run-as-root samba sdl-image sftp shout sid skins soxr speex srt ssl svg taglib - theora tremor truetype twolame udev upnp vaapi v4l vdpau vnc vpx wayland +X - x264 x265 xml zeroconf zvbi cpu_flags_arm_neon cpu_flags_ppc_altivec cpu_flags_x86_mmx - cpu_flags_x86_sse -" -REQUIRED_USE=" - chromecast? ( encode ) - directx? ( ffmpeg ) - fontconfig? ( truetype ) - libcaca? ( X ) - libtar? ( skins ) - libtiger? ( kate ) - lua? ( ${LUA_REQUIRED_USE} ) - skins? ( qt5 truetype X xml ) - ssl? ( gcrypt ) - vaapi? ( ffmpeg X ) - vdpau? ( ffmpeg X ) -" -BDEPEND=" - >=sys-devel/gettext-0.19.8 - virtual/pkgconfig - lua? ( ${LUA_DEPS} ) - amd64? ( dev-lang/yasm ) - x86? ( dev-lang/yasm ) -" -RDEPEND=" - media-libs/libvorbis - net-dns/libidn:= - sys-libs/zlib[minizip] - virtual/libintl - virtual/opengl - a52? ( media-libs/a52dec ) - alsa? ( media-libs/alsa-lib ) - aom? ( media-libs/libaom:= ) - archive? ( app-arch/libarchive:= ) - aribsub? ( media-libs/aribb24 ) - bidi? ( - dev-libs/fribidi - media-libs/freetype:2[harfbuzz] - media-libs/harfbuzz:= - virtual/ttf-fonts - ) - bluray? ( >=media-libs/libbluray-1.3.0:= ) - cddb? ( media-libs/libcddb ) - chromaprint? ( media-libs/chromaprint:= ) - chromecast? ( - >=dev-libs/protobuf-2.5.0:= - >=net-libs/libmicrodns-0.1.2:= - ) - dav1d? ( media-libs/dav1d:= ) - dbus? ( sys-apps/dbus ) - dc1394? ( - media-libs/libdc1394:2 - sys-libs/libraw1394 - ) - dts? ( media-libs/libdca ) - dvbpsi? ( >=media-libs/libdvbpsi-1.2.0:= ) - dvd? ( - >=media-libs/libdvdnav-6.1.1:0= - >=media-libs/libdvdread-6.1.2:0= - ) - faad? ( media-libs/faad2 ) - fdk? ( media-libs/fdk-aac:= ) - ffmpeg? ( >=media-video/ffmpeg-3.1.3:0=[postproc,vaapi?,vdpau?] ) - flac? ( - media-libs/flac - media-libs/libogg - ) - fluidsynth? ( media-sound/fluidsynth:= ) - fontconfig? ( media-libs/fontconfig:1.0 ) - gcrypt? ( - dev-libs/libgcrypt:0= - dev-libs/libgpg-error - ) - gme? ( media-libs/game-music-emu ) - gnome-keyring? ( app-crypt/libsecret ) - gstreamer? ( >=media-libs/gst-plugins-base-1.4.5:1.0 ) - ieee1394? ( - sys-libs/libavc1394 - sys-libs/libraw1394 - ) - jack? ( virtual/jack ) - jpeg? ( virtual/jpeg:0 ) - kate? ( media-libs/libkate ) - libass? ( - media-libs/fontconfig:1.0 - media-libs/libass:= - ) - libcaca? ( media-libs/libcaca ) - libnotify? ( - dev-libs/glib:2 - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3 - x11-libs/libnotify - ) - libsamplerate? ( media-libs/libsamplerate ) - libtar? ( dev-libs/libtar ) - libtiger? ( media-libs/libtiger ) - linsys? ( media-libs/zvbi ) - lirc? ( app-misc/lirc ) - live? ( >=media-plugins/live-2021.05.22:= ) - lua? ( ${LUA_DEPS} ) - mad? ( media-libs/libmad ) - matroska? ( - >=dev-libs/libebml-1.4.2:= - media-libs/libmatroska:= - ) - modplug? ( >=media-libs/libmodplug-0.8.9.0 ) - mp3? ( media-sound/mpg123 ) - mpeg? ( media-libs/libmpeg2 ) - mtp? ( media-libs/libmtp:= ) - musepack? ( media-sound/musepack-tools ) - ncurses? ( sys-libs/ncurses:=[unicode(+)] ) - nfs? ( >=net-fs/libnfs-0.10.0:= ) - ogg? ( media-libs/libogg ) - opus? ( >=media-libs/opus-1.0.3 ) - png? ( media-libs/libpng:0= ) - projectm? ( - media-fonts/dejavu - >=media-libs/libprojectm-3.1.12:0= - ) - pulseaudio? ( media-sound/pulseaudio ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtsvg:5 - dev-qt/qtwidgets:5 - X? ( - dev-qt/qtx11extras:5 - x11-libs/libX11 - ) - ) - rdp? ( >=net-misc/freerdp-2.0.0_rc0:=[client(+)] ) - samba? ( >=net-fs/samba-4.0.0:0[client,-debug(-)] ) - sdl-image? ( media-libs/sdl-image ) - sftp? ( net-libs/libssh2 ) - shout? ( media-libs/libshout ) - sid? ( media-libs/libsidplay:2 ) - skins? ( - x11-libs/libXext - x11-libs/libXinerama - x11-libs/libXpm - ) - soxr? ( >=media-libs/soxr-0.1.2 ) - speex? ( - >=media-libs/speex-1.2.0 - media-libs/speexdsp - ) - srt? ( >=net-libs/srt-1.4.2:= ) - ssl? ( net-libs/gnutls:= ) - svg? ( - gnome-base/librsvg:2 - x11-libs/cairo - ) - taglib? ( >=media-libs/taglib-1.9 ) - theora? ( media-libs/libtheora ) - tremor? ( media-libs/tremor ) - truetype? ( - media-libs/freetype:2 - virtual/ttf-fonts - !fontconfig? ( media-fonts/dejavu ) - ) - twolame? ( media-sound/twolame ) - udev? ( virtual/udev ) - upnp? ( net-libs/libupnp:=[ipv6] ) - v4l? ( media-libs/libv4l:= ) - vaapi? ( x11-libs/libva:=[drm,wayland?,X?] ) - vdpau? ( x11-libs/libvdpau ) - vnc? ( net-libs/libvncserver ) - vpx? ( media-libs/libvpx:= ) - wayland? ( - >=dev-libs/wayland-1.15 - dev-libs/wayland-protocols - ) - X? ( - x11-libs/libX11 - x11-libs/libxcb - x11-libs/xcb-util - x11-libs/xcb-util-keysyms - ) - x264? ( >=media-libs/x264-0.0.20190214:= ) - x265? ( media-libs/x265:= ) - xml? ( dev-libs/libxml2:2 ) - zeroconf? ( net-dns/avahi[dbus] ) - zvbi? ( media-libs/zvbi ) -" -DEPEND="${RDEPEND} - X? ( x11-base/xorg-proto ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-2.1.0-fix-libtremor-libs.patch # build system - "${FILESDIR}"/${PN}-2.2.8-freerdp-2.patch # bug 590164 - "${FILESDIR}"/${PN}-3.0.6-fdk-aac-2.0.0.patch # bug 672290 - "${FILESDIR}"/${PN}-3.0.11.1-configure_lua_version.patch - "${FILESDIR}"/${PN}-3.0.11.1-srt-1.4.2.patch # bug 758062 - "${FILESDIR}"/${PN}-3.0.13-srt-1.3.0.patch - "${FILESDIR}"/${PN}-3.0.14-fix-live-address-api.patch # bug 795798 -) - -DOCS=( AUTHORS THANKS NEWS README doc/fortunes.txt ) - -pkg_setup() { - if use lua; then - lua-single_pkg_setup - fi -} - -src_prepare() { - xdg_src_prepare # bug 608256 - - has_version 'net-libs/libupnp:1.8' && \ - eapply "${FILESDIR}"/${PN}-2.2.8-libupnp-slot-1.8.patch - - # Bootstrap when we are on a git checkout. - if [[ ${PV} = *9999 ]] ; then - ./bootstrap - fi - - # Make it build with libtool 1.5 - #rm m4/lt* m4/libtool.m4 || die - - # We are not in a real git checkout due to the absence of a .git directory. - touch src/revision.txt || die - - # Don't use --started-from-file when not using dbus. - if ! use dbus ; then - sed -i 's/ --started-from-file//' share/vlc.desktop.in || die - fi - - # Disable running of vlc-cache-gen, we do that in pkg_postinst - sed -e "/test.*build.*host/s/\$(host)/nothanks/" \ - -i Makefile.am -i bin/Makefile.am || die "Failed to disable vlc-cache-gen" - - # Fix gettext version mismatch errors. - sed -i -e s/GETTEXT_VERSION/GETTEXT_REQUIRE_VERSION/ configure.ac || die - - eautoreconf - - # Disable automatic running of tests. - find . -name 'Makefile.in' -exec sed -i 's/\(..*\)check-TESTS/\1/' {} \; || die -} - -src_configure() { - local -x BUILDCC="$(tc-getBUILD_CC)" - - local myeconfargs=( - --disable-aa - --disable-optimizations - --disable-rpath - --disable-update-check - --enable-fast-install - --enable-screen - --enable-vcd - --enable-vlc - --enable-vorbis - $(use_enable a52) - $(use_enable alsa) - $(use_enable aom) - $(use_enable archive) - $(use_enable aribsub) - $(use_enable bidi fribidi) - $(use_enable bidi harfbuzz) - $(use_enable bluray) - $(use_enable cddb libcddb) - $(use_enable chromaprint) - $(use_enable chromecast) - $(use_enable chromecast microdns) - $(use_enable cpu_flags_arm_neon neon) - $(use_enable cpu_flags_ppc_altivec altivec) - $(use_enable cpu_flags_x86_mmx mmx) - $(use_enable cpu_flags_x86_sse sse) - $(use_enable dav1d) - $(use_enable dbus) - $(use_enable dbus kwallet) - $(use_enable dc1394) - $(use_enable debug) - $(use_enable directx) - $(use_enable directx d3d11va) - $(use_enable directx dxva2) - $(use_enable dts dca) - $(use_enable dvbpsi) - $(use_enable dvd dvdnav) - $(use_enable dvd dvdread) - $(use_enable encode sout) - $(use_enable encode vlm) - $(use_enable faad) - $(use_enable fdk fdkaac) - $(use_enable ffmpeg avcodec) - $(use_enable ffmpeg avformat) - $(use_enable ffmpeg postproc) - $(use_enable ffmpeg swscale) - $(use_enable flac) - $(use_enable fluidsynth) - $(use_enable fontconfig) - $(use_enable gcrypt libgcrypt) - $(use_enable gme) - $(use_enable gnome-keyring secret) - $(use_enable gstreamer gst-decode) - $(use_enable ieee1394 dv1394) - $(use_enable jack) - $(use_enable jpeg) - $(use_enable kate) - $(use_enable libass) - $(use_enable libcaca caca) - $(use_enable libnotify notify) - $(use_enable libsamplerate samplerate) - $(use_enable libtar) - $(use_enable libtiger tiger) - $(use_enable linsys) - $(use_enable lirc) - $(use_enable live live555) - $(use_enable lua) - $(use_enable macosx-notifications osx-notifications) - $(use_enable mad) - $(use_enable matroska) - $(use_enable modplug mod) - $(use_enable mp3 mpg123) - $(use_enable mpeg libmpeg2) - $(use_enable mtp) - $(use_enable musepack mpc) - $(use_enable ncurses) - $(use_enable nfs) - $(use_enable ogg) - $(use_enable omxil) - $(use_enable omxil omxil-vout) - $(use_enable optimisememory optimize-memory) - $(use_enable opus) - $(use_enable png) - $(use_enable projectm) - $(use_enable pulseaudio pulse) - $(use_enable qt5 qt) - $(use_enable rdp freerdp) - $(use_enable run-as-root) - $(use_enable samba smbclient) - $(use_enable sdl-image) - $(use_enable sftp) - $(use_enable shout) - $(use_enable sid) - $(use_enable skins skins2) - $(use_enable soxr) - $(use_enable speex) - $(use_enable srt) - $(use_enable ssl gnutls) - $(use_enable svg) - $(use_enable svg svgdec) - $(use_enable taglib) - $(use_enable theora) - $(use_enable tremor) - $(use_enable twolame) - $(use_enable udev) - $(use_enable upnp) - $(use_enable v4l v4l2) - $(use_enable vaapi libva) - $(use_enable vdpau) - $(use_enable vnc) - $(use_enable vpx) - $(use_enable wayland) - $(use_with X x) - $(use_enable X xcb) - $(use_enable X xvideo) - $(use_enable x264) - $(use_enable x264 x26410b) - $(use_enable x265) - $(use_enable xml libxml2) - $(use_enable zeroconf avahi) - $(use_enable zvbi) - $(use_enable !zvbi telx) - --with-kde-solid="${EPREFIX}"/usr/share/solid/actions - --disable-asdcp - --disable-coverage - --disable-cprof - --disable-crystalhd - --disable-decklink - --disable-gles2 - --disable-goom - --disable-kai - --disable-kva - --disable-libplacebo - --disable-maintainer-mode - --disable-merge-ffmpeg - --disable-mfx - --disable-mmal - --disable-opencv - --disable-opensles - --disable-oss - --disable-rpi-omxil - --disable-schroedinger - --disable-shine - --disable-sndio - --disable-spatialaudio - --disable-vsxu - --disable-wasapi - --disable-wma-fixed - ) - # ^ We don't have these disabled libraries in the Portage tree yet. - - # Compatibility fix for Samba 4. - use samba && append-cppflags "-I/usr/include/samba-4.0" - - if use x86; then - # We need to disable -fstack-check if use >=gcc 4.8.0. bug #499996 - append-cflags $(test-flags-CC -fno-stack-check) - # Bug 569774 - replace-flags -Os -O2 - fi - - # VLC now requires C++11 after commit 4b1c9dcdda0bbff801e47505ff9dfd3f274eb0d8 - append-cxxflags -std=c++11 - - if use omxil; then - # bug #723006 - # https://trac.videolan.org/vlc/ticket/24617 - append-cflags -fcommon - fi - - # FIXME: Needs libresid-builder from libsidplay:2 which is in another directory... - append-ldflags "-L/usr/$(get_libdir)/sidplay/builders/" - - if use riscv; then - # Bug #803473 - append-libs -latomic - fi - - if use truetype || use bidi; then - myeconfargs+=( --enable-freetype ) - else - myeconfargs+=( --disable-freetype ) - fi - - if use truetype || use projectm; then - local dejavu="${EPREFIX}/usr/share/fonts/dejavu/" - myeconfargs+=( - --with-default-font=${dejavu}/DejaVuSans.ttf - --with-default-font-family=Sans - --with-default-monospace-font=${dejavu}/DejaVuSansMono.ttf - --with-default-monospace-font-family=Monospace - ) - fi - - econf "${myeconfargs[@]}" - - # _FORTIFY_SOURCE is set to 2 in config.h, which is also the default value on Gentoo. - # Other values may break the build (bug 523144), so definition should not be removed. - # To prevent redefinition warnings, we undefine _FORTIFY_SOURCE at the start of config.h - sed -i '1i#undef _FORTIFY_SOURCE' config.h || die -} - -src_test() { - virtx emake check-TESTS -} - -src_install() { - default - find "${ED}" -name '*.la' -delete || die -} - -pkg_postinst() { - if [[ -z "${ROOT}" ]] && [[ -x "${EROOT}/usr/$(get_libdir)/vlc/vlc-cache-gen" ]] ; then - einfo "Running ${EROOT}/usr/$(get_libdir)/vlc/vlc-cache-gen on ${EROOT}/usr/$(get_libdir)/vlc/plugins/" - "${EROOT}/usr/$(get_libdir)/vlc/vlc-cache-gen" "${EROOT}/usr/$(get_libdir)/vlc/plugins/" - else - ewarn "We cannot run vlc-cache-gen (most likely ROOT != /)" - ewarn "Please run ${EROOT}/usr/$(get_libdir)/vlc/vlc-cache-gen manually" - ewarn "If you do not do it, vlc will take a long time to load." - fi - - xdg_pkg_postinst -} - -pkg_postrm() { - if [[ -e "${EROOT}"/usr/$(get_libdir)/vlc/plugins/plugins.dat ]]; then - rm "${EROOT}"/usr/$(get_libdir)/vlc/plugins/plugins.dat || die "Failed to rm plugins.dat" - fi - - xdg_pkg_postrm -} diff --git a/media-video/vlc/vlc-3.0.16-r8.ebuild b/media-video/vlc/vlc-3.0.16-r8.ebuild new file mode 100644 index 000000000000..e4cf9a519934 --- /dev/null +++ b/media-video/vlc/vlc-3.0.16-r8.ebuild @@ -0,0 +1,520 @@ +# Copyright 2000-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +LUA_COMPAT=( lua5-{1..2} ) + +MY_PV="${PV/_/-}" +MY_PV="${MY_PV/-beta/-test}" +MY_P="${PN}-${MY_PV}" +if [[ ${PV} = *9999 ]] ; then + if [[ ${PV%.9999} != ${PV} ]] ; then + EGIT_REPO_URI="https://git.videolan.org/git/vlc/vlc-${PV%.9999}.git" + else + EGIT_REPO_URI="https://git.videolan.org/git/vlc.git" + fi + inherit git-r3 +else + SRC_URI="https://get.videolan.org/vlc/${PV}/${P}.tar.xz" + #S="${WORKDIR}/${PN}-$(ver_cut 1-2)-${PV}" + #SRC_URI="https://code.videolan.org/videolan/vlc-$(ver_cut 1-2)/-/archive/${PV}/vlc-$(ver_cut 1-2)-${PV}.tar.gz" + #if [[ ${MY_P} = ${P} ]] ; then + # SRC_URI="https://download.videolan.org/pub/videolan/${PN}/${PV}/${P}.tar.xz" + #else + # SRC_URI="https://download.videolan.org/pub/videolan/testing/${MY_P}/${MY_P}.tar.xz" + #fi + KEYWORDS="amd64 ~arm arm64 ppc ppc64 ~riscv -sparc x86" +fi + +inherit autotools flag-o-matic lua-single toolchain-funcs virtualx xdg + +DESCRIPTION="Media player and framework with support for most multimedia files and streaming" +HOMEPAGE="https://www.videolan.org/vlc/" + +LICENSE="LGPL-2.1 GPL-2" +SLOT="0/5-9" # vlc - vlccore + +IUSE="a52 alsa aom archive aribsub bidi bluray cddb chromaprint chromecast + dav1d dbus dc1394 debug directx dts +dvbpsi dvd +encode faad fdk +ffmpeg flac + fluidsynth fontconfig +gcrypt gme gnome-keyring gstreamer ieee1394 jack jpeg kate + libass libcaca libnotify +libsamplerate libtar libtiger linsys lirc + live lua macosx-notifications mad matroska modplug mp3 mpeg mtp musepack ncurses + nfs ogg omxil optimisememory opus png projectm pulseaudio +qt5 rdp + run-as-root samba sdl-image sftp shout sid skins soxr speex srt ssl svg taglib + theora tremor truetype twolame udev upnp vaapi v4l vdpau vnc vpx wayland +X + x264 x265 xml zeroconf zvbi cpu_flags_arm_neon cpu_flags_ppc_altivec cpu_flags_x86_mmx + cpu_flags_x86_sse +" +REQUIRED_USE=" + chromecast? ( encode ) + directx? ( ffmpeg ) + fontconfig? ( truetype ) + libcaca? ( X ) + libtar? ( skins ) + libtiger? ( kate ) + lua? ( ${LUA_REQUIRED_USE} ) + skins? ( qt5 truetype X xml ) + ssl? ( gcrypt ) + vaapi? ( ffmpeg X ) + vdpau? ( ffmpeg X ) +" +BDEPEND=" + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig + lua? ( ${LUA_DEPS} ) + amd64? ( dev-lang/yasm ) + x86? ( dev-lang/yasm ) +" +RDEPEND=" + media-libs/libvorbis + net-dns/libidn:= + sys-libs/zlib[minizip] + virtual/libintl + virtual/opengl + a52? ( media-libs/a52dec ) + alsa? ( media-libs/alsa-lib ) + aom? ( media-libs/libaom:= ) + archive? ( app-arch/libarchive:= ) + aribsub? ( media-libs/aribb24 ) + bidi? ( + dev-libs/fribidi + media-libs/freetype:2[harfbuzz] + media-libs/harfbuzz:= + virtual/ttf-fonts + ) + bluray? ( >=media-libs/libbluray-1.3.0:= ) + cddb? ( media-libs/libcddb ) + chromaprint? ( media-libs/chromaprint:= ) + chromecast? ( + >=dev-libs/protobuf-2.5.0:= + >=net-libs/libmicrodns-0.1.2:= + ) + dav1d? ( media-libs/dav1d:= ) + dbus? ( sys-apps/dbus ) + dc1394? ( + media-libs/libdc1394:2 + sys-libs/libraw1394 + ) + dts? ( media-libs/libdca ) + dvbpsi? ( >=media-libs/libdvbpsi-1.2.0:= ) + dvd? ( + >=media-libs/libdvdnav-6.1.1:0= + >=media-libs/libdvdread-6.1.2:0= + ) + faad? ( media-libs/faad2 ) + fdk? ( media-libs/fdk-aac:= ) + ffmpeg? ( >=media-video/ffmpeg-3.1.3:0=[postproc,vaapi?,vdpau?] ) + flac? ( + media-libs/flac + media-libs/libogg + ) + fluidsynth? ( media-sound/fluidsynth:= ) + fontconfig? ( media-libs/fontconfig:1.0 ) + gcrypt? ( + dev-libs/libgcrypt:0= + dev-libs/libgpg-error + ) + gme? ( media-libs/game-music-emu ) + gnome-keyring? ( app-crypt/libsecret ) + gstreamer? ( >=media-libs/gst-plugins-base-1.4.5:1.0 ) + ieee1394? ( + sys-libs/libavc1394 + sys-libs/libraw1394 + ) + jack? ( virtual/jack ) + jpeg? ( virtual/jpeg:0 ) + kate? ( media-libs/libkate ) + libass? ( + media-libs/fontconfig:1.0 + media-libs/libass:= + ) + libcaca? ( media-libs/libcaca ) + libnotify? ( + dev-libs/glib:2 + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3 + x11-libs/libnotify + ) + libsamplerate? ( media-libs/libsamplerate ) + libtar? ( dev-libs/libtar ) + libtiger? ( media-libs/libtiger ) + linsys? ( media-libs/zvbi ) + lirc? ( app-misc/lirc ) + live? ( >=media-plugins/live-2021.05.22:= ) + lua? ( ${LUA_DEPS} ) + mad? ( media-libs/libmad ) + matroska? ( + >=dev-libs/libebml-1.4.2:= + media-libs/libmatroska:= + ) + modplug? ( >=media-libs/libmodplug-0.8.9.0 ) + mp3? ( media-sound/mpg123 ) + mpeg? ( media-libs/libmpeg2 ) + mtp? ( media-libs/libmtp:= ) + musepack? ( media-sound/musepack-tools ) + ncurses? ( sys-libs/ncurses:=[unicode(+)] ) + nfs? ( >=net-fs/libnfs-0.10.0:= ) + ogg? ( media-libs/libogg ) + opus? ( >=media-libs/opus-1.0.3 ) + png? ( media-libs/libpng:0= ) + projectm? ( + media-fonts/dejavu + >=media-libs/libprojectm-3.1.12:0= + ) + pulseaudio? ( media-sound/pulseaudio ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtsvg:5 + dev-qt/qtwidgets:5 + X? ( + dev-qt/qtx11extras:5 + x11-libs/libX11 + ) + ) + rdp? ( >=net-misc/freerdp-2.0.0_rc0:=[client(+)] ) + samba? ( >=net-fs/samba-4.0.0:0[client,-debug(-)] ) + sdl-image? ( media-libs/sdl-image ) + sftp? ( net-libs/libssh2 ) + shout? ( media-libs/libshout ) + sid? ( media-libs/libsidplay:2 ) + skins? ( + x11-libs/libXext + x11-libs/libXinerama + x11-libs/libXpm + ) + soxr? ( >=media-libs/soxr-0.1.2 ) + speex? ( + >=media-libs/speex-1.2.0 + media-libs/speexdsp + ) + srt? ( >=net-libs/srt-1.4.2:= ) + ssl? ( net-libs/gnutls:= ) + svg? ( + gnome-base/librsvg:2 + x11-libs/cairo + ) + taglib? ( >=media-libs/taglib-1.9 ) + theora? ( media-libs/libtheora ) + tremor? ( media-libs/tremor ) + truetype? ( + media-libs/freetype:2 + virtual/ttf-fonts + !fontconfig? ( media-fonts/dejavu ) + ) + twolame? ( media-sound/twolame ) + udev? ( virtual/udev ) + upnp? ( net-libs/libupnp:=[ipv6] ) + v4l? ( media-libs/libv4l:= ) + vaapi? ( x11-libs/libva:=[drm(+),wayland?,X?] ) + vdpau? ( x11-libs/libvdpau ) + vnc? ( net-libs/libvncserver ) + vpx? ( media-libs/libvpx:= ) + wayland? ( + >=dev-libs/wayland-1.15 + dev-libs/wayland-protocols + ) + X? ( + x11-libs/libX11 + x11-libs/libxcb + x11-libs/xcb-util + x11-libs/xcb-util-keysyms + ) + x264? ( >=media-libs/x264-0.0.20190214:= ) + x265? ( media-libs/x265:= ) + xml? ( dev-libs/libxml2:2 ) + zeroconf? ( net-dns/avahi[dbus] ) + zvbi? ( media-libs/zvbi ) +" +DEPEND="${RDEPEND} + X? ( x11-base/xorg-proto ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-2.1.0-fix-libtremor-libs.patch # build system + "${FILESDIR}"/${PN}-2.2.8-freerdp-2.patch # bug 590164 + "${FILESDIR}"/${PN}-3.0.6-fdk-aac-2.0.0.patch # bug 672290 + "${FILESDIR}"/${PN}-3.0.11.1-configure_lua_version.patch + "${FILESDIR}"/${PN}-3.0.11.1-srt-1.4.2.patch # bug 758062 + "${FILESDIR}"/${PN}-3.0.13-srt-1.3.0.patch + "${FILESDIR}"/${PN}-3.0.14-fix-live-address-api.patch # bug 795798 +) + +DOCS=( AUTHORS THANKS NEWS README doc/fortunes.txt ) + +pkg_setup() { + if use lua; then + lua-single_pkg_setup + fi +} + +src_prepare() { + xdg_src_prepare # bug 608256 + + has_version 'net-libs/libupnp:1.8' && \ + eapply "${FILESDIR}"/${PN}-2.2.8-libupnp-slot-1.8.patch + + # Bootstrap when we are on a git checkout. + if [[ ${PV} = *9999 ]] ; then + ./bootstrap + fi + + # Make it build with libtool 1.5 + #rm m4/lt* m4/libtool.m4 || die + + # We are not in a real git checkout due to the absence of a .git directory. + touch src/revision.txt || die + + # Don't use --started-from-file when not using dbus. + if ! use dbus ; then + sed -i 's/ --started-from-file//' share/vlc.desktop.in || die + fi + + # Disable running of vlc-cache-gen, we do that in pkg_postinst + sed -e "/test.*build.*host/s/\$(host)/nothanks/" \ + -i Makefile.am -i bin/Makefile.am || die "Failed to disable vlc-cache-gen" + + # Fix gettext version mismatch errors. + sed -i -e s/GETTEXT_VERSION/GETTEXT_REQUIRE_VERSION/ configure.ac || die + + eautoreconf + + # Disable automatic running of tests. + find . -name 'Makefile.in' -exec sed -i 's/\(..*\)check-TESTS/\1/' {} \; || die +} + +src_configure() { + local -x BUILDCC="$(tc-getBUILD_CC)" + + local myeconfargs=( + --disable-aa + --disable-optimizations + --disable-rpath + --disable-update-check + --enable-fast-install + --enable-screen + --enable-vcd + --enable-vlc + --enable-vorbis + $(use_enable a52) + $(use_enable alsa) + $(use_enable aom) + $(use_enable archive) + $(use_enable aribsub) + $(use_enable bidi fribidi) + $(use_enable bidi harfbuzz) + $(use_enable bluray) + $(use_enable cddb libcddb) + $(use_enable chromaprint) + $(use_enable chromecast) + $(use_enable chromecast microdns) + $(use_enable cpu_flags_arm_neon neon) + $(use_enable cpu_flags_ppc_altivec altivec) + $(use_enable cpu_flags_x86_mmx mmx) + $(use_enable cpu_flags_x86_sse sse) + $(use_enable dav1d) + $(use_enable dbus) + $(use_enable dbus kwallet) + $(use_enable dc1394) + $(use_enable debug) + $(use_enable directx) + $(use_enable directx d3d11va) + $(use_enable directx dxva2) + $(use_enable dts dca) + $(use_enable dvbpsi) + $(use_enable dvd dvdnav) + $(use_enable dvd dvdread) + $(use_enable encode sout) + $(use_enable encode vlm) + $(use_enable faad) + $(use_enable fdk fdkaac) + $(use_enable ffmpeg avcodec) + $(use_enable ffmpeg avformat) + $(use_enable ffmpeg postproc) + $(use_enable ffmpeg swscale) + $(use_enable flac) + $(use_enable fluidsynth) + $(use_enable fontconfig) + $(use_enable gcrypt libgcrypt) + $(use_enable gme) + $(use_enable gnome-keyring secret) + $(use_enable gstreamer gst-decode) + $(use_enable ieee1394 dv1394) + $(use_enable jack) + $(use_enable jpeg) + $(use_enable kate) + $(use_enable libass) + $(use_enable libcaca caca) + $(use_enable libnotify notify) + $(use_enable libsamplerate samplerate) + $(use_enable libtar) + $(use_enable libtiger tiger) + $(use_enable linsys) + $(use_enable lirc) + $(use_enable live live555) + $(use_enable lua) + $(use_enable macosx-notifications osx-notifications) + $(use_enable mad) + $(use_enable matroska) + $(use_enable modplug mod) + $(use_enable mp3 mpg123) + $(use_enable mpeg libmpeg2) + $(use_enable mtp) + $(use_enable musepack mpc) + $(use_enable ncurses) + $(use_enable nfs) + $(use_enable ogg) + $(use_enable omxil) + $(use_enable omxil omxil-vout) + $(use_enable optimisememory optimize-memory) + $(use_enable opus) + $(use_enable png) + $(use_enable projectm) + $(use_enable pulseaudio pulse) + $(use_enable qt5 qt) + $(use_enable rdp freerdp) + $(use_enable run-as-root) + $(use_enable samba smbclient) + $(use_enable sdl-image) + $(use_enable sftp) + $(use_enable shout) + $(use_enable sid) + $(use_enable skins skins2) + $(use_enable soxr) + $(use_enable speex) + $(use_enable srt) + $(use_enable ssl gnutls) + $(use_enable svg) + $(use_enable svg svgdec) + $(use_enable taglib) + $(use_enable theora) + $(use_enable tremor) + $(use_enable twolame) + $(use_enable udev) + $(use_enable upnp) + $(use_enable v4l v4l2) + $(use_enable vaapi libva) + $(use_enable vdpau) + $(use_enable vnc) + $(use_enable vpx) + $(use_enable wayland) + $(use_with X x) + $(use_enable X xcb) + $(use_enable X xvideo) + $(use_enable x264) + $(use_enable x264 x26410b) + $(use_enable x265) + $(use_enable xml libxml2) + $(use_enable zeroconf avahi) + $(use_enable zvbi) + $(use_enable !zvbi telx) + --with-kde-solid="${EPREFIX}"/usr/share/solid/actions + --disable-asdcp + --disable-coverage + --disable-cprof + --disable-crystalhd + --disable-decklink + --disable-gles2 + --disable-goom + --disable-kai + --disable-kva + --disable-libplacebo + --disable-maintainer-mode + --disable-merge-ffmpeg + --disable-mfx + --disable-mmal + --disable-opencv + --disable-opensles + --disable-oss + --disable-rpi-omxil + --disable-schroedinger + --disable-shine + --disable-sndio + --disable-spatialaudio + --disable-vsxu + --disable-wasapi + --disable-wma-fixed + ) + # ^ We don't have these disabled libraries in the Portage tree yet. + + # Compatibility fix for Samba 4. + use samba && append-cppflags "-I/usr/include/samba-4.0" + + if use x86; then + # We need to disable -fstack-check if use >=gcc 4.8.0. bug #499996 + append-cflags $(test-flags-CC -fno-stack-check) + # Bug 569774 + replace-flags -Os -O2 + fi + + # VLC now requires C++11 after commit 4b1c9dcdda0bbff801e47505ff9dfd3f274eb0d8 + append-cxxflags -std=c++11 + + if use omxil; then + # bug #723006 + # https://trac.videolan.org/vlc/ticket/24617 + append-cflags -fcommon + fi + + # FIXME: Needs libresid-builder from libsidplay:2 which is in another directory... + append-ldflags "-L/usr/$(get_libdir)/sidplay/builders/" + + if use riscv; then + # Bug #803473 + append-libs -latomic + fi + + if use truetype || use bidi; then + myeconfargs+=( --enable-freetype ) + else + myeconfargs+=( --disable-freetype ) + fi + + if use truetype || use projectm; then + local dejavu="${EPREFIX}/usr/share/fonts/dejavu/" + myeconfargs+=( + --with-default-font=${dejavu}/DejaVuSans.ttf + --with-default-font-family=Sans + --with-default-monospace-font=${dejavu}/DejaVuSansMono.ttf + --with-default-monospace-font-family=Monospace + ) + fi + + econf "${myeconfargs[@]}" + + # _FORTIFY_SOURCE is set to 2 in config.h, which is also the default value on Gentoo. + # Other values may break the build (bug 523144), so definition should not be removed. + # To prevent redefinition warnings, we undefine _FORTIFY_SOURCE at the start of config.h + sed -i '1i#undef _FORTIFY_SOURCE' config.h || die +} + +src_test() { + virtx emake check-TESTS +} + +src_install() { + default + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + if [[ -z "${ROOT}" ]] && [[ -x "${EROOT}/usr/$(get_libdir)/vlc/vlc-cache-gen" ]] ; then + einfo "Running ${EROOT}/usr/$(get_libdir)/vlc/vlc-cache-gen on ${EROOT}/usr/$(get_libdir)/vlc/plugins/" + "${EROOT}/usr/$(get_libdir)/vlc/vlc-cache-gen" "${EROOT}/usr/$(get_libdir)/vlc/plugins/" + else + ewarn "We cannot run vlc-cache-gen (most likely ROOT != /)" + ewarn "Please run ${EROOT}/usr/$(get_libdir)/vlc/vlc-cache-gen manually" + ewarn "If you do not do it, vlc will take a long time to load." + fi + + xdg_pkg_postinst +} + +pkg_postrm() { + if [[ -e "${EROOT}"/usr/$(get_libdir)/vlc/plugins/plugins.dat ]]; then + rm "${EROOT}"/usr/$(get_libdir)/vlc/plugins/plugins.dat || die "Failed to rm plugins.dat" + fi + + xdg_pkg_postrm +} diff --git a/media-video/vlc/vlc-3.0.17.3-r1.ebuild b/media-video/vlc/vlc-3.0.17.3-r1.ebuild new file mode 100644 index 000000000000..b4f720f589d4 --- /dev/null +++ b/media-video/vlc/vlc-3.0.17.3-r1.ebuild @@ -0,0 +1,514 @@ +# Copyright 2000-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +LUA_COMPAT=( lua5-{1..2} ) + +MY_PV="${PV/_/-}" +MY_PV="${MY_PV/-beta/-test}" +MY_P="${PN}-${MY_PV}" +if [[ ${PV} = *9999 ]] ; then + if [[ ${PV%.9999} != ${PV} ]] ; then + EGIT_BRANCH="3.0.x" + fi + EGIT_REPO_URI="https://code.videolan.org/videolan/vlc.git" + inherit git-r3 +else + if [[ ${MY_P} = ${P} ]] ; then + SRC_URI="https://download.videolan.org/pub/videolan/${PN}/${PV}/${P}.tar.xz" + else + SRC_URI="https://download.videolan.org/pub/videolan/testing/${MY_P}/${MY_P}.tar.xz" + fi + KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv -sparc ~x86" +fi +inherit autotools flag-o-matic lua-single toolchain-funcs virtualx xdg + +DESCRIPTION="Media player and framework with support for most multimedia files and streaming" +HOMEPAGE="https://www.videolan.org/vlc/" + +LICENSE="LGPL-2.1 GPL-2" +SLOT="0/5-9" # vlc - vlccore + +IUSE="a52 alsa aom archive aribsub bidi bluray cddb chromaprint chromecast dav1d dbus + dc1394 debug directx dts +dvbpsi dvd +encode faad fdk +ffmpeg flac fluidsynth + fontconfig +gcrypt gme gnome-keyring gstreamer +gui ieee1394 jack jpeg kate + libass libcaca libnotify +libsamplerate libtar libtiger linsys lirc live lua + macosx-notifications mad matroska modplug mp3 mpeg mtp musepack ncurses nfs ogg + omxil optimisememory opus png projectm pulseaudio rdp run-as-root samba sdl-image + sftp shout sid skins soxr speex srt ssl svg taglib theora tremor truetype twolame + udev upnp vaapi v4l vdpau vnc vpx wayland +X x264 x265 xml zeroconf zvbi + cpu_flags_arm_neon cpu_flags_ppc_altivec cpu_flags_x86_mmx cpu_flags_x86_sse +" +REQUIRED_USE=" + chromecast? ( encode ) + directx? ( ffmpeg ) + fontconfig? ( truetype ) + libcaca? ( X ) + libtar? ( skins ) + libtiger? ( kate ) + lua? ( ${LUA_REQUIRED_USE} ) + skins? ( gui truetype X xml ) + ssl? ( gcrypt ) + vaapi? ( ffmpeg X ) + vdpau? ( ffmpeg X ) +" +BDEPEND=" + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig + lua? ( ${LUA_DEPS} ) + amd64? ( dev-lang/yasm ) + x86? ( dev-lang/yasm ) +" +RDEPEND=" + media-libs/libvorbis + net-dns/libidn:= + sys-libs/zlib[minizip] + virtual/libintl + virtual/opengl + a52? ( media-libs/a52dec ) + alsa? ( media-libs/alsa-lib ) + aom? ( media-libs/libaom:= ) + archive? ( app-arch/libarchive:= ) + aribsub? ( media-libs/aribb24 ) + bidi? ( + dev-libs/fribidi + media-libs/freetype:2[harfbuzz] + media-libs/harfbuzz:= + virtual/ttf-fonts + ) + bluray? ( >=media-libs/libbluray-1.3.0:= ) + cddb? ( media-libs/libcddb ) + chromaprint? ( media-libs/chromaprint:= ) + chromecast? ( + >=dev-libs/protobuf-2.5.0:= + >=net-libs/libmicrodns-0.1.2:= + ) + dav1d? ( media-libs/dav1d:= ) + dbus? ( sys-apps/dbus ) + dc1394? ( + media-libs/libdc1394:2 + sys-libs/libraw1394 + ) + dts? ( media-libs/libdca ) + dvbpsi? ( >=media-libs/libdvbpsi-1.2.0:= ) + dvd? ( + >=media-libs/libdvdnav-6.1.1:0= + >=media-libs/libdvdread-6.1.2:0= + ) + faad? ( media-libs/faad2 ) + fdk? ( media-libs/fdk-aac:= ) + ffmpeg? ( >=media-video/ffmpeg-3.1.3:0=[postproc,vaapi?,vdpau?] ) + flac? ( + media-libs/flac + media-libs/libogg + ) + fluidsynth? ( media-sound/fluidsynth:= ) + fontconfig? ( media-libs/fontconfig:1.0 ) + gcrypt? ( + dev-libs/libgcrypt:0= + dev-libs/libgpg-error + ) + gme? ( media-libs/game-music-emu ) + gnome-keyring? ( app-crypt/libsecret ) + gstreamer? ( >=media-libs/gst-plugins-base-1.4.5:1.0 ) + gui? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtsvg:5 + dev-qt/qtwidgets:5 + X? ( + dev-qt/qtx11extras:5 + x11-libs/libX11 + ) + ) + ieee1394? ( + sys-libs/libavc1394 + sys-libs/libraw1394 + ) + jack? ( virtual/jack ) + jpeg? ( virtual/jpeg:0 ) + kate? ( media-libs/libkate ) + libass? ( + media-libs/fontconfig:1.0 + media-libs/libass:= + ) + libcaca? ( media-libs/libcaca ) + libnotify? ( + dev-libs/glib:2 + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3 + x11-libs/libnotify + ) + libsamplerate? ( media-libs/libsamplerate ) + libtar? ( dev-libs/libtar ) + libtiger? ( media-libs/libtiger ) + linsys? ( media-libs/zvbi ) + lirc? ( app-misc/lirc ) + live? ( media-plugins/live:= ) + lua? ( ${LUA_DEPS} ) + mad? ( media-libs/libmad ) + matroska? ( + >=dev-libs/libebml-1.4.2:= + media-libs/libmatroska:= + ) + modplug? ( >=media-libs/libmodplug-0.8.9.0 ) + mp3? ( media-sound/mpg123 ) + mpeg? ( media-libs/libmpeg2 ) + mtp? ( media-libs/libmtp:= ) + musepack? ( media-sound/musepack-tools ) + ncurses? ( sys-libs/ncurses:=[unicode(+)] ) + nfs? ( >=net-fs/libnfs-0.10.0:= ) + ogg? ( media-libs/libogg ) + opus? ( >=media-libs/opus-1.0.3 ) + png? ( media-libs/libpng:0= ) + projectm? ( + media-fonts/dejavu + >=media-libs/libprojectm-3.1.12:0= + ) + pulseaudio? ( media-sound/pulseaudio ) + rdp? ( >=net-misc/freerdp-2.0.0_rc0:=[client(+)] ) + samba? ( >=net-fs/samba-4.0.0:0[client,-debug(-)] ) + sdl-image? ( media-libs/sdl-image ) + sftp? ( net-libs/libssh2 ) + shout? ( media-libs/libshout ) + sid? ( media-libs/libsidplay:2 ) + skins? ( + x11-libs/libXext + x11-libs/libXinerama + x11-libs/libXpm + ) + soxr? ( >=media-libs/soxr-0.1.2 ) + speex? ( + >=media-libs/speex-1.2.0 + media-libs/speexdsp + ) + srt? ( >=net-libs/srt-1.4.2:= ) + ssl? ( net-libs/gnutls:= ) + svg? ( + gnome-base/librsvg:2 + x11-libs/cairo + ) + taglib? ( >=media-libs/taglib-1.9 ) + theora? ( media-libs/libtheora ) + tremor? ( media-libs/tremor ) + truetype? ( + media-libs/freetype:2 + virtual/ttf-fonts + !fontconfig? ( media-fonts/dejavu ) + ) + twolame? ( media-sound/twolame ) + udev? ( virtual/udev ) + upnp? ( net-libs/libupnp:=[ipv6] ) + v4l? ( media-libs/libv4l:= ) + vaapi? ( x11-libs/libva:=[drm(+),wayland?,X?] ) + vdpau? ( x11-libs/libvdpau ) + vnc? ( net-libs/libvncserver ) + vpx? ( media-libs/libvpx:= ) + wayland? ( + >=dev-libs/wayland-1.15 + dev-libs/wayland-protocols + ) + X? ( + x11-libs/libX11 + x11-libs/libxcb + x11-libs/xcb-util + x11-libs/xcb-util-keysyms + ) + x264? ( >=media-libs/x264-0.0.20190214:= ) + x265? ( media-libs/x265:= ) + xml? ( dev-libs/libxml2:2 ) + zeroconf? ( net-dns/avahi[dbus] ) + zvbi? ( media-libs/zvbi ) +" +DEPEND="${RDEPEND} + X? ( x11-base/xorg-proto ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-2.1.0-fix-libtremor-libs.patch # build system + "${FILESDIR}"/${PN}-2.2.8-freerdp-2.patch # bug 590164 + "${FILESDIR}"/${PN}-3.0.6-fdk-aac-2.0.0.patch # bug 672290 + "${FILESDIR}"/${PN}-3.0.11.1-configure_lua_version.patch + "${FILESDIR}"/${PN}-3.0.14-fix-live-address-api.patch # bug 835072 +) + +DOCS=( AUTHORS THANKS NEWS README doc/fortunes.txt ) + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + if use lua; then + lua-single_pkg_setup + fi +} + +src_prepare() { + xdg_src_prepare # bug 608256 + + has_version 'net-libs/libupnp:1.8' && \ + eapply "${FILESDIR}"/${PN}-2.2.8-libupnp-slot-1.8.patch + + # Bootstrap when we are on a git checkout. + if [[ ${PV} = *9999 ]] ; then + ./bootstrap + fi + + # Make it build with libtool 1.5 + rm m4/lt* m4/libtool.m4 || die + + # We are not in a real git checkout due to the absence of a .git directory. + touch src/revision.txt || die + + # Don't use --started-from-file when not using dbus. + if ! use dbus ; then + sed -i 's/ --started-from-file//' share/vlc.desktop.in || die + fi + + # Disable running of vlc-cache-gen, we do that in pkg_postinst + sed -e "/test.*build.*host/s/\$(host)/nothanks/" \ + -i Makefile.am -i bin/Makefile.am || die "Failed to disable vlc-cache-gen" + + # Fix gettext version mismatch errors. + sed -i -e s/GETTEXT_VERSION/GETTEXT_REQUIRE_VERSION/ configure.ac || die + + eautoreconf + + # Disable automatic running of tests. + find . -name 'Makefile.in' -exec sed -i 's/\(..*\)check-TESTS/\1/' {} \; || die +} + +src_configure() { + local -x BUILDCC="$(tc-getBUILD_CC)" + + local myeconfargs=( + --disable-aa + --disable-optimizations + --disable-rpath + --disable-update-check + --enable-fast-install + --enable-screen + --enable-vcd + --enable-vlc + --enable-vorbis + $(use_enable a52) + $(use_enable alsa) + $(use_enable aom) + $(use_enable archive) + $(use_enable aribsub) + $(use_enable bidi fribidi) + $(use_enable bidi harfbuzz) + $(use_enable bluray) + $(use_enable cddb libcddb) + $(use_enable chromaprint) + $(use_enable chromecast) + $(use_enable chromecast microdns) + $(use_enable cpu_flags_arm_neon neon) + $(use_enable cpu_flags_ppc_altivec altivec) + $(use_enable cpu_flags_x86_mmx mmx) + $(use_enable cpu_flags_x86_sse sse) + $(use_enable dav1d) + $(use_enable dbus) + $(use_enable dbus kwallet) + $(use_enable dc1394) + $(use_enable debug) + $(use_enable directx) + $(use_enable directx d3d11va) + $(use_enable directx dxva2) + $(use_enable dts dca) + $(use_enable dvbpsi) + $(use_enable dvd dvdnav) + $(use_enable dvd dvdread) + $(use_enable encode sout) + $(use_enable encode vlm) + $(use_enable faad) + $(use_enable fdk fdkaac) + $(use_enable ffmpeg avcodec) + $(use_enable ffmpeg avformat) + $(use_enable ffmpeg postproc) + $(use_enable ffmpeg swscale) + $(use_enable flac) + $(use_enable fluidsynth) + $(use_enable fontconfig) + $(use_enable gcrypt libgcrypt) + $(use_enable gme) + $(use_enable gnome-keyring secret) + $(use_enable gstreamer gst-decode) + $(use_enable gui qt) + $(use_enable ieee1394 dv1394) + $(use_enable jack) + $(use_enable jpeg) + $(use_enable kate) + $(use_enable libass) + $(use_enable libcaca caca) + $(use_enable libnotify notify) + $(use_enable libsamplerate samplerate) + $(use_enable libtar) + $(use_enable libtiger tiger) + $(use_enable linsys) + $(use_enable lirc) + $(use_enable live live555) + $(use_enable lua) + $(use_enable macosx-notifications osx-notifications) + $(use_enable mad) + $(use_enable matroska) + $(use_enable modplug mod) + $(use_enable mp3 mpg123) + $(use_enable mpeg libmpeg2) + $(use_enable mtp) + $(use_enable musepack mpc) + $(use_enable ncurses) + $(use_enable nfs) + $(use_enable ogg) + $(use_enable omxil) + $(use_enable omxil omxil-vout) + $(use_enable optimisememory optimize-memory) + $(use_enable opus) + $(use_enable png) + $(use_enable projectm) + $(use_enable pulseaudio pulse) + $(use_enable rdp freerdp) + $(use_enable run-as-root) + $(use_enable samba smbclient) + $(use_enable sdl-image) + $(use_enable sftp) + $(use_enable shout) + $(use_enable sid) + $(use_enable skins skins2) + $(use_enable soxr) + $(use_enable speex) + $(use_enable srt) + $(use_enable ssl gnutls) + $(use_enable svg) + $(use_enable svg svgdec) + $(use_enable taglib) + $(use_enable theora) + $(use_enable tremor) + $(use_enable twolame) + $(use_enable udev) + $(use_enable upnp) + $(use_enable v4l v4l2) + $(use_enable vaapi libva) + $(use_enable vdpau) + $(use_enable vnc) + $(use_enable vpx) + $(use_enable wayland) + $(use_with X x) + $(use_enable X xcb) + $(use_enable X xvideo) + $(use_enable x264) + $(use_enable x264 x26410b) + $(use_enable x265) + $(use_enable xml libxml2) + $(use_enable zeroconf avahi) + $(use_enable zvbi) + $(use_enable !zvbi telx) + --with-kde-solid="${EPREFIX}"/usr/share/solid/actions + --disable-asdcp + --disable-coverage + --disable-cprof + --disable-crystalhd + --disable-decklink + --disable-gles2 + --disable-goom + --disable-kai + --disable-kva + --disable-libplacebo + --disable-maintainer-mode + --disable-merge-ffmpeg + --disable-mfx + --disable-mmal + --disable-opencv + --disable-opensles + --disable-oss + --disable-rpi-omxil + --disable-schroedinger + --disable-shine + --disable-sndio + --disable-spatialaudio + --disable-vsxu + --disable-wasapi + --disable-wma-fixed + ) + # ^ We don't have these disabled libraries in the Portage tree yet. + + # Compatibility fix for Samba 4. + use samba && append-cppflags "-I/usr/include/samba-4.0" + + if use x86; then + # We need to disable -fstack-check if use >=gcc 4.8.0. bug #499996 + append-cflags $(test-flags-CC -fno-stack-check) + # Bug 569774 + replace-flags -Os -O2 + fi + + # VLC now requires C++11 after commit 4b1c9dcdda0bbff801e47505ff9dfd3f274eb0d8 + append-cxxflags -std=c++11 + + if use omxil; then + # bug #723006 + # https://trac.videolan.org/vlc/ticket/24617 + append-cflags -fcommon + fi + + # FIXME: Needs libresid-builder from libsidplay:2 which is in another directory... + append-ldflags "-L${ESYSROOT}/usr/$(get_libdir)/sidplay/builders/" + + if use riscv; then + # bug #803473 + append-libs -latomic + fi + + if use truetype || use bidi; then + myeconfargs+=( --enable-freetype ) + else + myeconfargs+=( --disable-freetype ) + fi + + if use truetype || use projectm; then + local dejavu="${EPREFIX}/usr/share/fonts/dejavu/" + myeconfargs+=( + --with-default-font=${dejavu}/DejaVuSans.ttf + --with-default-font-family=Sans + --with-default-monospace-font=${dejavu}/DejaVuSansMono.ttf + --with-default-monospace-font-family=Monospace + ) + fi + + econf "${myeconfargs[@]}" + + # _FORTIFY_SOURCE is set to 2 in config.h, which is also the default value on Gentoo. + # Other values may break the build (bug 523144), so definition should not be removed. + # To prevent redefinition warnings, we undefine _FORTIFY_SOURCE at the start of config.h + sed -i '1i#undef _FORTIFY_SOURCE' config.h || die +} + +src_test() { + virtx emake check-TESTS +} + +src_install() { + default + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + if [[ -z "${ROOT}" ]] && [[ -x "${EROOT}/usr/$(get_libdir)/vlc/vlc-cache-gen" ]] ; then + einfo "Running ${EPREFIX}/usr/$(get_libdir)/vlc/vlc-cache-gen on ${EROOT}/usr/$(get_libdir)/vlc/plugins/" + "${EPREFIX}/usr/$(get_libdir)/vlc/vlc-cache-gen" "${EROOT}/usr/$(get_libdir)/vlc/plugins/" + else + ewarn "We cannot run vlc-cache-gen (most likely ROOT != /)" + ewarn "Please run ${EPREFIX}/usr/$(get_libdir)/vlc/vlc-cache-gen manually" + ewarn "If you do not do it, vlc will take a long time to load." + fi + + xdg_pkg_postinst +} + +pkg_postrm() { + if [[ -e "${EROOT}"/usr/$(get_libdir)/vlc/plugins/plugins.dat ]]; then + rm "${EROOT}"/usr/$(get_libdir)/vlc/plugins/plugins.dat || die "Failed to rm plugins.dat" + fi + + xdg_pkg_postrm +} diff --git a/media-video/vlc/vlc-3.0.17.3.ebuild b/media-video/vlc/vlc-3.0.17.3.ebuild deleted file mode 100644 index b22877009420..000000000000 --- a/media-video/vlc/vlc-3.0.17.3.ebuild +++ /dev/null @@ -1,514 +0,0 @@ -# Copyright 2000-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -LUA_COMPAT=( lua5-{1..2} ) - -MY_PV="${PV/_/-}" -MY_PV="${MY_PV/-beta/-test}" -MY_P="${PN}-${MY_PV}" -if [[ ${PV} = *9999 ]] ; then - if [[ ${PV%.9999} != ${PV} ]] ; then - EGIT_BRANCH="3.0.x" - fi - EGIT_REPO_URI="https://code.videolan.org/videolan/vlc.git" - inherit git-r3 -else - if [[ ${MY_P} = ${P} ]] ; then - SRC_URI="https://download.videolan.org/pub/videolan/${PN}/${PV}/${P}.tar.xz" - else - SRC_URI="https://download.videolan.org/pub/videolan/testing/${MY_P}/${MY_P}.tar.xz" - fi - KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv -sparc ~x86" -fi -inherit autotools flag-o-matic lua-single toolchain-funcs virtualx xdg - -DESCRIPTION="Media player and framework with support for most multimedia files and streaming" -HOMEPAGE="https://www.videolan.org/vlc/" - -LICENSE="LGPL-2.1 GPL-2" -SLOT="0/5-9" # vlc - vlccore - -IUSE="a52 alsa aom archive aribsub bidi bluray cddb chromaprint chromecast dav1d dbus - dc1394 debug directx dts +dvbpsi dvd +encode faad fdk +ffmpeg flac fluidsynth - fontconfig +gcrypt gme gnome-keyring gstreamer +gui ieee1394 jack jpeg kate - libass libcaca libnotify +libsamplerate libtar libtiger linsys lirc live lua - macosx-notifications mad matroska modplug mp3 mpeg mtp musepack ncurses nfs ogg - omxil optimisememory opus png projectm pulseaudio rdp run-as-root samba sdl-image - sftp shout sid skins soxr speex srt ssl svg taglib theora tremor truetype twolame - udev upnp vaapi v4l vdpau vnc vpx wayland +X x264 x265 xml zeroconf zvbi - cpu_flags_arm_neon cpu_flags_ppc_altivec cpu_flags_x86_mmx cpu_flags_x86_sse -" -REQUIRED_USE=" - chromecast? ( encode ) - directx? ( ffmpeg ) - fontconfig? ( truetype ) - libcaca? ( X ) - libtar? ( skins ) - libtiger? ( kate ) - lua? ( ${LUA_REQUIRED_USE} ) - skins? ( gui truetype X xml ) - ssl? ( gcrypt ) - vaapi? ( ffmpeg X ) - vdpau? ( ffmpeg X ) -" -BDEPEND=" - >=sys-devel/gettext-0.19.8 - virtual/pkgconfig - lua? ( ${LUA_DEPS} ) - amd64? ( dev-lang/yasm ) - x86? ( dev-lang/yasm ) -" -RDEPEND=" - media-libs/libvorbis - net-dns/libidn:= - sys-libs/zlib[minizip] - virtual/libintl - virtual/opengl - a52? ( media-libs/a52dec ) - alsa? ( media-libs/alsa-lib ) - aom? ( media-libs/libaom:= ) - archive? ( app-arch/libarchive:= ) - aribsub? ( media-libs/aribb24 ) - bidi? ( - dev-libs/fribidi - media-libs/freetype:2[harfbuzz] - media-libs/harfbuzz:= - virtual/ttf-fonts - ) - bluray? ( >=media-libs/libbluray-1.3.0:= ) - cddb? ( media-libs/libcddb ) - chromaprint? ( media-libs/chromaprint:= ) - chromecast? ( - >=dev-libs/protobuf-2.5.0:= - >=net-libs/libmicrodns-0.1.2:= - ) - dav1d? ( media-libs/dav1d:= ) - dbus? ( sys-apps/dbus ) - dc1394? ( - media-libs/libdc1394:2 - sys-libs/libraw1394 - ) - dts? ( media-libs/libdca ) - dvbpsi? ( >=media-libs/libdvbpsi-1.2.0:= ) - dvd? ( - >=media-libs/libdvdnav-6.1.1:0= - >=media-libs/libdvdread-6.1.2:0= - ) - faad? ( media-libs/faad2 ) - fdk? ( media-libs/fdk-aac:= ) - ffmpeg? ( >=media-video/ffmpeg-3.1.3:0=[postproc,vaapi?,vdpau?] ) - flac? ( - media-libs/flac - media-libs/libogg - ) - fluidsynth? ( media-sound/fluidsynth:= ) - fontconfig? ( media-libs/fontconfig:1.0 ) - gcrypt? ( - dev-libs/libgcrypt:0= - dev-libs/libgpg-error - ) - gme? ( media-libs/game-music-emu ) - gnome-keyring? ( app-crypt/libsecret ) - gstreamer? ( >=media-libs/gst-plugins-base-1.4.5:1.0 ) - gui? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtsvg:5 - dev-qt/qtwidgets:5 - X? ( - dev-qt/qtx11extras:5 - x11-libs/libX11 - ) - ) - ieee1394? ( - sys-libs/libavc1394 - sys-libs/libraw1394 - ) - jack? ( virtual/jack ) - jpeg? ( virtual/jpeg:0 ) - kate? ( media-libs/libkate ) - libass? ( - media-libs/fontconfig:1.0 - media-libs/libass:= - ) - libcaca? ( media-libs/libcaca ) - libnotify? ( - dev-libs/glib:2 - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3 - x11-libs/libnotify - ) - libsamplerate? ( media-libs/libsamplerate ) - libtar? ( dev-libs/libtar ) - libtiger? ( media-libs/libtiger ) - linsys? ( media-libs/zvbi ) - lirc? ( app-misc/lirc ) - live? ( media-plugins/live:= ) - lua? ( ${LUA_DEPS} ) - mad? ( media-libs/libmad ) - matroska? ( - >=dev-libs/libebml-1.4.2:= - media-libs/libmatroska:= - ) - modplug? ( >=media-libs/libmodplug-0.8.9.0 ) - mp3? ( media-sound/mpg123 ) - mpeg? ( media-libs/libmpeg2 ) - mtp? ( media-libs/libmtp:= ) - musepack? ( media-sound/musepack-tools ) - ncurses? ( sys-libs/ncurses:=[unicode(+)] ) - nfs? ( >=net-fs/libnfs-0.10.0:= ) - ogg? ( media-libs/libogg ) - opus? ( >=media-libs/opus-1.0.3 ) - png? ( media-libs/libpng:0= ) - projectm? ( - media-fonts/dejavu - >=media-libs/libprojectm-3.1.12:0= - ) - pulseaudio? ( media-sound/pulseaudio ) - rdp? ( >=net-misc/freerdp-2.0.0_rc0:=[client(+)] ) - samba? ( >=net-fs/samba-4.0.0:0[client,-debug(-)] ) - sdl-image? ( media-libs/sdl-image ) - sftp? ( net-libs/libssh2 ) - shout? ( media-libs/libshout ) - sid? ( media-libs/libsidplay:2 ) - skins? ( - x11-libs/libXext - x11-libs/libXinerama - x11-libs/libXpm - ) - soxr? ( >=media-libs/soxr-0.1.2 ) - speex? ( - >=media-libs/speex-1.2.0 - media-libs/speexdsp - ) - srt? ( >=net-libs/srt-1.4.2:= ) - ssl? ( net-libs/gnutls:= ) - svg? ( - gnome-base/librsvg:2 - x11-libs/cairo - ) - taglib? ( >=media-libs/taglib-1.9 ) - theora? ( media-libs/libtheora ) - tremor? ( media-libs/tremor ) - truetype? ( - media-libs/freetype:2 - virtual/ttf-fonts - !fontconfig? ( media-fonts/dejavu ) - ) - twolame? ( media-sound/twolame ) - udev? ( virtual/udev ) - upnp? ( net-libs/libupnp:=[ipv6] ) - v4l? ( media-libs/libv4l:= ) - vaapi? ( x11-libs/libva:=[drm,wayland?,X?] ) - vdpau? ( x11-libs/libvdpau ) - vnc? ( net-libs/libvncserver ) - vpx? ( media-libs/libvpx:= ) - wayland? ( - >=dev-libs/wayland-1.15 - dev-libs/wayland-protocols - ) - X? ( - x11-libs/libX11 - x11-libs/libxcb - x11-libs/xcb-util - x11-libs/xcb-util-keysyms - ) - x264? ( >=media-libs/x264-0.0.20190214:= ) - x265? ( media-libs/x265:= ) - xml? ( dev-libs/libxml2:2 ) - zeroconf? ( net-dns/avahi[dbus] ) - zvbi? ( media-libs/zvbi ) -" -DEPEND="${RDEPEND} - X? ( x11-base/xorg-proto ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-2.1.0-fix-libtremor-libs.patch # build system - "${FILESDIR}"/${PN}-2.2.8-freerdp-2.patch # bug 590164 - "${FILESDIR}"/${PN}-3.0.6-fdk-aac-2.0.0.patch # bug 672290 - "${FILESDIR}"/${PN}-3.0.11.1-configure_lua_version.patch - "${FILESDIR}"/${PN}-3.0.14-fix-live-address-api.patch # bug 835072 -) - -DOCS=( AUTHORS THANKS NEWS README doc/fortunes.txt ) - -S="${WORKDIR}/${MY_P}" - -pkg_setup() { - if use lua; then - lua-single_pkg_setup - fi -} - -src_prepare() { - xdg_src_prepare # bug 608256 - - has_version 'net-libs/libupnp:1.8' && \ - eapply "${FILESDIR}"/${PN}-2.2.8-libupnp-slot-1.8.patch - - # Bootstrap when we are on a git checkout. - if [[ ${PV} = *9999 ]] ; then - ./bootstrap - fi - - # Make it build with libtool 1.5 - rm m4/lt* m4/libtool.m4 || die - - # We are not in a real git checkout due to the absence of a .git directory. - touch src/revision.txt || die - - # Don't use --started-from-file when not using dbus. - if ! use dbus ; then - sed -i 's/ --started-from-file//' share/vlc.desktop.in || die - fi - - # Disable running of vlc-cache-gen, we do that in pkg_postinst - sed -e "/test.*build.*host/s/\$(host)/nothanks/" \ - -i Makefile.am -i bin/Makefile.am || die "Failed to disable vlc-cache-gen" - - # Fix gettext version mismatch errors. - sed -i -e s/GETTEXT_VERSION/GETTEXT_REQUIRE_VERSION/ configure.ac || die - - eautoreconf - - # Disable automatic running of tests. - find . -name 'Makefile.in' -exec sed -i 's/\(..*\)check-TESTS/\1/' {} \; || die -} - -src_configure() { - local -x BUILDCC="$(tc-getBUILD_CC)" - - local myeconfargs=( - --disable-aa - --disable-optimizations - --disable-rpath - --disable-update-check - --enable-fast-install - --enable-screen - --enable-vcd - --enable-vlc - --enable-vorbis - $(use_enable a52) - $(use_enable alsa) - $(use_enable aom) - $(use_enable archive) - $(use_enable aribsub) - $(use_enable bidi fribidi) - $(use_enable bidi harfbuzz) - $(use_enable bluray) - $(use_enable cddb libcddb) - $(use_enable chromaprint) - $(use_enable chromecast) - $(use_enable chromecast microdns) - $(use_enable cpu_flags_arm_neon neon) - $(use_enable cpu_flags_ppc_altivec altivec) - $(use_enable cpu_flags_x86_mmx mmx) - $(use_enable cpu_flags_x86_sse sse) - $(use_enable dav1d) - $(use_enable dbus) - $(use_enable dbus kwallet) - $(use_enable dc1394) - $(use_enable debug) - $(use_enable directx) - $(use_enable directx d3d11va) - $(use_enable directx dxva2) - $(use_enable dts dca) - $(use_enable dvbpsi) - $(use_enable dvd dvdnav) - $(use_enable dvd dvdread) - $(use_enable encode sout) - $(use_enable encode vlm) - $(use_enable faad) - $(use_enable fdk fdkaac) - $(use_enable ffmpeg avcodec) - $(use_enable ffmpeg avformat) - $(use_enable ffmpeg postproc) - $(use_enable ffmpeg swscale) - $(use_enable flac) - $(use_enable fluidsynth) - $(use_enable fontconfig) - $(use_enable gcrypt libgcrypt) - $(use_enable gme) - $(use_enable gnome-keyring secret) - $(use_enable gstreamer gst-decode) - $(use_enable gui qt) - $(use_enable ieee1394 dv1394) - $(use_enable jack) - $(use_enable jpeg) - $(use_enable kate) - $(use_enable libass) - $(use_enable libcaca caca) - $(use_enable libnotify notify) - $(use_enable libsamplerate samplerate) - $(use_enable libtar) - $(use_enable libtiger tiger) - $(use_enable linsys) - $(use_enable lirc) - $(use_enable live live555) - $(use_enable lua) - $(use_enable macosx-notifications osx-notifications) - $(use_enable mad) - $(use_enable matroska) - $(use_enable modplug mod) - $(use_enable mp3 mpg123) - $(use_enable mpeg libmpeg2) - $(use_enable mtp) - $(use_enable musepack mpc) - $(use_enable ncurses) - $(use_enable nfs) - $(use_enable ogg) - $(use_enable omxil) - $(use_enable omxil omxil-vout) - $(use_enable optimisememory optimize-memory) - $(use_enable opus) - $(use_enable png) - $(use_enable projectm) - $(use_enable pulseaudio pulse) - $(use_enable rdp freerdp) - $(use_enable run-as-root) - $(use_enable samba smbclient) - $(use_enable sdl-image) - $(use_enable sftp) - $(use_enable shout) - $(use_enable sid) - $(use_enable skins skins2) - $(use_enable soxr) - $(use_enable speex) - $(use_enable srt) - $(use_enable ssl gnutls) - $(use_enable svg) - $(use_enable svg svgdec) - $(use_enable taglib) - $(use_enable theora) - $(use_enable tremor) - $(use_enable twolame) - $(use_enable udev) - $(use_enable upnp) - $(use_enable v4l v4l2) - $(use_enable vaapi libva) - $(use_enable vdpau) - $(use_enable vnc) - $(use_enable vpx) - $(use_enable wayland) - $(use_with X x) - $(use_enable X xcb) - $(use_enable X xvideo) - $(use_enable x264) - $(use_enable x264 x26410b) - $(use_enable x265) - $(use_enable xml libxml2) - $(use_enable zeroconf avahi) - $(use_enable zvbi) - $(use_enable !zvbi telx) - --with-kde-solid="${EPREFIX}"/usr/share/solid/actions - --disable-asdcp - --disable-coverage - --disable-cprof - --disable-crystalhd - --disable-decklink - --disable-gles2 - --disable-goom - --disable-kai - --disable-kva - --disable-libplacebo - --disable-maintainer-mode - --disable-merge-ffmpeg - --disable-mfx - --disable-mmal - --disable-opencv - --disable-opensles - --disable-oss - --disable-rpi-omxil - --disable-schroedinger - --disable-shine - --disable-sndio - --disable-spatialaudio - --disable-vsxu - --disable-wasapi - --disable-wma-fixed - ) - # ^ We don't have these disabled libraries in the Portage tree yet. - - # Compatibility fix for Samba 4. - use samba && append-cppflags "-I/usr/include/samba-4.0" - - if use x86; then - # We need to disable -fstack-check if use >=gcc 4.8.0. bug #499996 - append-cflags $(test-flags-CC -fno-stack-check) - # Bug 569774 - replace-flags -Os -O2 - fi - - # VLC now requires C++11 after commit 4b1c9dcdda0bbff801e47505ff9dfd3f274eb0d8 - append-cxxflags -std=c++11 - - if use omxil; then - # bug #723006 - # https://trac.videolan.org/vlc/ticket/24617 - append-cflags -fcommon - fi - - # FIXME: Needs libresid-builder from libsidplay:2 which is in another directory... - append-ldflags "-L${ESYSROOT}/usr/$(get_libdir)/sidplay/builders/" - - if use riscv; then - # bug #803473 - append-libs -latomic - fi - - if use truetype || use bidi; then - myeconfargs+=( --enable-freetype ) - else - myeconfargs+=( --disable-freetype ) - fi - - if use truetype || use projectm; then - local dejavu="${EPREFIX}/usr/share/fonts/dejavu/" - myeconfargs+=( - --with-default-font=${dejavu}/DejaVuSans.ttf - --with-default-font-family=Sans - --with-default-monospace-font=${dejavu}/DejaVuSansMono.ttf - --with-default-monospace-font-family=Monospace - ) - fi - - econf "${myeconfargs[@]}" - - # _FORTIFY_SOURCE is set to 2 in config.h, which is also the default value on Gentoo. - # Other values may break the build (bug 523144), so definition should not be removed. - # To prevent redefinition warnings, we undefine _FORTIFY_SOURCE at the start of config.h - sed -i '1i#undef _FORTIFY_SOURCE' config.h || die -} - -src_test() { - virtx emake check-TESTS -} - -src_install() { - default - find "${ED}" -name '*.la' -delete || die -} - -pkg_postinst() { - if [[ -z "${ROOT}" ]] && [[ -x "${EROOT}/usr/$(get_libdir)/vlc/vlc-cache-gen" ]] ; then - einfo "Running ${EPREFIX}/usr/$(get_libdir)/vlc/vlc-cache-gen on ${EROOT}/usr/$(get_libdir)/vlc/plugins/" - "${EPREFIX}/usr/$(get_libdir)/vlc/vlc-cache-gen" "${EROOT}/usr/$(get_libdir)/vlc/plugins/" - else - ewarn "We cannot run vlc-cache-gen (most likely ROOT != /)" - ewarn "Please run ${EPREFIX}/usr/$(get_libdir)/vlc/vlc-cache-gen manually" - ewarn "If you do not do it, vlc will take a long time to load." - fi - - xdg_pkg_postinst -} - -pkg_postrm() { - if [[ -e "${EROOT}"/usr/$(get_libdir)/vlc/plugins/plugins.dat ]]; then - rm "${EROOT}"/usr/$(get_libdir)/vlc/plugins/plugins.dat || die "Failed to rm plugins.dat" - fi - - xdg_pkg_postrm -} diff --git a/media-video/vlc/vlc-3.0.9999.ebuild b/media-video/vlc/vlc-3.0.9999.ebuild index 423213f43413..9f650bcfa31d 100644 --- a/media-video/vlc/vlc-3.0.9999.ebuild +++ b/media-video/vlc/vlc-3.0.9999.ebuild @@ -201,7 +201,7 @@ RDEPEND=" udev? ( virtual/udev ) upnp? ( net-libs/libupnp:=[ipv6] ) v4l? ( media-libs/libv4l:= ) - vaapi? ( x11-libs/libva:=[drm,wayland?,X?] ) + vaapi? ( x11-libs/libva:=[drm(+),wayland?,X?] ) vdpau? ( x11-libs/libvdpau ) vnc? ( net-libs/libvncserver ) vpx? ( media-libs/libvpx:= ) diff --git a/media-video/vlc/vlc-9999.ebuild b/media-video/vlc/vlc-9999.ebuild index 9eb1890b6c9a..23316e6cba59 100644 --- a/media-video/vlc/vlc-9999.ebuild +++ b/media-video/vlc/vlc-9999.ebuild @@ -203,7 +203,7 @@ RDEPEND=" udev? ( virtual/udev ) upnp? ( net-libs/libupnp:=[ipv6] ) v4l? ( media-libs/libv4l:= ) - vaapi? ( x11-libs/libva:=[drm,wayland?,X?] ) + vaapi? ( x11-libs/libva:=[drm(+),wayland?,X?] ) vdpau? ( x11-libs/libvdpau ) vnc? ( net-libs/libvncserver ) vpx? ( media-libs/libvpx:= ) diff --git a/media-video/wireplumber/Manifest b/media-video/wireplumber/Manifest index 3dd501821d69..9a9622e61eac 100644 --- a/media-video/wireplumber/Manifest +++ b/media-video/wireplumber/Manifest @@ -9,6 +9,6 @@ DIST wireplumber-0.4.9.tar.gz 376170 BLAKE2B 50f552c730ac543fc2e8b0e054c861bcd22 EBUILD wireplumber-0.4.7-r2.ebuild 3599 BLAKE2B f26870c8f99bbd77c423a1d3e76a8111a3eb1537bc66da6435263a230d23933a36190f7bdfd974e65eb19c39ac0d1675f505e4b755cfae87c27fe25e82128219 SHA512 2033157b0cfcb61e5644899ab8954a9ec6f01391afe347b5b3850c8ac496f5801983a0ac5d1fd3726b475cb55a7816174df353afa71a9d880e6d2691f414d4bf EBUILD wireplumber-0.4.8-r2.ebuild 3768 BLAKE2B 631d7f8587ac270b5753a64c7a0836be51cd14e41a9909ffab651fb5357775a5fa5443a9785a7d26caee9fe3d6e832d8a2d7e74838c6cb5380de776cacbac937 SHA512 aab5a562f4d45cab757dbab197287169f5bcb377b79029aee72f97a7f8c407bfc15c78de8a437c132321e9138080c4c9661444fbeee561a5a54d22eb164bf395 EBUILD wireplumber-0.4.8-r3.ebuild 3832 BLAKE2B 9ae35b177ad87113e0ebdbbe5c22f3eb5704cb6f917d5a2f26d52c04a02a6a70be1b625948ea010ece704fa90d25d7f591bd726475092694c81e03f3ffbe88b3 SHA512 0317a54de35494bb09ee011ecb15dd5ce062b9a0aeb0dce2078c5e31b2500383fb619e26e921120ebe6477bebae47f9d80b5a6e7d8e3f566003a9a81e9159b53 -EBUILD wireplumber-0.4.9.ebuild 3518 BLAKE2B 23a038f529999f541365e117265392b366ba467e9880a5d5b738a7fcac08d00a59923bee22589577f740e3eeda8d6f0e1b01b954b417e0d15f0b8e6114760749 SHA512 5e96363b6d98f45eb38665840c159a3d3c130738f93374ac62e0de0941cc9d715d46d6b57f5c5b02aa032eb4da44b3d0732daff67f1c64c1a56f2936539b0349 -EBUILD wireplumber-9999.ebuild 3518 BLAKE2B 23a038f529999f541365e117265392b366ba467e9880a5d5b738a7fcac08d00a59923bee22589577f740e3eeda8d6f0e1b01b954b417e0d15f0b8e6114760749 SHA512 5e96363b6d98f45eb38665840c159a3d3c130738f93374ac62e0de0941cc9d715d46d6b57f5c5b02aa032eb4da44b3d0732daff67f1c64c1a56f2936539b0349 +EBUILD wireplumber-0.4.9.ebuild 3518 BLAKE2B a66b1eb5e288f1e4a42f1a7897b2f3746e29faa22ebec7fa8d7256acd9df9b2fe44b24c78e6f643334fb92461029f685574a6431bc7689427a52668925b03ea6 SHA512 2c31ef1c9c18b13de9a67a0db7dad15d5968ce883c92b8a8c0a20da973cbac6877fba51949f1e07724a11eddd064057fa9b1f01f7f613d07bb3561a402ecc316 +EBUILD wireplumber-9999.ebuild 3518 BLAKE2B a66b1eb5e288f1e4a42f1a7897b2f3746e29faa22ebec7fa8d7256acd9df9b2fe44b24c78e6f643334fb92461029f685574a6431bc7689427a52668925b03ea6 SHA512 2c31ef1c9c18b13de9a67a0db7dad15d5968ce883c92b8a8c0a20da973cbac6877fba51949f1e07724a11eddd064057fa9b1f01f7f613d07bb3561a402ecc316 MISC metadata.xml 803 BLAKE2B d05f76db401a8f71c5c1504d17dd8c0a87686f4b0ab2da450a47f71b1a15eeee2aef17107a3a987af70a097c3004c582fdda4c46e37c89466bfb470d032446dd SHA512 cfa42b1862175344b23fe65fb97d86783ded19352988790aefc6a062da212423dd81d8147525e4256025cdcfc6850909ca61d77d6b4243add0a3339b2eb319ee diff --git a/media-video/wireplumber/wireplumber-0.4.9.ebuild b/media-video/wireplumber/wireplumber-0.4.9.ebuild index 2e425ab4a17e..6d3a6544520e 100644 --- a/media-video/wireplumber/wireplumber-0.4.9.ebuild +++ b/media-video/wireplumber/wireplumber-0.4.9.ebuild @@ -41,7 +41,7 @@ BDEPEND=" DEPEND=" ${LUA_DEPS} >=dev-libs/glib-2.62 - >=media-video/pipewire-0.3.45:= + >=media-video/pipewire-0.3.48:= virtual/libc elogind? ( sys-auth/elogind ) systemd? ( sys-apps/systemd ) diff --git a/media-video/wireplumber/wireplumber-9999.ebuild b/media-video/wireplumber/wireplumber-9999.ebuild index 2e425ab4a17e..6d3a6544520e 100644 --- a/media-video/wireplumber/wireplumber-9999.ebuild +++ b/media-video/wireplumber/wireplumber-9999.ebuild @@ -41,7 +41,7 @@ BDEPEND=" DEPEND=" ${LUA_DEPS} >=dev-libs/glib-2.62 - >=media-video/pipewire-0.3.45:= + >=media-video/pipewire-0.3.48:= virtual/libc elogind? ( sys-auth/elogind ) systemd? ( sys-apps/systemd ) -- cgit v1.2.3