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/files/, media-video/pipewire/
Date: Mon, 04 Jul 2022 23:53:44
Message-Id: 1656978812.95d40c5fba17cf3aca380449620c386ba20e6f7f.sam@gentoo
1 commit: 95d40c5fba17cf3aca380449620c386ba20e6f7f
2 Author: Sam James <sam <AT> gentoo <DOT> org>
3 AuthorDate: Mon Jul 4 23:53:32 2022 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Mon Jul 4 23:53:32 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=95d40c5f
7
8 media-video/pipewire: drop 0.3.49-r2
9
10 Signed-off-by: Sam James <sam <AT> gentoo.org>
11
12 media-video/pipewire/Manifest | 1 -
13 .../pipewire/files/pipewire-0.3.49-x86-cast.patch | 20 --
14 media-video/pipewire/pipewire-0.3.49-r2.ebuild | 360 ---------------------
15 3 files changed, 381 deletions(-)
16
17 diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest
18 index 4d01a2bceef0..de58b4a0f18d 100644
19 --- a/media-video/pipewire/Manifest
20 +++ b/media-video/pipewire/Manifest
21 @@ -1,4 +1,3 @@
22 -DIST pipewire-0.3.49.tar.gz 1769037 BLAKE2B 2567bc98933bfbb295358886e8f97db2af2f0a6ee3c2586c1718e39f7eedaed8528a4663753ba56d3295e42576da015ce9278f22aff9bbd9ca43d883bff5a2f6 SHA512 36398872f7d7b31193d7a8885bbdfb415a122bd779874107a0642202dfd8408f39fddf769bfbae4533c2cc99fe9ef67903d50cc721e936aa4802229f1c46d809
23 DIST pipewire-0.3.51.tar.gz 1789070 BLAKE2B 8538eb9f2178efa26365f30b324b707826e580caa1fd9c09b62c561c140c14186e0d2b04808fa78eb5642ddccf1a347def19934ecd654be06b215a693075b6fc SHA512 a762fd260b4b14ad9ef142be11ab1c22268da6726e2179559ffb254f0ce7daf7a502779e33c64313a9c6a9fc1bd15150b76be04ec81aa27c35dbb4333cecdb4a
24 DIST pipewire-0.3.52.tar.gz 1810238 BLAKE2B bb75eff5fe7700d0a303fbfed7910aebd82346a5a21c4a0d17c06e6991bc90bb6d4f6b9559c25788494cb11faff957523dcd7f0c4c8a40be11b81c63a5a9e5ef SHA512 30e9cf74c92babafe386f02a03bb5c41a8ee5591a02f15845cca1ee44f091ce68eb14d48943d43b680cb525026a19e0290997670f9a82156eaa72e974fe6d01a
25 DIST pipewire-0.3.53.tar.gz 1783505 BLAKE2B 269466c6ba78cb85516dc714f3aa5d71cdf72a859b6e1a11c60062da6dcd56eefc78958fe026b9fd11d61fd6fbe6f2aac54a2a9fd77d4ee474687f5d54628c38 SHA512 50f23a7b71f3eb20657ff75de54a9f3056270bf05a5472ec9c7dea1c9d0ed391b6b09496d58b065c3cbc40f9be8088b6737cbf0731973498bcd5a8176c42d443
26
27 diff --git a/media-video/pipewire/files/pipewire-0.3.49-x86-cast.patch b/media-video/pipewire/files/pipewire-0.3.49-x86-cast.patch
28 deleted file mode 100644
29 index 58b4b331e03e..000000000000
30 --- a/media-video/pipewire/files/pipewire-0.3.49-x86-cast.patch
31 +++ /dev/null
32 @@ -1,20 +0,0 @@
33 -https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/5a023c8c84fb053d452983a64a33a41b931fc99b
34 -https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2271
35 -
36 -From: Wim Taymans <wtaymans@××××××.com>
37 -Date: Thu, 21 Apr 2022 22:12:38 +0200
38 -Subject: [PATCH] alsa: fix argument type for Long
39 -
40 -Fixes #2271
41 ---- a/spa/plugins/alsa/alsa-pcm.c
42 -+++ b/spa/plugins/alsa/alsa-pcm.c
43 -@@ -311,7 +311,7 @@ struct spa_pod *spa_alsa_enum_propinfo(struct state *state,
44 - SPA_PROP_INFO_name, SPA_POD_String("latency.internal.ns"),
45 - SPA_PROP_INFO_description, SPA_POD_String("Internal latency in nanoseconds"),
46 - SPA_PROP_INFO_type, SPA_POD_CHOICE_RANGE_Long(state->process_latency.ns,
47 -- 0, 2 * SPA_NSEC_PER_SEC),
48 -+ 0LL, 2 * SPA_NSEC_PER_SEC),
49 - SPA_PROP_INFO_params, SPA_POD_Bool(true));
50 - break;
51 - case 15:
52 -GitLab
53
54 diff --git a/media-video/pipewire/pipewire-0.3.49-r2.ebuild b/media-video/pipewire/pipewire-0.3.49-r2.ebuild
55 deleted file mode 100644
56 index b7acb4f37fa8..000000000000
57 --- a/media-video/pipewire/pipewire-0.3.49-r2.ebuild
58 +++ /dev/null
59 @@ -1,360 +0,0 @@
60 -# Copyright 1999-2022 Gentoo Authors
61 -# Distributed under the terms of the GNU General Public License v2
62 -
63 -EAPI=8
64 -
65 -PYTHON_COMPAT=( python3_{8..10} )
66 -
67 -inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev
68 -
69 -if [[ ${PV} == 9999 ]]; then
70 - EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
71 - inherit git-r3
72 -else
73 - if [[ ${PV} == *_p* ]] ; then
74 - MY_COMMIT=""
75 - SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2"
76 - S="${WORKDIR}"/${PN}-${MY_COMMIT}
77 - else
78 - SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
79 - fi
80 -
81 - KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~sparc x86"
82 -fi
83 -
84 -DESCRIPTION="Multimedia processing graphs"
85 -HOMEPAGE="https://pipewire.org/"
86 -
87 -LICENSE="MIT LGPL-2.1+ GPL-2"
88 -# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
89 -SLOT="0/0.4"
90 -IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk lv2 pipewire-alsa ssl system-service systemd test udev v4l X zeroconf"
91 -
92 -# Once replacing system JACK libraries is possible, it's likely that
93 -# jack-client IUSE will need blocking to avoid users accidentally
94 -# configuring their systems to send PW sink output to the emulated
95 -# JACK's sink - doing so is likely to yield no audio, cause a CPU
96 -# cycles consuming loop (and may even cause GUI crashes)!
97 -
98 -REQUIRED_USE="
99 - jack-sdk? ( !jack-client )
100 - system-service? ( systemd )
101 -"
102 -
103 -RESTRICT="!test? ( test )"
104 -
105 -BDEPEND="
106 - >=dev-util/meson-0.59
107 - virtual/pkgconfig
108 - ${PYTHON_DEPS}
109 - $(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
110 - doc? (
111 - app-doc/doxygen
112 - media-gfx/graphviz
113 - )
114 -"
115 -RDEPEND="
116 - acct-group/audio
117 - media-libs/alsa-lib
118 - sys-apps/dbus[${MULTILIB_USEDEP}]
119 - sys-libs/readline:=
120 - sys-libs/ncurses:=[unicode(+)]
121 - virtual/libintl[${MULTILIB_USEDEP}]
122 - bluetooth? (
123 - media-libs/fdk-aac
124 - media-libs/libldac
125 - media-libs/libfreeaptx
126 - media-libs/sbc
127 - >=net-wireless/bluez-4.101:=
128 - virtual/libusb:1
129 - )
130 - echo-cancel? ( media-libs/webrtc-audio-processing:0 )
131 - extra? (
132 - >=media-libs/libsndfile-1.0.20
133 - )
134 - gstreamer? (
135 - >=dev-libs/glib-2.32.0:2
136 - >=media-libs/gstreamer-1.10.0:1.0
137 - media-libs/gst-plugins-base:1.0
138 - )
139 - jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
140 - jack-sdk? (
141 - !media-sound/jack-audio-connection-kit
142 - !media-sound/jack2
143 - )
144 - lv2? ( media-libs/lilv )
145 - pipewire-alsa? (
146 - >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
147 - !media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio]
148 - )
149 - !pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
150 - ssl? ( dev-libs/openssl:= )
151 - systemd? ( sys-apps/systemd )
152 - system-service? (
153 - acct-user/pipewire
154 - acct-group/pipewire
155 - )
156 - udev? ( virtual/libudev[${MULTILIB_USEDEP}] )
157 - v4l? ( media-libs/libv4l )
158 - X? (
159 - media-libs/libcanberra
160 - x11-libs/libX11
161 - x11-libs/libXfixes
162 - )
163 - zeroconf? ( net-dns/avahi )
164 -"
165 -
166 -DEPEND="${RDEPEND}"
167 -
168 -# TODO: Consider use cases where pipewire is not used for driving audio
169 -# Doing so with WirePlumber currently involves editing Lua scripts
170 -PDEPEND=">=media-video/wireplumber-0.4.8-r3"
171 -
172 -# Present RDEPEND that are currently always disabled due to the PW
173 -# code using them being required to be disabled by Gentoo guidelines
174 -# (i.e. developer binaries not meant for users) and unready code
175 -# media-video/ffmpeg:=
176 -# media-libs/libsdl2
177 -# >=media-libs/vulkan-loader-1.1.69
178 -#
179 -# Ditto for DEPEND
180 -# >=dev-util/vulkan-headers-1.1.69
181 -
182 -DOCS=( {README,INSTALL}.md NEWS )
183 -
184 -PATCHES=(
185 - "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
186 -
187 - "${FILESDIR}"/${PN}-0.3.49-x86-cast.patch
188 -)
189 -
190 -# limitsdfile related code taken from =sys-auth/realtime-base-0.1
191 -# with changes as necessary.
192 -limitsdfile=40-${PN}.conf
193 -
194 -python_check_deps() {
195 - has_version -b "dev-python/docutils[${PYTHON_USEDEP}]"
196 -}
197 -
198 -src_prepare() {
199 - default
200 -
201 - einfo "Generating ${limitsdfile}"
202 - cat > ${limitsdfile} <<- EOF || die
203 - # Start of ${limitsdfile} from ${P}
204 -
205 - @audio - memlock 256
206 -
207 - $(use system-service && {
208 - echo @pipewire - rtprio 95
209 - echo @pipewire - nice -19
210 - echo @pipewire - memlock 4194304
211 - })
212 -
213 - # End of ${limitsdfile} from ${P}
214 - EOF
215 -}
216 -
217 -multilib_src_configure() {
218 - # https://bugs.gentoo.org/838301
219 - filter-flags -fno-semantic-interposition
220 -
221 - local emesonargs=(
222 - -Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
223 -
224 - $(meson_native_use_feature zeroconf avahi)
225 - $(meson_native_use_feature doc docs)
226 - $(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone
227 - $(meson_native_enabled man)
228 - $(meson_feature test tests)
229 - -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
230 - $(meson_native_use_feature gstreamer)
231 - $(meson_native_use_feature gstreamer gstreamer-device-provider)
232 - $(meson_native_use_feature systemd)
233 -
234 - $(meson_native_use_feature system-service systemd-system-service)
235 - -Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)"
236 - -Dsystemd-user-unit-dir="$(systemd_get_userunitdir)"
237 -
238 - $(meson_native_use_feature systemd systemd-user-service)
239 - $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
240 - -Dspa-plugins=enabled
241 - -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)
242 - -Daudiomixer=enabled # Matches upstream
243 - -Daudioconvert=enabled # Matches upstream
244 - $(meson_native_use_feature bluetooth bluez5)
245 - $(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
246 - $(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
247 - $(meson_native_use_feature bluetooth bluez5-backend-ofono)
248 - $(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
249 - $(meson_native_use_feature bluetooth bluez5-codec-aac)
250 - $(meson_native_use_feature bluetooth bluez5-codec-aptx)
251 - $(meson_native_use_feature bluetooth bluez5-codec-ldac)
252 - $(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters)
253 - $(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
254 - -Dcontrol=enabled # Matches upstream
255 - -Daudiotestsrc=enabled # Matches upstream
256 - -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
257 - -Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
258 - $(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
259 - $(meson_use jack-sdk jack-devel)
260 - $(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
261 - -Dsupport=enabled # Miscellaneous/common plugins, such as null sink
262 - -Devl=disabled # Matches upstream
263 - -Dtest=disabled # fakesink and fakesource plugins
264 - $(meson_native_use_feature lv2)
265 - $(meson_native_use_feature v4l v4l2)
266 - -Dlibcamera=disabled # libcamera is not in Portage tree
267 - $(meson_native_use_feature ssl raop)
268 - -Dvideoconvert=enabled # Matches upstream
269 - -Dvideotestsrc=enabled # Matches upstream
270 - -Dvolume=enabled # Matches upstream
271 - -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
272 - $(meson_native_use_feature extra pw-cat)
273 - $(meson_feature udev)
274 - -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
275 - -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
276 - $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
277 - -Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
278 -
279 - # Just for bell sounds in X11 right now.
280 - $(meson_native_use_feature X x11)
281 - $(meson_native_use_feature X x11-xfixes)
282 - $(meson_native_use_feature X libcanberra)
283 - )
284 -
285 - meson_src_configure
286 -}
287 -
288 -multilib_src_install() {
289 - # Our custom DOCS do not exist in multilib source directory
290 - DOCS= meson_src_install
291 -}
292 -
293 -multilib_src_install_all() {
294 - einstalldocs
295 -
296 - insinto /etc/security/limits.d
297 - doins ${limitsdfile}
298 -
299 - if use pipewire-alsa; then
300 - dodir /etc/alsa/conf.d
301 - # These will break if someone has /etc that is a symbolic link to a subfolder! See #724222
302 - # And the current dosym8 -r implementation is likely affected by the same issue, too.
303 - dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
304 - dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf
305 - fi
306 -
307 - if ! use systemd; then
308 - insinto /etc/xdg/autostart
309 - newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
310 -
311 - exeinto /usr/bin
312 - newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher
313 - eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher
314 - fi
315 -}
316 -
317 -pkg_postinst() {
318 - use udev && udev_reload
319 -
320 - elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
321 - elog "using PipeWire. Do it either manually or add yourself"
322 - elog "to the 'audio' group:"
323 - elog
324 - elog " usermod -aG audio <youruser>"
325 - elog
326 -
327 - if ! use jack-sdk; then
328 - elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
329 - elog "alternative libraries have been installed to a non-default location."
330 - elog "To use them, put pw-jack <application> before every JACK application."
331 - elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
332 - elog "provider is still needed to compile the JACK applications themselves."
333 - elog
334 - fi
335 -
336 - if use systemd; then
337 - elog "When switching from PulseAudio, you may need to disable PulseAudio:"
338 - elog
339 - elog " systemctl --user disable pulseaudio.service pulseaudio.socket"
340 - elog
341 - elog "To use PipeWire, the user units must be manually enabled"
342 - elog "by running this command as each user you use for desktop activities:"
343 - elog
344 - elog " systemctl --user enable pipewire.socket pipewire-pulse.socket"
345 - elog
346 - elog "A reboot is recommended to avoid interferences from still running"
347 - elog "PulseAudio daemon."
348 - elog
349 - elog "Both new users and those upgrading need to enable WirePlumber"
350 - elog "for relevant users:"
351 - elog
352 - elog " systemctl --user disable pipewire-media-session.service"
353 - elog " systemctl --user --force enable wireplumber.service"
354 - elog
355 - elog "Root user may replace --user with --global to change system default"
356 - elog "configuration for all of the above commands."
357 - else
358 - ewarn "PipeWire daemon startup has been moved to a launcher script!"
359 - ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
360 - ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
361 - ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
362 - ewarn
363 - ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
364 - ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
365 - ewarn "advised that a D-Bus user session is set up before starting the script."
366 - ewarn
367 - if has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon'; then
368 - elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
369 - elog "are recommended to edit pulseaudio client configuration files:"
370 - elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf"
371 - elog "if it exists, and disable autospawning of the original daemon by setting:"
372 - elog
373 - elog " autospawn = no"
374 - elog
375 - elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
376 - elog
377 - elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
378 - elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
379 - elog "command:"
380 - elog
381 - elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
382 - elog
383 - fi
384 - elog "NOTE:"
385 - elog "Starting with PipeWire-0.3.30, this package is no longer installing its config"
386 - elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
387 - elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire"
388 - elog "and just override the sections you want to change."
389 - fi
390 - elog
391 -
392 - elog "For latest tips and tricks, troubleshooting information and documentation"
393 - elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
394 - elog
395 -
396 - optfeature_header "The following can be installed for optional runtime features:"
397 - optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
398 -
399 - if has_version 'net-misc/ofono' ; then
400 - ewarn "Native backend has become default. Please disable oFono via:"
401 - if systemd_is_booted ; then
402 - ewarn "systemctl disable ofono"
403 - else
404 - ewarn "rc-update delete ofono"
405 - fi
406 - ewarn
407 - fi
408 -
409 - if use system-service; then
410 - ewarn
411 - ewarn "WARNING: you have enabled the system-service USE flag, which installs"
412 - ewarn "the system-wide systemd units that enable PipeWire to run as a system"
413 - ewarn "service. This is more than likely NOT what you want. You are strongly"
414 - ewarn "advised not to enable this mode and instead stick with systemd user"
415 - ewarn "units. The default configuration files will likely not work out of"
416 - ewarn "box, and you are on your own with configuration."
417 - ewarn
418 - fi
419 -}