1 |
commit: 9fce003dab4f3b0086c49adc06d2717564aa4499 |
2 |
Author: Sam James <sam <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun Jul 31 03:32:57 2022 +0000 |
4 |
Commit: Sam James <sam <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Jul 31 03:32:57 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9fce003d |
7 |
|
8 |
media-video/pipewire: drop 0.3.52-r1, 0.3.53_p20220705-r1, 0.3.55-r1 |
9 |
|
10 |
Signed-off-by: Sam James <sam <AT> gentoo.org> |
11 |
|
12 |
media-video/pipewire/Manifest | 3 - |
13 |
.../files/pipewire-0.3.52-pulse-path.patch | 78 ---- |
14 |
.../pipewire/files/pipewire-0.3.55-jack-mix.patch | 20 - |
15 |
media-video/pipewire/pipewire-0.3.52-r1.ebuild | 366 ------------------ |
16 |
.../pipewire/pipewire-0.3.53_p20220705-r1.ebuild | 413 -------------------- |
17 |
media-video/pipewire/pipewire-0.3.55-r1.ebuild | 424 --------------------- |
18 |
6 files changed, 1304 deletions(-) |
19 |
|
20 |
diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest |
21 |
index 5e3c5005ee95..456202c6afb0 100644 |
22 |
--- a/media-video/pipewire/Manifest |
23 |
+++ b/media-video/pipewire/Manifest |
24 |
@@ -1,5 +1,2 @@ |
25 |
DIST pipewire-0.3.51.tar.gz 1789070 BLAKE2B 8538eb9f2178efa26365f30b324b707826e580caa1fd9c09b62c561c140c14186e0d2b04808fa78eb5642ddccf1a347def19934ecd654be06b215a693075b6fc SHA512 a762fd260b4b14ad9ef142be11ab1c22268da6726e2179559ffb254f0ce7daf7a502779e33c64313a9c6a9fc1bd15150b76be04ec81aa27c35dbb4333cecdb4a |
26 |
-DIST pipewire-0.3.52.tar.gz 1810238 BLAKE2B bb75eff5fe7700d0a303fbfed7910aebd82346a5a21c4a0d17c06e6991bc90bb6d4f6b9559c25788494cb11faff957523dcd7f0c4c8a40be11b81c63a5a9e5ef SHA512 30e9cf74c92babafe386f02a03bb5c41a8ee5591a02f15845cca1ee44f091ce68eb14d48943d43b680cb525026a19e0290997670f9a82156eaa72e974fe6d01a |
27 |
-DIST pipewire-0.3.53_p20220705.tar.bz2 1358645 BLAKE2B 365e81ab114fb9b4abbd5351145d0558c7c00bdbccefc2f7bacb965018c1e7009b7b26b8e95baf35534b74cf9ce49483604841aa7ba949d6a94e720e8ec4233c SHA512 631e737e3517cb4d4c3f84e9540acde2cf94bde472626c61e0223ff4ac5cc2118a35dae79d009558384e24b955cf002d209db1bcf1465056757234725213f152 |
28 |
-DIST pipewire-0.3.55.tar.gz 1801857 BLAKE2B ee8d75bffba5f6b2e6ccd4da518339aa8e00e6afd8a4e8b6839bc0e4422b587f7543916ef161c9995bb7bfdf20032af984ac2fe9238ac9ad6160ab5d5942f700 SHA512 a139e51bc0d4144ae3bd3511962e541ae5c8a76d344d472805819e5bda6e62ec9807489c2a9e9f42bd9a25eff243f8a794b71d629438bf732a5cd92b85eaa9fc |
29 |
DIST pipewire-0.3.56.tar.gz 1856321 BLAKE2B 62fb5d5a83b3cfc0555f09da42c8d4fbe69f34432add57f91a9c001535340a84f54572af4a5ba138251888cba9be0c038317dfe929d2e2ef36ff62f4679c6ea0 SHA512 a1ba598c56130a30e573d3ce3ac5879d800d3005a47075c45353d968c97c12f74d85802cd171b61558c06c474a03bbe4885396ca430a0af6c5672ed00f43d108 |
30 |
|
31 |
diff --git a/media-video/pipewire/files/pipewire-0.3.52-pulse-path.patch b/media-video/pipewire/files/pipewire-0.3.52-pulse-path.patch |
32 |
deleted file mode 100644 |
33 |
index 09d8ffff699f..000000000000 |
34 |
--- a/media-video/pipewire/files/pipewire-0.3.52-pulse-path.patch |
35 |
+++ /dev/null |
36 |
@@ -1,78 +0,0 @@ |
37 |
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/4821c7ca2fe5e25ba018e9f5d4967f08d6bb816f |
38 |
- |
39 |
-From: Wim Taymans <wtaymans@××××××.com> |
40 |
-Date: Thu, 9 Jun 2022 17:06:07 +0200 |
41 |
-Subject: [PATCH] pulse-server: don't append "/pulse" to PULSE_RUNTIME_PATH |
42 |
- |
43 |
-Fixes #2431 |
44 |
---- a/src/modules/module-protocol-pulse/server.c |
45 |
-+++ b/src/modules/module-protocol-pulse/server.c |
46 |
-@@ -460,7 +460,7 @@ static int parse_unix_address(const char *address, struct sockaddr_storage *addr |
47 |
- if (address[0] != '/') { |
48 |
- char runtime_dir[PATH_MAX]; |
49 |
- |
50 |
-- if ((res = get_runtime_dir(runtime_dir, sizeof(runtime_dir), "pulse")) < 0) |
51 |
-+ if ((res = get_runtime_dir(runtime_dir, sizeof(runtime_dir))) < 0) |
52 |
- return res; |
53 |
- |
54 |
- res = snprintf(addr.sun_path, sizeof(addr.sun_path), |
55 |
---- a/src/modules/module-protocol-pulse/utils.c |
56 |
-+++ b/src/modules/module-protocol-pulse/utils.c |
57 |
-@@ -50,27 +50,30 @@ |
58 |
- #include "log.h" |
59 |
- #include "utils.h" |
60 |
- |
61 |
--int get_runtime_dir(char *buf, size_t buflen, const char *dir) |
62 |
-+int get_runtime_dir(char *buf, size_t buflen) |
63 |
- { |
64 |
-- const char *runtime_dir; |
65 |
-+ const char *runtime_dir, *dir = NULL; |
66 |
- struct stat stat_buf; |
67 |
- int res, size; |
68 |
- |
69 |
- runtime_dir = getenv("PULSE_RUNTIME_PATH"); |
70 |
-- if (runtime_dir == NULL) |
71 |
-+ if (runtime_dir == NULL) { |
72 |
- runtime_dir = getenv("XDG_RUNTIME_DIR"); |
73 |
-- |
74 |
-+ dir = "pulse"; |
75 |
-+ } |
76 |
- if (runtime_dir == NULL) { |
77 |
- pw_log_error("could not find a suitable runtime directory in" |
78 |
- "$PULSE_RUNTIME_PATH and $XDG_RUNTIME_DIR"); |
79 |
- return -ENOENT; |
80 |
- } |
81 |
- |
82 |
-- size = snprintf(buf, buflen, "%s/%s", runtime_dir, dir); |
83 |
-+ size = snprintf(buf, buflen, "%s%s%s", runtime_dir, |
84 |
-+ dir ? "/" : "", dir ? dir : ""); |
85 |
- if (size < 0) |
86 |
- return -errno; |
87 |
- if ((size_t) size >= buflen) { |
88 |
-- pw_log_error("path %s/%s too long", runtime_dir, dir); |
89 |
-+ pw_log_error("path %s%s%s too long", runtime_dir, |
90 |
-+ dir ? "/" : "", dir ? dir : ""); |
91 |
- return -ENAMETOOLONG; |
92 |
- } |
93 |
- |
94 |
-@@ -182,7 +185,7 @@ int create_pid_file(void) { |
95 |
- FILE *f; |
96 |
- int res; |
97 |
- |
98 |
-- if ((res = get_runtime_dir(pid_file, sizeof(pid_file), "pulse")) < 0) |
99 |
-+ if ((res = get_runtime_dir(pid_file, sizeof(pid_file))) < 0) |
100 |
- return res; |
101 |
- |
102 |
- if (strlen(pid_file) > PATH_MAX - sizeof("/pid")) { |
103 |
---- a/src/modules/module-protocol-pulse/utils.h |
104 |
-+++ b/src/modules/module-protocol-pulse/utils.h |
105 |
-@@ -31,7 +31,7 @@ |
106 |
- struct client; |
107 |
- struct pw_context; |
108 |
- |
109 |
--int get_runtime_dir(char *buf, size_t buflen, const char *dir); |
110 |
-+int get_runtime_dir(char *buf, size_t buflen); |
111 |
- int check_flatpak(struct client *client, pid_t pid); |
112 |
- pid_t get_client_pid(struct client *client, int client_fd); |
113 |
- const char *get_server_name(struct pw_context *context); |
114 |
-GitLab |
115 |
|
116 |
diff --git a/media-video/pipewire/files/pipewire-0.3.55-jack-mix.patch b/media-video/pipewire/files/pipewire-0.3.55-jack-mix.patch |
117 |
deleted file mode 100644 |
118 |
index 8667b3a6d167..000000000000 |
119 |
--- a/media-video/pipewire/files/pipewire-0.3.55-jack-mix.patch |
120 |
+++ /dev/null |
121 |
@@ -1,20 +0,0 @@ |
122 |
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/40552a0e914c3aef48ce59ce1bfb9d80516aa893 |
123 |
- |
124 |
-From 40552a0e914c3aef48ce59ce1bfb9d80516aa893 Mon Sep 17 00:00:00 2001 |
125 |
-From: Wim Taymans <wtaymans@××××××.com> |
126 |
-Date: Tue, 12 Jul 2022 15:10:02 +0200 |
127 |
-Subject: [PATCH] jack: only mix when we have input to mix |
128 |
- |
129 |
-Avoids a crash when starting ardour6. |
130 |
---- a/pipewire-jack/src/pipewire-jack.c |
131 |
-+++ b/pipewire-jack/src/pipewire-jack.c |
132 |
-@@ -4449,7 +4449,7 @@ static void *get_buffer_input_float(struct port *p, jack_nframes_t frames) |
133 |
- } |
134 |
- if (n_ptr == 1) { |
135 |
- ptr = mix_ptr[0]; |
136 |
-- } else { |
137 |
-+ } else if (n_ptr > 1) { |
138 |
- ptr = p->emptyptr; |
139 |
- mix_function(ptr, mix_ptr, n_ptr, ptr_aligned, frames); |
140 |
- p->zeroed = false; |
141 |
-GitLab |
142 |
|
143 |
diff --git a/media-video/pipewire/pipewire-0.3.52-r1.ebuild b/media-video/pipewire/pipewire-0.3.52-r1.ebuild |
144 |
deleted file mode 100644 |
145 |
index c94a3f03a994..000000000000 |
146 |
--- a/media-video/pipewire/pipewire-0.3.52-r1.ebuild |
147 |
+++ /dev/null |
148 |
@@ -1,366 +0,0 @@ |
149 |
-# Copyright 1999-2022 Gentoo Authors |
150 |
-# Distributed under the terms of the GNU General Public License v2 |
151 |
- |
152 |
-EAPI=8 |
153 |
- |
154 |
-PYTHON_COMPAT=( python3_{8..11} ) |
155 |
- |
156 |
-inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev |
157 |
- |
158 |
-if [[ ${PV} == 9999 ]]; then |
159 |
- EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" |
160 |
- inherit git-r3 |
161 |
-else |
162 |
- if [[ ${PV} == *_p* ]] ; then |
163 |
- MY_COMMIT="" |
164 |
- SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2" |
165 |
- S="${WORKDIR}"/${PN}-${MY_COMMIT} |
166 |
- else |
167 |
- SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz" |
168 |
- fi |
169 |
- |
170 |
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" |
171 |
-fi |
172 |
- |
173 |
-DESCRIPTION="Multimedia processing graphs" |
174 |
-HOMEPAGE="https://pipewire.org/" |
175 |
- |
176 |
-LICENSE="MIT LGPL-2.1+ GPL-2" |
177 |
-# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49 |
178 |
-SLOT="0/0.4" |
179 |
-IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk lv2 pipewire-alsa ssl system-service systemd test udev v4l X zeroconf" |
180 |
- |
181 |
-# Once replacing system JACK libraries is possible, it's likely that |
182 |
-# jack-client IUSE will need blocking to avoid users accidentally |
183 |
-# configuring their systems to send PW sink output to the emulated |
184 |
-# JACK's sink - doing so is likely to yield no audio, cause a CPU |
185 |
-# cycles consuming loop (and may even cause GUI crashes)! |
186 |
- |
187 |
-REQUIRED_USE=" |
188 |
- jack-sdk? ( !jack-client ) |
189 |
- system-service? ( systemd ) |
190 |
-" |
191 |
- |
192 |
-RESTRICT="!test? ( test )" |
193 |
- |
194 |
-BDEPEND=" |
195 |
- >=dev-util/meson-0.59 |
196 |
- virtual/pkgconfig |
197 |
- ${PYTHON_DEPS} |
198 |
- $(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]') |
199 |
- doc? ( |
200 |
- app-doc/doxygen |
201 |
- media-gfx/graphviz |
202 |
- ) |
203 |
-" |
204 |
-RDEPEND=" |
205 |
- acct-group/audio |
206 |
- media-libs/alsa-lib |
207 |
- sys-apps/dbus[${MULTILIB_USEDEP}] |
208 |
- sys-libs/readline:= |
209 |
- sys-libs/ncurses:=[unicode(+)] |
210 |
- virtual/libintl[${MULTILIB_USEDEP}] |
211 |
- bluetooth? ( |
212 |
- media-libs/fdk-aac |
213 |
- media-libs/libldac |
214 |
- media-libs/libfreeaptx |
215 |
- media-libs/sbc |
216 |
- >=net-wireless/bluez-4.101:= |
217 |
- virtual/libusb:1 |
218 |
- ) |
219 |
- echo-cancel? ( media-libs/webrtc-audio-processing:0 ) |
220 |
- extra? ( |
221 |
- >=media-libs/libsndfile-1.0.20 |
222 |
- ) |
223 |
- gstreamer? ( |
224 |
- >=dev-libs/glib-2.32.0:2 |
225 |
- >=media-libs/gstreamer-1.10.0:1.0 |
226 |
- media-libs/gst-plugins-base:1.0 |
227 |
- ) |
228 |
- jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] ) |
229 |
- jack-sdk? ( |
230 |
- !media-sound/jack-audio-connection-kit |
231 |
- !media-sound/jack2 |
232 |
- ) |
233 |
- lv2? ( media-libs/lilv ) |
234 |
- pipewire-alsa? ( |
235 |
- >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] |
236 |
- ) |
237 |
- !pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] ) |
238 |
- ssl? ( dev-libs/openssl:= ) |
239 |
- systemd? ( sys-apps/systemd ) |
240 |
- system-service? ( |
241 |
- acct-user/pipewire |
242 |
- acct-group/pipewire |
243 |
- ) |
244 |
- udev? ( virtual/libudev[${MULTILIB_USEDEP}] ) |
245 |
- v4l? ( media-libs/libv4l ) |
246 |
- X? ( |
247 |
- media-libs/libcanberra |
248 |
- x11-libs/libX11 |
249 |
- x11-libs/libXfixes |
250 |
- ) |
251 |
- zeroconf? ( net-dns/avahi ) |
252 |
-" |
253 |
- |
254 |
-DEPEND="${RDEPEND}" |
255 |
- |
256 |
-# TODO: Consider use cases where pipewire is not used for driving audio |
257 |
-# Doing so with WirePlumber currently involves editing Lua scripts |
258 |
-PDEPEND=">=media-video/wireplumber-0.4.8-r3" |
259 |
- |
260 |
-# Present RDEPEND that are currently always disabled due to the PW |
261 |
-# code using them being required to be disabled by Gentoo guidelines |
262 |
-# (i.e. developer binaries not meant for users) and unready code |
263 |
-# media-video/ffmpeg:= |
264 |
-# media-libs/libsdl2 |
265 |
-# >=media-libs/vulkan-loader-1.1.69 |
266 |
-# |
267 |
-# Ditto for DEPEND |
268 |
-# >=dev-util/vulkan-headers-1.1.69 |
269 |
- |
270 |
-DOCS=( {README,INSTALL}.md NEWS ) |
271 |
- |
272 |
-PATCHES=( |
273 |
- "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch |
274 |
- "${FILESDIR}"/${P}-pulse-path.patch |
275 |
-) |
276 |
- |
277 |
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1 |
278 |
-# with changes as necessary. |
279 |
-limitsdfile=40-${PN}.conf |
280 |
- |
281 |
-python_check_deps() { |
282 |
- has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" |
283 |
-} |
284 |
- |
285 |
-src_prepare() { |
286 |
- default |
287 |
- |
288 |
- einfo "Generating ${limitsdfile}" |
289 |
- cat > ${limitsdfile} <<- EOF || die |
290 |
- # Start of ${limitsdfile} from ${P} |
291 |
- |
292 |
- @audio - memlock 256 |
293 |
- |
294 |
- $(use system-service && { |
295 |
- echo @pipewire - rtprio 95 |
296 |
- echo @pipewire - nice -19 |
297 |
- echo @pipewire - memlock 4194304 |
298 |
- }) |
299 |
- |
300 |
- # End of ${limitsdfile} from ${P} |
301 |
- EOF |
302 |
-} |
303 |
- |
304 |
-multilib_src_configure() { |
305 |
- # https://bugs.gentoo.org/838301 |
306 |
- filter-flags -fno-semantic-interposition |
307 |
- |
308 |
- local emesonargs=( |
309 |
- -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} |
310 |
- |
311 |
- $(meson_native_use_feature zeroconf avahi) |
312 |
- $(meson_native_use_feature doc docs) |
313 |
- $(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone |
314 |
- $(meson_native_enabled man) |
315 |
- $(meson_feature test tests) |
316 |
- -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests |
317 |
- $(meson_native_use_feature gstreamer) |
318 |
- $(meson_native_use_feature gstreamer gstreamer-device-provider) |
319 |
- $(meson_native_use_feature systemd) |
320 |
- |
321 |
- $(meson_native_use_feature system-service systemd-system-service) |
322 |
- -Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)" |
323 |
- -Dsystemd-user-unit-dir="$(systemd_get_userunitdir)" |
324 |
- |
325 |
- $(meson_native_use_feature systemd systemd-user-service) |
326 |
- $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph |
327 |
- -Dspa-plugins=enabled |
328 |
- -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) |
329 |
- -Daudiomixer=enabled # Matches upstream |
330 |
- -Daudioconvert=enabled # Matches upstream |
331 |
- $(meson_native_use_feature bluetooth bluez5) |
332 |
- $(meson_native_use_feature bluetooth bluez5-backend-hsp-native) |
333 |
- $(meson_native_use_feature bluetooth bluez5-backend-hfp-native) |
334 |
- $(meson_native_use_feature bluetooth bluez5-backend-ofono) |
335 |
- $(meson_native_use_feature bluetooth bluez5-backend-hsphfpd) |
336 |
- $(meson_native_use_feature bluetooth bluez5-codec-aac) |
337 |
- $(meson_native_use_feature bluetooth bluez5-codec-aptx) |
338 |
- $(meson_native_use_feature bluetooth bluez5-codec-ldac) |
339 |
- $(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters) |
340 |
- $(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889 |
341 |
- # Not yet packaged. |
342 |
- -Dbluez5-codec-lc3plus=disabled |
343 |
- -Dcontrol=enabled # Matches upstream |
344 |
- -Daudiotestsrc=enabled # Matches upstream |
345 |
- -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020 |
346 |
- -Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph |
347 |
- $(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client |
348 |
- $(meson_use jack-sdk jack-devel) |
349 |
- $(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '') |
350 |
- -Dsupport=enabled # Miscellaneous/common plugins, such as null sink |
351 |
- -Devl=disabled # Matches upstream |
352 |
- -Dtest=disabled # fakesink and fakesource plugins |
353 |
- $(meson_native_use_feature lv2) |
354 |
- $(meson_native_use_feature v4l v4l2) |
355 |
- -Dlibcamera=disabled # libcamera is not in Portage tree |
356 |
- $(meson_native_use_feature ssl raop) |
357 |
- -Dvideoconvert=enabled # Matches upstream |
358 |
- -Dvideotestsrc=enabled # Matches upstream |
359 |
- -Dvolume=enabled # Matches upstream |
360 |
- -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream) |
361 |
- $(meson_native_use_feature extra pw-cat) |
362 |
- $(meson_feature udev) |
363 |
- -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d" |
364 |
- -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install) |
365 |
- $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat) |
366 |
- -Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build |
367 |
- |
368 |
- # Just for bell sounds in X11 right now. |
369 |
- $(meson_native_use_feature X x11) |
370 |
- $(meson_native_use_feature X x11-xfixes) |
371 |
- $(meson_native_use_feature X libcanberra) |
372 |
- ) |
373 |
- |
374 |
- meson_src_configure |
375 |
-} |
376 |
- |
377 |
-multilib_src_install() { |
378 |
- # Our custom DOCS do not exist in multilib source directory |
379 |
- DOCS= meson_src_install |
380 |
-} |
381 |
- |
382 |
-multilib_src_install_all() { |
383 |
- einstalldocs |
384 |
- |
385 |
- insinto /etc/security/limits.d |
386 |
- doins ${limitsdfile} |
387 |
- |
388 |
- if use pipewire-alsa; then |
389 |
- dodir /etc/alsa/conf.d |
390 |
- |
391 |
- # Install pipewire conf loader hook |
392 |
- insinto /usr/share/alsa/alsa.conf.d |
393 |
- doins "${FILESDIR}"/99-pipewire-default-hook.conf |
394 |
- eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf |
395 |
- |
396 |
- # These will break if someone has /etc that is a symbolic link to a subfolder! See #724222 |
397 |
- # And the current dosym8 -r implementation is likely affected by the same issue, too. |
398 |
- dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf |
399 |
- dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf |
400 |
- fi |
401 |
- |
402 |
- if ! use systemd; then |
403 |
- insinto /etc/xdg/autostart |
404 |
- newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop |
405 |
- |
406 |
- exeinto /usr/bin |
407 |
- newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher |
408 |
- eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher |
409 |
- fi |
410 |
-} |
411 |
- |
412 |
-pkg_postinst() { |
413 |
- use udev && udev_reload |
414 |
- |
415 |
- elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users" |
416 |
- elog "using PipeWire. Do it either manually or add yourself" |
417 |
- elog "to the 'audio' group:" |
418 |
- elog |
419 |
- elog " usermod -aG audio <youruser>" |
420 |
- elog |
421 |
- |
422 |
- if ! use jack-sdk; then |
423 |
- elog "JACK emulation is incomplete and not all programs will work. PipeWire's" |
424 |
- elog "alternative libraries have been installed to a non-default location." |
425 |
- elog "To use them, put pw-jack <application> before every JACK application." |
426 |
- elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack" |
427 |
- elog "provider is still needed to compile the JACK applications themselves." |
428 |
- elog |
429 |
- fi |
430 |
- |
431 |
- if use systemd; then |
432 |
- elog "When switching from PulseAudio, you may need to disable PulseAudio:" |
433 |
- elog |
434 |
- elog " systemctl --user disable pulseaudio.service pulseaudio.socket" |
435 |
- elog |
436 |
- elog "To use PipeWire, the user units must be manually enabled" |
437 |
- elog "by running this command as each user you use for desktop activities:" |
438 |
- elog |
439 |
- elog " systemctl --user enable pipewire.socket pipewire-pulse.socket" |
440 |
- elog |
441 |
- elog "A reboot is recommended to avoid interferences from still running" |
442 |
- elog "PulseAudio daemon." |
443 |
- elog |
444 |
- elog "Both new users and those upgrading need to enable WirePlumber" |
445 |
- elog "for relevant users:" |
446 |
- elog |
447 |
- elog " systemctl --user disable pipewire-media-session.service" |
448 |
- elog " systemctl --user --force enable wireplumber.service" |
449 |
- elog |
450 |
- elog "Root user may replace --user with --global to change system default" |
451 |
- elog "configuration for all of the above commands." |
452 |
- else |
453 |
- ewarn "PipeWire daemon startup has been moved to a launcher script!" |
454 |
- ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no" |
455 |
- ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all" |
456 |
- ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)" |
457 |
- ewarn |
458 |
- ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from" |
459 |
- ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly" |
460 |
- ewarn "advised that a D-Bus user session is set up before starting the script." |
461 |
- ewarn |
462 |
- if has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon'; then |
463 |
- elog "This ebuild auto-enables PulseAudio replacement. Because of that, users" |
464 |
- elog "are recommended to edit pulseaudio client configuration files:" |
465 |
- elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf" |
466 |
- elog "if it exists, and disable autospawning of the original daemon by setting:" |
467 |
- elog |
468 |
- elog " autospawn = no" |
469 |
- elog |
470 |
- elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!" |
471 |
- elog |
472 |
- elog "Alternatively, if replacing PulseAudio daemon is not desired, edit" |
473 |
- elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant" |
474 |
- elog "command:" |
475 |
- elog |
476 |
- elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &" |
477 |
- elog |
478 |
- fi |
479 |
- elog "NOTE:" |
480 |
- elog "Starting with PipeWire-0.3.30, this package is no longer installing its config" |
481 |
- elog "into ${EROOT}/etc/pipewire by default. In case you need to change" |
482 |
- elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire" |
483 |
- elog "and just override the sections you want to change." |
484 |
- fi |
485 |
- elog |
486 |
- |
487 |
- elog "For latest tips and tricks, troubleshooting information and documentation" |
488 |
- elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire" |
489 |
- elog |
490 |
- |
491 |
- optfeature_header "The following can be installed for optional runtime features:" |
492 |
- optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit |
493 |
- |
494 |
- if has_version 'net-misc/ofono' ; then |
495 |
- ewarn "Native backend has become default. Please disable oFono via:" |
496 |
- if systemd_is_booted ; then |
497 |
- ewarn "systemctl disable ofono" |
498 |
- else |
499 |
- ewarn "rc-update delete ofono" |
500 |
- fi |
501 |
- ewarn |
502 |
- fi |
503 |
- |
504 |
- if use system-service; then |
505 |
- ewarn |
506 |
- ewarn "WARNING: you have enabled the system-service USE flag, which installs" |
507 |
- ewarn "the system-wide systemd units that enable PipeWire to run as a system" |
508 |
- ewarn "service. This is more than likely NOT what you want. You are strongly" |
509 |
- ewarn "advised not to enable this mode and instead stick with systemd user" |
510 |
- ewarn "units. The default configuration files will likely not work out of" |
511 |
- ewarn "box, and you are on your own with configuration." |
512 |
- ewarn |
513 |
- fi |
514 |
-} |
515 |
|
516 |
diff --git a/media-video/pipewire/pipewire-0.3.53_p20220705-r1.ebuild b/media-video/pipewire/pipewire-0.3.53_p20220705-r1.ebuild |
517 |
deleted file mode 100644 |
518 |
index e8e364be1937..000000000000 |
519 |
--- a/media-video/pipewire/pipewire-0.3.53_p20220705-r1.ebuild |
520 |
+++ /dev/null |
521 |
@@ -1,413 +0,0 @@ |
522 |
-# Copyright 1999-2022 Gentoo Authors |
523 |
-# Distributed under the terms of the GNU General Public License v2 |
524 |
- |
525 |
-EAPI=8 |
526 |
- |
527 |
-PYTHON_COMPAT=( python3_{8..11} ) |
528 |
- |
529 |
-inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev |
530 |
- |
531 |
-if [[ ${PV} == 9999 ]]; then |
532 |
- EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" |
533 |
- inherit git-r3 |
534 |
-else |
535 |
- if [[ ${PV} == *_p* ]] ; then |
536 |
- MY_COMMIT="76350cebefe9bdabe24e9d043b83737547c225d8" |
537 |
- SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2" |
538 |
- S="${WORKDIR}"/${PN}-${MY_COMMIT} |
539 |
- else |
540 |
- SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz" |
541 |
- fi |
542 |
- |
543 |
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" |
544 |
-fi |
545 |
- |
546 |
-DESCRIPTION="Multimedia processing graphs" |
547 |
-HOMEPAGE="https://pipewire.org/" |
548 |
- |
549 |
-LICENSE="MIT LGPL-2.1+ GPL-2" |
550 |
-# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49 |
551 |
-SLOT="0/0.4" |
552 |
-IUSE="bluetooth dbus doc echo-cancel extra gstreamer jack-client jack-sdk lv2 |
553 |
-pipewire-alsa sound-server ssl system-service systemd test udev v4l X zeroconf" |
554 |
- |
555 |
-# Once replacing system JACK libraries is possible, it's likely that |
556 |
-# jack-client IUSE will need blocking to avoid users accidentally |
557 |
-# configuring their systems to send PW sink output to the emulated |
558 |
-# JACK's sink - doing so is likely to yield no audio, cause a CPU |
559 |
-# cycles consuming loop (and may even cause GUI crashes)! |
560 |
- |
561 |
-# TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled |
562 |
-# TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work |
563 |
-# which provides adequate guarantee that alsa-lib will be able to provide audio services. |
564 |
-# If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL. |
565 |
-# When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally. |
566 |
-REQUIRED_USE=" |
567 |
- jack-sdk? ( !jack-client ) |
568 |
- system-service? ( systemd ) |
569 |
- !sound-server? ( !pipewire-alsa ) |
570 |
- jack-client? ( dbus ) |
571 |
-" |
572 |
- |
573 |
-RESTRICT="!test? ( test )" |
574 |
- |
575 |
-BDEPEND=" |
576 |
- >=dev-util/meson-0.59 |
577 |
- virtual/pkgconfig |
578 |
- ${PYTHON_DEPS} |
579 |
- $(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]') |
580 |
- doc? ( |
581 |
- app-doc/doxygen |
582 |
- media-gfx/graphviz |
583 |
- ) |
584 |
-" |
585 |
-RDEPEND=" |
586 |
- acct-group/audio |
587 |
- media-libs/alsa-lib |
588 |
- sys-libs/readline:= |
589 |
- sys-libs/ncurses:=[unicode(+)] |
590 |
- virtual/libintl[${MULTILIB_USEDEP}] |
591 |
- bluetooth? ( |
592 |
- media-libs/fdk-aac |
593 |
- media-libs/libldac |
594 |
- media-libs/libfreeaptx |
595 |
- media-libs/sbc |
596 |
- >=net-wireless/bluez-4.101:= |
597 |
- virtual/libusb:1 |
598 |
- ) |
599 |
- dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
600 |
- echo-cancel? ( media-libs/webrtc-audio-processing:0 ) |
601 |
- extra? ( |
602 |
- >=media-libs/libsndfile-1.0.20 |
603 |
- ) |
604 |
- gstreamer? ( |
605 |
- >=dev-libs/glib-2.32.0:2 |
606 |
- >=media-libs/gstreamer-1.10.0:1.0 |
607 |
- media-libs/gst-plugins-base:1.0 |
608 |
- ) |
609 |
- jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] ) |
610 |
- jack-sdk? ( |
611 |
- !media-sound/jack-audio-connection-kit |
612 |
- !media-sound/jack2 |
613 |
- ) |
614 |
- lv2? ( media-libs/lilv ) |
615 |
- pipewire-alsa? ( |
616 |
- >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] |
617 |
- ) |
618 |
- sound-server? ( |
619 |
- !media-sound/pulseaudio[daemon(+)] |
620 |
- !media-sound/pulseaudio-daemon |
621 |
- ) |
622 |
- ssl? ( dev-libs/openssl:= ) |
623 |
- systemd? ( sys-apps/systemd ) |
624 |
- system-service? ( |
625 |
- acct-user/pipewire |
626 |
- acct-group/pipewire |
627 |
- ) |
628 |
- udev? ( virtual/libudev[${MULTILIB_USEDEP}] ) |
629 |
- v4l? ( media-libs/libv4l ) |
630 |
- X? ( |
631 |
- media-libs/libcanberra |
632 |
- x11-libs/libX11 |
633 |
- x11-libs/libXfixes |
634 |
- ) |
635 |
- zeroconf? ( net-dns/avahi ) |
636 |
-" |
637 |
- |
638 |
-DEPEND="${RDEPEND}" |
639 |
- |
640 |
-# TODO: Consider use cases where pipewire is not used for driving audio |
641 |
-# Doing so with WirePlumber currently involves editing Lua scripts |
642 |
-PDEPEND=">=media-video/wireplumber-0.4.8-r3" |
643 |
- |
644 |
-# Present RDEPEND that are currently always disabled due to the PW |
645 |
-# code using them being required to be disabled by Gentoo guidelines |
646 |
-# (i.e. developer binaries not meant for users) and unready code |
647 |
-# media-video/ffmpeg:= |
648 |
-# media-libs/libsdl2 |
649 |
-# >=media-libs/vulkan-loader-1.1.69 |
650 |
-# |
651 |
-# Ditto for DEPEND |
652 |
-# >=dev-util/vulkan-headers-1.1.69 |
653 |
- |
654 |
-DOCS=( {README,INSTALL}.md NEWS ) |
655 |
- |
656 |
-PATCHES=( |
657 |
- "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch |
658 |
-) |
659 |
- |
660 |
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1 |
661 |
-# with changes as necessary. |
662 |
-limitsdfile=40-${PN}.conf |
663 |
- |
664 |
-python_check_deps() { |
665 |
- has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" |
666 |
-} |
667 |
- |
668 |
-src_prepare() { |
669 |
- default |
670 |
- |
671 |
- einfo "Generating ${limitsdfile}" |
672 |
- cat > ${limitsdfile} <<- EOF || die |
673 |
- # Start of ${limitsdfile} from ${P} |
674 |
- |
675 |
- @audio - memlock 256 |
676 |
- |
677 |
- $(use system-service && { |
678 |
- echo @pipewire - rtprio 95 |
679 |
- echo @pipewire - nice -19 |
680 |
- echo @pipewire - memlock 4194304 |
681 |
- }) |
682 |
- |
683 |
- # End of ${limitsdfile} from ${P} |
684 |
- EOF |
685 |
-} |
686 |
- |
687 |
-multilib_src_configure() { |
688 |
- # https://bugs.gentoo.org/838301 |
689 |
- filter-flags -fno-semantic-interposition |
690 |
- |
691 |
- local emesonargs=( |
692 |
- -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} |
693 |
- |
694 |
- $(meson_feature dbus) |
695 |
- $(meson_native_use_feature zeroconf avahi) |
696 |
- $(meson_native_use_feature doc docs) |
697 |
- $(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone |
698 |
- $(meson_native_enabled man) |
699 |
- $(meson_feature test tests) |
700 |
- -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests |
701 |
- $(meson_native_use_feature gstreamer) |
702 |
- $(meson_native_use_feature gstreamer gstreamer-device-provider) |
703 |
- $(meson_native_use_feature systemd) |
704 |
- |
705 |
- $(meson_native_use_feature system-service systemd-system-service) |
706 |
- -Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)" |
707 |
- -Dsystemd-user-unit-dir="$(systemd_get_userunitdir)" |
708 |
- |
709 |
- $(meson_native_use_feature systemd systemd-user-service) |
710 |
- $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph |
711 |
- -Dspa-plugins=enabled |
712 |
- -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) |
713 |
- -Daudiomixer=enabled # Matches upstream |
714 |
- -Daudioconvert=enabled # Matches upstream |
715 |
- $(meson_native_use_feature bluetooth bluez5) |
716 |
- $(meson_native_use_feature bluetooth bluez5-backend-hsp-native) |
717 |
- $(meson_native_use_feature bluetooth bluez5-backend-hfp-native) |
718 |
- $(meson_native_use_feature bluetooth bluez5-backend-ofono) |
719 |
- $(meson_native_use_feature bluetooth bluez5-backend-hsphfpd) |
720 |
- $(meson_native_use_feature bluetooth bluez5-codec-aac) |
721 |
- $(meson_native_use_feature bluetooth bluez5-codec-aptx) |
722 |
- $(meson_native_use_feature bluetooth bluez5-codec-ldac) |
723 |
- $(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters) |
724 |
- $(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889 |
725 |
- # Not yet packaged. |
726 |
- -Dbluez5-codec-lc3plus=disabled |
727 |
- -Dcontrol=enabled # Matches upstream |
728 |
- -Daudiotestsrc=enabled # Matches upstream |
729 |
- -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020 |
730 |
- -Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph |
731 |
- $(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client |
732 |
- $(meson_use jack-sdk jack-devel) |
733 |
- $(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '') |
734 |
- -Dsupport=enabled # Miscellaneous/common plugins, such as null sink |
735 |
- -Devl=disabled # Matches upstream |
736 |
- -Dtest=disabled # fakesink and fakesource plugins |
737 |
- $(meson_native_use_feature lv2) |
738 |
- $(meson_native_use_feature v4l v4l2) |
739 |
- -Dlibcamera=disabled # libcamera is not in Portage tree |
740 |
- $(meson_native_use_feature ssl raop) |
741 |
- -Dvideoconvert=enabled # Matches upstream |
742 |
- -Dvideotestsrc=enabled # Matches upstream |
743 |
- -Dvolume=enabled # Matches upstream |
744 |
- -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream) |
745 |
- $(meson_native_use_feature extra pw-cat) |
746 |
- $(meson_feature udev) |
747 |
- -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d" |
748 |
- -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install) |
749 |
- $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat) |
750 |
- -Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build |
751 |
- |
752 |
- # Just for bell sounds in X11 right now. |
753 |
- $(meson_native_use_feature X x11) |
754 |
- $(meson_native_use_feature X x11-xfixes) |
755 |
- $(meson_native_use_feature X libcanberra) |
756 |
- ) |
757 |
- |
758 |
- meson_src_configure |
759 |
-} |
760 |
- |
761 |
-multilib_src_install() { |
762 |
- # Our custom DOCS do not exist in multilib source directory |
763 |
- DOCS= meson_src_install |
764 |
-} |
765 |
- |
766 |
-multilib_src_install_all() { |
767 |
- einstalldocs |
768 |
- |
769 |
- insinto /etc/security/limits.d |
770 |
- doins ${limitsdfile} |
771 |
- |
772 |
- if use pipewire-alsa; then |
773 |
- dodir /etc/alsa/conf.d |
774 |
- |
775 |
- # Install pipewire conf loader hook |
776 |
- insinto /usr/share/alsa/alsa.conf.d |
777 |
- doins "${FILESDIR}"/99-pipewire-default-hook.conf |
778 |
- eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf |
779 |
- |
780 |
- # These will break if someone has /etc that is a symbolic link to a subfolder! See #724222 |
781 |
- # And the current dosym8 -r implementation is likely affected by the same issue, too. |
782 |
- dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf |
783 |
- dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf |
784 |
- fi |
785 |
- |
786 |
- # Enable required wireplumber alsa and bluez monitors |
787 |
- if use sound-server; then |
788 |
- dodir /etc/wireplumber/main.lua.d |
789 |
- echo "alsa_monitor.enabled = true" > "${ED}"/etc/wireplumber/main.lua.d/89-gentoo-sound-server-enable-alsa-monitor.lua || die |
790 |
- |
791 |
- dodir /etc/wireplumber/bluetooth.lua.d |
792 |
- echo "bluez_monitor.enabled = true" > "${ED}"/etc/wireplumber/bluetooth.lua.d/89-gentoo-sound-server-enable-bluez-monitor.lua || die |
793 |
- fi |
794 |
- |
795 |
- if ! use systemd; then |
796 |
- insinto /etc/xdg/autostart |
797 |
- newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop |
798 |
- |
799 |
- exeinto /usr/bin |
800 |
- newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher |
801 |
- |
802 |
- # Disable pipewire-pulse if sound-server is disabled. |
803 |
- if ! use sound-server ; then |
804 |
- sed -i -s '/pipewire -c pipewire-pulse.conf/s/^/#/' "${ED}"/usr/bin/gentoo-pipewire-launcher || die |
805 |
- fi |
806 |
- |
807 |
- eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher |
808 |
- fi |
809 |
-} |
810 |
- |
811 |
-pkg_postrm() { |
812 |
- use udev && udev_reload |
813 |
-} |
814 |
- |
815 |
-pkg_postinst() { |
816 |
- use udev && udev_reload |
817 |
- |
818 |
- elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users" |
819 |
- elog "using PipeWire. Do it either manually or add yourself" |
820 |
- elog "to the 'audio' group:" |
821 |
- elog |
822 |
- elog " usermod -aG audio <youruser>" |
823 |
- elog |
824 |
- |
825 |
- local ver |
826 |
- for ver in ${REPLACING_VERSIONS} ; do |
827 |
- if ver_test ${ver} -le 0.3.53-r1 && ! use sound-server ; then |
828 |
- ewarn "USE=sound-server is disabled! If you want PipeWire to provide" |
829 |
- ewarn "your sound, please enable it. See the wiki at" |
830 |
- ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio" |
831 |
- ewarn "for more details." |
832 |
- |
833 |
- break |
834 |
- fi |
835 |
- done |
836 |
- |
837 |
- if ! use jack-sdk; then |
838 |
- elog "JACK emulation is incomplete and not all programs will work. PipeWire's" |
839 |
- elog "alternative libraries have been installed to a non-default location." |
840 |
- elog "To use them, put pw-jack <application> before every JACK application." |
841 |
- elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack" |
842 |
- elog "provider is still needed to compile the JACK applications themselves." |
843 |
- elog |
844 |
- fi |
845 |
- |
846 |
- if use systemd; then |
847 |
- elog "When switching from PulseAudio, you may need to disable PulseAudio:" |
848 |
- elog |
849 |
- elog " systemctl --user disable pulseaudio.service pulseaudio.socket" |
850 |
- elog |
851 |
- elog "To use PipeWire, the user units must be manually enabled" |
852 |
- elog "by running this command as each user you use for desktop activities:" |
853 |
- elog |
854 |
- elog " systemctl --user enable pipewire.socket pipewire-pulse.socket" |
855 |
- elog |
856 |
- elog "A reboot is recommended to avoid interferences from still running" |
857 |
- elog "PulseAudio daemon." |
858 |
- elog |
859 |
- elog "Both new users and those upgrading need to enable WirePlumber" |
860 |
- elog "for relevant users:" |
861 |
- elog |
862 |
- elog " systemctl --user disable pipewire-media-session.service" |
863 |
- elog " systemctl --user --force enable wireplumber.service" |
864 |
- elog |
865 |
- elog "Root user may replace --user with --global to change system default" |
866 |
- elog "configuration for all of the above commands." |
867 |
- else |
868 |
- ewarn "PipeWire daemon startup has been moved to a launcher script!" |
869 |
- ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no" |
870 |
- ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all" |
871 |
- ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)" |
872 |
- ewarn |
873 |
- ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from" |
874 |
- ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly" |
875 |
- ewarn "advised that a D-Bus user session is set up before starting the script." |
876 |
- ewarn |
877 |
- |
878 |
- if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then |
879 |
- elog "This ebuild auto-enables PulseAudio replacement. Because of that, users" |
880 |
- elog "are recommended to edit pulseaudio client configuration files:" |
881 |
- elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf" |
882 |
- elog "if it exists, and disable autospawning of the original daemon by setting:" |
883 |
- elog |
884 |
- elog " autospawn = no" |
885 |
- elog |
886 |
- elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!" |
887 |
- elog |
888 |
- elog "Alternatively, if replacing PulseAudio daemon is not desired, edit" |
889 |
- elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant" |
890 |
- elog "command:" |
891 |
- elog |
892 |
- elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &" |
893 |
- elog |
894 |
- fi |
895 |
- elog "NOTE:" |
896 |
- elog "Starting with PipeWire-0.3.30, this package is no longer installing its config" |
897 |
- elog "into ${EROOT}/etc/pipewire by default. In case you need to change" |
898 |
- elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire" |
899 |
- elog "and just override the sections you want to change." |
900 |
- fi |
901 |
- elog |
902 |
- |
903 |
- elog "For latest tips and tricks, troubleshooting information and documentation" |
904 |
- elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire" |
905 |
- elog |
906 |
- |
907 |
- optfeature_header "The following can be installed for optional runtime features:" |
908 |
- optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit |
909 |
- |
910 |
- if use sound-server && ! use pipewire-alsa; then |
911 |
- optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]" |
912 |
- fi |
913 |
- |
914 |
- if has_version 'net-misc/ofono' ; then |
915 |
- ewarn "Native backend has become default. Please disable oFono via:" |
916 |
- if systemd_is_booted ; then |
917 |
- ewarn "systemctl disable ofono" |
918 |
- else |
919 |
- ewarn "rc-update delete ofono" |
920 |
- fi |
921 |
- ewarn |
922 |
- fi |
923 |
- |
924 |
- if use system-service; then |
925 |
- ewarn |
926 |
- ewarn "WARNING: you have enabled the system-service USE flag, which installs" |
927 |
- ewarn "the system-wide systemd units that enable PipeWire to run as a system" |
928 |
- ewarn "service. This is more than likely NOT what you want. You are strongly" |
929 |
- ewarn "advised not to enable this mode and instead stick with systemd user" |
930 |
- ewarn "units. The default configuration files will likely not work out of" |
931 |
- ewarn "box, and you are on your own with configuration." |
932 |
- ewarn |
933 |
- fi |
934 |
-} |
935 |
|
936 |
diff --git a/media-video/pipewire/pipewire-0.3.55-r1.ebuild b/media-video/pipewire/pipewire-0.3.55-r1.ebuild |
937 |
deleted file mode 100644 |
938 |
index 5e6d7aa08a0a..000000000000 |
939 |
--- a/media-video/pipewire/pipewire-0.3.55-r1.ebuild |
940 |
+++ /dev/null |
941 |
@@ -1,424 +0,0 @@ |
942 |
-# Copyright 1999-2022 Gentoo Authors |
943 |
-# Distributed under the terms of the GNU General Public License v2 |
944 |
- |
945 |
-EAPI=8 |
946 |
- |
947 |
-# 1. Please regularly check (even at the point of bumping) Fedora's packaging |
948 |
-# for needed backports at https://src.fedoraproject.org/rpms/pipewire/tree/rawhide. |
949 |
-# |
950 |
-# 2. Upstream also sometimes amend release notes for the previous release to mention |
951 |
-# needed patches, e.g. https://gitlab.freedesktop.org/pipewire/pipewire/-/tags/0.3.55#distros |
952 |
-# |
953 |
-# 3. Keep an eye on git master (for both PipeWire and WirePlumber) as things |
954 |
-# continue to move quickly. It's not uncommon for fixes to be made shortly |
955 |
-# after releases. |
956 |
- |
957 |
-PYTHON_COMPAT=( python3_{8..11} ) |
958 |
- |
959 |
-inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev |
960 |
- |
961 |
-if [[ ${PV} == 9999 ]]; then |
962 |
- EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" |
963 |
- inherit git-r3 |
964 |
-else |
965 |
- if [[ ${PV} == *_p* ]] ; then |
966 |
- MY_COMMIT="" |
967 |
- SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2" |
968 |
- S="${WORKDIR}"/${PN}-${MY_COMMIT} |
969 |
- else |
970 |
- SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz" |
971 |
- fi |
972 |
- |
973 |
- KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" |
974 |
-fi |
975 |
- |
976 |
-DESCRIPTION="Multimedia processing graphs" |
977 |
-HOMEPAGE="https://pipewire.org/" |
978 |
- |
979 |
-LICENSE="MIT LGPL-2.1+ GPL-2" |
980 |
-# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49 |
981 |
-SLOT="0/0.4" |
982 |
-IUSE="bluetooth dbus doc echo-cancel extra gstreamer jack-client jack-sdk lv2 |
983 |
-pipewire-alsa sound-server ssl system-service systemd test udev v4l X zeroconf" |
984 |
- |
985 |
-# Once replacing system JACK libraries is possible, it's likely that |
986 |
-# jack-client IUSE will need blocking to avoid users accidentally |
987 |
-# configuring their systems to send PW sink output to the emulated |
988 |
-# JACK's sink - doing so is likely to yield no audio, cause a CPU |
989 |
-# cycles consuming loop (and may even cause GUI crashes)! |
990 |
- |
991 |
-# TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled |
992 |
-# TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work |
993 |
-# which provides adequate guarantee that alsa-lib will be able to provide audio services. |
994 |
-# If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL. |
995 |
-# When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally. |
996 |
-REQUIRED_USE=" |
997 |
- jack-sdk? ( !jack-client ) |
998 |
- system-service? ( systemd ) |
999 |
- !sound-server? ( !pipewire-alsa ) |
1000 |
- jack-client? ( dbus ) |
1001 |
-" |
1002 |
- |
1003 |
-RESTRICT="!test? ( test )" |
1004 |
- |
1005 |
-BDEPEND=" |
1006 |
- >=dev-util/meson-0.59 |
1007 |
- virtual/pkgconfig |
1008 |
- ${PYTHON_DEPS} |
1009 |
- $(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]') |
1010 |
- doc? ( |
1011 |
- app-doc/doxygen |
1012 |
- media-gfx/graphviz |
1013 |
- ) |
1014 |
-" |
1015 |
-RDEPEND=" |
1016 |
- acct-group/audio |
1017 |
- media-libs/alsa-lib |
1018 |
- sys-libs/readline:= |
1019 |
- sys-libs/ncurses:=[unicode(+)] |
1020 |
- virtual/libintl[${MULTILIB_USEDEP}] |
1021 |
- bluetooth? ( |
1022 |
- media-libs/fdk-aac |
1023 |
- media-libs/libldac |
1024 |
- media-libs/libfreeaptx |
1025 |
- media-libs/sbc |
1026 |
- >=net-wireless/bluez-4.101:= |
1027 |
- virtual/libusb:1 |
1028 |
- ) |
1029 |
- dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
1030 |
- echo-cancel? ( media-libs/webrtc-audio-processing:0 ) |
1031 |
- extra? ( |
1032 |
- >=media-libs/libsndfile-1.0.20 |
1033 |
- ) |
1034 |
- gstreamer? ( |
1035 |
- >=dev-libs/glib-2.32.0:2 |
1036 |
- >=media-libs/gstreamer-1.10.0:1.0 |
1037 |
- media-libs/gst-plugins-base:1.0 |
1038 |
- ) |
1039 |
- jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] ) |
1040 |
- jack-sdk? ( |
1041 |
- !media-sound/jack-audio-connection-kit |
1042 |
- !media-sound/jack2 |
1043 |
- ) |
1044 |
- lv2? ( media-libs/lilv ) |
1045 |
- pipewire-alsa? ( |
1046 |
- >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] |
1047 |
- ) |
1048 |
- sound-server? ( |
1049 |
- !media-sound/pulseaudio[daemon(+)] |
1050 |
- !media-sound/pulseaudio-daemon |
1051 |
- ) |
1052 |
- ssl? ( dev-libs/openssl:= ) |
1053 |
- systemd? ( sys-apps/systemd ) |
1054 |
- system-service? ( |
1055 |
- acct-user/pipewire |
1056 |
- acct-group/pipewire |
1057 |
- ) |
1058 |
- udev? ( virtual/libudev[${MULTILIB_USEDEP}] ) |
1059 |
- v4l? ( media-libs/libv4l ) |
1060 |
- X? ( |
1061 |
- media-libs/libcanberra |
1062 |
- x11-libs/libX11 |
1063 |
- x11-libs/libXfixes |
1064 |
- ) |
1065 |
- zeroconf? ( net-dns/avahi ) |
1066 |
-" |
1067 |
- |
1068 |
-DEPEND="${RDEPEND}" |
1069 |
- |
1070 |
-# TODO: Consider use cases where pipewire is not used for driving audio |
1071 |
-# Doing so with WirePlumber currently involves editing Lua scripts |
1072 |
-PDEPEND=">=media-video/wireplumber-0.4.8-r3" |
1073 |
- |
1074 |
-# Present RDEPEND that are currently always disabled due to the PW |
1075 |
-# code using them being required to be disabled by Gentoo guidelines |
1076 |
-# (i.e. developer binaries not meant for users) and unready code |
1077 |
-# media-video/ffmpeg:= |
1078 |
-# media-libs/libsdl2 |
1079 |
-# >=media-libs/vulkan-loader-1.1.69 |
1080 |
-# |
1081 |
-# Ditto for DEPEND |
1082 |
-# >=dev-util/vulkan-headers-1.1.69 |
1083 |
- |
1084 |
-DOCS=( {README,INSTALL}.md NEWS ) |
1085 |
- |
1086 |
-PATCHES=( |
1087 |
- "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch |
1088 |
- "${FILESDIR}"/${P}-jack-mix.patch |
1089 |
-) |
1090 |
- |
1091 |
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1 |
1092 |
-# with changes as necessary. |
1093 |
-limitsdfile=40-${PN}.conf |
1094 |
- |
1095 |
-python_check_deps() { |
1096 |
- has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" |
1097 |
-} |
1098 |
- |
1099 |
-src_prepare() { |
1100 |
- default |
1101 |
- |
1102 |
- einfo "Generating ${limitsdfile}" |
1103 |
- cat > ${limitsdfile} <<- EOF || die |
1104 |
- # Start of ${limitsdfile} from ${P} |
1105 |
- |
1106 |
- @audio - memlock 256 |
1107 |
- |
1108 |
- $(use system-service && { |
1109 |
- echo @pipewire - rtprio 95 |
1110 |
- echo @pipewire - nice -19 |
1111 |
- echo @pipewire - memlock 4194304 |
1112 |
- }) |
1113 |
- |
1114 |
- # End of ${limitsdfile} from ${P} |
1115 |
- EOF |
1116 |
-} |
1117 |
- |
1118 |
-multilib_src_configure() { |
1119 |
- # https://bugs.gentoo.org/838301 |
1120 |
- filter-flags -fno-semantic-interposition |
1121 |
- |
1122 |
- local emesonargs=( |
1123 |
- -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} |
1124 |
- |
1125 |
- $(meson_feature dbus) |
1126 |
- $(meson_native_use_feature zeroconf avahi) |
1127 |
- $(meson_native_use_feature doc docs) |
1128 |
- $(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone |
1129 |
- $(meson_native_enabled man) |
1130 |
- $(meson_feature test tests) |
1131 |
- -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests |
1132 |
- $(meson_native_use_feature gstreamer) |
1133 |
- $(meson_native_use_feature gstreamer gstreamer-device-provider) |
1134 |
- $(meson_native_use_feature systemd) |
1135 |
- |
1136 |
- $(meson_native_use_feature system-service systemd-system-service) |
1137 |
- -Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)" |
1138 |
- -Dsystemd-user-unit-dir="$(systemd_get_userunitdir)" |
1139 |
- |
1140 |
- $(meson_native_use_feature systemd systemd-user-service) |
1141 |
- $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph |
1142 |
- -Dspa-plugins=enabled |
1143 |
- -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) |
1144 |
- -Daudiomixer=enabled # Matches upstream |
1145 |
- -Daudioconvert=enabled # Matches upstream |
1146 |
- $(meson_native_use_feature bluetooth bluez5) |
1147 |
- $(meson_native_use_feature bluetooth bluez5-backend-hsp-native) |
1148 |
- $(meson_native_use_feature bluetooth bluez5-backend-hfp-native) |
1149 |
- $(meson_native_use_feature bluetooth bluez5-backend-ofono) |
1150 |
- $(meson_native_use_feature bluetooth bluez5-backend-hsphfpd) |
1151 |
- $(meson_native_use_feature bluetooth bluez5-codec-aac) |
1152 |
- $(meson_native_use_feature bluetooth bluez5-codec-aptx) |
1153 |
- $(meson_native_use_feature bluetooth bluez5-codec-ldac) |
1154 |
- $(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters) |
1155 |
- $(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889 |
1156 |
- # Not yet packaged. |
1157 |
- -Dbluez5-codec-lc3plus=disabled |
1158 |
- -Dcontrol=enabled # Matches upstream |
1159 |
- -Daudiotestsrc=enabled # Matches upstream |
1160 |
- -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020 |
1161 |
- -Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph |
1162 |
- $(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client |
1163 |
- $(meson_use jack-sdk jack-devel) |
1164 |
- $(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '') |
1165 |
- -Dsupport=enabled # Miscellaneous/common plugins, such as null sink |
1166 |
- -Devl=disabled # Matches upstream |
1167 |
- -Dtest=disabled # fakesink and fakesource plugins |
1168 |
- $(meson_native_use_feature lv2) |
1169 |
- $(meson_native_use_feature v4l v4l2) |
1170 |
- -Dlibcamera=disabled # libcamera is not in Portage tree |
1171 |
- $(meson_native_use_feature ssl raop) |
1172 |
- -Dvideoconvert=enabled # Matches upstream |
1173 |
- -Dvideotestsrc=enabled # Matches upstream |
1174 |
- -Dvolume=enabled # Matches upstream |
1175 |
- -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream) |
1176 |
- $(meson_native_use_feature extra pw-cat) |
1177 |
- $(meson_feature udev) |
1178 |
- -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d" |
1179 |
- -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install) |
1180 |
- $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat) |
1181 |
- -Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build |
1182 |
- |
1183 |
- # Just for bell sounds in X11 right now. |
1184 |
- $(meson_native_use_feature X x11) |
1185 |
- $(meson_native_use_feature X x11-xfixes) |
1186 |
- $(meson_native_use_feature X libcanberra) |
1187 |
- ) |
1188 |
- |
1189 |
- meson_src_configure |
1190 |
-} |
1191 |
- |
1192 |
-multilib_src_install() { |
1193 |
- # Our custom DOCS do not exist in multilib source directory |
1194 |
- DOCS= meson_src_install |
1195 |
-} |
1196 |
- |
1197 |
-multilib_src_install_all() { |
1198 |
- einstalldocs |
1199 |
- |
1200 |
- insinto /etc/security/limits.d |
1201 |
- doins ${limitsdfile} |
1202 |
- |
1203 |
- if use pipewire-alsa; then |
1204 |
- dodir /etc/alsa/conf.d |
1205 |
- |
1206 |
- # Install pipewire conf loader hook |
1207 |
- insinto /usr/share/alsa/alsa.conf.d |
1208 |
- doins "${FILESDIR}"/99-pipewire-default-hook.conf |
1209 |
- eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf |
1210 |
- |
1211 |
- # These will break if someone has /etc that is a symbolic link to a subfolder! See #724222 |
1212 |
- # And the current dosym8 -r implementation is likely affected by the same issue, too. |
1213 |
- dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf |
1214 |
- dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf |
1215 |
- fi |
1216 |
- |
1217 |
- # Enable required wireplumber alsa and bluez monitors |
1218 |
- if use sound-server; then |
1219 |
- dodir /etc/wireplumber/main.lua.d |
1220 |
- echo "alsa_monitor.enabled = true" > "${ED}"/etc/wireplumber/main.lua.d/89-gentoo-sound-server-enable-alsa-monitor.lua || die |
1221 |
- |
1222 |
- dodir /etc/wireplumber/bluetooth.lua.d |
1223 |
- echo "bluez_monitor.enabled = true" > "${ED}"/etc/wireplumber/bluetooth.lua.d/89-gentoo-sound-server-enable-bluez-monitor.lua || die |
1224 |
- fi |
1225 |
- |
1226 |
- if ! use systemd; then |
1227 |
- insinto /etc/xdg/autostart |
1228 |
- newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop |
1229 |
- |
1230 |
- exeinto /usr/bin |
1231 |
- newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher |
1232 |
- |
1233 |
- # Disable pipewire-pulse if sound-server is disabled. |
1234 |
- if ! use sound-server ; then |
1235 |
- sed -i -s '/pipewire -c pipewire-pulse.conf/s/^/#/' "${ED}"/usr/bin/gentoo-pipewire-launcher || die |
1236 |
- fi |
1237 |
- |
1238 |
- eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher |
1239 |
- fi |
1240 |
-} |
1241 |
- |
1242 |
-pkg_postrm() { |
1243 |
- use udev && udev_reload |
1244 |
-} |
1245 |
- |
1246 |
-pkg_postinst() { |
1247 |
- use udev && udev_reload |
1248 |
- |
1249 |
- elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users" |
1250 |
- elog "using PipeWire. Do it either manually or add yourself" |
1251 |
- elog "to the 'audio' group:" |
1252 |
- elog |
1253 |
- elog " usermod -aG audio <youruser>" |
1254 |
- elog |
1255 |
- |
1256 |
- local ver |
1257 |
- for ver in ${REPLACING_VERSIONS} ; do |
1258 |
- if ver_test ${ver} -le 0.3.53-r1 && ! use sound-server ; then |
1259 |
- ewarn "USE=sound-server is disabled! If you want PipeWire to provide" |
1260 |
- ewarn "your sound, please enable it. See the wiki at" |
1261 |
- ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio" |
1262 |
- ewarn "for more details." |
1263 |
- |
1264 |
- break |
1265 |
- fi |
1266 |
- done |
1267 |
- |
1268 |
- if ! use jack-sdk; then |
1269 |
- elog "JACK emulation is incomplete and not all programs will work. PipeWire's" |
1270 |
- elog "alternative libraries have been installed to a non-default location." |
1271 |
- elog "To use them, put pw-jack <application> before every JACK application." |
1272 |
- elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack" |
1273 |
- elog "provider is still needed to compile the JACK applications themselves." |
1274 |
- elog |
1275 |
- fi |
1276 |
- |
1277 |
- if use systemd; then |
1278 |
- elog "When switching from PulseAudio, you may need to disable PulseAudio:" |
1279 |
- elog |
1280 |
- elog " systemctl --user disable pulseaudio.service pulseaudio.socket" |
1281 |
- elog |
1282 |
- elog "To use PipeWire, the user units must be manually enabled" |
1283 |
- elog "by running this command as each user you use for desktop activities:" |
1284 |
- elog |
1285 |
- elog " systemctl --user enable pipewire.socket pipewire-pulse.socket" |
1286 |
- elog |
1287 |
- elog "A reboot is recommended to avoid interferences from still running" |
1288 |
- elog "PulseAudio daemon." |
1289 |
- elog |
1290 |
- elog "Both new users and those upgrading need to enable WirePlumber" |
1291 |
- elog "for relevant users:" |
1292 |
- elog |
1293 |
- elog " systemctl --user disable pipewire-media-session.service" |
1294 |
- elog " systemctl --user --force enable wireplumber.service" |
1295 |
- elog |
1296 |
- elog "Root user may replace --user with --global to change system default" |
1297 |
- elog "configuration for all of the above commands." |
1298 |
- else |
1299 |
- ewarn "PipeWire daemon startup has been moved to a launcher script!" |
1300 |
- ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no" |
1301 |
- ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all" |
1302 |
- ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)" |
1303 |
- ewarn |
1304 |
- ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from" |
1305 |
- ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly" |
1306 |
- ewarn "advised that a D-Bus user session is set up before starting the script." |
1307 |
- ewarn |
1308 |
- |
1309 |
- if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then |
1310 |
- elog "This ebuild auto-enables PulseAudio replacement. Because of that, users" |
1311 |
- elog "are recommended to edit pulseaudio client configuration files:" |
1312 |
- elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf" |
1313 |
- elog "if it exists, and disable autospawning of the original daemon by setting:" |
1314 |
- elog |
1315 |
- elog " autospawn = no" |
1316 |
- elog |
1317 |
- elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!" |
1318 |
- elog |
1319 |
- elog "Alternatively, if replacing PulseAudio daemon is not desired, edit" |
1320 |
- elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant" |
1321 |
- elog "command:" |
1322 |
- elog |
1323 |
- elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &" |
1324 |
- elog |
1325 |
- fi |
1326 |
- elog "NOTE:" |
1327 |
- elog "Starting with PipeWire-0.3.30, this package is no longer installing its config" |
1328 |
- elog "into ${EROOT}/etc/pipewire by default. In case you need to change" |
1329 |
- elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire" |
1330 |
- elog "and just override the sections you want to change." |
1331 |
- fi |
1332 |
- elog |
1333 |
- |
1334 |
- elog "For latest tips and tricks, troubleshooting information and documentation" |
1335 |
- elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire" |
1336 |
- elog |
1337 |
- |
1338 |
- optfeature_header "The following can be installed for optional runtime features:" |
1339 |
- optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit |
1340 |
- |
1341 |
- if use sound-server && ! use pipewire-alsa; then |
1342 |
- optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]" |
1343 |
- fi |
1344 |
- |
1345 |
- if has_version 'net-misc/ofono' ; then |
1346 |
- ewarn "Native backend has become default. Please disable oFono via:" |
1347 |
- if systemd_is_booted ; then |
1348 |
- ewarn "systemctl disable ofono" |
1349 |
- else |
1350 |
- ewarn "rc-update delete ofono" |
1351 |
- fi |
1352 |
- ewarn |
1353 |
- fi |
1354 |
- |
1355 |
- if use system-service; then |
1356 |
- ewarn |
1357 |
- ewarn "WARNING: you have enabled the system-service USE flag, which installs" |
1358 |
- ewarn "the system-wide systemd units that enable PipeWire to run as a system" |
1359 |
- ewarn "service. This is more than likely NOT what you want. You are strongly" |
1360 |
- ewarn "advised not to enable this mode and instead stick with systemd user" |
1361 |
- ewarn "units. The default configuration files will likely not work out of" |
1362 |
- ewarn "box, and you are on your own with configuration." |
1363 |
- ewarn |
1364 |
- fi |
1365 |
-} |