Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/, media-video/pipewire/files/
Date: Mon, 04 Jul 2022 23:36:45
Message-Id: 1656977793.83048813c27caef3b8d3e0ba27acdab663ebc2a8.sam@gentoo
1 commit: 83048813c27caef3b8d3e0ba27acdab663ebc2a8
2 Author: Sam James <sam <AT> gentoo <DOT> org>
3 AuthorDate: Mon Jul 4 23:35:16 2022 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Mon Jul 4 23:36:33 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=83048813
7
8 media-video/pipewire: drop 0.3.30-r2, 0.3.36
9
10 Signed-off-by: Sam James <sam <AT> gentoo.org>
11
12 media-video/pipewire/Manifest | 2 -
13 .../pipewire-0.3.25-non-systemd-integration.patch | 18 --
14 ...pewire-0.3.29-revert-openaptx-restriction.patch | 30 ---
15 .../pipewire-0.3.35-non-systemd-integration.patch | 20 --
16 ...pewire-0.3.36-fix-crash-uaf-media-session.patch | 36 ---
17 .../files/pipewire-0.3.36-fix-version.patch | 25 --
18 .../pipewire-0.3.36-missing-limits-include.patch | 17 --
19 media-video/pipewire/pipewire-0.3.30-r2.ebuild | 274 --------------------
20 media-video/pipewire/pipewire-0.3.36.ebuild | 284 ---------------------
21 9 files changed, 706 deletions(-)
22
23 diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest
24 index d473d3c32798..4d01a2bceef0 100644
25 --- a/media-video/pipewire/Manifest
26 +++ b/media-video/pipewire/Manifest
27 @@ -1,5 +1,3 @@
28 -DIST pipewire-0.3.30.tar.gz 1540950 BLAKE2B 69b35743e3ad9a8caf68d9bb16cf395203efed6c3046b3f4ea33bbcdd6649f5d425d813042c12396a7cd5ff4e8ed91dbc395a96fe55935ad50f9c3f3918b0407 SHA512 ec525e0fb7e5c5313245fcc745b971fd7d4a1caa7ab9fe1fa38dc20d50f03e5969197e86b60659971676bec0f79aa7b7951c8209bfe9565a3fd1dcac1b8535b3
29 -DIST pipewire-0.3.36.tar.gz 1708209 BLAKE2B 20fce0d7f88347fe594491d4fae7b6a8edee67ff7749f1a40b807a5d5094d792e61e3efd05dca2221f781c263e34ff0a50ad3c162231911d4b1d87704df6c775 SHA512 f0fc68ea005018b420a4f65a24dc9c85eb6263c24e66852a7ce2b03f966990d62487b388c7d73ff5adfc10c80c439b1200ae876e41d78f91db190036a1799a14
30 DIST pipewire-0.3.49.tar.gz 1769037 BLAKE2B 2567bc98933bfbb295358886e8f97db2af2f0a6ee3c2586c1718e39f7eedaed8528a4663753ba56d3295e42576da015ce9278f22aff9bbd9ca43d883bff5a2f6 SHA512 36398872f7d7b31193d7a8885bbdfb415a122bd779874107a0642202dfd8408f39fddf769bfbae4533c2cc99fe9ef67903d50cc721e936aa4802229f1c46d809
31 DIST pipewire-0.3.51.tar.gz 1789070 BLAKE2B 8538eb9f2178efa26365f30b324b707826e580caa1fd9c09b62c561c140c14186e0d2b04808fa78eb5642ddccf1a347def19934ecd654be06b215a693075b6fc SHA512 a762fd260b4b14ad9ef142be11ab1c22268da6726e2179559ffb254f0ce7daf7a502779e33c64313a9c6a9fc1bd15150b76be04ec81aa27c35dbb4333cecdb4a
32 DIST pipewire-0.3.52.tar.gz 1810238 BLAKE2B bb75eff5fe7700d0a303fbfed7910aebd82346a5a21c4a0d17c06e6991bc90bb6d4f6b9559c25788494cb11faff957523dcd7f0c4c8a40be11b81c63a5a9e5ef SHA512 30e9cf74c92babafe386f02a03bb5c41a8ee5591a02f15845cca1ee44f091ce68eb14d48943d43b680cb525026a19e0290997670f9a82156eaa72e974fe6d01a
33
34 diff --git a/media-video/pipewire/files/pipewire-0.3.25-non-systemd-integration.patch b/media-video/pipewire/files/pipewire-0.3.25-non-systemd-integration.patch
35 deleted file mode 100644
36 index 51455a3b84b8..000000000000
37 --- a/media-video/pipewire/files/pipewire-0.3.25-non-systemd-integration.patch
38 +++ /dev/null
39 @@ -1,18 +0,0 @@
40 -diff --git a/src/daemon/pipewire.conf.in b/src/daemon/pipewire.conf.in
41 ---- a/src/daemon/pipewire.conf.in
42 -+++ b/src/daemon/pipewire.conf.in
43 -@@ -204,12 +204,12 @@ context.exec = [
44 - # but it is better to start it as a systemd service.
45 - # Run the session manager with -h for options.
46 - #
47 -- @comment@{ path = "@media_session_path@" args = "" }
48 -+ { path = "@media_session_path@" args = "" }
49 - #
50 - # You can optionally start the pulseaudio-server here as well
51 - # but it is better to start it as a systemd service.
52 - # It can be interesting to start another daemon here that listens
53 - # on another address with the -a option (eg. -a tcp:4713).
54 - #
55 -- @comment@{ path = "@pipewire_path@" args = "-c pipewire-pulse.conf" }
56 -+ { path = "@pipewire_path@" args = "-c pipewire-pulse.conf" }
57 - ]
58
59 diff --git a/media-video/pipewire/files/pipewire-0.3.29-revert-openaptx-restriction.patch b/media-video/pipewire/files/pipewire-0.3.29-revert-openaptx-restriction.patch
60 deleted file mode 100644
61 index 9da495f12d0d..000000000000
62 --- a/media-video/pipewire/files/pipewire-0.3.29-revert-openaptx-restriction.patch
63 +++ /dev/null
64 @@ -1,30 +0,0 @@
65 -From 6d2e45a67cadd9498b24e8e4ea7adc6cf627333d Mon Sep 17 00:00:00 2001
66 -From: Thomas Deutschmann <whissi@g.o>
67 -Date: Thu, 3 Jun 2021 14:15:44 +0200
68 -Subject: [PATCH] Revert "openaptx: Blacklist >= 0.2.1 due to license change"
69 -
70 -This reverts commit d08b6fac6bec0d334ee9fc785d551a67832f95fe.
71 -
72 -Doesn't apply to us.
73 -
74 -Bug: https://bugs.gentoo.org/785634
75 ----
76 - spa/meson.build | 2 +-
77 - 1 file changed, 1 insertion(+), 1 deletion(-)
78 -
79 -diff --git a/spa/meson.build b/spa/meson.build
80 -index 263af4c2..7671c74b 100644
81 ---- a/spa/meson.build
82 -+++ b/spa/meson.build
83 -@@ -23,7 +23,7 @@ if not get_option('spa-plugins').disabled()
84 - sbc_dep = dependency('sbc', required: get_option('bluez5'))
85 - ldac_dep = dependency('ldacBT-enc', required : get_option('bluez5-codec-ldac'))
86 - ldac_abr_dep = dependency('ldacBT-abr', required : get_option('bluez5-codec-ldac'))
87 -- aptx_dep = dependency('libopenaptx', version : '< 0.2.1', required : get_option('bluez5-codec-aptx'))
88 -+ aptx_dep = dependency('libopenaptx', required : get_option('bluez5-codec-aptx'))
89 - fdk_aac_dep = dependency('fdk-aac', required : get_option('bluez5-codec-aac'))
90 - endif
91 - avcodec_dep = dependency('libavcodec', required: get_option('ffmpeg'))
92 ---
93 -2.32.0.rc3
94 -
95
96 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
97 deleted file mode 100644
98 index 3edab5b924c8..000000000000
99 --- a/media-video/pipewire/files/pipewire-0.3.35-non-systemd-integration.patch
100 +++ /dev/null
101 @@ -1,20 +0,0 @@
102 ---- a/src/daemon/pipewire.conf.in
103 -+++ b/src/daemon/pipewire.conf.in
104 -@@ -235,12 +235,12 @@ context.exec = [
105 - # but it is better to start it as a systemd service.
106 - # Run the session manager with -h for options.
107 - #
108 -- @sm_comment@{ path = "@session_manager_path@" args = "@session_manager_args@" }
109 -+ { path = "@session_manager_path@" args = "@session_manager_args@" }
110 - #
111 - # You can optionally start the pulseaudio-server here as well
112 - # but it is better to start it as a systemd service.
113 - # It can be interesting to start another daemon here that listens
114 - # on another address with the -a option (eg. -a tcp:4713).
115 - #
116 -- @pulse_comment@{ path = "@pipewire_path@" args = "-c pipewire-pulse.conf" }
117 -+ { path = "@pipewire_path@" args = "-c pipewire-pulse.conf" }
118 - ]
119 ---
120 -2.33.0
121 -
122
123 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
124 deleted file mode 100644
125 index 6080ff4fd7ab..000000000000
126 --- a/media-video/pipewire/files/pipewire-0.3.36-fix-crash-uaf-media-session.patch
127 +++ /dev/null
128 @@ -1,36 +0,0 @@
129 -https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/39c8ed4f62172026036281691cd3b67b469a8629
130 -
131 -From 39c8ed4f62172026036281691cd3b67b469a8629 Mon Sep 17 00:00:00 2001
132 -From: Pauli Virtanen <pav@×××.fi>
133 -Date: Thu, 16 Sep 2021 19:18:52 +0300
134 -Subject: [PATCH] media-session: don't use-after-free if linking node removed
135 -
136 -Should fix an ASAN crash.
137 ----
138 - src/examples/media-session/policy-node.c | 3 ++-
139 - 1 file changed, 2 insertions(+), 1 deletion(-)
140 -
141 -diff --git a/src/examples/media-session/policy-node.c b/src/examples/media-session/policy-node.c
142 -index d83613d0b..e273434fa 100644
143 ---- a/src/examples/media-session/policy-node.c
144 -+++ b/src/examples/media-session/policy-node.c
145 -@@ -869,6 +869,7 @@ static int link_nodes(struct node *node, struct node *peer)
146 - struct pw_properties *props;
147 - struct node *output, *input;
148 - int res;
149 -+ uint32_t node_id = node->id;
150 -
151 - pw_log_debug(NAME " %p: link nodes %d %d remix:%d", impl,
152 - node->id, peer->id, !node->dont_remix);
153 -@@ -902,7 +903,7 @@ static int link_nodes(struct node *node, struct node *peer)
154 -
155 - if (impl->linking_node_removed) {
156 - impl->linking_node_removed = false;
157 -- pw_log_info("linking node %d was removed", node->id);
158 -+ pw_log_info("linking node %d was removed", node_id);
159 - return -ENOENT;
160 - }
161 - node->linking = false;
162 ---
163 -GitLab
164 -
165
166 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
167 deleted file mode 100644
168 index ace05b9e4a14..000000000000
169 --- a/media-video/pipewire/files/pipewire-0.3.36-fix-version.patch
170 +++ /dev/null
171 @@ -1,25 +0,0 @@
172 -https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/10abcd92d76ddd02b690ff06d67c013bfc5fa5c2
173 -
174 -From 10abcd92d76ddd02b690ff06d67c013bfc5fa5c2 Mon Sep 17 00:00:00 2001
175 -From: Wim Taymans <wtaymans@××××××.com>
176 -Date: Thu, 16 Sep 2021 17:57:47 +0200
177 -Subject: [PATCH] update version number as well
178 -
179 ----
180 - meson.build | 2 +-
181 - 1 file changed, 1 insertion(+), 1 deletion(-)
182 -
183 -diff --git a/meson.build b/meson.build
184 -index c9b98c8ba..ea35ac674 100644
185 ---- a/meson.build
186 -+++ b/meson.build
187 -@@ -1,5 +1,5 @@
188 - project('pipewire', ['c' ],
189 -- version : '0.3.35',
190 -+ version : '0.3.36',
191 - license : [ 'MIT', 'LGPL-2.1-or-later', 'GPL-2.0-only' ],
192 - meson_version : '>= 0.54.0',
193 - default_options : [ 'warning_level=3',
194 ---
195 -GitLab
196 -
197
198 diff --git a/media-video/pipewire/files/pipewire-0.3.36-missing-limits-include.patch b/media-video/pipewire/files/pipewire-0.3.36-missing-limits-include.patch
199 deleted file mode 100644
200 index c7ed7b973a91..000000000000
201 --- a/media-video/pipewire/files/pipewire-0.3.36-missing-limits-include.patch
202 +++ /dev/null
203 @@ -1,17 +0,0 @@
204 -https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/6168067cb2a45ffa3c92aff1135659feaf9c1240
205 -
206 -From: Leonardo Neumann <leonardo@×××××××××××.br>
207 -Date: Sat, 18 Sep 2021 04:36:20 -0300
208 -Subject: [PATCH] fix missing limits.h include
209 -
210 ---- a/src/pipewire/impl-module.c
211 -+++ b/src/pipewire/impl-module.c
212 -@@ -28,6 +28,7 @@
213 - #include <stdio.h>
214 - #include <dlfcn.h>
215 - #include <dirent.h>
216 -+#include <limits.h>
217 - #include <sys/stat.h>
218 - #include <errno.h>
219 -
220 -GitLab
221
222 diff --git a/media-video/pipewire/pipewire-0.3.30-r2.ebuild b/media-video/pipewire/pipewire-0.3.30-r2.ebuild
223 deleted file mode 100644
224 index c27f6c9196f0..000000000000
225 --- a/media-video/pipewire/pipewire-0.3.30-r2.ebuild
226 +++ /dev/null
227 @@ -1,274 +0,0 @@
228 -# Copyright 1999-2021 Gentoo Authors
229 -# Distributed under the terms of the GNU General Public License v2
230 -
231 -EAPI="7"
232 -
233 -PYTHON_COMPAT=( python3_{7..10} )
234 -
235 -inherit meson-multilib optfeature python-any-r1 udev
236 -
237 -if [[ ${PV} == 9999 ]]; then
238 - EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
239 - inherit git-r3
240 -else
241 - SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
242 - KEYWORDS="amd64 arm arm64 ppc ppc64 x86"
243 -fi
244 -
245 -DESCRIPTION="Multimedia processing graphs"
246 -HOMEPAGE="https://pipewire.org/"
247 -
248 -LICENSE="MIT LGPL-2.1+ GPL-2"
249 -SLOT="0/0.3"
250 -IUSE="bluetooth doc extra gstreamer jack-client jack-sdk pipewire-alsa systemd test v4l"
251 -
252 -# Once replacing system JACK libraries is possible, it's likely that
253 -# jack-client IUSE will need blocking to avoid users accidentally
254 -# configuring their systems to send PW sink output to the emulated
255 -# JACK's sink - doing so is likely to yield no audio, cause a CPU
256 -# cycles consuming loop (and may even cause GUI crashes)!
257 -
258 -REQUIRED_USE="jack-sdk? ( !jack-client )"
259 -
260 -RESTRICT="!test? ( test )"
261 -
262 -BDEPEND="
263 - app-doc/xmltoman
264 - virtual/pkgconfig
265 - ${PYTHON_DEPS}
266 - doc? (
267 - app-doc/doxygen
268 - media-gfx/graphviz
269 - )
270 -"
271 -RDEPEND="
272 - acct-group/audio
273 - media-libs/alsa-lib
274 - sys-apps/dbus[${MULTILIB_USEDEP}]
275 - sys-libs/ncurses:=[unicode(+)]
276 - virtual/libintl[${MULTILIB_USEDEP}]
277 - virtual/libudev[${MULTILIB_USEDEP}]
278 - bluetooth? (
279 - media-libs/fdk-aac
280 - media-libs/libldac
281 - media-libs/libopenaptx
282 - media-libs/sbc
283 - >=net-wireless/bluez-4.101:=
284 - )
285 - extra? (
286 - >=media-libs/libsndfile-1.0.20
287 - )
288 - gstreamer? (
289 - >=dev-libs/glib-2.32.0:2
290 - >=media-libs/gstreamer-1.10.0:1.0
291 - media-libs/gst-plugins-base:1.0
292 - )
293 - jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
294 - jack-sdk? (
295 - !media-sound/jack-audio-connection-kit
296 - !media-sound/jack2
297 - )
298 - pipewire-alsa? (
299 - >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
300 - || (
301 - media-plugins/alsa-plugins[-pulseaudio]
302 - !media-plugins/alsa-plugins
303 - )
304 - )
305 - !pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
306 - systemd? ( sys-apps/systemd )
307 - v4l? ( media-libs/libv4l )
308 -"
309 -
310 -DEPEND="${RDEPEND}"
311 -
312 -# Present RDEPEND that are currently always disabled due to the PW
313 -# code using them being required to be disabled by Gentoo guidelines
314 -# (i.e. developer binaries not meant for users) and unready code
315 -# media-video/ffmpeg:=
316 -# media-libs/libsdl2
317 -# >=media-libs/vulkan-loader-1.1.69
318 -#
319 -# Ditto for DEPEND
320 -# >=dev-util/vulkan-headers-1.1.69
321 -
322 -DOCS=( {README,INSTALL}.md NEWS )
323 -
324 -PATCHES=(
325 - "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
326 - "${FILESDIR}"/${PN}-0.3.29-revert-openaptx-restriction.patch
327 -)
328 -
329 -# limitsdfile related code taken from =sys-auth/realtime-base-0.1
330 -# with changes as necessary.
331 -limitsdfile=40-${PN}.conf
332 -
333 -src_prepare() {
334 - default
335 -
336 - if ! use systemd; then
337 - # This can be applied non-conditionally but would make for a
338 - # significantly worse user experience on systemd then.
339 - eapply "${FILESDIR}"/${PN}-0.3.25-non-systemd-integration.patch
340 - fi
341 -
342 - einfo "Generating ${limitsdfile}"
343 - cat > ${limitsdfile} <<- EOF || die
344 - # Start of ${limitsdfile} from ${P}
345 -
346 - @audio - memlock 256
347 -
348 - # End of ${limitsdfile} from ${P}
349 - EOF
350 -}
351 -
352 -multilib_src_configure() {
353 - local emesonargs=(
354 - -Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
355 - $(meson_native_use_feature doc docs)
356 - $(meson_native_enabled examples) # Disabling this implicitly disables -Dmedia-session
357 - $(meson_native_enabled media-session)
358 - $(meson_native_enabled man)
359 - $(meson_feature test tests)
360 - -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
361 - $(meson_native_use_feature gstreamer)
362 - $(meson_native_use_feature gstreamer gstreamer-device-provider)
363 - $(meson_native_use_feature systemd)
364 - -Dsystemd-system-service=disabled # Matches upstream
365 - $(meson_native_use_feature systemd systemd-user-service)
366 - $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
367 - -Dspa-plugins=enabled
368 - -Dalsa=enabled # Allows using kernel ALSA for sound I/O (-Dmedia-session depends on this)
369 - -Daudiomixer=enabled # Matches upstream
370 - -Daudioconvert=enabled # Matches upstream
371 - $(meson_native_use_feature bluetooth bluez5)
372 - $(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
373 - $(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
374 - $(meson_native_use_feature bluetooth bluez5-backend-ofono)
375 - $(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
376 - $(meson_native_use_feature bluetooth bluez5-codec-aac)
377 - $(meson_native_use_feature bluetooth bluez5-codec-aptx)
378 - $(meson_native_use_feature bluetooth bluez5-codec-ldac)
379 - -Dcontrol=enabled # Matches upstream
380 - -Daudiotestsrc=enabled # Matches upstream
381 - -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
382 - -Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
383 - $(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
384 - $(meson_feature jack-sdk jack-devel)
385 - $(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
386 - -Dsupport=enabled # Miscellaneous/common plugins, such as null sink
387 - -Devl=disabled # Matches upstream
388 - -Dtest=disabled # fakesink and fakesource plugins
389 - $(meson_native_use_feature v4l v4l2)
390 - -Dlibcamera=disabled # libcamera is not in Portage tree
391 - -Dvideoconvert=enabled # Matches upstream
392 - -Dvideotestsrc=enabled # Matches upstream
393 - -Dvolume=enabled # Matches upstream
394 - -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
395 - $(meson_native_use_feature extra pw-cat)
396 - -Dudev=enabled
397 - -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
398 - -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
399 - $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
400 - )
401 -
402 - meson_src_configure
403 -}
404 -
405 -multilib_src_install() {
406 - # Our customs DOCS do not exist in multilib source directory
407 - DOCS= meson_src_install
408 -}
409 -
410 -multilib_src_install_all() {
411 - einstalldocs
412 -
413 - insinto /etc/security/limits.d
414 - doins ${limitsdfile}
415 -
416 - if use pipewire-alsa; then
417 - dodir /etc/alsa/conf.d
418 - # These will break if someone has /etc that is a symbol link to a subfolder! See #724222
419 - # And the current dosym8 -r implementation is likely affected by the same issue, too.
420 - dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
421 - dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf
422 - fi
423 -
424 - if ! use systemd; then
425 - insinto /etc/xdg/autostart
426 - newins "${FILESDIR}"/pipewire.desktop pipewire.desktop
427 -
428 - exeinto /usr/libexec
429 - newexe "${FILESDIR}"/pipewire-launcher.sh pipewire-launcher
430 - fi
431 -}
432 -
433 -pkg_postinst() {
434 - elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
435 - elog "using PipeWire. Do it either manually or add yourself"
436 - elog "to the 'audio' group:"
437 - elog
438 - elog " usermod -aG audio <youruser>"
439 - elog
440 -
441 - if ! use jack-sdk; then
442 - elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
443 - elog "alternative libraries have been installed to a non-default location."
444 - elog "To use them, put pw-jack <application> before every JACK application."
445 - elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
446 - elog "provider is still needed to compile the JACK applications themselves."
447 - elog
448 - fi
449 -
450 - if use systemd; then
451 - elog "To use PipeWire for audio, the user units must be manually enabled:"
452 - elog
453 - elog " systemctl --user enable pipewire.socket pipewire-pulse.socket"
454 - elog
455 - elog "When switching from PulseAudio, do not forget to disable PulseAudio:"
456 - elog
457 - elog " systemctl --user disable pulseaudio.service pulseaudio.socket"
458 - elog
459 - elog "A reboot is recommended to avoid interferences from still running"
460 - elog "PulseAudio daemon."
461 - elog
462 - elog "Both, new users and those upgrading, need to enable pipewire-media-session:"
463 - elog
464 - elog " systemctl --user enable pipewire-media-session.service"
465 - elog
466 - elog "NOTE: This is not required when using PipeWire only for screencasting."
467 - elog
468 - else
469 - elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
470 - elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable "
471 - elog "autospawn'ing of the original daemon by setting:"
472 - elog
473 - elog " autospawn = no"
474 - elog
475 - elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
476 - elog
477 - elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
478 - elog "${EROOT}/etc/pipewire/pipewire.conf by commenting out the relevant"
479 - elog "command near the end of the file:"
480 - elog
481 - elog "#\"/usr/bin/pipewire\" = { args = \"-c pipewire-pulse.conf\" }"
482 - elog
483 - elog "NOTE:"
484 - elog "Starting with PipeWire-0.3.30, package is no longer installing config"
485 - elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
486 - elog "config, please start by copying default config from ${EROOT}/usr/share/pipewire"
487 - elog "and just override sections you want to change."
488 - fi
489 -
490 - elog "For latest tips and tricks, troubleshooting information and documentation"
491 - elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
492 - elog
493 -
494 - optfeature_header "The following can be installed for optional runtime features:"
495 - optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
496 - # Once hsphfpd lands in tree, both it and ofono will need to be checked for presence here!
497 - if use bluetooth; then
498 - optfeature "better BT headset support (daemon startup required)" net-misc/ofono
499 - #optfeature "an oFono alternative (not packaged)" foo-bar/hsphfpd
500 - fi
501 -}
502
503 diff --git a/media-video/pipewire/pipewire-0.3.36.ebuild b/media-video/pipewire/pipewire-0.3.36.ebuild
504 deleted file mode 100644
505 index 3225dc16d442..000000000000
506 --- a/media-video/pipewire/pipewire-0.3.36.ebuild
507 +++ /dev/null
508 @@ -1,284 +0,0 @@
509 -# Copyright 1999-2021 Gentoo Authors
510 -# Distributed under the terms of the GNU General Public License v2
511 -
512 -EAPI="7"
513 -
514 -PYTHON_COMPAT=( python3_{8..10} )
515 -
516 -inherit meson-multilib optfeature python-any-r1 udev
517 -
518 -if [[ ${PV} == 9999 ]]; then
519 - EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
520 - inherit git-r3
521 -else
522 - SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
523 - KEYWORDS="amd64 arm arm64 ppc ~ppc64 ~riscv x86"
524 -fi
525 -
526 -DESCRIPTION="Multimedia processing graphs"
527 -HOMEPAGE="https://pipewire.org/"
528 -
529 -LICENSE="MIT LGPL-2.1+ GPL-2"
530 -SLOT="0/0.3"
531 -IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk pipewire-alsa systemd test v4l"
532 -
533 -# Once replacing system JACK libraries is possible, it's likely that
534 -# jack-client IUSE will need blocking to avoid users accidentally
535 -# configuring their systems to send PW sink output to the emulated
536 -# JACK's sink - doing so is likely to yield no audio, cause a CPU
537 -# cycles consuming loop (and may even cause GUI crashes)!
538 -
539 -REQUIRED_USE="jack-sdk? ( !jack-client )"
540 -
541 -RESTRICT="!test? ( test )"
542 -
543 -BDEPEND="
544 - app-doc/xmltoman
545 - >=dev-util/meson-0.59
546 - virtual/pkgconfig
547 - ${PYTHON_DEPS}
548 - $(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
549 - doc? (
550 - app-doc/doxygen
551 - media-gfx/graphviz
552 - )
553 -"
554 -RDEPEND="
555 - acct-group/audio
556 - media-libs/alsa-lib
557 - sys-apps/dbus[${MULTILIB_USEDEP}]
558 - sys-libs/ncurses:=[unicode(+)]
559 - virtual/libintl[${MULTILIB_USEDEP}]
560 - virtual/libudev[${MULTILIB_USEDEP}]
561 - bluetooth? (
562 - media-libs/fdk-aac
563 - media-libs/libldac
564 - media-libs/libfreeaptx
565 - media-libs/sbc
566 - >=net-wireless/bluez-4.101:=
567 - )
568 - echo-cancel? ( media-libs/webrtc-audio-processing:0 )
569 - extra? (
570 - >=media-libs/libsndfile-1.0.20
571 - )
572 - gstreamer? (
573 - >=dev-libs/glib-2.32.0:2
574 - >=media-libs/gstreamer-1.10.0:1.0
575 - media-libs/gst-plugins-base:1.0
576 - )
577 - jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
578 - jack-sdk? (
579 - !media-sound/jack-audio-connection-kit
580 - !media-sound/jack2
581 - )
582 - pipewire-alsa? (
583 - >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
584 - !media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio]
585 - )
586 - !pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
587 - systemd? ( sys-apps/systemd )
588 - v4l? ( media-libs/libv4l )
589 -"
590 -
591 -DEPEND="${RDEPEND}"
592 -
593 -# Present RDEPEND that are currently always disabled due to the PW
594 -# code using them being required to be disabled by Gentoo guidelines
595 -# (i.e. developer binaries not meant for users) and unready code
596 -# media-video/ffmpeg:=
597 -# media-libs/libsdl2
598 -# >=media-libs/vulkan-loader-1.1.69
599 -#
600 -# Ditto for DEPEND
601 -# >=dev-util/vulkan-headers-1.1.69
602 -
603 -DOCS=( {README,INSTALL}.md NEWS )
604 -
605 -PATCHES=(
606 - "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
607 - "${FILESDIR}"/${P}-fix-crash-uaf-media-session.patch
608 - "${FILESDIR}"/${P}-fix-version.patch
609 - "${FILESDIR}"/${P}-missing-limits-include.patch
610 -)
611 -
612 -# limitsdfile related code taken from =sys-auth/realtime-base-0.1
613 -# with changes as necessary.
614 -limitsdfile=40-${PN}.conf
615 -
616 -python_check_deps() {
617 - has_version -b "dev-python/docutils[${PYTHON_USEDEP}]"
618 -}
619 -
620 -src_prepare() {
621 - default
622 -
623 - if ! use systemd; then
624 - # This can be applied non-conditionally but would make for a
625 - # significantly worse user experience on systemd then.
626 - eapply "${FILESDIR}"/${PN}-0.3.35-non-systemd-integration.patch
627 - fi
628 -
629 - einfo "Generating ${limitsdfile}"
630 - cat > ${limitsdfile} <<- EOF || die
631 - # Start of ${limitsdfile} from ${P}
632 -
633 - @audio - memlock 256
634 -
635 - # End of ${limitsdfile} from ${P}
636 - EOF
637 -}
638 -
639 -multilib_src_configure() {
640 - local emesonargs=(
641 - -Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
642 - $(meson_native_use_feature doc docs)
643 - $(meson_native_enabled examples) # Disabling this implicitly disables -Dmedia-session
644 - # Replaced upstream by -Dsession-managers=..., needs more work, bug #812809
645 - # but default is same as before and right now, this is fatal with unreleased Meson.
646 - #$(meson_native_enabled media-session)
647 - $(meson_native_enabled man)
648 - $(meson_feature test tests)
649 - -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
650 - $(meson_native_use_feature gstreamer)
651 - $(meson_native_use_feature gstreamer gstreamer-device-provider)
652 - $(meson_native_use_feature systemd)
653 - -Dsystemd-system-service=disabled # Matches upstream
654 - $(meson_native_use_feature systemd systemd-user-service)
655 - $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
656 - -Dspa-plugins=enabled
657 - -Dalsa=enabled # Allows using kernel ALSA for sound I/O (-Dmedia-session depends on this)
658 - -Daudiomixer=enabled # Matches upstream
659 - -Daudioconvert=enabled # Matches upstream
660 - $(meson_native_use_feature bluetooth bluez5)
661 - $(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
662 - $(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
663 - $(meson_native_use_feature bluetooth bluez5-backend-ofono)
664 - $(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
665 - $(meson_native_use_feature bluetooth bluez5-codec-aac)
666 - $(meson_native_use_feature bluetooth bluez5-codec-aptx)
667 - $(meson_native_use_feature bluetooth bluez5-codec-ldac)
668 - $(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
669 - -Dcontrol=enabled # Matches upstream
670 - -Daudiotestsrc=enabled # Matches upstream
671 - -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
672 - -Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
673 - $(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
674 - $(meson_use jack-sdk jack-devel)
675 - $(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
676 - -Dsupport=enabled # Miscellaneous/common plugins, such as null sink
677 - -Devl=disabled # Matches upstream
678 - -Dtest=disabled # fakesink and fakesource plugins
679 - $(meson_native_use_feature v4l v4l2)
680 - -Dlibcamera=disabled # libcamera is not in Portage tree
681 - -Dvideoconvert=enabled # Matches upstream
682 - -Dvideotestsrc=enabled # Matches upstream
683 - -Dvolume=enabled # Matches upstream
684 - -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
685 - $(meson_native_use_feature extra pw-cat)
686 - -Dudev=enabled
687 - -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
688 - -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
689 - $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
690 - )
691 -
692 - meson_src_configure
693 -}
694 -
695 -multilib_src_install() {
696 - # Our customs DOCS do not exist in multilib source directory
697 - DOCS= meson_src_install
698 -}
699 -
700 -multilib_src_install_all() {
701 - einstalldocs
702 -
703 - insinto /etc/security/limits.d
704 - doins ${limitsdfile}
705 -
706 - if use pipewire-alsa; then
707 - dodir /etc/alsa/conf.d
708 - # These will break if someone has /etc that is a symbol link to a subfolder! See #724222
709 - # And the current dosym8 -r implementation is likely affected by the same issue, too.
710 - dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
711 - dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf
712 - fi
713 -
714 - if ! use systemd; then
715 - insinto /etc/xdg/autostart
716 - newins "${FILESDIR}"/pipewire.desktop pipewire.desktop
717 -
718 - exeinto /usr/libexec
719 - newexe "${FILESDIR}"/pipewire-launcher.sh pipewire-launcher
720 - fi
721 -}
722 -
723 -pkg_postinst() {
724 - elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
725 - elog "using PipeWire. Do it either manually or add yourself"
726 - elog "to the 'audio' group:"
727 - elog
728 - elog " usermod -aG audio <youruser>"
729 - elog
730 -
731 - if ! use jack-sdk; then
732 - elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
733 - elog "alternative libraries have been installed to a non-default location."
734 - elog "To use them, put pw-jack <application> before every JACK application."
735 - elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
736 - elog "provider is still needed to compile the JACK applications themselves."
737 - elog
738 - fi
739 -
740 - if use systemd; then
741 - elog "To use PipeWire for audio, the user units must be manually enabled"
742 - elog "by running this command as each user you use for desktop activities:"
743 - elog
744 - elog " systemctl --user enable --now pipewire.socket pipewire-pulse.socket"
745 - elog
746 - elog "When switching from PulseAudio, do not forget to disable PulseAudio likewise:"
747 - elog
748 - elog " systemctl --user disable --now pulseaudio.service pulseaudio.socket"
749 - elog
750 - elog "A reboot is recommended to avoid interferences from still running"
751 - elog "PulseAudio daemon."
752 - elog
753 - elog "Both, new users and those upgrading, need to enable pipewire-media-session"
754 - elog "for relevant users:"
755 - elog
756 - elog " systemctl --user enable --now pipewire-media-session.service"
757 - elog
758 - else
759 - elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
760 - elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable"
761 - elog "autospawning of the original daemon by setting:"
762 - elog
763 - elog " autospawn = no"
764 - elog
765 - elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
766 - elog
767 - elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
768 - elog "${EROOT}/etc/pipewire/pipewire.conf by commenting out the relevant"
769 - elog "command near the end of the file:"
770 - elog
771 - elog "#\"/usr/bin/pipewire\" = { args = \"-c pipewire-pulse.conf\" }"
772 - elog
773 - elog "NOTE:"
774 - elog "Starting with PipeWire-0.3.30, this package is no longer installing its config"
775 - elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
776 - elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire"
777 - elog "and just override the sections you want to change."
778 - fi
779 -
780 - elog "For latest tips and tricks, troubleshooting information and documentation"
781 - elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
782 - elog
783 -
784 - optfeature_header "The following can be installed for optional runtime features:"
785 - optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
786 -
787 - # Once hsphfpd lands in tree, both it and ofono will need to be checked for presence here!
788 - if use bluetooth; then
789 - optfeature "better BT headset support (daemon startup required)" net-misc/ofono
790 - #optfeature "an oFono alternative (not packaged)" foo-bar/hsphfpd
791 - fi
792 -}