summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Väth <martin@mvath.de>2021-09-18 07:45:04 +0200
committerMartin Väth <martin@mvath.de>2021-09-18 07:45:04 +0200
commitf0bfe79d76c3f987220abd1ccdc77f52103fce1a (patch)
treeb2e87eb7532b9e2b224be81b87c8027881a37aec
parentdev-util/mv_perl: Version bump (diff)
downloadmv-main.tar.gz
mv-main.tar.bz2
mv-main.zip
media-video/pipewire: Version bump. Remove oldmain
Signed-off-by: Martin Väth <martin@mvath.de>
-rw-r--r--media-video/pipewire/Manifest2
-rw-r--r--media-video/pipewire/files/pipewire-0.3.35-non-systemd-integration.patch20
-rw-r--r--media-video/pipewire/files/pipewire-0.3.36-fix-crash-uaf-media-session.patch36
-rw-r--r--media-video/pipewire/files/pipewire-0.3.36-fix-version.patch25
-rw-r--r--media-video/pipewire/pipewire-0.3.36.ebuild (renamed from media-video/pipewire/pipewire-0.3.32.ebuild)34
-rw-r--r--metadata/pkg_desc_index2
6 files changed, 104 insertions, 15 deletions
diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest
index 02193826..316a0c18 100644
--- a/media-video/pipewire/Manifest
+++ b/media-video/pipewire/Manifest
@@ -1,2 +1,2 @@
-DIST pipewire-0.3.32.tar.gz 1604622 SHA512 8a7fe26a78071fdd8d4c9e2d9bf3791af8e0cb53b976b45d39dcab4ad08196808f416911fb1b366cc85e3fa80592ec79c4e4556bb3a390f4a10229b4bf9893f7
DIST pipewire-0.3.34.tar.gz 1682396 SHA512 cbf8eb410d2cd1923e67ac9ee9eca0e74567bb7e8ea407a536e64b3ec27b5bbb1e7fdd74a5a7cbffbac3f9996d8a08f8c723401fb44cb2920f044a3a2f3a6c18
+DIST pipewire-0.3.36.tar.gz 1708209 SHA512 f0fc68ea005018b420a4f65a24dc9c85eb6263c24e66852a7ce2b03f966990d62487b388c7d73ff5adfc10c80c439b1200ae876e41d78f91db190036a1799a14
diff --git a/media-video/pipewire/files/pipewire-0.3.35-non-systemd-integration.patch b/media-video/pipewire/files/pipewire-0.3.35-non-systemd-integration.patch
new file mode 100644
index 00000000..3edab5b9
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-0.3.35-non-systemd-integration.patch
@@ -0,0 +1,20 @@
+--- a/src/daemon/pipewire.conf.in
++++ b/src/daemon/pipewire.conf.in
+@@ -235,12 +235,12 @@ context.exec = [
+ # but it is better to start it as a systemd service.
+ # Run the session manager with -h for options.
+ #
+- @sm_comment@{ path = "@session_manager_path@" args = "@session_manager_args@" }
++ { path = "@session_manager_path@" args = "@session_manager_args@" }
+ #
+ # You can optionally start the pulseaudio-server here as well
+ # but it is better to start it as a systemd service.
+ # It can be interesting to start another daemon here that listens
+ # on another address with the -a option (eg. -a tcp:4713).
+ #
+- @pulse_comment@{ path = "@pipewire_path@" args = "-c pipewire-pulse.conf" }
++ { path = "@pipewire_path@" args = "-c pipewire-pulse.conf" }
+ ]
+--
+2.33.0
+
diff --git a/media-video/pipewire/files/pipewire-0.3.36-fix-crash-uaf-media-session.patch b/media-video/pipewire/files/pipewire-0.3.36-fix-crash-uaf-media-session.patch
new file mode 100644
index 00000000..6080ff4f
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-0.3.36-fix-crash-uaf-media-session.patch
@@ -0,0 +1,36 @@
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/39c8ed4f62172026036281691cd3b67b469a8629
+
+From 39c8ed4f62172026036281691cd3b67b469a8629 Mon Sep 17 00:00:00 2001
+From: Pauli Virtanen <pav@iki.fi>
+Date: Thu, 16 Sep 2021 19:18:52 +0300
+Subject: [PATCH] media-session: don't use-after-free if linking node removed
+
+Should fix an ASAN crash.
+---
+ src/examples/media-session/policy-node.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/examples/media-session/policy-node.c b/src/examples/media-session/policy-node.c
+index d83613d0b..e273434fa 100644
+--- a/src/examples/media-session/policy-node.c
++++ b/src/examples/media-session/policy-node.c
+@@ -869,6 +869,7 @@ static int link_nodes(struct node *node, struct node *peer)
+ struct pw_properties *props;
+ struct node *output, *input;
+ int res;
++ uint32_t node_id = node->id;
+
+ pw_log_debug(NAME " %p: link nodes %d %d remix:%d", impl,
+ node->id, peer->id, !node->dont_remix);
+@@ -902,7 +903,7 @@ static int link_nodes(struct node *node, struct node *peer)
+
+ if (impl->linking_node_removed) {
+ impl->linking_node_removed = false;
+- pw_log_info("linking node %d was removed", node->id);
++ pw_log_info("linking node %d was removed", node_id);
+ return -ENOENT;
+ }
+ node->linking = false;
+--
+GitLab
+
diff --git a/media-video/pipewire/files/pipewire-0.3.36-fix-version.patch b/media-video/pipewire/files/pipewire-0.3.36-fix-version.patch
new file mode 100644
index 00000000..ace05b9e
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-0.3.36-fix-version.patch
@@ -0,0 +1,25 @@
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/10abcd92d76ddd02b690ff06d67c013bfc5fa5c2
+
+From 10abcd92d76ddd02b690ff06d67c013bfc5fa5c2 Mon Sep 17 00:00:00 2001
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Thu, 16 Sep 2021 17:57:47 +0200
+Subject: [PATCH] update version number as well
+
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index c9b98c8ba..ea35ac674 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1,5 +1,5 @@
+ project('pipewire', ['c' ],
+- version : '0.3.35',
++ version : '0.3.36',
+ license : [ 'MIT', 'LGPL-2.1-or-later', 'GPL-2.0-only' ],
+ meson_version : '>= 0.54.0',
+ default_options : [ 'warning_level=3',
+--
+GitLab
+
diff --git a/media-video/pipewire/pipewire-0.3.32.ebuild b/media-video/pipewire/pipewire-0.3.36.ebuild
index 4da2d2a5..7d81c0ae 100644
--- a/media-video/pipewire/pipewire-0.3.32.ebuild
+++ b/media-video/pipewire/pipewire-0.3.36.ebuild
@@ -3,7 +3,7 @@
EAPI="7"
-PYTHON_COMPAT=( python3_{7..10} )
+PYTHON_COMPAT=( python3_{8..10} )
inherit meson-multilib optfeature python-any-r1 udev
@@ -12,7 +12,7 @@ if [[ ${PV} == 9999 ]]; then
inherit git-r3
else
SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
- KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 x86"
+ KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv x86"
fi
DESCRIPTION="Multimedia processing graphs"
@@ -20,7 +20,7 @@ HOMEPAGE="https://pipewire.org/"
LICENSE="MIT LGPL-2.1+ GPL-2"
SLOT="0/0.3"
-IUSE="alsa bluetooth doc extra gstreamer jack-client jack-sdk pipewire-alsa systemd test v4l"
+IUSE="alsa bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk pipewire-alsa systemd test v4l"
# Once replacing system JACK libraries is possible, it's likely that
# jack-client IUSE will need blocking to avoid users accidentally
@@ -34,8 +34,10 @@ RESTRICT="!test? ( test )"
BDEPEND="
app-doc/xmltoman
+ >=dev-util/meson-0.59
virtual/pkgconfig
${PYTHON_DEPS}
+ $(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
doc? (
app-doc/doxygen
media-gfx/graphviz
@@ -51,10 +53,11 @@ RDEPEND="
bluetooth? (
media-libs/fdk-aac
media-libs/libldac
- media-libs/libopenaptx
+ media-libs/libfreeaptx
media-libs/sbc
>=net-wireless/bluez-4.101:=
)
+ echo-cancel? ( media-libs/webrtc-audio-processing )
extra? (
>=media-libs/libsndfile-1.0.20
)
@@ -70,10 +73,7 @@ RDEPEND="
)
pipewire-alsa? (
>=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
- || (
- media-plugins/alsa-plugins[-pulseaudio]
- !media-plugins/alsa-plugins
- )
+ !media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio]
)
!pipewire-alsa? ( alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] ) )
systemd? ( sys-apps/systemd )
@@ -96,20 +96,25 @@ DOCS=( {README,INSTALL}.md NEWS )
PATCHES=(
"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
- "${FILESDIR}"/${PN}-0.3.31-revert-openaptx-restriction.patch
+ "${FILESDIR}"/${P}-fix-crash-uaf-media-session.patch
+ "${FILESDIR}"/${P}-fix-version.patch
)
# limitsdfile related code taken from =sys-auth/realtime-base-0.1
# with changes as necessary.
limitsdfile=40-${PN}.conf
+python_check_deps() {
+ has_version -b "dev-python/docutils[${PYTHON_USEDEP}]"
+}
+
src_prepare() {
default
if ! use systemd; then
# This can be applied non-conditionally but would make for a
# significantly worse user experience on systemd then.
- eapply "${FILESDIR}"/${PN}-0.3.31-non-systemd-integration.patch
+ eapply "${FILESDIR}"/${PN}-0.3.35-non-systemd-integration.patch
fi
einfo "Generating ${limitsdfile}"
@@ -127,7 +132,9 @@ multilib_src_configure() {
-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
$(meson_native_use_feature doc docs)
$(meson_native_enabled examples) # Disabling this implicitly disables -Dmedia-session
- $(meson_native_enabled media-session)
+ # Replaced upstream by -Dsession-managers=..., needs more work, bug #812809
+ # but default is same as before and right now, this is fatal with unreleased Meson.
+ #$(meson_native_enabled media-session)
$(meson_native_enabled man)
$(meson_feature test tests)
-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
@@ -149,12 +156,13 @@ multilib_src_configure() {
$(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 echo-cancel echo-cancel-webrtc) #807889
-Dcontrol=enabled # Matches upstream
-Daudiotestsrc=enabled # Matches upstream
-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
$(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
- $(meson_feature jack-sdk jack-devel)
+ $(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
@@ -263,7 +271,7 @@ pkg_postinst() {
elog
optfeature_header "The following can be installed for optional runtime features:"
- optfeature "restricted realtime capabilities vai D-Bus" sys-auth/rtkit
+ optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
# Once hsphfpd lands in tree, both it and ofono will need to be checked for presence here!
if use bluetooth; then
optfeature "better BT headset support (daemon startup required)" net-misc/ofono
diff --git a/metadata/pkg_desc_index b/metadata/pkg_desc_index
index 195333c7..e6608bb3 100644
--- a/metadata/pkg_desc_index
+++ b/metadata/pkg_desc_index
@@ -84,7 +84,7 @@ media-tv/w_scan 20170107-r1: Scan for DVB-C/DVB-T/DVB-S channels without prior k
media-video/avidemux 2.7.8: Video editor designed for simple cutting, filtering and encoding tasks
media-video/avinfo 1.0_alpha15_p1-r1: Utility for displaying AVI information
media-video/handbrake 1.3.3-r1: Open-source, GPL-licensed, multiplatform, multithreaded video transcoder
-media-video/pipewire 0.3.32 0.3.34: Multimedia processing graphs
+media-video/pipewire 0.3.34 0.3.36: Multimedia processing graphs
media-video/video-mv 17.1: Frontends for using mplayer/mencoder, ffmpeg/libav, or tzap as video recorder
net-dialup/accounting 1.60.45.3.1-r1: Give statistics about dialup connections. Originally part of SuSE's smpppd
net-dialup/martian-modem 20100123-r3: ltmodem alternative driver providing support for Agere Systems winmodems