From 4187bba080530c5ca1c7dae9c233e88f3fc8f535 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 6 Jul 2024 08:06:16 +0100 Subject: gentoo auto-resync : 06:07:2024 - 08:06:15 --- media-video/Manifest.gz | Bin 23843 -> 23867 bytes media-video/aegisub/Manifest | 2 - .../aegisub/aegisub-3.2.2_p20160518-r105.ebuild | 161 ------- media-video/alevt/Manifest | 7 +- media-video/alevt/alevt-1.6.2.ebuild | 4 +- media-video/alevt/alevt-1.8.2.ebuild | 45 ++ .../alevt/files/alevt-1.8.2-respectflags.patch | 49 ++ media-video/alevt/metadata.xml | 3 + media-video/bino/Manifest | 2 + media-video/bino/bino-2.2.ebuild | 34 ++ media-video/dvdstyler/Manifest | 1 - media-video/dvdstyler/dvdstyler-3.2.1.ebuild | 70 --- media-video/handbrake/Manifest | 13 +- .../handbrake-1.3.0-dont-search-for-python.patch | 2 - .../files/handbrake-1.3.3-x265-link.patch | 4 +- .../files/handbrake-1.5.1-ffmpeg-5.0.patch | 9 - .../files/handbrake-1.6.1-missing-include.patch | 20 + .../handbrake-9999-remove-faac-dependency.patch | 4 - .../files/handbrake-9999-system-tools.patch | 2 - media-video/handbrake/handbrake-1.6.1.ebuild | 2 + media-video/imagination/Manifest | 5 +- .../imagination/files/imagination-3.6-cflags.patch | 13 + media-video/imagination/imagination-3.0-r2.ebuild | 4 +- media-video/imagination/imagination-3.6.ebuild | 50 ++ media-video/mediainfo/Manifest | 6 - media-video/mediainfo/mediainfo-22.09.ebuild | 89 ---- media-video/mediainfo/mediainfo-23.03.ebuild | 92 ---- media-video/mediainfo/mediainfo-23.04.ebuild | 92 ---- media-video/pipewire/Manifest | 7 +- ...fix-required-state-for-async-driver-nodes.patch | 82 ++++ ...odule-raop-only-set-softVolume-when-valid.patch | 30 ++ ...-node-collect-with-groups-and-sync-enable.patch | 149 ++++++ ...-impl-node-disable-async-for-driver-nodes.patch | 112 +++++ ...05-impl-node-set-INACTIVE-state-on-server.patch | 30 ++ media-video/pipewire/pipewire-1.2.0-r1.ebuild | 517 --------------------- media-video/pipewire/pipewire-1.2.0-r2.ebuild | 517 +++++++++++++++++++++ 36 files changed, 1166 insertions(+), 1063 deletions(-) delete mode 100644 media-video/aegisub/aegisub-3.2.2_p20160518-r105.ebuild create mode 100644 media-video/alevt/alevt-1.8.2.ebuild create mode 100644 media-video/alevt/files/alevt-1.8.2-respectflags.patch create mode 100644 media-video/bino/bino-2.2.ebuild delete mode 100644 media-video/dvdstyler/dvdstyler-3.2.1.ebuild create mode 100644 media-video/handbrake/files/handbrake-1.6.1-missing-include.patch create mode 100644 media-video/imagination/files/imagination-3.6-cflags.patch create mode 100644 media-video/imagination/imagination-3.6.ebuild delete mode 100644 media-video/mediainfo/mediainfo-22.09.ebuild delete mode 100644 media-video/mediainfo/mediainfo-23.03.ebuild delete mode 100644 media-video/mediainfo/mediainfo-23.04.ebuild create mode 100644 media-video/pipewire/files/1.2.0/0001-impl-node-fix-required-state-for-async-driver-nodes.patch create mode 100644 media-video/pipewire/files/1.2.0/0002-module-raop-only-set-softVolume-when-valid.patch create mode 100644 media-video/pipewire/files/1.2.0/0003-context-Fix-node-collect-with-groups-and-sync-enable.patch create mode 100644 media-video/pipewire/files/1.2.0/0004-impl-node-disable-async-for-driver-nodes.patch create mode 100644 media-video/pipewire/files/1.2.0/0005-impl-node-set-INACTIVE-state-on-server.patch delete mode 100644 media-video/pipewire/pipewire-1.2.0-r1.ebuild create mode 100644 media-video/pipewire/pipewire-1.2.0-r2.ebuild (limited to 'media-video') diff --git a/media-video/Manifest.gz b/media-video/Manifest.gz index 72d2031f3732..54be24b4c25a 100644 Binary files a/media-video/Manifest.gz and b/media-video/Manifest.gz differ diff --git a/media-video/aegisub/Manifest b/media-video/aegisub/Manifest index 6b86e2077fcb..0a39e0e53848 100644 --- a/media-video/aegisub/Manifest +++ b/media-video/aegisub/Manifest @@ -11,9 +11,7 @@ AUX 3.2.2_p20160518/aegisub-3.2.2_p20160518-respect-compiler-flags.patch 2186 BL AUX 3.2.2_p20160518/aegisub-3.2.2_p20160518-support-system-gtest.patch 2452 BLAKE2B 96b3712ec2f01eecff986b6e7fa8f2844b194e4cf139c0195d87fc7bd7aa77734c1b603c23081179fcbc4699e3c887fbb8069e58a23c44d706d79233a5418a1e SHA512 c3c8e5d13f73257278323bc2bba97b3abf838af0c727dc77aa8ba76b16440354d8d450ac9f6b5ab89cac3b1f44cc883a3ef80f22cf4f3ddd7ade05ee06c59cbb AUX 3.2.2_p20160518/aegisub-3.2.2_p20160518-tests_luarocks_lua_version.patch 505 BLAKE2B d92ab5c7604b9c04296ea82d3c5b093a900bb9345289539262e5d057bf21d003ce1fdfce7e6f57b8dad3cb62c3e604ada6e9bd596a3673afbbced338230ba638 SHA512 71bc5511bc0fcb9d55e893300066f7e755da5bad04f74e0ba103e622cac6ebf99d1fa7b1ca9f08d2b5169d305a4bee6a7782cb14304352ca108d126931851a5b AUX 3.3.3/aegisub-3.3.3-support-system-gtest.patch 2932 BLAKE2B e05519e4734f7532f605d63d27fd9386fba7eb0b36055235701ad65ee704f86424fbfc89fa36da6137c11fb149d11e793f37ae1e3c1e7820eaf236a774d2fa83 SHA512 643b7525e6f170d552551b6ebeffc9a5b37b8a38570f654fb93d523d2ccce355403ce50ddb337ee1761a4997235e12440d86684f296619196c418183989727cd -DIST aegisub-3.2.2_p20160518.tar.gz 7438734 BLAKE2B 3a57e5d6fafac2ca95d64d60e8d68b48177aaa0c5fd1438d0b0a133757ef95443c16324fb7effb41506f2b1eb70aab9d34845a91beef0ef81a3658444e24be07 SHA512 8d8775ba0a12735a9756b9abfd65c89519dae4e21afcaedbd18985d1c1021975b1ae909b3bef1121b707c626e1711d56f1823f3b4746eab49e8386536a5e84e6 DIST aegisub-3.3.3.tar.gz 6580314 BLAKE2B b6a6b6d9a805fb1aec943f00452e5f074c050d7d8970e0fa57da54a7a3c12b86241eafafd957577625bcce395c9f909fe60a22c9d76fcf8f018a4ea03921dacf SHA512 19e44667ad8742560559387c15f6c00339194cd26e1140624c63f34c6b4da6bb0b80be0f636a2d1cd0b15f1598e0580218d648e0622635b12eeaad3a40df9abc -EBUILD aegisub-3.2.2_p20160518-r105.ebuild 4277 BLAKE2B a0f15d4785fe42e9da2b4d76066130d0df1e08f230c1a1651496ca437fefb453d9765089b9131b1b0de965ccda32a12fe1cb1a97347b7d3be1c20488632c111b SHA512 f990a74d8a767584482eea686eeebf24e8cb5116b59313a346b9cbe56fe7f0bc2fbc79b3d9526d85f064bd4cb93eaf5344c500c21138a7dd971a3c6f61bbdfc3 EBUILD aegisub-3.3.3.ebuild 3915 BLAKE2B e23ce10ea46e06315826b446d3f4f00368271432e9ad3d235c7d413c69cf83bebf65e43de5354bb5f52cce57be10963346d6c3abf42713ea10f4a66924d7fad3 SHA512 ddf52ad9a4bb353a048a6c5b406173d6389a65ab1fd5e5765acf785e0f48dcd57f7397ffcafe1153a928e9e225e9bbef76fa1b44d30577f93bf296fecc54e224 EBUILD aegisub-9999.ebuild 3917 BLAKE2B 3bcc249ae52755ed55e06bc5422532bf460988af45b0da1028e4f22e5531e1d806962a0b13e506e2ba88283edcec550d68bf2dc37882752feb6ad4b6dd334e9c SHA512 648b0a44500379c6be599acef5b53a5dbc5af283b46c783aaeacdf2e4da2844007c41648be3da9c673341675f986d1407c5efa86e98cb8114702f6b2b5f95397 MISC metadata.xml 490 BLAKE2B dd77320afb5975e48eae5240c165ed9470fe5ae1ed917b8ba022a9c63d1b446c75b820eafef914c885afb9c32c8634bf6ee55e1340a1efce91d0fe019a589cc8 SHA512 deee9b5cbcbd3fa37a665b333094334c3a298face98c7deb992127191d77cbe0f7781945fd8297ce9f26ca34988539a4abc27877c4dff79228d64dc1c4bfeddd diff --git a/media-video/aegisub/aegisub-3.2.2_p20160518-r105.ebuild b/media-video/aegisub/aegisub-3.2.2_p20160518-r105.ebuild deleted file mode 100644 index d629f9e92acf..000000000000 --- a/media-video/aegisub/aegisub-3.2.2_p20160518-r105.ebuild +++ /dev/null @@ -1,161 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -LUA_COMPAT=( luajit ) -LUA_REQ_USE="lua52compat" - -WX_GTK_VER=3.0 -PLOCALES="ar bg ca cs da de el es eu fa fi fr_FR gl hu id it ja ko nl pl pt_BR pt_PT ru sr_RS sr_RS@latin uk_UA vi zh_CN zh_TW" -COMMIT_ID="b118fe7e7a5c37540e2f0aa75af105e272bad234" - -inherit autotools flag-o-matic lua-single plocale wxwidgets xdg-utils vcs-snapshot - -DESCRIPTION="Advanced subtitle editor" -HOMEPAGE="http://www.aegisub.org/ https://github.com/Aegisub/Aegisub" -SRC_URI="https://github.com/Aegisub/Aegisub/archive/${COMMIT_ID}.tar.gz -> ${P}.tar.gz" - -LICENSE="BSD MIT" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="+alsa debug +fftw openal oss portaudio pulseaudio spell test +uchardet" -RESTRICT="test" - -# aegisub bundles luabins (https://github.com/agladysh/luabins). -# Unfortunately, luabins upstream is practically dead since 2010. -# Thus unbundling luabins isn't worth the effort. -RDEPEND="${LUA_DEPS} - x11-libs/wxGTK:${WX_GTK_VER}[X,opengl,debug?] - dev-libs/boost:=[icu,nls] - dev-libs/icu:= - media-libs/ffmpegsource:= - media-libs/fontconfig - media-libs/freetype - media-libs/libass:=[fontconfig] - sys-libs/zlib - virtual/libiconv - virtual/opengl - alsa? ( media-libs/alsa-lib ) - fftw? ( >=sci-libs/fftw-3.3:= ) - openal? ( media-libs/openal ) - portaudio? ( =media-libs/portaudio-19* ) - pulseaudio? ( media-sound/pulseaudio ) - spell? ( app-text/hunspell:= ) - uchardet? ( app-i18n/uchardet ) -" -DEPEND="${RDEPEND}" -# luarocks is only used as a command-line tool so there is no need to enforce -# LUA_SINGLE_USEDEP on it. On the other hand, this means we must use version -# bounds in order to make sure we use a version migrated to Lua eclasses. -BDEPEND="dev-util/intltool - sys-devel/gettext - virtual/pkgconfig - test? ( - ${RDEPEND} - >=dev-cpp/gtest-1.8.1 - >=dev-lua/luarocks-3.4.0-r100 - $(lua_gen_cond_dep ' - dev-lua/busted[${LUA_USEDEP}] - ') - ) -" - -REQUIRED_USE="${LUA_REQUIRED_USE} - || ( alsa openal oss portaudio pulseaudio )" - -PATCHES=( - "${FILESDIR}/${PV}/${P}-fix-system-luajit-build.patch" - "${FILESDIR}/${PV}/${P}-respect-compiler-flags.patch" - "${FILESDIR}/${PV}/${P}-support-system-gtest.patch" - "${FILESDIR}/${PV}/${P}-fix-icu59-build.patch" - "${FILESDIR}/${PV}/${P}-fix-icu62-build.patch" - "${FILESDIR}/${PV}/${P}-fix-boost170-build.patch" - "${FILESDIR}/${PV}/${P}-fix-makefile-for-make4.3.patch" - "${FILESDIR}/${PV}/${P}-tests_luarocks_lua_version.patch" - "${FILESDIR}/${PV}/${P}-avoid-conveying-positional-parameters-to-source-builtin.patch" - "${FILESDIR}/${PV}/${P}-luaL_Reg-not-luaL_reg.patch" - "${FILESDIR}/${PV}/${P}-ffmpegsource-2.40-compat2.patch" - "${FILESDIR}/${PV}/${P}-fix-boost-181-build.patch" -) - -aegisub_check_compiler() { - if [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++11; then - die "Your compiler lacks C++11 support. Use GCC>=4.7.0 or Clang>=3.3." - fi -} - -pkg_pretend() { - aegisub_check_compiler -} - -pkg_setup() { - aegisub_check_compiler - lua-single_pkg_setup -} - -src_prepare() { - default_src_prepare - - # Remove tests that require unavailable uuid Lua module. - rm automation/tests/modules/lfs.moon || die - - remove_locale() { - rm "po/${1}.po" || die - } - - plocale_find_changes 'po' '' '.po' - plocale_for_each_disabled_locale remove_locale - - # See http://devel.aegisub.org/ticket/1914 - config_rpath_update "${S}"/config.rpath - - eautoreconf - - cat <<- EOF > build/git_version.h || die - #define BUILD_GIT_VERSION_NUMBER 8897 - #define BUILD_GIT_VERSION_STRING "${PV}" - #define TAGGED_RELEASE 0 - EOF -} - -src_configure() { - # Prevent access violations from OpenAL detection. See Gentoo bug 508184. - use openal && export agi_cv_with_openal="yes" - - setup-wxwidgets - local myeconfargs=( - --disable-update-checker - --with-ffms2 - --with-system-luajit - $(use_enable debug) - $(use_with alsa) - $(use_with fftw fftw3) - $(use_with openal) - $(use_with oss) - $(use_with portaudio) - $(use_with pulseaudio libpulse) - $(use_with spell hunspell) - $(use_with uchardet) - ) - econf "${myeconfargs[@]}" -} - -src_compile() { - emake WITH_SYSTEM_GTEST=$(usex test) -} - -src_test() { - emake test-automation - emake test-libaegisub -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} diff --git a/media-video/alevt/Manifest b/media-video/alevt/Manifest index e520f6a537a5..a1f6fd21bb10 100644 --- a/media-video/alevt/Manifest +++ b/media-video/alevt/Manifest @@ -1,5 +1,8 @@ AUX alevt-1.6.2-libpng15.patch 183 BLAKE2B a50dfcd01e7bb0e75206bae94e46cb463580284205a0d58d72d4b77b6c1d5b8ec066247d733ec95218f6c02c4208e814e19011ef205e6831f794629e6b0a7b15 SHA512 c445d02a782ff9d3b9b92418a11ef08af2c3062234ea6d3b1111cfbed41447cfa6d3c67fae8274acd372ca3f751e5414953df283babee1fb70b9fedd75029763 AUX alevt-1.6.2-respectflags.patch 1378 BLAKE2B e337cdac7339238bedad7abe500805d2e7a80dd1af49a6d1edcce3113f252b25d62b38681349d73f4c15c09b1d9a7ec85f5c8b123ab57262d66de94d009652ee SHA512 50350fcb1c4a9e4b44c9cbfcb5d4ca20140f9ef6f8ec0b7031a03658198e3b107ebe9a837a97978107b326ea920e1edf2e11c1df5fb0d70e5756a131b75a28f6 +AUX alevt-1.8.2-respectflags.patch 1347 BLAKE2B fda6bc2d918d2ae17f53523b905cb31c0e4003039b426827b2ec41a74aefe61f7b8412e77f68c6d510a4503d7db5599c35d4ab0790b4558fa083b35bd10fd2dd SHA512 76b657c4933a44ef95b3664426f529462341bf51238614dbe8d91fe0c9e8c5dbdc6926ec7fb2786971a626cc0a75c1c50e94a8d964ffce834a88f77df48eb07d DIST alevt-1.6.2.tar.gz 133234 BLAKE2B f252fb2ce1fbbad6c1aeb7649fea8b83aacfb62c38b7efa205680b32ad3c5dd7e60efa8be754c42040488860a59ff8a1cee235cf5adb75a5c738a503ee369db1 SHA512 8ddc0b03065b186bff8b705ec6ee8581460c4da4e65f97d15915d3bf708c7898661f61fa5fe004c7634adc9f850747b3fa08fe9ec94a5155482fcda479a884ed -EBUILD alevt-1.6.2.ebuild 872 BLAKE2B d4f181ac1b4fcd2ed9db1bcd21ff80ff0a435f2b9c84d141f3b164a76ceb10cc4f2928d2256f53002bdd805a04979f6a83b6261465476b9d26ee0dbd372f96c2 SHA512 5b7ec693f2c06e2551b219f952d09c23c427255a978a620a221f54b7d16fec311d97bd4602bffb950dc2793aa102c58dfead662c75b00f12af489ee0a8609bf5 -MISC metadata.xml 167 BLAKE2B 868e3b584722eaacf68273db062bb773d8c7e5d7ab2b81ca7e8397643bf7cc106c3a1033594401c99c54f667bb45d6b73f9048fc335580bbd44b4589ad26a832 SHA512 30caadd1496c3b9969136038239a1d8e01f236726b4022c2d7e19ca7575f25f735e556835e581afbf44fbd3e4104c40f2b5ef5fa70118d75c881fdf871962d0a +DIST alevt-1.8.2.tar.bz2 137373 BLAKE2B 8d903718eda7a4008fa96c344f2c0719b4b10eb638557840a693f58273de7fbbf11892305224c1ea2aaf840cb47808eff4e9ae403caa11af8707bb4c800ee111 SHA512 ba9e8e3f0831f61f135e41cf703bc9a8f6284d685cda80ab863ca7fe0c7c8f3724e1231a88c5364ff07ab881b48980acca6e86f17ca7a2cc1f40a7abc8e6ef54 +EBUILD alevt-1.6.2.ebuild 874 BLAKE2B c2dcf13faf50fed41ccdf1a773d1742a3c0683e0f598abdb5762d591988970af3ba509fc963451b85a3780aded89f053b1997768e277bdd08ed7599d61805a4f SHA512 07733c31d863510dc8c605d7f2c592195417c854907baf356b779a1eda72ab265596e886cfbf759de97cb7d6b355f05d97e8cd113659f34d3f61a9a31c5c1076 +EBUILD alevt-1.8.2.ebuild 988 BLAKE2B 70415a3b7af889729cc28c24eb04d6eb6fdb11d776f41237528e7fd2a5d678541e19f4d0d910edba00f4dbb3384ac28c95bc2a8918e0063d41e25a326b1253df SHA512 6eb2ed4f0b7dbacf37fae61bd79ac61c99fc33f93494f450cab6bb06864cad266b3f5eb6bdfa0801f464552cf520d5cc33383dc46cfce78403260346e47b00df +MISC metadata.xml 247 BLAKE2B 3a71326f31709ab58aab3d8726405f0db71f1e278be78c3f4a5965711c62da67a38ee9620d2eddde399a596c1a2a316aa4472e1c1c2944d05f89a0abf667f17a SHA512 e0ee1e2820eb085c3c6a58512b890551126b31dd22b68db57af60884707e4148f6ee74d221ab4f8e4b52199da541f4ed929db0f28b93ca73fdbfb43d5a242b2d diff --git a/media-video/alevt/alevt-1.6.2.ebuild b/media-video/alevt/alevt-1.6.2.ebuild index efa778cbc210..30588c1d712e 100644 --- a/media-video/alevt/alevt-1.6.2.ebuild +++ b/media-video/alevt/alevt-1.6.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -6,7 +6,7 @@ EAPI=7 inherit desktop flag-o-matic toolchain-funcs DESCRIPTION="Teletext viewer for X11" -HOMEPAGE="http://www.goron.de/~froese/" +HOMEPAGE="https://gitlab.com/alevt/alevt" SRC_URI="http://www.goron.de/~froese/alevt/${P}.tar.gz" LICENSE="GPL-2" diff --git a/media-video/alevt/alevt-1.8.2.ebuild b/media-video/alevt/alevt-1.8.2.ebuild new file mode 100644 index 000000000000..fb928d7b545f --- /dev/null +++ b/media-video/alevt/alevt-1.8.2.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit desktop flag-o-matic toolchain-funcs + +MY_P="${PN}-v${PV}" +DESCRIPTION="Teletext viewer for X11" +HOMEPAGE="https://gitlab.com/alevt/alevt" +SRC_URI="https://gitlab.com/${PN}/${PN}/-/archive/v${PV}/${MY_P}.tar.bz2 + -> ${P}.tar.bz2" +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" +RESTRICT="strip" + +RDEPEND=" + x11-libs/libX11 + media-libs/libpng:=" +DEPEND="${RDEPEND} + x11-base/xorg-proto" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${P}-respectflags.patch + "${FILESDIR}"/${PN}-1.6.2-libpng15.patch +) + +src_configure() { + append-cflags -fno-strict-aliasing + tc-export BUILD_CC CC +} + +src_install() { + dobin alevt alevt-cap alevt-date + doman alevt.1x alevt-date.1 alevt-cap.1 + einstalldocs + + newicon -s 16 contrib/mini-alevt.xpm alevt.xpm + newicon -s 48 contrib/icon48x48.xpm alevt.xpm + make_desktop_entry alevt "AleVT" alevt +} diff --git a/media-video/alevt/files/alevt-1.8.2-respectflags.patch b/media-video/alevt/files/alevt-1.8.2-respectflags.patch new file mode 100644 index 000000000000..cdd8fa2e28ba --- /dev/null +++ b/media-video/alevt/files/alevt-1.8.2-respectflags.patch @@ -0,0 +1,49 @@ +--- alevt-v1.8.2/Makefile 2023-04-22 15:44:42.000000000 +0200 ++++ alevt-v1.8.2-new/Makefile 2024-07-02 18:48:40.217880449 +0200 +@@ -1,5 +1,4 @@ + VER=1.8.2 +-OPT=-O2 -g -w + #OPT=-O -g + DEFS=-DWITH_PNG + #DEFS+=-DUSE_LIBZVBI +@@ -8,13 +7,12 @@ + #USR_X11R6=/usr + MAN_DIR=man + #MAN_DIR=share/man +-HOSTCC=$(CC) + # a smaller and thinner font + #FONT=neep9 + DESTDIR= + PREFIX=/usr/local + +-CFLAGS=$(OPT) -DVERSION=\"$(VER)\" $(DEFS) -I$(USR_X11R6)/include ++CPPFLAGS += -DVERSION=\"$(VER)\" $(DEFS) -I$(USR_X11R6)/include + + PKGS="x11" + +@@ -36,13 +34,13 @@ + all: alevt alevt-date alevt-cap alevt.1x alevt-date.1 alevt-cap.1 + + alevt: $(OBJS) +- $(CC) $(OPT) $(OBJS) -o alevt $(EXPLIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -o alevt $(EXPLIBS) + + alevt-date: $(TOBJS) +- $(CC) $(OPT) $(TOBJS) -o alevt-date $(EXPLIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) $(OPT) $(TOBJS) -o alevt-date $(EXPLIBS) + + alevt-cap: $(COBJS) +- $(CC) $(OPT) $(COBJS) -o alevt-cap $(EXPLIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) $(OPT) $(COBJS) -o alevt-cap $(EXPLIBS) + + font.o: font1.xbm font2.xbm font3.xbm font4.xbm + fontsize.h: font1.xbm font2.xbm font3.xbm font4.xbm +@@ -61,7 +59,7 @@ + ./bdf2xbm font4 font4.xbm + + bdf2xbm: bdf2xbm.c +- $(HOSTCC) bdf2xbm.c -o bdf2xbm ++ $(BUILD_CC) bdf2xbm.c -o bdf2xbm + + alevt.1x: alevt.1x.in + sed s/VERSION/$(VER)/g alevt.1x diff --git a/media-video/alevt/metadata.xml b/media-video/alevt/metadata.xml index 85e4ed814fa2..ec4f9a9979d6 100644 --- a/media-video/alevt/metadata.xml +++ b/media-video/alevt/metadata.xml @@ -2,4 +2,7 @@ + + alevt/alevt + diff --git a/media-video/bino/Manifest b/media-video/bino/Manifest index 18f811dd6544..1c630f04c420 100644 --- a/media-video/bino/Manifest +++ b/media-video/bino/Manifest @@ -2,6 +2,8 @@ AUX bino-1.6.8-respect-AR.patch 559 BLAKE2B 2c24d3082cb446ecbc269f93fa6d427f273f AUX bino-1.6.8-time-include.patch 662 BLAKE2B 6100dd865f2fcac6110e247dcc7576a5cf3a1ab7304e29d45b87331c3814101927193fb704f97a2216eae1878ae1a522502ed0725088ac3e4dfa0ffe4677dd69 SHA512 60426c7cd1f80ea370fe6b38d25f5dfc308e0ea0ed554cffdec2d3cc7b06baaf37d19c63705f34bc27f574ac773d7105880e1244b424f15ea273ccb983217082 DIST bino-1.6.8.tar.xz 836712 BLAKE2B 801d6f1ffbf1a7fbaabcdbb2c4bd649662d3b14b08189431a418702177f5de28a8961763c83962fd72cbf6f762fad34ed0b616efc68a723f65b6c72823618897 SHA512 d8cf5be356add4ed3fb36673038b5ffd92d0dc840798cc616fa4b11fec221c7f114347dfc7cdb7a3a24c5599b56301cddc99f84d3862d8e874612960281319cc DIST bino-2.0.tar.gz 193004 BLAKE2B cb9f40e6eb3f925ecf83e766d613ce15c2fccf8b52a16c3b8000b8854a1defc5dab271c984db3a3780e5126b0e83e60c675956ee6e287c117874c0ef6b504fbf SHA512 5620c506f4de1a9aa7f21f0a23481c5174e7a6a47e6401a84d048dc87843249ef325e33ebc49790d405eb4697c3c571550b0e202f24e758c446ce8e4014f98b3 +DIST bino-2.2.tar.gz 217784 BLAKE2B 84897edefd3c7ca34bea06bdafe985b2ba8936fc0f5303dfb288589361202537d68ffcfcda7e5daec3b59b72385f840dd5d57bc125fdf6383ca9ebed2194f6ec SHA512 73e6207db4a71673f88ebbd8999054acfc8f70a069fc74089976786082373d0eb7ae675786b1d3cf8907987267d9b1b50ddb05366b8b70f880c6898da765cd7b EBUILD bino-1.6.8.ebuild 1769 BLAKE2B 1c7604ce9345f541d3c04816dd4f6dff13ba8443b4ac316f19df3944bd9fada0029f73a23619eb664a5cc474d2a15b6d042013e2bc41e55b6847bf72f05673ee SHA512 b8e1699f3e34e307afe3c993c4af6fc6634d32b168f892f1a0a1b9ef3adb41ccc596368278ead3d778bb86385b7870db551a1cc87c33c461302aeb7808e3bb9a EBUILD bino-2.0.ebuild 597 BLAKE2B 5379a1965f26a5a9da21ffa991aab9ebf63608dbb42993c037a74205eb53c1fbad75f7b725794b808433a57c9d1977d4c1b9023b2baa1efd54523850aecad5c5 SHA512 563f3f1589a3cf8c20048c05ed4f3d4e52e1967ff78520d43682947931741495354381bfce1ecee931115a330e6ccf850db9a9c6f8e29d851816e46ba62a22a2 +EBUILD bino-2.2.ebuild 599 BLAKE2B 3189579bb3f8bc350686236bdfe2f76e7fbc5509d9ca1e2fdac3f774d12d1e05b9aefcb2f023bd5718176d7cc8c176f27169238e5b8a3c54785b0773667d3455 SHA512 4b86ec39d2f7eaa45b5d7e33f4ef5915122becd948a545b0339db2c26fd28991da6bff5651c670706fce7d523f3d43e44c4a0aa2ba19035e9cbc133dea443dfe MISC metadata.xml 251 BLAKE2B d8d3e540aec003dfab0b6663c9087bee59dbf7dbff2128c27883615d7250c03073926b9e023cf27925cce18736f86ca20ac3cb2a66d5fcaa0c009471ae95f822 SHA512 de4a63914b8a58e54b0d04d2461cc66199ad857191a11668b0f5b1c0f8713a3486cf22ea3d4df58ba8087775524608fb3d399cee3393f64770fdaa872f818467 diff --git a/media-video/bino/bino-2.2.ebuild b/media-video/bino/bino-2.2.ebuild new file mode 100644 index 000000000000..38365b40dc8c --- /dev/null +++ b/media-video/bino/bino-2.2.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake xdg + +DESCRIPTION="Stereoscopic and multi-display media player" +HOMEPAGE="https://bino3d.org/" +SRC_URI="https://bino3d.org/releases/${P}.tar.gz" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + dev-qt/qtbase:6[gui,opengl,widgets] + dev-qt/qtmultimedia:6 + dev-qt/qtsvg:6 +" +DEPEND="${RDEPEND}" +BDEPEND=" + dev-qt/qttools:6[linguist] + virtual/pandoc +" + +src_compile() { + local mycmakeargs=( + # Unpackaged + -DCMAKE_DISABLE_FIND_PACKAGE_QVR=ON + ) + + cmake_src_configure +} diff --git a/media-video/dvdstyler/Manifest b/media-video/dvdstyler/Manifest index 464673010c6a..a8351c075848 100644 --- a/media-video/dvdstyler/Manifest +++ b/media-video/dvdstyler/Manifest @@ -3,5 +3,4 @@ AUX wx30.patch 624 BLAKE2B fa464a7e39d721e52eec106794ecee23e802e7b57d2448d2d95c5 AUX wx32.patch 424 BLAKE2B 68eb622d8417f4b01391dd1aad10cc0e2575434149bbde54803e97010a2b367014225b17761f34a5b5a52356eb4aef4bc4bb0037cc6efe988918476bff8e5b11 SHA512 7d97ac865b7efb883d054f01a0702e4867a9da132cc1ab7fc2c1cc74d8ee252ce07e9b4a2f1e197ca6dd50d5923cf84c20e6d5908799d7bc214cf9e496221e51 DIST DVDStyler-3.2.1.tar.bz2 9040634 BLAKE2B f6c3ec5d6595b650ead167ae6532a0849cc6545e1531f10483a7dd2f9962ea6cd4494b7eb8224bbc6e70588b1054fc13a13a5e2f5d977b5b80692c7cc2553d53 SHA512 09124a6c8db2b8d8072bfe2f7de98474d736a36a66d5124eab1b925da9ca830901f554ca80d9a4403365616001d869237002a2cb467cf3cc11b37aea12ff9d90 EBUILD dvdstyler-3.2.1-r1.ebuild 1744 BLAKE2B be3cc796d5c57cf09a6d7e39daebcfbb6b3ca8058dd0b6c7bf825a2776ebfb740a7eca54e85dafa7c0f1b218b851b9e9a7b286dcf17924c56a0c45f50c92a6ec SHA512 37657998a7abbb8c7b0f94decb3473a3e0d5ee889d9331e2a278d727a45322fcce48d83c352639b12a19aba393efc6639ac5cf751c87cf9b11cb2071276b0c29 -EBUILD dvdstyler-3.2.1.ebuild 1713 BLAKE2B ab2553216417f24986c4304379ef8e3981e066a02139fba04630014e45e5c24ed943e596ef4d457e4ecb79735a5c9e607d9abcfdd1ee960e50b8687687678e45 SHA512 9389cde89c8cccaf63204f291c063d026531353fc9f31dec9cb56bbdf72830441ea99bc61caa486c7fb6d90aa62b26bb2b779b2fcefd47d3660820d49e0feba3 MISC metadata.xml 303 BLAKE2B 968311b2bad01107bc5da7eb9357989f0d9030ee07696d1ba676a4d5cc59773b8b474bae5167f0cdf1b39e5e182f41aec3b64dd7ac0df04302024ae75481c551 SHA512 8cb99add5aa709b0f9b14bc8c5fab09c958fa0b04f20bf4657e7a125761bec3e59fa6893a4b4633b8dc1d84c598ba518f757adef2ab1a5866a45f8c7cd59cf61 diff --git a/media-video/dvdstyler/dvdstyler-3.2.1.ebuild b/media-video/dvdstyler/dvdstyler-3.2.1.ebuild deleted file mode 100644 index 71057e8e2202..000000000000 --- a/media-video/dvdstyler/dvdstyler-3.2.1.ebuild +++ /dev/null @@ -1,70 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -MY_P=${P/dvds/DVDS} -WX_GTK_VER=3.0-gtk3 - -inherit wxwidgets - -DESCRIPTION="A cross-platform free DVD authoring application" -HOMEPAGE="https://www.dvdstyler.org/" -SRC_URI="https://downloads.sourceforge.net/${PN}/${MY_P}.tar.bz2" -S="${WORKDIR}/${MY_P}" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="debug +udev" - -DEPEND=" - app-cdr/cdrtools - >=app-cdr/dvd+rw-tools-7.1 - media-libs/libexif:= - >=media-libs/wxsvg-1.5.23:= - >=media-video/dvdauthor-0.7.1 - >=media-video/ffmpeg-2.6:0=[encode] - >=media-video/xine-ui-0.99.7 - virtual/jpeg:0 - x11-libs/wxGTK:${WX_GTK_VER}=[gstreamer,X] - sys-apps/dbus - udev? ( >=virtual/libudev-215:= )" -RDEPEND="${DEPEND} - >=app-cdr/dvdisaster-0.72.4 - media-video/mjpegtools" -BDEPEND=" - app-arch/zip - app-text/xmlto - sys-devel/gettext - app-alternatives/yacc - virtual/pkgconfig" - -PATCHES=( "${FILESDIR}"/ffmpeg5.patch "${FILESDIR}"/wx30.patch ) - -src_prepare() { - default - - # disable obsolete GNOME 2.x libraries wrt #508854 - sed -i -e '/PKG_CONFIG/s:libgnomeui-2.0:dIsAbLeAuToMaGiC&:' configure || die - # rmdir: failed to remove `tempfoobar': Directory not empty - sed -i -e '/rmdir "$$t"/d' docs/Makefile.in || die - # fix underlinking wrt #367863 - sed -i -e 's:@LIBS@:& -ljpeg:' wxVillaLib/Makefile.in || die - # silence desktop-file-validate QA check - sed -i \ - -e '/Icon/s:.png::' -e '/^Encoding/d' -e '/Categories/s:Application;::' \ - data/dvdstyler.desktop || die -} - -src_configure() { - setup-wxwidgets unicode - econf \ - $(use_enable debug) \ - --with-wx-config="${WX_CONFIG}" -} - -src_install() { - default - rm "${ED}"/usr/share/doc/${PF}/{COPYING*,INSTALL*} || die -} diff --git a/media-video/handbrake/Manifest b/media-video/handbrake/Manifest index aad7db54832a..a402a20cbc9c 100644 --- a/media-video/handbrake/Manifest +++ b/media-video/handbrake/Manifest @@ -1,15 +1,16 @@ -AUX handbrake-1.3.0-dont-search-for-python.patch 691 BLAKE2B 623654494bf61cedb531df3f9b3e64aa17a2a3d03cf9d71577ba1961961d3d058dfa383ef3bb5215eba8a2c84231531b35f1a331850070ae0bcc5b5fa1586c67 SHA512 044b0cb7d9302f74e1ef92e37162135b8ac76d96bf7d647c269ef19b5cf2a8771ce0cc76cbc8817b2480cc3e40af6bafd717888a3982b3e679d831519aad4e64 -AUX handbrake-1.3.3-x265-link.patch 277 BLAKE2B 6e5f7d5f59601ebf3c36116f595040d6e884637c8dc9a900774db9db07d1c0686a1b5c2db9276ca1c14612615e3974a7f9b05cb48c23f8f30ed0851238b92c32 SHA512 a74a2d20972a01b89dbfd7b81c070608d57e646de2ce63d9ae2d2e1486d31ca63e96d5ec803052b52e68bee157d5a1882914e0009ae480d1f8192031d79852eb -AUX handbrake-1.5.1-ffmpeg-5.0.patch 1338 BLAKE2B b4cd48ac769858779b8870eef7b7a4f66d67cce42d2c3e5c4cbbe7012c9f3f5622eae5b708f88300108539e683218292f395e0d6e32702e5ea3f2039556f9204 SHA512 cec727b44485847f20abb25d2ec6a8d1f59165c984a118f60803bdd70fd42b1b8209b76fe097961a4197e939720443979d5ba92df0857d195d918cd38ba2b733 +AUX handbrake-1.3.0-dont-search-for-python.patch 622 BLAKE2B 4976c3cc58ac58c1236f9e2a0b7f5112417b0f88380be49ae449c7e38d94105f08c104cbcd47be4b7b83bdc7ee099644ebde70b0cdbacb5874eb5c49150d5b53 SHA512 6ba8b62c91741b27a9c270995b768e6fa0773feb15492f78b50cdf9ed5c7c0bd70401051b644e12a52bc41ce1a4fed2151552a703db061ec4302b12ba9b760d3 +AUX handbrake-1.3.3-x265-link.patch 205 BLAKE2B e65b844a3924f2a332112502b9fb627eb876165d24ee4610c10a9d32a6d6e4eb98046d524837e7c1ce603135d40c77fa461128c3900734ae06681cb4d5bebd47 SHA512 d094c5348356ee3fde1ca1a0181b5b9bb64e9d10f956e34aed5033c21abb81db262970efc9fc72ef75b931ddc240dcb275f18dcc118b73dc585c933f537678e7 +AUX handbrake-1.5.1-ffmpeg-5.0.patch 1061 BLAKE2B 768f067caaeacc2fe3a68e4250a2aab98f08cd31fae0ae7d52056ccc36f901f0ee296eb8cacaae638fa841f3d58518dca8874452d422af200bee67cae1637f4d SHA512 b9665ab9658115a753ad62387cb16e27e01b4b0ec3d388eb237ed52e929ed5f87e0d69cde14107e907f595e21b85738941e879c435614ad753866f6881092a56 +AUX handbrake-1.6.1-missing-include.patch 550 BLAKE2B 874c646bd6ce430dd2b273fc80406bee3ab4b405be41f984a6f8600b69a9344996de31e007db3d62c4a423d4e5c75758e47d7d089a5c7b07ea7e866a7b222fd4 SHA512 7b09ad791823f34ca8d64312bbcf0583a087522502625eba043fb9c81db5a135c7585bdd8d8241ecb2a3dd045cee4192b0bab83a9457d419b82204cb1b48432d AUX handbrake-9999-dont-search-for-python.patch 626 BLAKE2B 25226e243d06fb1a4bf7d7a9a0b2d5f77b37e87fd413c17bad285f10c0cefd33bee9dc193cc3497cd0740a36d3c596579502d3c76eccb514fa09b5976a171e48 SHA512 fd7684b0e312772c4e9e206dad402f3672c600a570cc60da543dc7e984b2bb91c7a3843b1a86dfe11179b86e35396aafa1c7464d6d7d0e93472d740ab6bcc4d9 AUX handbrake-9999-remove-dvdnav-dup.patch 809 BLAKE2B 16cde838dcf59753e5438df0d2c2b81f45667058bd0687a7368c528f61bd2a2fedc4462894daad58c3acb5c51bdd53df3b30e28adba93a0fb2838416e4226217 SHA512 e2005155adf29e8253f4313d209b2ccc642fb1d7f63256d3bdf675ddd0e6b0e15bc6bffd98e19aa7dab3907e161e29c5268dc5656590ce9254b12a91ac3ff6b0 -AUX handbrake-9999-remove-faac-dependency.patch 4037 BLAKE2B fa3d059198f79334d2b4e8109fd5d39d9f02ded8e46c287009bb8486d9c968b5387813f894fb78ccdd584e4f72fbcc4ee42cd00fc834933f90601c7fb08d0737 SHA512 155b8f5585a66167ae39d568d4c12227ffb7cf327707b556ed28532e6f8adce1a81601ae35403e14d6850e3c9411b1b9142c90dc2af50be1083abe21fa3d68f7 -AUX handbrake-9999-system-tools.patch 1489 BLAKE2B 2a3286dc1cd37d85e1edb1312688a354f000d560a767dc4c4fc23b7874bec46692f21a5b7e2c2b6cc7b6efb221a00084355659ee9d9965a28a23c7012adfbd3d SHA512 eb07b8e675cf6a8b4eee1d0fcb682ae7d61c9ec8423202b6c8672fc94f6b011b1e01a5e9654b2e63d15b66c122e8c2c57b385e36a43d3c68fba69bf144beb508 +AUX handbrake-9999-remove-faac-dependency.patch 3869 BLAKE2B 41f5c9499430fbd4e38d22403d1d84dce5c1c0a0cc16c3e544028ee6612175c28913587cdca922d7438fe41761a28e4b1f80eb2073c6619bb2d954e848857451 SHA512 39ee580ff14a4286b9f74557866fb0ceef2521628eeb6f2d311dd46a8cfbc0c5933068deb2bc717cdf29d014a2eb3d54470f17f2214626ceba43a2d89f5be8b8 +AUX handbrake-9999-system-tools.patch 1404 BLAKE2B b18f3149ba5012bc97084c29a1dc4409de6dd7e76a83687fed961c54534c226077e170d227d3d8e1c1d973e8c843ac9c5f796c2dadece1a14e3eb831323c4ac6 SHA512 965eb699193ab22f64621e3776e7af68f0fc13abcf16c779e7dddb3c6aa121afbe8791c63f2a6969842bc11c28c7b0f91f8eb26f1959e2fdb8fb08da4ceb182e DIST handbrake-1.4.2.tar.bz2 15991593 BLAKE2B 966b54d35dd5544800208edc9045eaf26f3253aa470686b9ea29cdf69393af140829b21072133684661fd881eee7f97b90f9c7edfa87f187058dd1b14d1a748b SHA512 ba8ffe01cd813e9991716eabb2844e1ed414e3a2c547154b89588389e96846af9f2dd47f66d735101fdacd5be1928e34e4bab31e6a189779e77001ffdb0b427e DIST handbrake-1.5.1.tar.bz2 16137974 BLAKE2B 9ce1f1ae7b2fe514ba1fb6ed30a345d18144829272a6298f2af0831e5ea7533ef2f8b201fd98389269b0ea12bbba15d0b76f09afeff6ed1d9ed313f20cf8f3a1 SHA512 63c5933f77d417a89512abd278a1d844f2b7a36ec9f8ab664c1a1348fd228ee389fc8e349b2df6cbf5d617b912d4634457ebea86490ff5ed4930f39a90dc7568 DIST handbrake-1.6.1.tar.bz2 15934833 BLAKE2B 027457c874bd49ff8a625233a5d09d70bdf76c45e6f2664f3ca65efcd0e1705d5575a81c5ac8f2237b8add7025314f12f0a19d6cc7337e2b0edd28c30ee3334b SHA512 e5cc0fee5bf063c4cdb8f64a772dac6800a7214bfdc65042c121e0e81878599fe615b499ebf6466bb78740314374ad8b8fa364fb24ff86852183e7dbbf565617 EBUILD handbrake-1.4.2-r2.ebuild 4072 BLAKE2B e8d02d4ba17fdea73fe53b242c9860ab450ec1221069aa3dd36b1b7e37c398aef66dca8e6ad6b2c410459b01dd3495f3793e3d5e6654000dd9520676efe21020 SHA512 06d292b5e1a455f9fdbc07bfded936653e892ea7bf1e05e8455a8c76a8b3e66dfa320d6fcd6d85cfaa22a987b1f243421681f947ce5b39c8a2eda2e994875c0d EBUILD handbrake-1.5.1-r1.ebuild 4246 BLAKE2B 6d29d5701826e2fb45a57b3a4aaab081571e8d0d1d2f506529bbd6ba04bcc94c8ed268989c61dda32a4617dcd87afe88f4eb6ee5ae383f5b88862b5418f64933 SHA512 d3caf8497dd139975729c29ac32b051e27e293ec585b0665b4974372418257d8d6d5763640601ce58ef8dbe84cd116b7bd451d59ff7166311183763e10be66da -EBUILD handbrake-1.6.1.ebuild 4145 BLAKE2B 0acacbc190d5d57c98aee7737c8245c3dacc3adcc38184e43573a096c197f86278590311e8df4d75ef79158f15171dff6b84bbed2c19c3a8f27d4d13397e560a SHA512 cf9100e8650127c53d289128d02a244a2e2208425bf5bf55583ce20677d890ffc4224d5475ed19de52ebe0000299ba812feb646bf62f3a7473307a0d76f51e4b +EBUILD handbrake-1.6.1.ebuild 4195 BLAKE2B df1f8634daad66a1464c9284bcb6ff4747458fb54e69e77beaa15a506fdc934dfa47c3e7370271ed0c7e0f821bce4801c9e7763f68827a48f9f8c94eaa4805a6 SHA512 9d94b6d6cbcd0e0148e369b137fe0c029a61e7b67c99269c842e4d079945a238fb422b6a548bd12abc8e04cdf888877f0e37bbebf1e19a5afa0253aa44f2039d EBUILD handbrake-9999.ebuild 4146 BLAKE2B f9fd388558262b7710ccda4db4cb80038a3f2ae133e9bdaa68226291fcfb5be39739d0e34940eedebda02832893d233013a951b6a478e9decc6ff05d9acb1843 SHA512 be8d7c514ed2602b961f77b46c8e0e69e927182d98a188b9542006c143fd1f150792222cdc618cf6bdaafed2967dd967e125d3850f7f9cf2dbfb9c7787477d40 MISC metadata.xml 764 BLAKE2B b55002f9d3df7bb894d64f6cbebcf5eb54298f160500a1ba46f132613a903c8a8cdcdd1bc6d425272b850e4142800dbdcec2fcf1208cc84a07961a31fc054ddb SHA512 ba170b59a2b96eb804e34a36845909b781fab783989db97f7c4c15b98d0b5497978bc7ae0b247958532031537d53e1878582d858b1c92a345b82fafecf98f7e1 diff --git a/media-video/handbrake/files/handbrake-1.3.0-dont-search-for-python.patch b/media-video/handbrake/files/handbrake-1.3.0-dont-search-for-python.patch index 551a64ee3817..851ca0a11072 100644 --- a/media-video/handbrake/files/handbrake-1.3.0-dont-search-for-python.patch +++ b/media-video/handbrake/files/handbrake-1.3.0-dont-search-for-python.patch @@ -1,5 +1,3 @@ -diff --git a/configure b/configure -index 5c870e1d7..2f5834083 100755 --- a/configure +++ b/configure @@ -14,20 +14,8 @@ inpath() diff --git a/media-video/handbrake/files/handbrake-1.3.3-x265-link.patch b/media-video/handbrake/files/handbrake-1.3.3-x265-link.patch index 6a1464571ec3..779366db543b 100644 --- a/media-video/handbrake/files/handbrake-1.3.3-x265-link.patch +++ b/media-video/handbrake/files/handbrake-1.3.3-x265-link.patch @@ -1,5 +1,5 @@ ---- a/test/module.defs 2020-06-13 15:05:35.000000000 +0100 -+++ a/test/module.defs 2020-07-03 11:15:53.951205608 +0100 +--- a/test/module.defs ++++ a/test/module.defs @@ -30,6 +30,10 @@ endif endif diff --git a/media-video/handbrake/files/handbrake-1.5.1-ffmpeg-5.0.patch b/media-video/handbrake/files/handbrake-1.5.1-ffmpeg-5.0.patch index 643605076294..2ec2f3170de1 100644 --- a/media-video/handbrake/files/handbrake-1.5.1-ffmpeg-5.0.patch +++ b/media-video/handbrake/files/handbrake-1.5.1-ffmpeg-5.0.patch @@ -9,13 +9,6 @@ avcodec.h stopped including bsf.h per FFmpeg commit 57b5ec6ba7df [1]. Fixes compilation error against FFmpeg later than the mentioned commit. [1] https://github.com/FFmpeg/FFmpeg/commit/57b5ec6ba7df442caebc401c4a7ef3ebc066b519 ---- - libhb/decavcodec.c | 1 + - libhb/muxavformat.c | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/libhb/decavcodec.c b/libhb/decavcodec.c -index 372f86f82cf..e7a63289c0f 100644 --- a/libhb/decavcodec.c +++ b/libhb/decavcodec.c @@ -41,6 +41,7 @@ @@ -26,8 +19,6 @@ index 372f86f82cf..e7a63289c0f 100644 #include "libavfilter/avfilter.h" #include "libavfilter/buffersrc.h" #include "libavfilter/buffersink.h" -diff --git a/libhb/muxavformat.c b/libhb/muxavformat.c -index 232edd0942a..ad8e2a1d8fa 100644 --- a/libhb/muxavformat.c +++ b/libhb/muxavformat.c @@ -8,6 +8,7 @@ diff --git a/media-video/handbrake/files/handbrake-1.6.1-missing-include.patch b/media-video/handbrake/files/handbrake-1.6.1-missing-include.patch new file mode 100644 index 000000000000..cfe16e718fc4 --- /dev/null +++ b/media-video/handbrake/files/handbrake-1.6.1-missing-include.patch @@ -0,0 +1,20 @@ +--- a/libhb/muxavformat.c ++++ b/libhb/muxavformat.c +@@ -7,6 +7,7 @@ + For full terms see the file COPYING file or visit http://www.gnu.org/licenses/gpl-2.0.html + */ + ++#include + #include + #include "libavcodec/bsf.h" + #include "libavformat/avformat.h" +--- a/libhb/work.c ++++ b/libhb/work.c +@@ -7,6 +7,7 @@ + For full terms see the file COPYING file or visit http://www.gnu.org/licenses/gpl-2.0.html + */ + ++#include + #include "handbrake/handbrake.h" + #include "libavformat/avformat.h" + #include "handbrake/decomb.h" diff --git a/media-video/handbrake/files/handbrake-9999-remove-faac-dependency.patch b/media-video/handbrake/files/handbrake-9999-remove-faac-dependency.patch index a75bb24bf5b3..12a0814fc056 100644 --- a/media-video/handbrake/files/handbrake-9999-remove-faac-dependency.patch +++ b/media-video/handbrake/files/handbrake-9999-remove-faac-dependency.patch @@ -1,5 +1,3 @@ -diff --git a/libhb/common.c b/libhb/common.c -index f43efdbb5..c917151b7 100644 --- a/libhb/common.c +++ b/libhb/common.c @@ -375,7 +375,6 @@ hb_encoder_internal_t hb_audio_encoders[] = @@ -10,8 +8,6 @@ index f43efdbb5..c917151b7 100644 { { "AAC (ffmpeg)", "ffaac", NULL, HB_ACODEC_FFAAC, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 1, 0, HB_GID_ACODEC_AAC, }, { { "AC3 (ffmpeg)", "ffac3", NULL, HB_ACODEC_AC3, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 1, 0, HB_GID_ACODEC_AC3, }, { { "MP3 (lame)", "lame", NULL, HB_ACODEC_LAME, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 1, 0, HB_GID_ACODEC_MP3, }, -diff --git a/scripts/manicure.rb b/scripts/manicure.rb -index fb4afa9ec..424288298 100755 --- a/scripts/manicure.rb +++ b/scripts/manicure.rb @@ -349,7 +349,7 @@ class Display diff --git a/media-video/handbrake/files/handbrake-9999-system-tools.patch b/media-video/handbrake/files/handbrake-9999-system-tools.patch index 9d76e628ccbb..820b4af8b3e8 100644 --- a/media-video/handbrake/files/handbrake-9999-system-tools.patch +++ b/media-video/handbrake/files/handbrake-9999-system-tools.patch @@ -1,7 +1,5 @@ # https://bugs.gentoo.org/738110 -diff --git a/make/configure.py b/make/configure.py -index 87118fcbe..df869856d 100644 --- a/make/configure.py +++ b/make/configure.py @@ -1626,14 +1626,14 @@ try: diff --git a/media-video/handbrake/handbrake-1.6.1.ebuild b/media-video/handbrake/handbrake-1.6.1.ebuild index 7be693401ffa..427b5614f5b4 100644 --- a/media-video/handbrake/handbrake-1.6.1.ebuild +++ b/media-video/handbrake/handbrake-1.6.1.ebuild @@ -98,6 +98,8 @@ PATCHES=( # Fix x265 linkage... again again #730034 "${FILESDIR}/${PN}-1.3.3-x265-link.patch" + + "${FILESDIR}/${PN}-1.6.1-missing-include.patch" ) src_prepare() { diff --git a/media-video/imagination/Manifest b/media-video/imagination/Manifest index 513d98c0484c..02a827387cc3 100644 --- a/media-video/imagination/Manifest +++ b/media-video/imagination/Manifest @@ -1,6 +1,9 @@ AUX imagination-3.0-cflags.patch 834 BLAKE2B 7f3a995282a4e6fb0c505a6ad6fd1cb813a550c3a43ac131498ab38487a9c286b19518898f87cd11b51bf846a409ce15890c08b4cd466fe76f76f83e89d4bf38 SHA512 0afdeb7b3b4b25c08180eabe74631d3689a7eeff8a4f8ca930d6c093d75c29ae8e6c31fc82dcac65ba4dd5efaff21e64114ef8e7218e379845c8dd72aaa93369 AUX imagination-3.0-enable-translations.patch 231 BLAKE2B 210deeb69fdc4d9236519f0eec6571789236c4ff2e8a9379312a11f0c8792e3d1ec4e078d805c91ebc21265e5fa90737ef2d3643904829425712da52cd77a5c8 SHA512 5c086aaf8fc28494250c08655b4f6a05f16efd853d42c47cef503e2e846bec2665a6ec339660aad63de47d094aa29cafddcb4ac0e46e24f2fd27660fd2dc417a AUX imagination-3.0-fix-htmldir.patch 2198 BLAKE2B bca0f907f386ebde1ec46db6c5c5a7952557fa3ef9a16984f133c175c5ee70897bfa88204c00250f9c243dc5e157ef370478a1fe94e53fb03a9a4ffecdb31b24 SHA512 e7537354418f71ffa50666a197cc9dc46a3b4a8441ee75bd3b31b1e8b5636e7f304b8b9df6a1df4012ac31b9538a2c73a26b888e02850c2d6fbda8ae1531ffad +AUX imagination-3.6-cflags.patch 275 BLAKE2B f27f43ad89d9d4d444bfddfddbe59df393f71d137500371202dfa7624202e98269e46a314601a62e20104a146a1f6cc34b82049e83062bfb473aadbcd65c074c SHA512 e899ed08ea2188ff26ea80693fd9a1c2bd19777069b511141d2177e8080dd1c59bc36adaafd6f4f542078f0626c37cad32cf3c44ba9083f4ea5e1931f754c7bb DIST imagination-3.0.tar.gz 3327784 BLAKE2B 0322a68ab6c44e2b0d47bb89de6522249ca3507808ee3733f2f195923c4269591c2225271ef27b24c648cb6784a5c85bd6ca97142072e52641bdf7f80b9a9bc7 SHA512 0780ab572d8f4fc1e728befef79f974169438d723f67205e677c06cbe0dac06745868936e7d3eab5fc42728902f6b06eb5f9d7e836532c289df005ddab2104b8 -EBUILD imagination-3.0-r2.ebuild 772 BLAKE2B 26928518b1338bc8c9adce8df338b2b4364148a213508084d24b5a905a48b05c392bd6d91442222357acac150ee361b2f96c95b33c3ef2f5050af8bb535eb9a8 SHA512 cef9430730873fb529da197f0eb1106e70c1ff8f663f73af8cd71768f287885b9ade760d6bd45fe7d17d2ee830159a6e0905a4b6470713f95338d802807dd53b +DIST imagination-3.6.tar.gz 3553509 BLAKE2B 39b345b073b123e68ab6a025b03ca23a38191cb2d2f5163d8b7722a8891d254f9fc7b54461c7d741ba6d2e7b25cb2029d9eec55e5115a5b8504dd85985c740aa SHA512 673651cf59baded805ba3993c6f9dff83f20ae9174d5f5e07b99d9d590eb817e6733cbc130a3d32502a84fa29bd78c4f1dd093c01aaedfef5f9425a59125865d +EBUILD imagination-3.0-r2.ebuild 774 BLAKE2B 043db5a705f94591273cbb975a77e721e4e0093bf4a037b869b9ffc7e2ed90ad84653c51dac87fc9612964e5a62c1822160358c25bdd25840eed0afc1e26b99e SHA512 02dc59a17618aedd99e5f1fefada5fcbcb1a95ccbeec925c21b17c81dda92ff8e9ffc0fcf702a90f68eb5aab62fd5a1d51c3e0770619a44cd77f21e8c602cf11 +EBUILD imagination-3.6.ebuild 840 BLAKE2B 6264510646bea0c1c2004d27c51b746026f6f0548bc688a302410467c3d8f8fe769c355463837f722616fc94b9c393578dcb2605f3c2f0fedef2d471d357b9fa SHA512 14eb50f40aae6f3ecd433bcc5fbb877062b5da282620b9906e2b61316cae98b634502fd608f34f6e6c9fe24ac746153ec9b937c3ee08da61f90b87710e84106d MISC metadata.xml 249 BLAKE2B fc87a15c81ffa3a74c326b64bc9a7cd57d053407734ca63b1c3211bb22520522549b16830ec787fcfd4f6494a3ae07faac117e1da6460804aee8d4b97d950820 SHA512 11d82d0f33dd66a691ce86adf94938b19ba1ddda75814cfbe4fa46bec59a5969aedbede7593fd54c28c8d032fbbe8f815e648fc26349cfb1f6edf43c51ab210f diff --git a/media-video/imagination/files/imagination-3.6-cflags.patch b/media-video/imagination/files/imagination-3.6-cflags.patch new file mode 100644 index 000000000000..e1f2b1a4de61 --- /dev/null +++ b/media-video/imagination/files/imagination-3.6-cflags.patch @@ -0,0 +1,13 @@ +diff --git a/configure.ac b/configure.ac +index 0be7802..d19c8ec 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -50,7 +55,7 @@ + if test "x${REVISION}" != "xr0" + then + # force debug mode for a SVN working copy +- CFLAGS="-g -Wall" ++ CFLAGS+=" -Wall" + else + REVISION="-1" + fi diff --git a/media-video/imagination/imagination-3.0-r2.ebuild b/media-video/imagination/imagination-3.0-r2.ebuild index 5fbaeb15aa72..ccbedf7474e0 100644 --- a/media-video/imagination/imagination-3.0-r2.ebuild +++ b/media-video/imagination/imagination-3.0-r2.ebuild @@ -6,10 +6,10 @@ EAPI=7 inherit autotools desktop DESCRIPTION="Simple DVD slideshow maker" -HOMEPAGE="http://imagination.sourceforge.net/" +HOMEPAGE="https://imagination.sourceforge.net/" SRC_URI="https://downloads.sourceforge.net/${PN}/${PN}/${PV}/${P}.tar.gz" -LICENSE="GPL-2" +LICENSE="GPL-2+" SLOT="0" KEYWORDS="~amd64 ~x86" diff --git a/media-video/imagination/imagination-3.6.ebuild b/media-video/imagination/imagination-3.6.ebuild new file mode 100644 index 000000000000..caefd7c2a3e8 --- /dev/null +++ b/media-video/imagination/imagination-3.6.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools desktop xdg-utils + +DESCRIPTION="Simple DVD slideshow maker" +HOMEPAGE="https://imagination.sourceforge.net/" +SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +DEPEND=" + dev-libs/glib:2 + media-sound/sox:= + x11-libs/cairo:= + x11-libs/gdk-pixbuf + x11-libs/gtk+:3 + x11-libs/pango" +RDEPEND="${DEPEND} + media-video/ffmpeg" + +PATCHES=( + "${FILESDIR}"/${P}-cflags.patch + "${FILESDIR}"/${PN}-3.0-fix-htmldir.patch +) + +src_prepare() { + default + eautoreconf +} + +src_install() { + default + doicon icons/48x48/${PN}.png + + # only plugins + find "${D}" -name '*.la' -delete || die +} + +pkg_postinst() { + xdg_icon_cache_update +} + +pkg_postrm() { + xdg_icon_cache_update +} diff --git a/media-video/mediainfo/Manifest b/media-video/mediainfo/Manifest index a843c6ac4c81..a42692add632 100644 --- a/media-video/mediainfo/Manifest +++ b/media-video/mediainfo/Manifest @@ -1,9 +1,3 @@ -DIST mediainfo_22.09.tar.xz 2016868 BLAKE2B c4b1766c4d49be6e90d11c736e4572e24299ae96efdfbf92ef9d32a418d7777cad2ae60ac7e6234cfa7c3a11996e46fb178996c536b9ce13dd19a0449ae8bf86 SHA512 acdeef13153fd74c29d54b9bdf4e983dd81525ace47550977d99cb5950ab72579cbbfc1ae39d81d89e03c491ea559177a16853d9db20d83a995eff300b864d4d -DIST mediainfo_23.03.tar.xz 2027676 BLAKE2B 2da17afaccb3a8b4a1e19012cb3bb29284856f9d16e27026701b1c78add444e83c5fbb3e22ff39955ffa1c0b6f62e87224c0b35a0ff007296c4c065f58f83c87 SHA512 5082826a315fefaa48ea65a09a538225f1311cfb48285c939bb7ce2ebc38a2d444e6974ecb8062e02b60fbde27759b5828fc97dd7f9229e0066e9d193137fb5c -DIST mediainfo_23.04.tar.xz 2022444 BLAKE2B 4e5c1c09b670ee20839c49365f0973d783ec7ed4bd336bed7574b6369f356f8f11fe63fe99dd80a28b2677b3c872bc45941b89c307190fe0b8ab867f66ab7755 SHA512 768ac916da81ea10323be2957a87058ba863015f26a337ba3b3db15e40e52c7cd7b24f2ca2508334e35cdae6476d147ed4c81eeabfe801fa9dc5ca68ceb1e7af DIST mediainfo_23.10.tar.xz 2025172 BLAKE2B 91816fa74e4f9949e73072bb25748ca350178c4e0bfc33cf5ff8ed5171dbc2d8266e418bfe83ed382f5de3b1e9d7d95e38188082ac2b2e5c8df34324407db184 SHA512 bf5864e5aafd38f64dbdf2ac47b19543ed24ab69d27180606ad49e587e6964e83995dcceffa441fabf0b0aa3c032c9450ad8738d28663a1b4180a9f651f4ba08 -EBUILD mediainfo-22.09.ebuild 1780 BLAKE2B fc5c58923404c035c2bf3f30310a20d9c04c55a4107908d6922d0a84458b3061bb305847371a27d21179fb38566365e2e90ef777b1e32c8e98fba697032bff50 SHA512 493a741ef961dd8871e79bfd5f1e521cabccc434077e49ff58822edd999ac1ffce2a39b7480ef58b4bcf58af025f3629937ecfeecf91856ad22ca620991ef514 -EBUILD mediainfo-23.03.ebuild 1845 BLAKE2B 646434c342e19b3da44642cf5bc58d5a28582d598faa87164d69cb329f6a6cdcada3a57cf9bedec85cbc4a41078d77f3efedfc028a5054ff904657611aa0e7fb SHA512 158d6c501626faf9b87df87cc7afab394157ba3c906cdc48817b1792ebfbe2fb1a79acc3773d13f202fc2b61d7de33d8e92f9bdb91a4a9e2cdd9c54b684d5a5e -EBUILD mediainfo-23.04.ebuild 1845 BLAKE2B 646434c342e19b3da44642cf5bc58d5a28582d598faa87164d69cb329f6a6cdcada3a57cf9bedec85cbc4a41078d77f3efedfc028a5054ff904657611aa0e7fb SHA512 158d6c501626faf9b87df87cc7afab394157ba3c906cdc48817b1792ebfbe2fb1a79acc3773d13f202fc2b61d7de33d8e92f9bdb91a4a9e2cdd9c54b684d5a5e EBUILD mediainfo-23.10.ebuild 1848 BLAKE2B df8aef978972cdbf2f052e61a551d87e0aea31d728f7f045c99e8006a225d4a1b75819847c712306ad8bd28393d3d5e2eb0bec2c61b307e941ebf6305473baf1 SHA512 5d242b5c26e70349dd89f03a9428081044d3768e3cb8b7e8105e51da98b691c273fbfefb92605d5146d56ee32e4ec827c6ea1e17774b94562b37e2c7ca90ec96 MISC metadata.xml 344 BLAKE2B c70240ab3644a4c1d2367d1eb094a01b60198549456dfae21604c03bb30298f0abde2afda7dfdcf16425ca90856e98f57869481b85358e1724595454c8fdb308 SHA512 cdf31d4cd6185e0fdf604b611ee54b0bb90ffd369119cfd0bcc759e1e3d63a0d5ce673f508d3963b06c0c6152cdc1ef7d369ad2e84327ebd91c1e4a196e75d2e diff --git a/media-video/mediainfo/mediainfo-22.09.ebuild b/media-video/mediainfo/mediainfo-22.09.ebuild deleted file mode 100644 index 68f70427ddc8..000000000000 --- a/media-video/mediainfo/mediainfo-22.09.ebuild +++ /dev/null @@ -1,89 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# These must be bumped together: -# - media-libs/libzen (if a release is available) -# - media-libs/libmediainfo -# - media-video/mediainfo - -WX_GTK_VER="3.0-gtk3" -inherit xdg-utils autotools wxwidgets - -DESCRIPTION="MediaInfo supplies technical and tag information about media files" -HOMEPAGE="https://mediaarea.net/mediainfo/ https://github.com/MediaArea/MediaInfo" -SRC_URI="https://mediaarea.net/download/source/${PN}/${PV}/${P/-/_}.tar.xz" -S="${WORKDIR}/MediaInfo" - -LICENSE="BSD-2" -SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86" -IUSE="curl mms wxwidgets" - -RDEPEND="~media-libs/libmediainfo-${PV}[curl=,mms=] - >=media-libs/libzen-0.4.37 - sys-libs/zlib - wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )" -DEPEND="${RDEPEND}" -BDEPEND="virtual/pkgconfig" - -pkg_setup() { - TARGETS="CLI" - - if use wxwidgets; then - TARGETS+=" GUI" - setup-wxwidgets - fi -} - -src_prepare() { - default - - local target - for target in ${TARGETS}; do - cd "${S}"/Project/GNU/${target} || die - sed -i -e "s:-O2::" configure.ac || die - eautoreconf - done -} - -src_configure() { - local target - - for target in ${TARGETS}; do - cd "${S}"/Project/GNU/${target} || die - local args="" - [[ ${target} == "GUI" ]] && args="--with-wxwidgets --with-wx-gui" - econf ${args} - done -} - -src_compile() { - local target - - for target in ${TARGETS}; do - cd "${S}"/Project/GNU/${target} || die - default - done -} - -src_install() { - local target - - for target in ${TARGETS}; do - cd "${S}"/Project/GNU/${target} || die - default - dodoc "${S}"/History_${target}.txt - done -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} diff --git a/media-video/mediainfo/mediainfo-23.03.ebuild b/media-video/mediainfo/mediainfo-23.03.ebuild deleted file mode 100644 index a45f63ada5af..000000000000 --- a/media-video/mediainfo/mediainfo-23.03.ebuild +++ /dev/null @@ -1,92 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# These must be bumped together: -# - media-libs/libzen (if a release is available) -# - media-libs/libmediainfo -# - media-video/mediainfo - -WX_GTK_VER="3.0-gtk3" -inherit xdg-utils autotools wxwidgets - -DESCRIPTION="MediaInfo supplies technical and tag information about media files" -HOMEPAGE="https://mediaarea.net/mediainfo/ https://github.com/MediaArea/MediaInfo" -SRC_URI="https://mediaarea.net/download/source/${PN}/${PV}/${P/-/_}.tar.xz" -S="${WORKDIR}/MediaInfo" - -LICENSE="BSD-2" -SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86" -IUSE="curl mms wxwidgets" - -# The libzen dep usually needs to be bumped for each release! -RDEPEND=" - ~media-libs/libmediainfo-${PV}[curl=,mms=] - >=media-libs/libzen-0.4.41 - sys-libs/zlib - wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X] ) -" -DEPEND="${RDEPEND}" -BDEPEND="virtual/pkgconfig" - -pkg_setup() { - TARGETS="CLI" - - if use wxwidgets; then - TARGETS+=" GUI" - setup-wxwidgets - fi -} - -src_prepare() { - default - - local target - for target in ${TARGETS}; do - cd "${S}"/Project/GNU/${target} || die - sed -i -e "s:-O2::" configure.ac || die - eautoreconf - done -} - -src_configure() { - local target - - for target in ${TARGETS}; do - cd "${S}"/Project/GNU/${target} || die - local args="" - [[ ${target} == "GUI" ]] && args="--with-wxwidgets --with-wx-gui" - econf ${args} - done -} - -src_compile() { - local target - - for target in ${TARGETS}; do - cd "${S}"/Project/GNU/${target} || die - default - done -} - -src_install() { - local target - - for target in ${TARGETS}; do - cd "${S}"/Project/GNU/${target} || die - default - dodoc "${S}"/History_${target}.txt - done -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} diff --git a/media-video/mediainfo/mediainfo-23.04.ebuild b/media-video/mediainfo/mediainfo-23.04.ebuild deleted file mode 100644 index a45f63ada5af..000000000000 --- a/media-video/mediainfo/mediainfo-23.04.ebuild +++ /dev/null @@ -1,92 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# These must be bumped together: -# - media-libs/libzen (if a release is available) -# - media-libs/libmediainfo -# - media-video/mediainfo - -WX_GTK_VER="3.0-gtk3" -inherit xdg-utils autotools wxwidgets - -DESCRIPTION="MediaInfo supplies technical and tag information about media files" -HOMEPAGE="https://mediaarea.net/mediainfo/ https://github.com/MediaArea/MediaInfo" -SRC_URI="https://mediaarea.net/download/source/${PN}/${PV}/${P/-/_}.tar.xz" -S="${WORKDIR}/MediaInfo" - -LICENSE="BSD-2" -SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86" -IUSE="curl mms wxwidgets" - -# The libzen dep usually needs to be bumped for each release! -RDEPEND=" - ~media-libs/libmediainfo-${PV}[curl=,mms=] - >=media-libs/libzen-0.4.41 - sys-libs/zlib - wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X] ) -" -DEPEND="${RDEPEND}" -BDEPEND="virtual/pkgconfig" - -pkg_setup() { - TARGETS="CLI" - - if use wxwidgets; then - TARGETS+=" GUI" - setup-wxwidgets - fi -} - -src_prepare() { - default - - local target - for target in ${TARGETS}; do - cd "${S}"/Project/GNU/${target} || die - sed -i -e "s:-O2::" configure.ac || die - eautoreconf - done -} - -src_configure() { - local target - - for target in ${TARGETS}; do - cd "${S}"/Project/GNU/${target} || die - local args="" - [[ ${target} == "GUI" ]] && args="--with-wxwidgets --with-wx-gui" - econf ${args} - done -} - -src_compile() { - local target - - for target in ${TARGETS}; do - cd "${S}"/Project/GNU/${target} || die - default - done -} - -src_install() { - local target - - for target in ${TARGETS}; do - cd "${S}"/Project/GNU/${target} || die - default - dodoc "${S}"/History_${target}.txt - done -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest index c434e7546592..aee6f904eb0e 100644 --- a/media-video/pipewire/Manifest +++ b/media-video/pipewire/Manifest @@ -1,3 +1,8 @@ +AUX 1.2.0/0001-impl-node-fix-required-state-for-async-driver-nodes.patch 3030 BLAKE2B 372d33b155cd8b798265b6dd04296179adcfcddeefd7253a9979f4722b343f68a7cbe128f1f4b24acda9c099d6fc12e75d14c1ec184b5f25a5f3667c5fc85383 SHA512 19803d71e99cc6b79e96b1e8d96c7d279fe345d67df8242dd8589cc8a2eb8549ed879cb8c3a00d9c7d780329dfc3821dca13fb19dea366b5f86f733413586b30 +AUX 1.2.0/0002-module-raop-only-set-softVolume-when-valid.patch 1048 BLAKE2B 326704effb2a904079c33d07c6557c854ef6842a9f3ade996d1a8a4f1e5d073246426d7c94f5e44f9bf195877326972368cecd9cad6883a6c7a33973a4447284 SHA512 a125dd8d7ac121c7fb66211bcac9a9202f654ba5550b237a55588b8153ac6523b350038305df930b3eb5ac640c53387c56b7b8cc3d29a124180425355f32416b +AUX 1.2.0/0003-context-Fix-node-collect-with-groups-and-sync-enable.patch 5206 BLAKE2B 5d4d6ded0a8cf79c7181c40707329d11a00b4d543b46e0e3bf37985299ca0cdd2782a1c9843469f160332d8bd4a987e10165dc25c99405defc2e02119f665d0b SHA512 37b972529cd4f702863a7e19d1980439daab26ee5feed548a204d969c8af9dcaae29a58ea3b87429c0da0b1220ad4e8b719f294103feebc500ed872d5215c565 +AUX 1.2.0/0004-impl-node-disable-async-for-driver-nodes.patch 4717 BLAKE2B 92ddbc78ff24a385bc54a88c46f3654456c8db27229715a4923790cd0e271b32fe245295b37eda6023e2827c3791dc5bf29411edcdad9a7b91c4e593dbe7c34a SHA512 1fb1b85ee717952b8551dc943c72aa158279aacae5666649b8a2b0c1f63ad9d681817be9d5d1b85f4e51aee6b43febda07d01c85e6ba72c1a31323adc4098a02 +AUX 1.2.0/0005-impl-node-set-INACTIVE-state-on-server.patch 1188 BLAKE2B e54b9973f7529b0a6facdc632a2e9c8fd2080171882e5dc081da6ac7e241266eca5186d11d09670281ae772b3054190d64220d2cf0b3e7ca8853d6a9667f8add SHA512 49261c21e7d41d7e1017a8ab5c2f72056a68b10d4d5ac5ab1fe66418cad727fc0ba915dc8f551640ee1b6a54285981dd19fdc999784dbbac7facdee30c7271f3 AUX 99-pipewire-default-hook.conf 540 BLAKE2B cec76e78db9db290054bf766774c284d7a7a1374c453802eb1bdc19db9289856ec7b8643acbab916a39ca859d543deca111e3b0f110d1904343221c1573ffc17 SHA512 ef891e38c6f40fce2904e240307147a58c48d780e8470dac8e28044cfb86ddeb163885a2362687791779379ad814f58ad5649b75ac4e82931c5bdd3f37a6ed01 AUX gentoo-pipewire-launcher.1 1633 BLAKE2B 36c8888693bd0389dc9b1e49d0501d2679956d88f6b7ac42f0347c3fe2259775dd7082cb0bbdeb54a232fcc8902faa8086203e0fe2437c0eea5f1927ba2d0de4 SHA512 8085c9a989f21ee7f2528d56d5b104c0d14024df06f5cb6cd2aa8168b58469c71b91c788706b11021d9dbddb647a2203175603f4f8aa7b33a63a7b7cf8b59d1f AUX gentoo-pipewire-launcher.in-r3 2848 BLAKE2B 5e6b8ca2df88cef240ca1ff4de28cc8ed3590fabd29b903b37880baf9cf52c35ca01be25b031898d4ee06f4600a5f0c61025a244778577a562f4a4bfa14e2aca SHA512 43cf3e07058e86bf6651106f7f192022c05c5640ba8e101b88e98a83efcc5614f9474107b6d0daf3d5234a51ebcc0a3a7ae5b359d9ba36b648c125813f4e1334 @@ -17,6 +22,6 @@ EBUILD pipewire-1.0.5-r1.ebuild 19283 BLAKE2B c873436b2f3cad35aa2d6797085823cc21 EBUILD pipewire-1.0.5.ebuild 19988 BLAKE2B 49df8fcf2e136537401ebab8673c0815a275c2deb29a2779306a77536d2db0688c81e69bbf768061a2ee3e94888da5e77e12055594bf84b14951fd28f12e248c SHA512 5d6506afa393f6286ba33a88cdf17f739a265e2f09baf1b7f9ff5fb239a7b4d87b32ce553d366bfaf6ba36f4384982cf73a521488118d2e5f33d87b4cc9467e3 EBUILD pipewire-1.0.6.ebuild 19283 BLAKE2B c873436b2f3cad35aa2d6797085823cc215d621b275634c25c3b79e00a56121a97824f3092df74b13809a9ea7639b669710fb9ae7476441209c9f7aff1496827 SHA512 f290058849e339a64bb897e831618b9f886b9c6b7754a0f3b4301fc94be929c0531ffd6c98754228c30bc308371e508021fa907252028d6a5a57d14314d4b5b6 EBUILD pipewire-1.0.7-r1.ebuild 19565 BLAKE2B c0250fdcf5157412d74ef4c020d64b571f84cf75296fe900a4fa964352782f440bc05b413df6475e227c42b526b9e423f23aafa19debc65d18018a43a85452cf SHA512 77f9b34964a14f34a855a8061860b4ce5a6de0ad75f99bc1d599c9c0ad318b6e4604b449e7a0c0483cc4439ce39d4233d2a2cedc1f92ad2b7c3e12ba317841bc -EBUILD pipewire-1.2.0-r1.ebuild 19711 BLAKE2B 65857f3b19d08a242973dc65fc333556b8ec0d8e91f56e712706ff8a217f3aa5cecdaa7dd43002e8391b61feb96e818c852d68a8cf4d9930906cd7fbf3d228f1 SHA512 bc94f1000e8ad0b7ba91199d240fa8ac15e55f50bab175be6390d040238f8682df5235a5871aa528c5cd36c429a8bc1a7a838660614265696862389ac9cea6c9 +EBUILD pipewire-1.2.0-r2.ebuild 19711 BLAKE2B 65857f3b19d08a242973dc65fc333556b8ec0d8e91f56e712706ff8a217f3aa5cecdaa7dd43002e8391b61feb96e818c852d68a8cf4d9930906cd7fbf3d228f1 SHA512 bc94f1000e8ad0b7ba91199d240fa8ac15e55f50bab175be6390d040238f8682df5235a5871aa528c5cd36c429a8bc1a7a838660614265696862389ac9cea6c9 EBUILD pipewire-9999.ebuild 19591 BLAKE2B 4c2d6315cad7fb2746817dbc15fe29f3a2007e8abc83a338952ee0f82a1113dbfd8d0426595fd6d5c3c1ea7e4a1d7b87e135b2202e563b95a06ad4403cf684e9 SHA512 f8341246a2c4403375f8493966d42801d1a4846d2a3a6e9464421a50bddf95dca5c3b7832c042e63ef68773550e009235e55d98f3a90178419ee15c73ddad936 MISC metadata.xml 2156 BLAKE2B 974459115e0f3cf4e4c3ac15159740b42e01a093da37d8a27f80e122c9ab2a3fe9194443eaf08f9b66d613db90a14465abbe1b76816bce90e11a46c8409c7513 SHA512 cfe0fdb86c993f167507e22635878d6d7d5dcd48f4c23323231263551ceff986fc454700428ecb7d2ee2abe82093c35d8e7bd491020fd6dd3f3889c09e9020bb diff --git a/media-video/pipewire/files/1.2.0/0001-impl-node-fix-required-state-for-async-driver-nodes.patch b/media-video/pipewire/files/1.2.0/0001-impl-node-fix-required-state-for-async-driver-nodes.patch new file mode 100644 index 000000000000..105c8dd1676a --- /dev/null +++ b/media-video/pipewire/files/1.2.0/0001-impl-node-fix-required-state-for-async-driver-nodes.patch @@ -0,0 +1,82 @@ +From b8d07e40d66f12ac28aab710cfeb181bf25bc59a Mon Sep 17 00:00:00 2001 +From: Wim Taymans +Date: Mon, 1 Jul 2024 10:36:09 +0200 +Subject: [PATCH 1/5] impl-node: fix required state for async driver nodes + +When the node activation.required was incremented because it was a +driver, only decrement it in that case, regardless of the current driver +state of the node. + +This fixes the case of KODI where the required field gets out of sync +and things become unschedulable. + +Fixes #4087 +--- + src/pipewire/impl-node.c | 22 ++++++++++++++-------- + src/pipewire/private.h | 1 + + 2 files changed, 15 insertions(+), 8 deletions(-) + +diff --git a/src/pipewire/impl-node.c b/src/pipewire/impl-node.c +index 12629ee64..4def52897 100644 +--- a/src/pipewire/impl-node.c ++++ b/src/pipewire/impl-node.c +@@ -112,13 +112,17 @@ static inline void activate_target(struct pw_impl_node *node, struct pw_node_tar + { + struct pw_node_activation_state *state = &t->activation->state[0]; + if (!t->active) { +- if ((!node->async || node->driving) && !node->exported) { +- SPA_ATOMIC_INC(state->required); +- SPA_ATOMIC_INC(state->pending); ++ if (!node->async || node->driving) { ++ if (!node->exported) { ++ SPA_ATOMIC_INC(state->required); ++ SPA_ATOMIC_INC(state->pending); ++ } + } ++ t->active_driving = node->driving; + t->active = true; +- pw_log_debug("%p: target state:%p id:%d pending:%d/%d", +- node, state, t->id, state->pending, state->required); ++ pw_log_debug("%p: target state:%p id:%d pending:%d/%d %d:%d:%d", ++ node, state, t->id, state->pending, state->required, ++ node->async, node->driving, node->exported); + } + } + +@@ -126,7 +130,7 @@ static inline void deactivate_target(struct pw_impl_node *node, struct pw_node_t + { + if (t->active) { + struct pw_node_activation_state *state = &t->activation->state[0]; +- if (!node->async || node->driving) { ++ if (!node->async || t->active_driving) { + /* the driver copies the required to the pending state + * so first try to resume the node and then decrement the + * required state. This way we either resume with the old value +@@ -137,8 +141,10 @@ static inline void deactivate_target(struct pw_impl_node *node, struct pw_node_t + SPA_ATOMIC_DEC(state->required); + } + t->active = false; +- pw_log_debug("%p: target state:%p id:%d pending:%d/%d trigger:%"PRIu64, +- node, state, t->id, state->pending, state->required, trigger); ++ t->active_driving = false; ++ pw_log_debug("%p: target state:%p id:%d pending:%d/%d %d:%d:%d trigger:%"PRIu64, ++ node, state, t->id, state->pending, state->required, ++ node->async, node->driving, node->exported, trigger); + } + } + +diff --git a/src/pipewire/private.h b/src/pipewire/private.h +index 8c01fe8d5..25af677ac 100644 +--- a/src/pipewire/private.h ++++ b/src/pipewire/private.h +@@ -541,6 +541,7 @@ struct pw_node_target { + int fd; + void (*trigger)(struct pw_node_target *t, uint64_t nsec); + unsigned int active:1; ++ unsigned int active_driving:1; + unsigned int added:1; + }; + +-- +2.45.2 + diff --git a/media-video/pipewire/files/1.2.0/0002-module-raop-only-set-softVolume-when-valid.patch b/media-video/pipewire/files/1.2.0/0002-module-raop-only-set-softVolume-when-valid.patch new file mode 100644 index 000000000000..343b42dfdc8a --- /dev/null +++ b/media-video/pipewire/files/1.2.0/0002-module-raop-only-set-softVolume-when-valid.patch @@ -0,0 +1,30 @@ +From 82b9fa118f2fa009b5eb2891378fe003e2573bbe Mon Sep 17 00:00:00 2001 +From: Wim Taymans +Date: Mon, 1 Jul 2024 11:27:17 +0200 +Subject: [PATCH 2/5] module-raop: only set softVolume when valid + +--- + src/modules/module-raop-sink.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/modules/module-raop-sink.c b/src/modules/module-raop-sink.c +index 05e467d24..8ad28693f 100644 +--- a/src/modules/module-raop-sink.c ++++ b/src/modules/module-raop-sink.c +@@ -1643,10 +1643,10 @@ static void stream_props_changed(struct impl *impl, uint32_t id, const struct sp + impl->volume = volume; + + rtsp_send_volume(impl); ++ spa_pod_builder_prop(&b, SPA_PROP_softVolumes, 0); ++ spa_pod_builder_array(&b, sizeof(float), SPA_TYPE_Float, ++ n_vols, soft_vols); + } +- spa_pod_builder_prop(&b, SPA_PROP_softVolumes, 0); +- spa_pod_builder_array(&b, sizeof(float), SPA_TYPE_Float, +- n_vols, soft_vols); + spa_pod_builder_raw_padded(&b, prop, SPA_POD_PROP_SIZE(prop)); + break; + } +-- +2.45.2 + diff --git a/media-video/pipewire/files/1.2.0/0003-context-Fix-node-collect-with-groups-and-sync-enable.patch b/media-video/pipewire/files/1.2.0/0003-context-Fix-node-collect-with-groups-and-sync-enable.patch new file mode 100644 index 000000000000..5e18550bf193 --- /dev/null +++ b/media-video/pipewire/files/1.2.0/0003-context-Fix-node-collect-with-groups-and-sync-enable.patch @@ -0,0 +1,149 @@ +From e6c0014f94e995e49b72bea7ae56b960416e6b29 Mon Sep 17 00:00:00 2001 +From: Wim Taymans +Date: Mon, 1 Jul 2024 14:50:34 +0200 +Subject: [PATCH 3/5] context: Fix node collect with groups and sync enabled + +Keep track of the sync nodes we added to a driver and bring in the other +nodes from the same sync group, group or link groups. This makes it +possible to have disjoint sync groups each with their own driver. + +Fixes export in ardour8 + +Fixes #4083 +--- + src/pipewire/context.c | 49 +++++++++++++++++++++--------------------- + 1 file changed, 25 insertions(+), 24 deletions(-) + +diff --git a/src/pipewire/context.c b/src/pipewire/context.c +index 686dd5eee..f3e1b4d76 100644 +--- a/src/pipewire/context.c ++++ b/src/pipewire/context.c +@@ -1163,13 +1163,14 @@ static inline int run_nodes(struct pw_context *context, struct pw_impl_node *nod + * This ensures that we only activate the paths from the runnable nodes to the + * driver nodes and leave the other nodes idle. + */ +-static int collect_nodes(struct pw_context *context, struct pw_impl_node *node, struct spa_list *collect, +- char **sync) ++static int collect_nodes(struct pw_context *context, struct pw_impl_node *node, struct spa_list *collect) + { + struct spa_list queue; + struct pw_impl_node *n, *t; + struct pw_impl_port *p; + struct pw_impl_link *l; ++ uint32_t n_sync; ++ char *sync[MAX_SYNC+1]; + + pw_log_debug("node %p: '%s'", node, node->name); + +@@ -1178,20 +1179,30 @@ static int collect_nodes(struct pw_context *context, struct pw_impl_node *node, + spa_list_append(&queue, &node->sort_link); + node->visited = true; + ++ n_sync = 0; ++ sync[0] = NULL; ++ + /* now follow all the links from the nodes in the queue + * and add the peers to the queue. */ + spa_list_consume(n, &queue, sort_link) { + spa_list_remove(&n->sort_link); + spa_list_append(collect, &n->sort_link); + +- pw_log_debug(" next node %p: '%s' runnable:%u", n, n->name, n->runnable); ++ pw_log_debug(" next node %p: '%s' runnable:%u active:%d", ++ n, n->name, n->runnable, n->active); + + if (!n->active) + continue; + +- if (sync[0] != NULL) { +- if (pw_strv_find_common(n->sync_groups, sync) < 0) +- continue; ++ if (n->sync) { ++ for (uint32_t i = 0; n->sync_groups[i]; i++) { ++ if (n_sync >= MAX_SYNC) ++ break; ++ if (pw_strv_find(sync, n->sync_groups[i]) >= 0) ++ continue; ++ sync[n_sync++] = n->sync_groups[i]; ++ sync[n_sync] = NULL; ++ } + } + + spa_list_for_each(p, &n->input_ports, link) { +@@ -1242,6 +1253,8 @@ static int collect_nodes(struct pw_context *context, struct pw_impl_node *node, + spa_list_for_each(t, &context->node_list, link) { + if (t->exported || !t->active || t->visited) + continue; ++ /* the other node will be scheduled with this one if it's in ++ * the same group or link group */ + if (pw_strv_find_common(t->groups, n->groups) < 0 && + pw_strv_find_common(t->link_groups, n->link_groups) < 0 && + pw_strv_find_common(t->sync_groups, sync) < 0) +@@ -1253,7 +1266,8 @@ static int collect_nodes(struct pw_context *context, struct pw_impl_node *node, + spa_list_append(&queue, &t->sort_link); + } + } +- pw_log_debug(" next node %p: '%s' runnable:%u", n, n->name, n->runnable); ++ pw_log_debug(" next node %p: '%s' runnable:%u %p %p %p", n, n->name, n->runnable, ++ n->groups, n->link_groups, sync); + } + spa_list_for_each(n, collect, sort_link) + if (!n->driving && n->runnable) { +@@ -1497,10 +1511,9 @@ int pw_context_recalc_graph(struct pw_context *context, const char *reason) + struct pw_impl_node *n, *s, *target, *fallback; + const uint32_t *rates; + uint32_t max_quantum, min_quantum, def_quantum, rate_quantum, floor_quantum, ceil_quantum; +- uint32_t n_rates, def_rate, n_sync; ++ uint32_t n_rates, def_rate; + bool freewheel, global_force_rate, global_force_quantum, transport_start; + struct spa_list collect; +- char *sync[MAX_SYNC+1]; + + pw_log_info("%p: busy:%d reason:%s", context, impl->recalc, reason); + +@@ -1514,23 +1527,11 @@ again: + freewheel = false; + transport_start = false; + +- /* clean up the flags first and collect sync */ +- n_sync = 0; +- sync[0] = NULL; ++ /* clean up the flags first */ + spa_list_for_each(n, &context->node_list, link) { + n->visited = false; + n->checked = 0; + n->runnable = n->always_process && n->active; +- if (n->sync) { +- for (uint32_t i = 0; n->sync_groups[i]; i++) { +- if (n_sync >= MAX_SYNC) +- break; +- if (pw_strv_find(sync, n->sync_groups[i]) >= 0) +- continue; +- sync[n_sync++] = n->sync_groups[i]; +- sync[n_sync] = NULL; +- } +- } + } + + get_quantums(context, &def_quantum, &min_quantum, &max_quantum, &rate_quantum, +@@ -1551,7 +1552,7 @@ again: + + if (!n->visited) { + spa_list_init(&collect); +- collect_nodes(context, n, &collect, sync); ++ collect_nodes(context, n, &collect); + move_to_driver(context, &collect, n); + } + /* from now on we are only interested in active driving nodes +@@ -1605,7 +1606,7 @@ again: + + /* collect all nodes in this group */ + spa_list_init(&collect); +- collect_nodes(context, n, &collect, sync); ++ collect_nodes(context, n, &collect); + + driver = NULL; + spa_list_for_each(t, &collect, sort_link) { +-- +2.45.2 + diff --git a/media-video/pipewire/files/1.2.0/0004-impl-node-disable-async-for-driver-nodes.patch b/media-video/pipewire/files/1.2.0/0004-impl-node-disable-async-for-driver-nodes.patch new file mode 100644 index 000000000000..a7528249f1e3 --- /dev/null +++ b/media-video/pipewire/files/1.2.0/0004-impl-node-disable-async-for-driver-nodes.patch @@ -0,0 +1,112 @@ +From 525360d70ab1698afaaaf20f7e58002b8756353f Mon Sep 17 00:00:00 2001 +From: Wim Taymans +Date: Wed, 3 Jul 2024 13:31:24 +0200 +Subject: [PATCH 4/5] impl-node: disable async for driver nodes + +Make it so that a driver node can never be scheduled async. It could +possibly make sense when the driver node is not currently driving the +graph but when it drives the graph it always needs to be sync. This +also simplifies the target activation because we can simply check the +async state and ignore if the node is driving or not. + +Also make sure that we never make an async link with a driver output port. +This does not make sense because the driver node will always be +triggered sync first and before the async node so we can simply make +a sync link. + +This fixes the modified (only generate 1 buffer) video-src -> video-play +case where the buffer never arrives in video-play because of the +useless async link. + +Fixes #4092 +--- + src/pipewire/impl-link.c | 8 +++++--- + src/pipewire/impl-node.c | 7 +++---- + src/pipewire/private.h | 1 - + 3 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/src/pipewire/impl-link.c b/src/pipewire/impl-link.c +index 39e9bd17d..6dc2e1a59 100644 +--- a/src/pipewire/impl-link.c ++++ b/src/pipewire/impl-link.c +@@ -1321,7 +1321,8 @@ struct pw_impl_link *pw_context_create_link(struct pw_context *context, + if (this->passive && str == NULL) + pw_properties_set(properties, PW_KEY_LINK_PASSIVE, "true"); + +- impl->async = (output_node->async || input_node->async) && ++ impl->async = !output_node->driver && ++ (output_node->async || input_node->async) && + SPA_FLAG_IS_SET(output->flags, PW_IMPL_PORT_FLAG_ASYNC) && + SPA_FLAG_IS_SET(input->flags, PW_IMPL_PORT_FLAG_ASYNC); + +@@ -1375,8 +1376,9 @@ struct pw_impl_link *pw_context_create_link(struct pw_context *context, + this->name = spa_aprintf("%d.%d.%d -> %d.%d.%d", + output_node->info.id, output->port_id, this->rt.out_mix.port.port_id, + input_node->info.id, input->port_id, this->rt.in_mix.port.port_id); +- pw_log_info("(%s) (%s) -> (%s) async:%04x:%04x:%d", this->name, output_node->name, +- input_node->name, output->flags, input->flags, impl->async); ++ pw_log_info("(%s) (%s) -> (%s) async:%d:%04x:%04x:%d", this->name, output_node->name, ++ input_node->name, output_node->driving, ++ output->flags, input->flags, impl->async); + + pw_impl_port_emit_link_added(output, this); + pw_impl_port_emit_link_added(input, this); +diff --git a/src/pipewire/impl-node.c b/src/pipewire/impl-node.c +index 4def52897..c75e5793e 100644 +--- a/src/pipewire/impl-node.c ++++ b/src/pipewire/impl-node.c +@@ -112,13 +112,12 @@ static inline void activate_target(struct pw_impl_node *node, struct pw_node_tar + { + struct pw_node_activation_state *state = &t->activation->state[0]; + if (!t->active) { +- if (!node->async || node->driving) { ++ if (!node->async) { + if (!node->exported) { + SPA_ATOMIC_INC(state->required); + SPA_ATOMIC_INC(state->pending); + } + } +- t->active_driving = node->driving; + t->active = true; + pw_log_debug("%p: target state:%p id:%d pending:%d/%d %d:%d:%d", + node, state, t->id, state->pending, state->required, +@@ -130,7 +129,7 @@ static inline void deactivate_target(struct pw_impl_node *node, struct pw_node_t + { + if (t->active) { + struct pw_node_activation_state *state = &t->activation->state[0]; +- if (!node->async || t->active_driving) { ++ if (!node->async) { + /* the driver copies the required to the pending state + * so first try to resume the node and then decrement the + * required state. This way we either resume with the old value +@@ -141,7 +140,6 @@ static inline void deactivate_target(struct pw_impl_node *node, struct pw_node_t + SPA_ATOMIC_DEC(state->required); + } + t->active = false; +- t->active_driving = false; + pw_log_debug("%p: target state:%p id:%d pending:%d/%d %d:%d:%d trigger:%"PRIu64, + node, state, t->id, state->pending, state->required, + node->async, node->driving, node->exported, trigger); +@@ -1202,6 +1200,7 @@ static void check_properties(struct pw_impl_node *node) + recalc_reason = "transport changed"; + } + async = pw_properties_get_bool(node->properties, PW_KEY_NODE_ASYNC, false); ++ async &= !node->driver; + if (async != node->async) { + pw_log_info("%p: async %d -> %d", node, node->async, async); + node->async = async; +diff --git a/src/pipewire/private.h b/src/pipewire/private.h +index 25af677ac..8c01fe8d5 100644 +--- a/src/pipewire/private.h ++++ b/src/pipewire/private.h +@@ -541,7 +541,6 @@ struct pw_node_target { + int fd; + void (*trigger)(struct pw_node_target *t, uint64_t nsec); + unsigned int active:1; +- unsigned int active_driving:1; + unsigned int added:1; + }; + +-- +2.45.2 + diff --git a/media-video/pipewire/files/1.2.0/0005-impl-node-set-INACTIVE-state-on-server.patch b/media-video/pipewire/files/1.2.0/0005-impl-node-set-INACTIVE-state-on-server.patch new file mode 100644 index 000000000000..9821c151c97b --- /dev/null +++ b/media-video/pipewire/files/1.2.0/0005-impl-node-set-INACTIVE-state-on-server.patch @@ -0,0 +1,30 @@ +From d08df293a95ce976df1cc8c3ec367a8d5d84db35 Mon Sep 17 00:00:00 2001 +From: Wim Taymans +Date: Wed, 3 Jul 2024 17:42:39 +0200 +Subject: [PATCH 5/5] impl-node: set INACTIVE state on server + +Don't wait for the client to set the INACTIVE state, do it on the +server. We already decremented the target required so we don't want to +schedule the node anymore. + +Fixes some xruns when removing nodes in a stress test. +--- + src/pipewire/impl-node.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/pipewire/impl-node.c b/src/pipewire/impl-node.c +index c75e5793e..be25aa83e 100644 +--- a/src/pipewire/impl-node.c ++++ b/src/pipewire/impl-node.c +@@ -221,7 +221,7 @@ do_node_unprepare(struct spa_loop *loop, bool async, uint32_t seq, + if (!this->rt.prepared) + return 0; + +- if (!this->remote || this->rt.target.activation->client_version < 1) { ++ if (!this->exported) { + /* We mark ourself as finished now, this will avoid going further into the process loop + * in case our fd was ready (removing ourselfs from the loop should avoid that as well). + * If we were supposed to be scheduled make sure we continue the graph for the peers we +-- +2.45.2 + diff --git a/media-video/pipewire/pipewire-1.2.0-r1.ebuild b/media-video/pipewire/pipewire-1.2.0-r1.ebuild deleted file mode 100644 index f4aeba1f7ea4..000000000000 --- a/media-video/pipewire/pipewire-1.2.0-r1.ebuild +++ /dev/null @@ -1,517 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# 1. Please regularly check (even at the point of bumping) Fedora's packaging -# for needed backports at https://src.fedoraproject.org/rpms/pipewire/tree/rawhide. -# -# 2. Upstream also sometimes amend release notes for the previous release to mention -# needed patches, e.g. https://gitlab.freedesktop.org/pipewire/pipewire/-/tags/0.3.55#distros -# -# 3. Keep an eye on git master (for both PipeWire and WirePlumber) as things -# continue to move quickly. It's not uncommon for fixes to be made shortly -# after releases. - -# TODO: Maybe get upstream to produce `meson dist` tarballs: -# - https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3663 -# - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1788 -# -# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-pipewire-docs -# Set to 1 if prebuilt, 0 if not -# (the construct below is to allow overriding from env for script) -: ${PIPEWIRE_DOCS_PREBUILT:=1} - -PIPEWIRE_DOCS_PREBUILT_DEV=sam -PIPEWIRE_DOCS_VERSION="${PV}" -# Default to generating docs (inc. man pages) if no prebuilt; overridden later -PIPEWIRE_DOCS_USEFLAG="+man" -PYTHON_COMPAT=( python3_{10..12} ) -inherit meson-multilib optfeature prefix python-any-r1 systemd tmpfiles udev - -if [[ ${PV} == 9999 ]]; then - PIPEWIRE_DOCS_PREBUILT=0 - 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.bz2" - fi - - if [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then - SRC_URI+=" !man? ( https://dev.gentoo.org/~${PIPEWIRE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${PIPEWIRE_DOCS_VERSION}-docs.tar.xz )" - PIPEWIRE_DOCS_USEFLAG="man" - fi - - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~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="${PIPEWIRE_DOCS_USEFLAG} bluetooth dbus doc echo-cancel extra ffmpeg flatpak gstreamer gsettings ieee1394 jack-client jack-sdk liblc3 lv2" -IUSE+=" modemmanager pipewire-alsa readline roc selinux sound-server 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)! - -# - TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled -# - TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work -# which provides adequate guarantee that alsa-lib will be able to provide audio services. -# If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL. -# When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally. -# - ffmpeg is only used for pw-cat. We don't build the spa plugin which receives barely any activity. -REQUIRED_USE=" - ffmpeg? ( extra ) - bluetooth? ( dbus ) - jack-sdk? ( !jack-client ) - modemmanager? ( bluetooth ) - system-service? ( systemd ) - !sound-server? ( !pipewire-alsa ) - jack-client? ( dbus ) -" - -RESTRICT="!test? ( test )" - -BDEPEND=" - >=dev-build/meson-0.59 - virtual/pkgconfig - dbus? ( dev-util/gdbus-codegen ) - doc? ( - ${PYTHON_DEPS} - >=app-text/doxygen-1.9.8 - media-gfx/graphviz - ) - man? ( - ${PYTHON_DEPS} - >=app-text/doxygen-1.9.8 - ) -" -# * While udev could technically be optional, it's needed for a number of options, -# and not really worth it, bug #877769. -# -# * Supports both legacy webrtc-audio-processing:0 and new webrtc-audio-processing:1. -# We depend on :1 as it prefers that, it's not legacy, and to avoid automagic. -# -# * Older Doxygen (<1.9.8) may work but inferior output is created: -# - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1778 -# - https://github.com/doxygen/doxygen/issues/9254 -RDEPEND=" - acct-group/audio - acct-group/pipewire - media-libs/alsa-lib[${MULTILIB_USEDEP}] - sys-libs/ncurses:=[unicode(+)] - virtual/libintl[${MULTILIB_USEDEP}] - virtual/libudev[${MULTILIB_USEDEP}] - bluetooth? ( - dev-libs/glib - media-libs/fdk-aac - media-libs/libldac - media-libs/libfreeaptx - media-libs/opus - media-libs/sbc - >=net-wireless/bluez-4.101:= - virtual/libusb:1 - ) - dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) - echo-cancel? ( >=media-libs/webrtc-audio-processing-1.2:1 ) - extra? ( >=media-libs/libsndfile-1.0.20 ) - ffmpeg? ( media-video/ffmpeg:= ) - flatpak? ( dev-libs/glib ) - gstreamer? ( - >=dev-libs/glib-2.32.0:2 - >=media-libs/gstreamer-1.10.0:1.0 - media-libs/gst-plugins-base:1.0 - ) - gsettings? ( >=dev-libs/glib-2.26.0:2 ) - ieee1394? ( media-libs/libffado[${MULTILIB_USEDEP}] ) - jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] ) - jack-sdk? ( - !media-sound/jack-audio-connection-kit - !media-sound/jack2 - ) - liblc3? ( media-sound/liblc3 ) - lv2? ( media-libs/lilv ) - modemmanager? ( >=net-misc/modemmanager-1.10.0 ) - pipewire-alsa? ( >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] ) - sound-server? ( !media-sound/pulseaudio-daemon ) - roc? ( >=media-libs/roc-toolkit-0.3.0:= ) - readline? ( sys-libs/readline:= ) - selinux? ( sys-libs/libselinux ) - ssl? ( dev-libs/openssl:= ) - systemd? ( sys-apps/systemd ) - system-service? ( acct-user/pipewire ) - v4l? ( media-libs/libv4l ) - X? ( - media-libs/libcanberra - x11-libs/libX11 - x11-libs/libXfixes - ) - zeroconf? ( net-dns/avahi ) -" - -DEPEND="${RDEPEND}" - -PDEPEND=">=media-video/wireplumber-0.5.2" - -# 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-libs/libsdl2 -# >=media-libs/vulkan-loader-1.1.69 -# -# Ditto for DEPEND -# >=dev-util/vulkan-headers-1.1.69 - -PATCHES=( - "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch - # https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/2061 - "${FILESDIR}"/${P}-automagic-gsettings.patch -) - -pkg_setup() { - if use doc || use man ; then - python-any-r1_pkg_setup - fi -} - -src_prepare() { - default - - # Used for upstream backports - [[ -d "${FILESDIR}"/${PV} ]] && eapply "${FILESDIR}"/${PV} -} - -multilib_src_configure() { - local emesonargs=( - -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} - - $(meson_feature dbus) - $(meson_native_use_feature zeroconf avahi) - $(meson_native_use_feature doc docs) - $(meson_native_use_feature man) - $(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone - $(meson_feature test tests) - -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests - $(meson_feature ieee1394 libffado) - $(meson_native_use_feature gstreamer) - $(meson_native_use_feature gstreamer gstreamer-device-provider) - $(meson_native_use_feature gsettings) - $(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 - $(meson_feature selinux) - -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) - -Dcompress-offload=disabled # TODO: tinycompress unpackaged - -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) - # https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1379 - $(meson_native_use_feature modemmanager bluez5-backend-native-mm) - $(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 opus) - $(meson_native_use_feature bluetooth bluez5-codec-opus) - $(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 - $(meson_native_use_feature ffmpeg pw-cat-ffmpeg) - $(meson_native_use_feature flatpak) - -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 - -Dbluez5-codec-lc3plus=disabled # unpackaged - $(meson_native_use_feature liblc3 bluez5-codec-lc3) - $(meson_native_use_feature lv2) - $(meson_native_use_feature v4l v4l2) - -Dlibcamera=disabled # libcamera is not in Portage tree - $(meson_native_use_feature roc) - $(meson_native_use_feature readline) - $(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) - -Dlibmysofa=disabled # libmysofa is unpackaged - $(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 - - # We still have <5.16 kernels packaged in Gentoo and 6.1 (LTS) only - # just became stable, with 5.15 being the previous LTS. Many people - # are still on it. - -Dpam-defaults-install=true - - # 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) - - # TODO - -Dsnap=disabled - ) - - # This installs the schema file for pulseaudio-daemon, iff we are replacing - # the official sound-server - if use !sound-server; then - emesonargs+=( '-Dgsettings-pulse-schema=disabled' ) - else - emesonargs+=( - $(meson_native_use_feature gsettings gsettings-pulse-schema) - ) - fi - - meson_src_configure -} - -multilib_src_test() { - meson_src_test --timeout-multiplier 10 -} - -multilib_src_install() { - # Our custom DOCS do not exist in multilib source directory - DOCS= meson_src_install -} - -multilib_src_install_all() { - einstalldocs - - if ! use man && [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then - doman "${WORKDIR}"/${PN}-${PIPEWIRE_DOCS_VERSION}-docs/man/*/*.[0-8] - fi - - if use pipewire-alsa; then - dodir /etc/alsa/conf.d - - # Install pipewire conf loader hook - insinto /usr/share/alsa/alsa.conf.d - doins "${FILESDIR}"/99-pipewire-default-hook.conf - eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf - - # 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-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf - fi - - # Enable required wireplumber alsa and bluez monitors - if use sound-server; then - # Install sound-server enabler for wireplumber 0.5.0+ conf syntax - insinto /etc/wireplumber/wireplumber.conf.d - doins "${FILESDIR}"/gentoo-sound-server-enable-audio-bluetooth.conf - fi - - if use system-service; then - newtmpfiles - pipewire.conf <<-EOF || die - d /run/pipewire 0755 pipewire pipewire - - - EOF - fi - - if ! use systemd; then - insinto /etc/xdg/autostart - newins "${FILESDIR}"/pipewire.desktop-r2 pipewire.desktop - - exeinto /usr/bin - newexe "${FILESDIR}"/gentoo-pipewire-launcher.in-r3 gentoo-pipewire-launcher - - doman "${FILESDIR}"/gentoo-pipewire-launcher.1 - - # Disable pipewire-pulse if sound-server is disabled. - if ! use sound-server ; then - sed -i -s '/pipewire -c pipewire-pulse.conf/s/^/#/' "${ED}"/usr/bin/gentoo-pipewire-launcher || die - fi - - eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher - fi -} - -pkg_postrm() { - udev_reload -} - -pkg_preinst() { - HAD_SOUND_SERVER=0 - HAD_SYSTEM_SERVICE=0 - - if has_version "media-video/pipewire[sound-server(-)]" ; then - HAD_SOUND_SERVER=1 - fi - - if has_version "media-video/pipewire[system-service(-)]" ; then - HAD_SYSTEM_SERVICE=1 - fi -} - -pkg_postinst() { - udev_reload - - use system-service && tmpfiles_process pipewire.conf - - local ver - for ver in ${REPLACING_VERSIONS} ; do - if has_version kde-plasma/kwin[screencast] || has_version x11-wm/mutter[screencast] ; then - # https://bugs.gentoo.org/908490 - # https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3243 - ewarn "Please restart KWin/Mutter after upgrading PipeWire." - ewarn "Screencasting may not work until you do." - fi - - if ver_test ${ver} -le 0.3.66-r1 ; then - elog ">=pipewire-0.3.66 uses the 'pipewire' group to manage permissions" - elog "and limits needed to function smoothly:" - elog - elog "1. Please make sure your user is in the 'pipewire' group for" - elog "the best experience with realtime scheduling (PAM limits behavior)!" - elog "You can add your account with:" - elog " usermod -aG pipewire " - elog - elog "2. For the best experience with fast user switching, it is recommended" - elog "that you remove your user from the 'audio' group unless you rely on the" - elog "audio group for device access control or ACLs.:" - elog " usermod -rG audio " - elog - - if ! use jack-sdk ; then - elog - 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 - ewarn - 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 - fi - - if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then - elog - elog "This ebuild auto-enables PulseAudio replacement. Because of that, users" - elog "are recommended to edit pulseaudio client configuration files:" - elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf" - elog "if it exists, and disable 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 - - 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 - fi - fi - done - - if [[ ${HAD_SOUND_SERVER} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then - # TODO: We could drop most of this if we set up systemd presets? - # They're worth looking into because right now, the out-of-the-box experience - # is automatic on OpenRC, while it needs manual intervention on systemd. - if use sound-server && use systemd ; then - elog - 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." - elog - fi - - if ! use sound-server ; then - ewarn - ewarn "USE=sound-server is disabled! If you want PipeWire to provide" - ewarn "your sound, please enable it. See the wiki at" - ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio" - ewarn "for more details." - ewarn - fi - fi - - if use system-service && [[ ${HAD_SYSTEM_SERVICE} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then - ewarn - ewarn "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 the" - ewarn "box, and you are on your own with configuration." - ewarn - fi - - 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 use sound-server && ! use pipewire-alsa; then - optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]" - fi -} diff --git a/media-video/pipewire/pipewire-1.2.0-r2.ebuild b/media-video/pipewire/pipewire-1.2.0-r2.ebuild new file mode 100644 index 000000000000..f4aeba1f7ea4 --- /dev/null +++ b/media-video/pipewire/pipewire-1.2.0-r2.ebuild @@ -0,0 +1,517 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# 1. Please regularly check (even at the point of bumping) Fedora's packaging +# for needed backports at https://src.fedoraproject.org/rpms/pipewire/tree/rawhide. +# +# 2. Upstream also sometimes amend release notes for the previous release to mention +# needed patches, e.g. https://gitlab.freedesktop.org/pipewire/pipewire/-/tags/0.3.55#distros +# +# 3. Keep an eye on git master (for both PipeWire and WirePlumber) as things +# continue to move quickly. It's not uncommon for fixes to be made shortly +# after releases. + +# TODO: Maybe get upstream to produce `meson dist` tarballs: +# - https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3663 +# - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1788 +# +# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-pipewire-docs +# Set to 1 if prebuilt, 0 if not +# (the construct below is to allow overriding from env for script) +: ${PIPEWIRE_DOCS_PREBUILT:=1} + +PIPEWIRE_DOCS_PREBUILT_DEV=sam +PIPEWIRE_DOCS_VERSION="${PV}" +# Default to generating docs (inc. man pages) if no prebuilt; overridden later +PIPEWIRE_DOCS_USEFLAG="+man" +PYTHON_COMPAT=( python3_{10..12} ) +inherit meson-multilib optfeature prefix python-any-r1 systemd tmpfiles udev + +if [[ ${PV} == 9999 ]]; then + PIPEWIRE_DOCS_PREBUILT=0 + 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.bz2" + fi + + if [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then + SRC_URI+=" !man? ( https://dev.gentoo.org/~${PIPEWIRE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${PIPEWIRE_DOCS_VERSION}-docs.tar.xz )" + PIPEWIRE_DOCS_USEFLAG="man" + fi + + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~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="${PIPEWIRE_DOCS_USEFLAG} bluetooth dbus doc echo-cancel extra ffmpeg flatpak gstreamer gsettings ieee1394 jack-client jack-sdk liblc3 lv2" +IUSE+=" modemmanager pipewire-alsa readline roc selinux sound-server 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)! + +# - TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled +# - TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work +# which provides adequate guarantee that alsa-lib will be able to provide audio services. +# If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL. +# When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally. +# - ffmpeg is only used for pw-cat. We don't build the spa plugin which receives barely any activity. +REQUIRED_USE=" + ffmpeg? ( extra ) + bluetooth? ( dbus ) + jack-sdk? ( !jack-client ) + modemmanager? ( bluetooth ) + system-service? ( systemd ) + !sound-server? ( !pipewire-alsa ) + jack-client? ( dbus ) +" + +RESTRICT="!test? ( test )" + +BDEPEND=" + >=dev-build/meson-0.59 + virtual/pkgconfig + dbus? ( dev-util/gdbus-codegen ) + doc? ( + ${PYTHON_DEPS} + >=app-text/doxygen-1.9.8 + media-gfx/graphviz + ) + man? ( + ${PYTHON_DEPS} + >=app-text/doxygen-1.9.8 + ) +" +# * While udev could technically be optional, it's needed for a number of options, +# and not really worth it, bug #877769. +# +# * Supports both legacy webrtc-audio-processing:0 and new webrtc-audio-processing:1. +# We depend on :1 as it prefers that, it's not legacy, and to avoid automagic. +# +# * Older Doxygen (<1.9.8) may work but inferior output is created: +# - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1778 +# - https://github.com/doxygen/doxygen/issues/9254 +RDEPEND=" + acct-group/audio + acct-group/pipewire + media-libs/alsa-lib[${MULTILIB_USEDEP}] + sys-libs/ncurses:=[unicode(+)] + virtual/libintl[${MULTILIB_USEDEP}] + virtual/libudev[${MULTILIB_USEDEP}] + bluetooth? ( + dev-libs/glib + media-libs/fdk-aac + media-libs/libldac + media-libs/libfreeaptx + media-libs/opus + media-libs/sbc + >=net-wireless/bluez-4.101:= + virtual/libusb:1 + ) + dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) + echo-cancel? ( >=media-libs/webrtc-audio-processing-1.2:1 ) + extra? ( >=media-libs/libsndfile-1.0.20 ) + ffmpeg? ( media-video/ffmpeg:= ) + flatpak? ( dev-libs/glib ) + gstreamer? ( + >=dev-libs/glib-2.32.0:2 + >=media-libs/gstreamer-1.10.0:1.0 + media-libs/gst-plugins-base:1.0 + ) + gsettings? ( >=dev-libs/glib-2.26.0:2 ) + ieee1394? ( media-libs/libffado[${MULTILIB_USEDEP}] ) + jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] ) + jack-sdk? ( + !media-sound/jack-audio-connection-kit + !media-sound/jack2 + ) + liblc3? ( media-sound/liblc3 ) + lv2? ( media-libs/lilv ) + modemmanager? ( >=net-misc/modemmanager-1.10.0 ) + pipewire-alsa? ( >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] ) + sound-server? ( !media-sound/pulseaudio-daemon ) + roc? ( >=media-libs/roc-toolkit-0.3.0:= ) + readline? ( sys-libs/readline:= ) + selinux? ( sys-libs/libselinux ) + ssl? ( dev-libs/openssl:= ) + systemd? ( sys-apps/systemd ) + system-service? ( acct-user/pipewire ) + v4l? ( media-libs/libv4l ) + X? ( + media-libs/libcanberra + x11-libs/libX11 + x11-libs/libXfixes + ) + zeroconf? ( net-dns/avahi ) +" + +DEPEND="${RDEPEND}" + +PDEPEND=">=media-video/wireplumber-0.5.2" + +# 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-libs/libsdl2 +# >=media-libs/vulkan-loader-1.1.69 +# +# Ditto for DEPEND +# >=dev-util/vulkan-headers-1.1.69 + +PATCHES=( + "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch + # https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/2061 + "${FILESDIR}"/${P}-automagic-gsettings.patch +) + +pkg_setup() { + if use doc || use man ; then + python-any-r1_pkg_setup + fi +} + +src_prepare() { + default + + # Used for upstream backports + [[ -d "${FILESDIR}"/${PV} ]] && eapply "${FILESDIR}"/${PV} +} + +multilib_src_configure() { + local emesonargs=( + -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} + + $(meson_feature dbus) + $(meson_native_use_feature zeroconf avahi) + $(meson_native_use_feature doc docs) + $(meson_native_use_feature man) + $(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone + $(meson_feature test tests) + -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests + $(meson_feature ieee1394 libffado) + $(meson_native_use_feature gstreamer) + $(meson_native_use_feature gstreamer gstreamer-device-provider) + $(meson_native_use_feature gsettings) + $(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 + $(meson_feature selinux) + -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) + -Dcompress-offload=disabled # TODO: tinycompress unpackaged + -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) + # https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1379 + $(meson_native_use_feature modemmanager bluez5-backend-native-mm) + $(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 opus) + $(meson_native_use_feature bluetooth bluez5-codec-opus) + $(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 + $(meson_native_use_feature ffmpeg pw-cat-ffmpeg) + $(meson_native_use_feature flatpak) + -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 + -Dbluez5-codec-lc3plus=disabled # unpackaged + $(meson_native_use_feature liblc3 bluez5-codec-lc3) + $(meson_native_use_feature lv2) + $(meson_native_use_feature v4l v4l2) + -Dlibcamera=disabled # libcamera is not in Portage tree + $(meson_native_use_feature roc) + $(meson_native_use_feature readline) + $(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) + -Dlibmysofa=disabled # libmysofa is unpackaged + $(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 + + # We still have <5.16 kernels packaged in Gentoo and 6.1 (LTS) only + # just became stable, with 5.15 being the previous LTS. Many people + # are still on it. + -Dpam-defaults-install=true + + # 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) + + # TODO + -Dsnap=disabled + ) + + # This installs the schema file for pulseaudio-daemon, iff we are replacing + # the official sound-server + if use !sound-server; then + emesonargs+=( '-Dgsettings-pulse-schema=disabled' ) + else + emesonargs+=( + $(meson_native_use_feature gsettings gsettings-pulse-schema) + ) + fi + + meson_src_configure +} + +multilib_src_test() { + meson_src_test --timeout-multiplier 10 +} + +multilib_src_install() { + # Our custom DOCS do not exist in multilib source directory + DOCS= meson_src_install +} + +multilib_src_install_all() { + einstalldocs + + if ! use man && [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then + doman "${WORKDIR}"/${PN}-${PIPEWIRE_DOCS_VERSION}-docs/man/*/*.[0-8] + fi + + if use pipewire-alsa; then + dodir /etc/alsa/conf.d + + # Install pipewire conf loader hook + insinto /usr/share/alsa/alsa.conf.d + doins "${FILESDIR}"/99-pipewire-default-hook.conf + eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf + + # 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-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf + fi + + # Enable required wireplumber alsa and bluez monitors + if use sound-server; then + # Install sound-server enabler for wireplumber 0.5.0+ conf syntax + insinto /etc/wireplumber/wireplumber.conf.d + doins "${FILESDIR}"/gentoo-sound-server-enable-audio-bluetooth.conf + fi + + if use system-service; then + newtmpfiles - pipewire.conf <<-EOF || die + d /run/pipewire 0755 pipewire pipewire - - + EOF + fi + + if ! use systemd; then + insinto /etc/xdg/autostart + newins "${FILESDIR}"/pipewire.desktop-r2 pipewire.desktop + + exeinto /usr/bin + newexe "${FILESDIR}"/gentoo-pipewire-launcher.in-r3 gentoo-pipewire-launcher + + doman "${FILESDIR}"/gentoo-pipewire-launcher.1 + + # Disable pipewire-pulse if sound-server is disabled. + if ! use sound-server ; then + sed -i -s '/pipewire -c pipewire-pulse.conf/s/^/#/' "${ED}"/usr/bin/gentoo-pipewire-launcher || die + fi + + eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher + fi +} + +pkg_postrm() { + udev_reload +} + +pkg_preinst() { + HAD_SOUND_SERVER=0 + HAD_SYSTEM_SERVICE=0 + + if has_version "media-video/pipewire[sound-server(-)]" ; then + HAD_SOUND_SERVER=1 + fi + + if has_version "media-video/pipewire[system-service(-)]" ; then + HAD_SYSTEM_SERVICE=1 + fi +} + +pkg_postinst() { + udev_reload + + use system-service && tmpfiles_process pipewire.conf + + local ver + for ver in ${REPLACING_VERSIONS} ; do + if has_version kde-plasma/kwin[screencast] || has_version x11-wm/mutter[screencast] ; then + # https://bugs.gentoo.org/908490 + # https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3243 + ewarn "Please restart KWin/Mutter after upgrading PipeWire." + ewarn "Screencasting may not work until you do." + fi + + if ver_test ${ver} -le 0.3.66-r1 ; then + elog ">=pipewire-0.3.66 uses the 'pipewire' group to manage permissions" + elog "and limits needed to function smoothly:" + elog + elog "1. Please make sure your user is in the 'pipewire' group for" + elog "the best experience with realtime scheduling (PAM limits behavior)!" + elog "You can add your account with:" + elog " usermod -aG pipewire " + elog + elog "2. For the best experience with fast user switching, it is recommended" + elog "that you remove your user from the 'audio' group unless you rely on the" + elog "audio group for device access control or ACLs.:" + elog " usermod -rG audio " + elog + + if ! use jack-sdk ; then + elog + 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 + ewarn + 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 + fi + + if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then + elog + elog "This ebuild auto-enables PulseAudio replacement. Because of that, users" + elog "are recommended to edit pulseaudio client configuration files:" + elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf" + elog "if it exists, and disable 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 + + 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 + fi + fi + done + + if [[ ${HAD_SOUND_SERVER} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then + # TODO: We could drop most of this if we set up systemd presets? + # They're worth looking into because right now, the out-of-the-box experience + # is automatic on OpenRC, while it needs manual intervention on systemd. + if use sound-server && use systemd ; then + elog + 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." + elog + fi + + if ! use sound-server ; then + ewarn + ewarn "USE=sound-server is disabled! If you want PipeWire to provide" + ewarn "your sound, please enable it. See the wiki at" + ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio" + ewarn "for more details." + ewarn + fi + fi + + if use system-service && [[ ${HAD_SYSTEM_SERVICE} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then + ewarn + ewarn "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 the" + ewarn "box, and you are on your own with configuration." + ewarn + fi + + 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 use sound-server && ! use pipewire-alsa; then + optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]" + fi +} -- cgit v1.2.3