2023-08-06 23:10:30 +00:00
|
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv)
|
|
|
|
|
|
|
|
PKG_NAME="pipewire"
|
2023-08-07 02:22:19 +00:00
|
|
|
PKG_VERSION="0.3.77"
|
2023-08-06 23:10:30 +00:00
|
|
|
PKG_LICENSE="LGPL"
|
|
|
|
PKG_SITE="https://pipewire.org"
|
|
|
|
PKG_URL="https://github.com/PipeWire/pipewire/archive/${PKG_VERSION}.tar.gz"
|
|
|
|
PKG_DEPENDS_TARGET="toolchain libpthread-stubs dbus ncurses alsa-lib systemd libsndfile libusb"
|
|
|
|
PKG_LONGDESC="PipeWire is a server and user space API to deal with multimedia pipeline"
|
|
|
|
|
|
|
|
if [ "${BLUETOOTH_SUPPORT}" = "yes" ]; then
|
|
|
|
PKG_DEPENDS_TARGET+=" bluez sbc ldacBT libfreeaptx"
|
|
|
|
PKG_PIPEWIRE_BLUETOOTH="-Dbluez5=enabled \
|
|
|
|
-Dbluez5-backend-hsp-native=disabled \
|
|
|
|
-Dbluez5-backend-hfp-native=disabled \
|
|
|
|
-Dbluez5-backend-ofono=disabled \
|
|
|
|
-Dbluez5-backend-hsphfpd=disabled \
|
|
|
|
-Dbluez5-codec-aptx=enabled \
|
|
|
|
-Dbluez5-codec-ldac=enabled \
|
|
|
|
-Dbluez5-codec-aac=disabled"
|
|
|
|
else
|
|
|
|
PKG_PIPEWIRE_BLUETOOTH="-Dbluez5=disabled"
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "${VULKAN_SUPPORT}" = "yes" ]; then
|
|
|
|
PKG_PIPEWIRE_VULKAN+="-Dvulkan=enabled \
|
|
|
|
-Dx11=disabled \
|
|
|
|
-Dx11-xfixes=disabled"
|
|
|
|
fi
|
|
|
|
|
|
|
|
PKG_MESON_OPTS_TARGET="-Ddocs=disabled \
|
|
|
|
-Dexamples=disabled \
|
|
|
|
-Dman=disabled \
|
|
|
|
-Dtests=disabled \
|
|
|
|
-Dinstalled_tests=disabled \
|
|
|
|
-Dgstreamer=disabled \
|
|
|
|
-Dgstreamer-device-provider=disabled \
|
|
|
|
-Dsystemd=enabled \
|
|
|
|
-Dsystemd-system-service=enabled \
|
|
|
|
-Dsystemd-user-service=disabled \
|
|
|
|
-Dpipewire-alsa=enabled \
|
|
|
|
-Dpipewire-jack=disabled \
|
|
|
|
-Dpipewire-v4l2=disabled \
|
|
|
|
-Djack-devel=false
|
|
|
|
-Dspa-plugins=enabled \
|
|
|
|
-Dalsa=enabled \
|
|
|
|
-Daudiomixer=enabled \
|
|
|
|
-Daudioconvert=enabled \
|
|
|
|
${PKG_PIPEWIRE_BLUETOOTH} \
|
|
|
|
-Dcontrol=enabled \
|
|
|
|
-Daudiotestsrc=disabled \
|
|
|
|
-Dffmpeg=disabled \
|
|
|
|
-Djack=disabled \
|
|
|
|
-Dsupport=enabled \
|
|
|
|
-Devl=disabled \
|
|
|
|
-Dtest=disabled \
|
|
|
|
-Dv4l2=disabled \
|
|
|
|
-Ddbus=enabled \
|
|
|
|
-Dlibcamera=disabled \
|
|
|
|
-Dvideoconvert=disabled \
|
|
|
|
-Dvideotestsrc=disabled \
|
|
|
|
-Dvolume=enabled \
|
|
|
|
${PKG_PIPEWIRE_VULKAN} \
|
|
|
|
-Dpw-cat=enabled \
|
|
|
|
-Dudev=enabled \
|
|
|
|
-Dudevrulesdir=/usr/lib/udev/rules.d \
|
|
|
|
-Dsdl2=disabled \
|
|
|
|
-Dsndfile=enabled \
|
|
|
|
-Dlibpulse=enabled \
|
|
|
|
-Droc=disabled \
|
|
|
|
-Davahi=disabled \
|
|
|
|
-Decho-cancel-webrtc=disabled \
|
|
|
|
-Dlibusb=enabled \
|
|
|
|
-Dsession-managers=[] \
|
|
|
|
-Draop=disabled \
|
|
|
|
-Dlv2=disabled \
|
|
|
|
-Dlibcanberra=disabled \
|
|
|
|
-Dlegacy-rtkit=false"
|
|
|
|
|
|
|
|
pre_configure_target() {
|
|
|
|
export TARGET_LDFLAGS="${TARGET_LDFLAGS} -lncursesw -ltinfow"
|
|
|
|
}
|
|
|
|
|
|
|
|
post_makeinstall_target() {
|
|
|
|
# connect to the system bus
|
|
|
|
sed '/^\[Service\]/a Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/dbus/system_bus_socket' -i ${INSTALL}/usr/lib/systemd/system/pipewire.service
|
|
|
|
}
|
|
|
|
|
|
|
|
post_install() {
|
|
|
|
add_user pipewire x 982 980 "pipewire-daemon" "/var/run/pipewire" "/bin/sh"
|
|
|
|
add_group pipewire 980
|
|
|
|
# note that the pipewire user is added to the audio and video groups in systemd/package.mk
|
|
|
|
# todo: maybe there is a better way to add users to groups in the future?
|
|
|
|
|
|
|
|
enable_service pipewire.socket
|
|
|
|
enable_service pipewire.service
|
|
|
|
}
|