You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
105 lines
3.2 KiB
105 lines
3.2 KiB
3 years ago
|
# Copyright 1999-2022 Gentoo Authors
|
||
3 years ago
|
# Distributed under the terms of the GNU General Public License v2
|
||
|
|
||
|
EAPI=7
|
||
|
|
||
|
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"
|
||
3 years ago
|
|
||
|
# One commit is in git, the rest are in a PR which should be merged soon
|
||
|
# bug #817881
|
||
|
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-0.4.5-endianness-fixes.patch.bz2"
|
||
|
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
|
||
3 years ago
|
fi
|
||
|
|
||
|
DESCRIPTION="Replacement for pipewire-media-session"
|
||
|
HOMEPAGE="https://gitlab.freedesktop.org/pipewire/wireplumber"
|
||
|
|
||
|
LICENSE="MIT"
|
||
|
SLOT="0/0.4"
|
||
3 years ago
|
IUSE="elogind systemd test"
|
||
3 years ago
|
|
||
3 years ago
|
REQUIRED_USE="
|
||
|
${LUA_REQUIRED_USE}
|
||
|
?? ( elogind systemd )
|
||
|
"
|
||
3 years ago
|
|
||
3 years ago
|
RESTRICT="!test? ( test )"
|
||
|
|
||
3 years ago
|
# 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
|
||
|
"
|
||
|
|
||
|
DEPEND="
|
||
|
${LUA_DEPS}
|
||
|
>=dev-libs/glib-2.62
|
||
3 years ago
|
>=media-video/pipewire-0.3.42:=
|
||
3 years ago
|
virtual/libc
|
||
3 years ago
|
elogind? ( sys-auth/elogind )
|
||
3 years ago
|
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}"
|
||
|
|
||
|
DOCS=( {NEWS,README}.rst )
|
||
|
|
||
3 years ago
|
PATCHES=(
|
||
3 years ago
|
"${FILESDIR}"/${P}-m-reserve-device-replace-the-hash-table-key-on-new-i.patch
|
||
|
"${FILESDIR}"/${P}-policy-node-wait-for-nodes-when-we-become-unlinked.patch
|
||
|
"${FILESDIR}"/${P}-lib-don-t-read-hidden-files-from-the-config-director.patch
|
||
|
"${FILESDIR}"/${P}-alsa-handle-the-release-requested-signal.patch
|
||
|
"${FILESDIR}"/${P}-access-config-add-restricted-access-permissions.patch
|
||
2 years ago
|
"${FILESDIR}"/${P}-default-routes.lua-reevaluate-current-profile-only-f.patch
|
||
3 years ago
|
"${WORKDIR}"/${P}-endianness-fixes.patch
|
||
3 years ago
|
)
|
||
|
|
||
3 years ago
|
src_configure() {
|
||
|
local emesonargs=(
|
||
3 years ago
|
-Ddoc=disabled # Ebuild not wired up yet (Sphinx, Doxygen?)
|
||
3 years ago
|
-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))
|
||
3 years ago
|
$(meson_feature elogind)
|
||
3 years ago
|
$(meson_feature systemd)
|
||
|
-Dsystemd-system-service=false # Matches upstream
|
||
|
$(meson_use systemd systemd-user-service)
|
||
|
-Dsystemd-system-unit-dir=$(systemd_get_systemunitdir)
|
||
|
-Dsystemd-user-unit-dir=$(systemd_get_userunitdir)
|
||
3 years ago
|
$(meson_use test tests)
|
||
3 years ago
|
)
|
||
|
|
||
|
meson_src_configure
|
||
|
}
|
||
|
|
||
|
pkg_postinst() {
|
||
|
if systemd_is_booted ; then
|
||
3 years ago
|
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"
|
||
3 years ago
|
else
|
||
3 years ago
|
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 #)."
|
||
3 years ago
|
fi
|
||
3 years ago
|
ewarn
|
||
3 years ago
|
}
|