diff options
author | V3n3RiX <venerix@koprulu.sector> | 2021-10-26 00:10:07 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2021-10-26 00:10:07 +0100 |
commit | 95461df035e3867364495f065e5e805bf629b2d7 (patch) | |
tree | 867dce371a84a696e91be255d89f282975aa0480 /media-video/pipewire/pipewire-9999.ebuild | |
parent | 46eedbedafdb0040c37884982d4c775ce277fb7b (diff) |
gentoo resync : 25.10.2021
Diffstat (limited to 'media-video/pipewire/pipewire-9999.ebuild')
-rw-r--r-- | media-video/pipewire/pipewire-9999.ebuild | 75 |
1 files changed, 41 insertions, 34 deletions
diff --git a/media-video/pipewire/pipewire-9999.ebuild b/media-video/pipewire/pipewire-9999.ebuild index b6c000cf8a53..7dabfed1cb8b 100644 --- a/media-video/pipewire/pipewire-9999.ebuild +++ b/media-video/pipewire/pipewire-9999.ebuild @@ -5,14 +5,14 @@ EAPI="7" PYTHON_COMPAT=( python3_{8..10} ) -inherit meson-multilib optfeature python-any-r1 systemd udev +inherit meson-multilib optfeature prefix python-any-r1 systemd udev if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git" inherit git-r3 else SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86" + KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" fi DESCRIPTION="Multimedia processing graphs" @@ -33,7 +33,6 @@ REQUIRED_USE="jack-sdk? ( !jack-client )" RESTRICT="!test? ( test )" BDEPEND=" - app-doc/xmltoman >=dev-util/meson-0.59 virtual/pkgconfig ${PYTHON_DEPS} @@ -83,6 +82,10 @@ RDEPEND=" DEPEND="${RDEPEND}" +# TODO: Consider use cases where pipewire is not used for driving audio +# Doing so with WirePlumber currently involves editing Lua scripts +PDEPEND="media-video/wireplumber" + # Present RDEPEND that are currently always disabled due to the PW # code using them being required to be disabled by Gentoo guidelines # (i.e. developer binaries not meant for users) and unready code @@ -110,12 +113,6 @@ python_check_deps() { src_prepare() { default - if ! use systemd; then - # This can be applied non-conditionally but would make for a - # significantly worse user experience on systemd then. - eapply "${FILESDIR}"/${PN}-0.3.36-non-systemd-integration.patch - fi - einfo "Generating ${limitsdfile}" cat > ${limitsdfile} <<- EOF || die # Start of ${limitsdfile} from ${P} @@ -130,10 +127,7 @@ multilib_src_configure() { local emesonargs=( -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} $(meson_native_use_feature doc docs) - $(meson_native_enabled examples) # Disabling this implicitly disables -Dmedia-session - # Replaced upstream by -Dsession-managers=..., needs more work, bug #812809 - # but default is same as before and right now, this is fatal with unreleased Meson. - #$(meson_native_enabled media-session) + $(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone $(meson_native_enabled man) $(meson_feature test tests) -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests @@ -144,7 +138,7 @@ multilib_src_configure() { $(meson_native_use_feature systemd systemd-user-service) $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph -Dspa-plugins=enabled - -Dalsa=enabled # Allows using kernel ALSA for sound I/O (-Dmedia-session depends on this) + -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) -Daudiomixer=enabled # Matches upstream -Daudioconvert=enabled # Matches upstream $(meson_native_use_feature bluetooth bluez5) @@ -177,13 +171,14 @@ multilib_src_configure() { -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d" -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install) $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat) + -Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build ) meson_src_configure } multilib_src_install() { - # Our customs DOCS do not exist in multilib source directory + # Our custom DOCS do not exist in multilib source directory DOCS= meson_src_install } @@ -195,7 +190,7 @@ multilib_src_install_all() { if use pipewire-alsa; then dodir /etc/alsa/conf.d - # These will break if someone has /etc that is a symbol link to a subfolder! See #724222 + # These will break if someone has /etc that is a symbolic link to a subfolder! See #724222 # And the current dosym8 -r implementation is likely affected by the same issue, too. dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/99-pipewire-default.conf @@ -205,8 +200,9 @@ multilib_src_install_all() { insinto /etc/xdg/autostart newins "${FILESDIR}"/pipewire.desktop pipewire.desktop - exeinto /usr/libexec - newexe "${FILESDIR}"/pipewire-launcher.sh pipewire-launcher + exeinto /usr/bin + newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher + eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher fi } @@ -240,26 +236,37 @@ pkg_postinst() { elog "A reboot is recommended to avoid interferences from still running" elog "PulseAudio daemon." elog - elog "Both, new users and those upgrading, need to enable pipewire-media-session" + elog "Both, new users and those upgrading, need to enable WirePlumber" elog "for relevant users:" elog - elog " systemctl --user enable --now pipewire-media-session.service" + elog " systemctl --user enable --now wireplumber.service" elog else - elog "This ebuild auto-enables PulseAudio replacement. Because of that, users" - elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable" - elog "autospawning of the original daemon by setting:" - elog - elog " autospawn = no" - elog - elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!" - elog - elog "Alternatively, if replacing PulseAudio daemon is not desired, edit" - elog "${EROOT}/etc/pipewire/pipewire.conf by commenting out the relevant" - elog "command near the end of the file:" - elog - elog "#\"/usr/bin/pipewire\" = { args = \"-c pipewire-pulse.conf\" }" - elog + ewarn "PipeWire daemon startup has been moved to a launcher script!" + ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no" + ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all" + ewarn "lines similar to `{ path = \"/usr/bin/pipewire*` should be commented out)" + ewarn + ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from" + ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly" + ewarn "advised that a D-Bus user session is set up before starting the script." + ewarn + if has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon'; then + elog "This ebuild auto-enables PulseAudio replacement. Because of that, users" + elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable" + elog "autospawning of the original daemon by setting:" + elog + elog " autospawn = no" + elog + elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!" + elog + elog "Alternatively, if replacing PulseAudio daemon is not desired, edit" + elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant" + elog "command:" + elog + elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &" + elog + fi elog "NOTE:" elog "Starting with PipeWire-0.3.30, this package is no longer installing its config" elog "into ${EROOT}/etc/pipewire by default. In case you need to change" |