kumquat-buildroot/package/pipewire/pipewire.mk
James Hilliard ddad938149 package/pipewire: add option to enable media-session support
The example media-session pipewire session manager requires
pipewire to be built with examples enabled, add support for
enabling this while depending on examples being enabled.

To simplify adding support for additional session managers in
the future such as wireplumber we pass a comma separated list
to the -Dsession-managers meson config option. This also will
ensure that systemd services that depend on media-session are
only installed if media-session support is enabled.

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-09-21 22:39:11 +02:00

170 lines
4.3 KiB
Makefile

################################################################################
#
# pipewire
#
################################################################################
PIPEWIRE_VERSION = 0.3.35
PIPEWIRE_SOURCE = pipewire-$(PIPEWIRE_VERSION).tar.bz2
PIPEWIRE_SITE = https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/$(PIPEWIRE_VERSION)
PIPEWIRE_LICENSE = MIT, LGPL-2.1+ (libspa-alsa), GPL-2.0 (libjackserver)
PIPEWIRE_LICENSE_FILES = COPYING LICENSE
PIPEWIRE_INSTALL_STAGING = YES
PIPEWIRE_DEPENDENCIES = host-pkgconf dbus $(TARGET_NLS_DEPENDENCIES)
PIPEWIRE_CONF_OPTS += \
-Ddocs=disabled \
-Dman=disabled \
-Dtests=disabled \
-Dspa-plugins=enabled \
-Daudiomixer=enabled \
-Daudioconvert=enabled \
-Dcontrol=enabled \
-Daudiotestsrc=enabled \
-Dsupport=enabled \
-Devl=disabled \
-Dtest=disabled \
-Dvideoconvert=enabled \
-Dvideotestsrc=enabled \
-Dvolume=enabled
ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
PIPEWIRE_CONF_OPTS += -Dudev=enabled
PIPEWIRE_DEPENDENCIES += udev
else
PIPEWIRE_CONF_OPTS += -Dudev=disabled
endif
ifeq ($(BR2_PACKAGE_PIPEWIRE_EXAMPLES),y)
PIPEWIRE_CONF_OPTS += -Dexamples=enabled
else
PIPEWIRE_CONF_OPTS += -Dexamples=disabled
endif
ifeq ($(BR2_PACKAGE_PIPEWIRE_GSTREAMER),y)
PIPEWIRE_CONF_OPTS += -Dgstreamer=enabled
PIPEWIRE_DEPENDENCIES += libglib2 gstreamer1 gst1-plugins-base
else
PIPEWIRE_CONF_OPTS += -Dgstreamer=disabled
endif
ifeq ($(BR2_PACKAGE_SYSTEMD),y)
PIPEWIRE_CONF_OPTS += \
-Dsystemd=enabled \
-Dsystemd-system-service=enabled \
-Dsystemd-user-service=enabled
PIPEWIRE_DEPENDENCIES += systemd
else
PIPEWIRE_CONF_OPTS += \
-Dsystemd=disabled \
-Dsystemd-system-service=disabled \
-Dsystemd-user-service=disabled
endif
ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
PIPEWIRE_CONF_OPTS += -Dpipewire-alsa=enabled
PIPEWIRE_DEPENDENCIES += alsa-lib
ifeq ($(BR2_PACKAGE_ALSA_LIB_SEQ)$(BR2_PACKAGE_ALSA_LIB_UCM)$(BR2_PACKAGE_HAS_UDEV),yyy)
PIPEWIRE_CONF_OPTS += -Dalsa=enabled
else
PIPEWIRE_CONF_OPTS += -Dalsa=disabled
endif
else
PIPEWIRE_CONF_OPTS += -Dalsa=disabled -Dpipewire-alsa=disabled
endif
ifeq ($(BR2_PACKAGE_AVAHI),y)
PIPEWIRE_CONF_OPTS += -Davahi=enabled
PIPEWIRE_DEPENDENCIES += avahi
else
PIPEWIRE_CONF_OPTS += -Davahi=disabled
endif
ifeq ($(BR2_PACKAGE_JACK2),y)
PIPEWIRE_CONF_OPTS += -Dpipewire-jack=enabled -Djack=enabled
PIPEWIRE_DEPENDENCIES += jack2
else
PIPEWIRE_CONF_OPTS += -Dpipewire-jack=disabled -Djack=disabled
endif
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS)$(BR2_PACKAGE_SBC),yy)
PIPEWIRE_CONF_OPTS += -Dbluez5=enabled
PIPEWIRE_DEPENDENCIES += bluez5_utils sbc
else
PIPEWIRE_CONF_OPTS += -Dbluez5=disabled
endif
ifeq ($(BR2_PACKAGE_FFMPEG),y)
PIPEWIRE_CONF_OPTS += -Dffmpeg=enabled
PIPEWIRE_DEPENDENCIES += ffmpeg
else
PIPEWIRE_CONF_OPTS += -Dffmpeg=disabled
endif
ifeq ($(BR2_PACKAGE_PIPEWIRE_V4L2),y)
PIPEWIRE_CONF_OPTS += -Dv4l2=enabled
else
PIPEWIRE_CONF_OPTS += -Dv4l2=disabled
endif
ifeq ($(BR2_PACKAGE_LIBCAMERA)$(BR2_PACKAGE_LIBDRM)$(BR2_PACKAGE_HAS_UDEV),yyy)
PIPEWIRE_CONF_OPTS += -Dlibcamera=enabled
PIPEWIRE_DEPENDENCIES += libcamera libdrm
else
PIPEWIRE_CONF_OPTS += -Dlibcamera=disabled
endif
ifeq ($(BR2_PACKAGE_LIBUSB),y)
PIPEWIRE_CONF_OPTS += -Dlibusb=enabled
PIPEWIRE_DEPENDENCIES += libusb
else
PIPEWIRE_CONF_OPTS += -Dlibusb=disabled
endif
ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER),y)
PIPEWIRE_CONF_OPTS += -Dvulkan=enabled
PIPEWIRE_DEPENDENCIES += mesa3d
else
PIPEWIRE_CONF_OPTS += -Dvulkan=disabled
endif
ifeq ($(BR2_PACKAGE_LIBSNDFILE),y)
PIPEWIRE_CONF_OPTS += -Dpw-cat=enabled -Dsndfile=enabled
PIPEWIRE_DEPENDENCIES += libsndfile
else
PIPEWIRE_CONF_OPTS += -Dpw-cat=disabled -Dsndfile=disabled
endif
ifeq ($(BR2_PACKAGE_PULSEAUDIO),y)
PIPEWIRE_CONF_OPTS += -Dlibpulse=enabled
PIPEWIRE_DEPENDENCIES += pulseaudio
else
PIPEWIRE_CONF_OPTS += -Dlibpulse=disabled
endif
ifeq ($(BR2_PACKAGE_SDL2),y)
PIPEWIRE_DEPENDENCIES += sdl2
PIPEWIRE_CONF_OPTS += -Dsdl2=enabled
else
PIPEWIRE_CONF_OPTS += -Dsdl2=disabled
endif
ifeq ($(WEBRTC_AUDIO_PROCESSING),y)
PIPEWIRE_CONF_OPTS += -Decho-cancel-webrtc=enabled
PIPEWIRE_DEPENDENCIES += webrtc-audio-processing
else
PIPEWIRE_CONF_OPTS += -Decho-cancel-webrtc=disabled
endif
ifeq ($(BR2_PACKAGE_PIPEWIRE_MEDIA_SESSION),y)
PIPEWIRE_SESSION_MANAGERS_LIST = media-session
endif
PIPEWIRE_CONF_OPTS += -Dsession-managers='$(subst $(space),$(comma),$(PIPEWIRE_SESSION_MANAGERS_LIST))'
define PIPEWIRE_USERS
pipewire -1 pipewire -1 * - - - PipeWire System Daemon
endef
$(eval $(meson-package))