diff options
author | V3n3RiX <venerix@koprulu.sector> | 2022-08-26 14:52:16 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2022-08-26 14:52:16 +0100 |
commit | c3d998909264b1ff687b9c65cae3046443e66f7e (patch) | |
tree | ed7aa279f601f6c46fb8b7425bd2a051b72be8d6 /media-video | |
parent | cf91c70bb5a537972156006c46756b9ac75bdb7b (diff) |
gentoo auto-resync : 26:08:2022 - 14:52:16
Diffstat (limited to 'media-video')
-rw-r--r-- | media-video/Manifest.gz | bin | 25851 -> 25859 bytes | |||
-rw-r--r-- | media-video/mplayer/Manifest | 2 | ||||
-rw-r--r-- | media-video/mplayer/metadata.xml | 2 | ||||
-rw-r--r-- | media-video/vlc/Manifest | 2 | ||||
-rw-r--r-- | media-video/vlc/metadata.xml | 2 | ||||
-rw-r--r-- | media-video/wireplumber/Manifest | 2 | ||||
-rw-r--r-- | media-video/wireplumber/files/wireplumber-0.4.11-loop.patch | 147 | ||||
-rw-r--r-- | media-video/wireplumber/wireplumber-0.4.11-r3.ebuild | 131 |
8 files changed, 284 insertions, 4 deletions
diff --git a/media-video/Manifest.gz b/media-video/Manifest.gz Binary files differindex 3e3f72024465..236ec71cbd34 100644 --- a/media-video/Manifest.gz +++ b/media-video/Manifest.gz diff --git a/media-video/mplayer/Manifest b/media-video/mplayer/Manifest index 47a9c0322b23..d28ac9ce1f4c 100644 --- a/media-video/mplayer/Manifest +++ b/media-video/mplayer/Manifest @@ -10,4 +10,4 @@ DIST font-arial-iso-8859-2.tar.bz2 222208 BLAKE2B 94b1a04672bf9b4b20a0e6981591e7 DIST mplayer-1.4-ffmpeg5.patch.bz2 11428 BLAKE2B 2cc9839333161fd00db87b7dd103e10414c910eb5b21b39454daed36440d54f5947216b80ac91947932c760c21c275328b3a642d0a2c8cd6963fe4b7671c9f90 SHA512 61038ad8ef8a55a99dd7e7a20ff38805c86f6a6ecb876261d0e3f4db7f30f36a9dfedbd6c895fd8168fef8833b856b3d3501a89fd041365ba07c81c3ebd36a69 EBUILD mplayer-1.4-r1.ebuild 16839 BLAKE2B 271608f9c1dbcdfe78ac9e02c2d054dc7a1f8be1fc8f259b7b70473e995d103cabb771ff7ff26d6c040199e30c5154e6c0b8492c63a7c50d0450a43d043e6175 SHA512 84eaef167fdfca3c1b4e8155375b0ff90016335c2e64c618e9bfb666525b5b5ad178826df8d9ddea871ef6851be04460b8371f2c15e7a112c4801ee5abeb2bab EBUILD mplayer-9999.ebuild 16589 BLAKE2B ce429cad3845735ce89a73606aac2ffe7086abff57c2f7916e9cbfee8d757f7a1b2639435fbec08b35b04f3d0e7995a663ecad8183c008724e1acdbae7f3edca SHA512 23a0cf76e0600783c713d7cfdb85ebe9a07c8b920ec749007c7dde710bc4a2d50c91d561c0fb1353b949d19c974cc6ac12b1014547edbb0d1326fa737d243ca5 -MISC metadata.xml 2464 BLAKE2B 417f17be4528c579dc736323ba1f6cb62dd9f9ac27b67286321ec1f2a29b5102e8a8df368c5f3850a885b00472921df2b3e1ec7be40b10d880a1fb03b4b37ba2 SHA512 038c0ef2141c0c822658733499c1779efee751558bd0420314f67e04fd8ed97e4ec3bcb5b12680b9dc72023346b06f8a0b195dd254328caa3b76b2b0daf1adcc +MISC metadata.xml 2475 BLAKE2B 5a083ce5b8ed729245ec9eaf544be95f6cbdb9fcb5b80d3a21195557c3aede46d09bd93a0d1acd3830fc796f90dd5f15a17a3d3c69ba2a1a54a0676264dd02de SHA512 f04082ffd63adf9102dd82eb5b4c628fbf912701c7dae69f0b00bbad4e0957355e43369912e9422acc087200de982920c212efb60ba9c26675f74fd5f37fd739 diff --git a/media-video/mplayer/metadata.xml b/media-video/mplayer/metadata.xml index dad958217481..44b0e5a1049e 100644 --- a/media-video/mplayer/metadata.xml +++ b/media-video/mplayer/metadata.xml @@ -15,7 +15,7 @@ <flag name="enca">Enables support for charset discovery and conversion</flag> <flag name="faac">Use external faac library for AAC encoding</flag> <flag name="faad">Use external faad library for AAC decoding</flag> - <flag name="libmpeg2">Build support for mpeg2 over media-libs/libmpeg2 rather than using ffmpeg.</flag> + <flag name="libmpeg2">Build support for mpeg2 over <pkg>media-libs/libmpeg2</pkg> rather than using ffmpeg.</flag> <flag name="live">Enables live.com streaming media support</flag> <flag name="md5sum">Enables md5sum video output</flag> <flag name="mng">MNG input support</flag> diff --git a/media-video/vlc/Manifest b/media-video/vlc/Manifest index f75b979c3097..58ac1f94a89a 100644 --- a/media-video/vlc/Manifest +++ b/media-video/vlc/Manifest @@ -17,4 +17,4 @@ EBUILD vlc-3.0.17.3-r2.ebuild 13552 BLAKE2B 16a9ecb6a011dd4d2f85e5d837edfb4d767a EBUILD vlc-3.0.17.4.ebuild 13572 BLAKE2B 643129b6df988d258e3d4a2fc62f9b1ee74fd163e52644938b8993713c1e8f96e13aebfaccb3c67578097b0d57e69c9f8e689b7f557c24b2db3de5dc66786cd4 SHA512 c8587800290d03fb508a45b1cf311803ca934bf708548c421dc609bd78c7db686effbf10cf739e8a118d72c054a74709837a1ec9d7e67f5ce22dbf54b89f1375 EBUILD vlc-3.0.9999.ebuild 13433 BLAKE2B 8712b957e2829bf0f33c2d4ea0c2164f82da322a50b44c0dbf1e6c670d63acb8704b9b4b754d94207b0e6a11038b42004ba46fdb7e2fce0bb7cb2b1a160b9729 SHA512 8c89645dd3a33133a19dde64faaf76fd4bfe5ff1e3b1fb34901d92849aed9f3d65b5c09e9d1ca63f4ef9159bf71902448b9ed7782d1c173c7650d388dda64e4d EBUILD vlc-9999.ebuild 13488 BLAKE2B 006133119bf236b523954aae0172a87e4c8db79b8d986d408cd262fb17c439d419c941ad9135ead5099a2b33f465ee15bc76d07b6addd2cce1ce6dcfe3a8c0b8 SHA512 298dc503c597272872a3537232a8e40d381fa082c23533aa66e1d27ab4c506feec94e8b5a5d76cf1ac6d19b6d1f91d3873077ad025885086f8e25054d1459da5 -MISC metadata.xml 4912 BLAKE2B 97661f54c1c16cb3084e12ce7899c080e7e69b203c1539b90048cf3d7c1f673b29051fd68216b6bed54f8842990f0c47e2c67038d85e911dcd1c905b54093719 SHA512 c24db55603932f9b52808e0b9d5687a333078d1735c05e1b561d91c08b99246b321b5b60f8111b286041c524d5913ec6f4f321a79c0773cbb9aaaa3fea9a50d6 +MISC metadata.xml 4923 BLAKE2B b115bd6bc666f1da6a0ba4d5b6237fedfff4baada406e56eff9c0f9574968177490c456e2d8f0ad07cf73b8e52bcc122931ae9f800d6a29e41cbfdd4ed6780fe SHA512 4b953a8662e31a66af1fb710e166316106b393d136fca7c1c5b61e78bd285bc578037fc11b7ae07202a6fae2a4a6e43f7f6560400bab8d92457012a4fa7e3045 diff --git a/media-video/vlc/metadata.xml b/media-video/vlc/metadata.xml index 1210c35babc5..04d77ec3a18e 100644 --- a/media-video/vlc/metadata.xml +++ b/media-video/vlc/metadata.xml @@ -17,7 +17,7 @@ <flag name="directx">Enable Win32 DirectX, D3D11va and DxVA2 support</flag> <flag name="dvbpsi">Enable support for Mpeg-TS files (.ts, .m2ts, .mts) via <pkg>media-libs/libdvbpsi</pkg></flag> <flag name="encode">Enable streaming-output support and videolan manager to control multiple streams from within one instance</flag> - <flag name="faad">Enable AAC audio decoding library support via media-libs/faad2</flag> + <flag name="faad">Enable AAC audio decoding library support via <pkg>media-libs/faad2</pkg></flag> <flag name="fdk">Enable the Fraunhofer AAC codec library</flag> <flag name="fluidsynth">Enable Fluidsynth MIDI software synthesis (with external sound fonts)</flag> <flag name="gcrypt">Enable cryptography support via libgcrypt</flag> diff --git a/media-video/wireplumber/Manifest b/media-video/wireplumber/Manifest index 18f737431f36..923fa87a118b 100644 --- a/media-video/wireplumber/Manifest +++ b/media-video/wireplumber/Manifest @@ -6,9 +6,11 @@ AUX wireplumber-0.4.10-m-lua-scripting-allow-converting-GValue-holding-NUL.patch AUX wireplumber-0.4.10-m-lua-scripting-fix-object-refcounting.patch 1200 BLAKE2B ee73f3555418dad6a5c20e401e6f77ec22673b7079d04babe517617771c3d3b29e69ec37a933b1993fc5cfaa0200ee0a70178b7383b4086d9a63765a0d986301 SHA512 fa9fb26868b96742c972574eb2e82e91f54a3a3fe3911136b0c4886ff6324fcf35683059801113a0cc409f9a79383155e7cac1f4b18e0566da724c1fd3679d3d AUX wireplumber-0.4.11-alsa-lua-crash.patch 1256 BLAKE2B ae5787294e405e37f01d0d4ef3f6031e5df9f60b04f02a682ceeaf2311cd2d525cdbb913d4997d63d18513225bd35d5e6375e33f34931e412ef681df134fa514 SHA512 536e39e4863ca2e002b20f8fca6164a60e280f56d7c5c2c96f9684e75b6e8f7138884fca88a214b4830e2a9fb252ead3ba75dc7f6ad491716f3e2fc595ddefed AUX wireplumber-0.4.11-dbus-reconnect-crash.patch 1553 BLAKE2B 1792743e726f22ff26f751196f620905122545bb8921dcb2398e627ef6756d786497e84cb899dcadac5417207cba7f1d5bc7f0a018156c89393712eafba5b54b SHA512 1603f928867f8ccf83132fb3b09b4d43995bd97a62689917274b01eb75526237ab86b1e58292e7f3b5b296e094995d284be31dfdd13d1c26ca5a41f2d121c71d +AUX wireplumber-0.4.11-loop.patch 5638 BLAKE2B ebebd5a0c668f9ceb44cedecb9a7c364ed135e78802c619d3c1b328932480b11e2392b7263fb8df472ef1134a451537c82e25e0122bd61f80f33cbb36d538c43 SHA512 4486bb29a0f238b5d3df07bce065be30604fd3ef2d62925b3e3869060c0015d3bcdb45375bf5735e39d48e39e115c8f2029526d1044add8992fe2bc22f45faee DIST wireplumber-0.4.10.tar.gz 395588 BLAKE2B 6df1af17d1e53ab1449a2f6f9af5a0c4f7b1cd981e07556e5ea3c6b4d5d624e66b97ce4f945f7ccccebbf72b75d35d10990fac11b5228275f27e5320885ff1ec SHA512 342e8bba2cf00faab71ef39bb361b5ada66ff3a68ccf7a756ea1ca402da6e94784eece277ca02992bc7573c51cb8b1bad33aa9c593b3d1bfe0bb0286e2f4506f DIST wireplumber-0.4.11.tar.gz 403931 BLAKE2B 77ef2540081420d4255dcb54165d0aceb08d97c60d19b9eb7606e90cf95e305e690794a1f46234b53b13765452fea0d23ae6acae9deea672db67e21c31d2307d SHA512 73a5120cd0c55b5fe5248cc22497efd23e40bb91961553639d9cf1bbf138d273db65153fa3c1bb0d2794f869e077e011156d323832534f62651d66f8cc87dca4 EBUILD wireplumber-0.4.10-r4.ebuild 3933 BLAKE2B bccd391fc42848f7f57d5403ae481c554862f4bbc6b11b4f8fc55019044b3b9150ac3704370242a39992c65d88928f2f64d441a19cddd61721c82cd887b9e1ce SHA512 2c5c1977655178717c6ad1158b0af18267cafed7ace937e28dfc08d466efe227c6a4ad7f276a27ded906cf8439ecb0ae7579ebf64b90ccc4bf67fa8eeed08bca EBUILD wireplumber-0.4.11-r2.ebuild 4112 BLAKE2B 2f94d975252cb165d86fe23531fa8ea94a54ba44033e506a6785aea9d7be959e5a0f3f1b7b6872566de62475ab3d2a982294c53f7808348166ae6b6db7e44c15 SHA512 8504018873d34dbeb65c3a1acbc2acf68c7074902875bc1dd4f2f1088933edba51551a293345a5aa4ce8b4443fed8405126a197db65d1948ac2839107b29a430 +EBUILD wireplumber-0.4.11-r3.ebuild 4149 BLAKE2B a6bfce3de96658c9aedb079227b484dfbc821def77c8a4fec160a24db4b6b912a4b39a560722d2ce9dc2a093042bb7cdfc1c3f039cb0be64479fad8881391044 SHA512 650eee9197662a5f7bdcbd93d58422fe48eca67a92dbf8e05b473a244750568a8504dd23755a6e8f472336c98a5e63327c52d6ff4bf9b85fde0f4ebea09a89e4 EBUILD wireplumber-9999.ebuild 3889 BLAKE2B d44e25f12dc2e6b0d8884b2a670b7fd3c7f1d42b67e6899cff3dd709d8b02d9c9497d4b95beca6f3973e76f54809b042ff6e66058c3de41f39332a022909083d SHA512 07ad0521fbd48382287d6d6f3b62906fa8a29fae84a5a0fb94cdcf8e87da01e6af0ba81f61c8675efb69c038a4fdf62fdde9b9e25b17d4a76b0148de32e457ae MISC metadata.xml 647 BLAKE2B 0370f3c897d7fcab0bd95fe1f97208f911de022e533ac795817289c554cc75d4de686223cbfd255ecb6e930ff0aee6c9419327ab51b3c65b1c4d8ed7597a1f3e SHA512 9708a52cf340caf359c300116b6ec687fba08a3c0fe33895eb10cda08517583ad36b5ff539142d8ba5f625ad34e5b7228f55fc7b85e7a162cf775f8780899f0e diff --git a/media-video/wireplumber/files/wireplumber-0.4.11-loop.patch b/media-video/wireplumber/files/wireplumber-0.4.11-loop.patch new file mode 100644 index 000000000000..75e2bafcaddc --- /dev/null +++ b/media-video/wireplumber/files/wireplumber-0.4.11-loop.patch @@ -0,0 +1,147 @@ +https://bugs.gentoo.org/866551 +https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/37c839b9308cd3d6580bf01077db8cb29ec2aa2f +https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/370b692933634675213110048fcda6dff52eb52b + +From: Pauli Virtanen <pav@iki.fi> +Date: Tue, 19 Jul 2022 20:39:06 +0300 +Subject: [PATCH] policy-node: fix potential rescan loop + +SiLink activation might be delayed indefinitely under some error +conditions. Currently, policy-node schedules a rescan when it sees a +non-activated link on a stream to be moved, which produces busy loop if +the si-link doesn't activate. + +Instead of rescheduling on non-active si-links, just remove and emit a +warning. The si-link then gets removed once it gets activated. + +Reproducer: + +1. Play audio from Rhythmbox and pause. +2. Switch default output with pactl between two different outputs +3. Links from the paused stream stay at "init" +--- a/src/scripts/policy-node.lua ++++ b/src/scripts/policy-node.lua +@@ -694,16 +694,15 @@ function handleLinkable (si) + local link = lookupLink (si_id, si_flags[si_id].peer_id) + if reconnect then + if link ~= nil then +- -- remove old link if active, otherwise schedule rescan +- if ((link:get_active_features() & Feature.SessionItem.ACTIVE) ~= 0) then +- si_flags[si_id].peer_id = nil +- link:remove () +- Log.info (si, "... moving to new target") +- else +- scheduleRescan() +- Log.info (si, "... scheduled rescan") +- return ++ -- remove old link ++ if ((link:get_active_features() & Feature.SessionItem.ACTIVE) == 0) then ++ -- remove also not yet activated links: they might never become active, ++ -- and we should not loop waiting for them ++ Log.warning (link, "Link was not activated before removing") + end ++ si_flags[si_id].peer_id = nil ++ link:remove () ++ Log.info (si, "... moving to new target") + end + else + if link ~= nil then +GitLab + +From: Pauli Virtanen <pav@iki.fi> +Date: Tue, 19 Jul 2022 20:01:10 +0300 +Subject: [PATCH] m-si-link: don't wait for establish before activation + + cleanup links + +SiLink should not wait for WpLinks becoming ESTABLISHED, before +activation. That flag shows whether a link has moved away from the +"init" state, however, links to e.g. Pulseaudio corked streams can stay +in "init" state until uncorking. This causes trouble for policies, +which needlessly wait for such links to establish. + +The WpLink objects may also be kept alive by other referents, and +just unrefing them does not necessarily destroy the PW objects. + +Activate SiLink even if the WpLink is still in "init" state. It's enough +that the link otherwise successfully establishes. + +At dispose time, explicitly request destroying the WpLinks that were +created by the SiLink, to ensure they are removed even if there's +something else referring to them. +--- a/modules/module-si-standard-link.c ++++ b/modules/module-si-standard-link.c +@@ -132,6 +132,27 @@ si_standard_link_get_associated_proxy (WpSessionItem * item, GType proxy_type) + return NULL; + } + ++static void ++request_destroy_link (gpointer data, gpointer user_data) ++{ ++ WpLink *link = WP_LINK (data); ++ ++ wp_global_proxy_request_destroy (WP_GLOBAL_PROXY (link)); ++} ++ ++static void ++clear_node_links (GPtrArray **node_links_p) ++{ ++ /* ++ * Something else (eg. object managers) may be keeping the WpLink ++ * objects alive. Deactive the links now, to destroy the PW objects. ++ */ ++ if (*node_links_p) ++ g_ptr_array_foreach (*node_links_p, request_destroy_link, NULL); ++ ++ g_clear_pointer (node_links_p, g_ptr_array_unref); ++} ++ + static void + si_standard_link_disable_active (WpSessionItem *si) + { +@@ -154,7 +175,8 @@ si_standard_link_disable_active (WpSessionItem *si) + WP_SI_LINKABLE (si_in)); + } + +- g_clear_pointer (&self->node_links, g_ptr_array_unref); ++ clear_node_links (&self->node_links); ++ + self->n_active_links = 0; + self->n_failed_links = 0; + self->n_async_ops_wait = 0; +@@ -168,7 +190,7 @@ on_link_activated (WpObject * proxy, GAsyncResult * res, + WpTransition * transition) + { + WpSiStandardLink *self = wp_transition_get_source_object (transition); +- guint len = self->node_links->len; ++ guint len = self->node_links ? self->node_links->len : 0; + + /* Count the number of failed and active links */ + if (wp_object_activate_finish (proxy, res, NULL)) +@@ -182,7 +204,7 @@ on_link_activated (WpObject * proxy, GAsyncResult * res, + + /* We only active feature if all links activated successfully */ + if (self->n_failed_links > 0) { +- g_clear_pointer (&self->node_links, g_ptr_array_unref); ++ clear_node_links (&self->node_links); + wp_transition_return_error (transition, g_error_new ( + WP_DOMAIN_LIBRARY, WP_LIBRARY_ERROR_OPERATION_FAILED, + "%d of %d PipeWire links failed to activate", +@@ -251,7 +273,7 @@ create_links (WpSiStandardLink * self, WpTransition * transition, + /* Clear old links if any */ + self->n_active_links = 0; + self->n_failed_links = 0; +- g_clear_pointer (&self->node_links, g_ptr_array_unref); ++ clear_node_links (&self->node_links); + + /* tuple format: + uint32 node_id; +@@ -327,7 +349,7 @@ create_links (WpSiStandardLink * self, WpTransition * transition, + + /* activate to ensure it is created without errors */ + wp_object_activate_closure (WP_OBJECT (link), +- WP_OBJECT_FEATURES_ALL, NULL, ++ WP_OBJECT_FEATURES_ALL & ~WP_LINK_FEATURE_ESTABLISHED, NULL, + g_cclosure_new_object ( + (GCallback) on_link_activated, G_OBJECT (transition))); + } +GitLab diff --git a/media-video/wireplumber/wireplumber-0.4.11-r3.ebuild b/media-video/wireplumber/wireplumber-0.4.11-r3.ebuild new file mode 100644 index 000000000000..99ca2c5c7956 --- /dev/null +++ b/media-video/wireplumber/wireplumber-0.4.11-r3.ebuild @@ -0,0 +1,131 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# 1. Please regularly check (even at the point of bumping) Fedora's packaging +# for needed backports at https://src.fedoraproject.org/rpms/wireplumber/tree/rawhide +# +# 2. Keep an eye on git master (for both PipeWire and WirePlumber) as things +# continue to move quickly. It's not uncommon for fixes to be made shortly +# after releases. + +LUA_COMPAT=( lua5-{3,4} ) + +inherit lua-single meson systemd + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://gitlab.freedesktop.org/pipewire/${PN}.git" + EGIT_BRANCH="master" + inherit git-r3 +else + SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +DESCRIPTION="Replacement for pipewire-media-session" +HOMEPAGE="https://gitlab.freedesktop.org/pipewire/wireplumber" + +LICENSE="MIT" +SLOT="0/0.4" +IUSE="elogind system-service systemd test" + +REQUIRED_USE=" + ${LUA_REQUIRED_USE} + ?? ( elogind systemd ) + system-service? ( systemd ) +" + +RESTRICT="!test? ( test )" + +# introspection? ( dev-libs/gobject-introspection ) is valid but likely only used for doc building +BDEPEND=" + dev-libs/glib + dev-util/gdbus-codegen + dev-util/glib-utils + sys-devel/gettext +" + +DEPEND=" + ${LUA_DEPS} + >=dev-libs/glib-2.62 + >=media-video/pipewire-0.3.53-r1:= + virtual/libintl + elogind? ( sys-auth/elogind ) + systemd? ( sys-apps/systemd ) +" + +# Any dev-lua/* deps get declared like this inside RDEPEND: +# $(lua_gen_cond_dep ' +# dev-lua/<NAME>[${LUA_USEDEP}] +# ') +RDEPEND="${DEPEND} + system-service? ( + acct-user/pipewire + acct-group/pipewire + ) +" + +DOCS=( {NEWS,README}.rst ) + +PATCHES=( + "${FILESDIR}"/${PN}-0.4.10-config-disable-sound-server-parts.patch # defer enabling sound server parts to media-video/pipewire + "${FILESDIR}"/${P}-alsa-lua-crash.patch + "${FILESDIR}"/${P}-dbus-reconnect-crash.patch + "${FILESDIR}"/${P}-loop.patch +) + +src_configure() { + local emesonargs=( + -Ddoc=disabled # Ebuild not wired up yet (Sphinx, Doxygen?) + -Dintrospection=disabled # Only used for Sphinx doc generation + -Dsystem-lua=true # We always unbundle everything we can + -Dsystem-lua-version=$(ver_cut 1-2 $(lua_get_version)) + $(meson_feature elogind) + $(meson_feature systemd) + $(meson_use system-service systemd-system-service) + $(meson_use systemd systemd-user-service) + -Dsystemd-system-unit-dir=$(systemd_get_systemunitdir) + -Dsystemd-user-unit-dir=$(systemd_get_userunitdir) + $(meson_use test tests) + ) + + meson_src_configure +} + +src_install() { + meson_src_install + + # We copy the default config, so that Gentoo tools can pick up on any + # updates and /etc does not end up with stale overrides. + # If a reflinking CoW filesystem is used (e.g. Btrfs), then the files + # will not actually get stored twice until modified. + insinto /etc + doins -r "${ED}"/usr/share/wireplumber +} + +pkg_postinst() { + if systemd_is_booted ; then + ewarn "pipewire-media-session.service is no longer installed. You must switch" + ewarn "to wireplumber.service user unit before your next logout/reboot:" + ewarn "systemctl --user disable pipewire-media-session.service" + ewarn "systemctl --user --force enable wireplumber.service" + else + ewarn "Switch to WirePlumber will happen the next time gentoo-pipewire-launcher" + ewarn "is started (a replacement for directly calling pipewire binary)." + ewarn + ewarn "Please ensure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist" + ewarn "or, if it does exist, that any reference to" + ewarn "${EROOT}/usr/bin/pipewire-media-session is commented out (begins with a #)." + fi + if use system-service; then + ewarn + ewarn "WARNING: you have enabled the system-service USE flag, which installs" + ewarn "the system-wide systemd units that enable WirePlumber to run as a system" + ewarn "service. This is more than likely NOT what you want. You are strongly" + ewarn "advised not to enable this mode and instead stick with systemd user" + ewarn "units. The default configuration files will likely not work out of" + ewarn "box, and you are on your own with configuration." + ewarn + fi +} |