mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-10-31 22:25:38 -04:00
Add a new build option 'system-user-unit=dir', which can be used to override the pkg-config default value. By doing this, it becomes more practical to make a local unprivileged build of the latest PipeWire: $ meson --prefix=~/.local build $ meson configure build -Dpipewire-alsa=false $ meson configure build -Dsystemd-user-unit-dir=~/.config/systemd/user $ meson configure build -Dudevrulesdir="`mktemp -d`" $ ninja -C build install For a local build enabling ALSA plugins is not plausible. JACK needs a simple addition to the ~/.profile: export LD_LIBRARY_PATH=$HOME/.local/lib/x86_64-linux-gnu/pipewire-0.3/jack Finally, the genuine PulseAudio must be masked and local services enabled: systemctl --user enable pipewire.socket systemctl --user enable pipewire-pulse.socket systemctl --user mask pulseaudio.service A sanity check [*] shows that nothing has leaked out of the home directory (even though at least on my Debian 10 system PolKit still asks for authorization during the meson build). Not perfect, but lowers a barrier to run the development version a lot, as that does not anymore to trash your system. [*] find / -name "*pipewire*" \! -path "/home/*" \! -path "/var/lib/flatpak/*" 2> /dev/null Signed-off-by: Jarkko Sakkinen <jarkko@suppilovahvero.lan>
145 lines
4.5 KiB
Meson
145 lines
4.5 KiB
Meson
option('docs',
|
|
description: 'Build documentation',
|
|
type: 'boolean',
|
|
value: false)
|
|
option('examples',
|
|
description: 'Build examples',
|
|
type: 'boolean',
|
|
value: true)
|
|
option('man',
|
|
description: 'Build manpages',
|
|
type: 'boolean',
|
|
value: true)
|
|
option('tests',
|
|
description: 'Build tests',
|
|
type: 'boolean',
|
|
value: true)
|
|
option('installed_tests',
|
|
description: 'Install manual and automated test executables',
|
|
type: 'boolean',
|
|
value: false)
|
|
option('gstreamer',
|
|
description: 'Build GStreamer plugins',
|
|
type: 'boolean',
|
|
value: true)
|
|
option('gstreamer-device-provider',
|
|
description: 'Build GStreamer device provider plugin',
|
|
type: 'boolean',
|
|
value: true)
|
|
option('systemd',
|
|
description: 'Enable systemd integration',
|
|
type: 'boolean',
|
|
value: true)
|
|
option('systemd-system-service',
|
|
description: 'Install systemd system service file',
|
|
type: 'boolean',
|
|
value: false)
|
|
option('systemd-user-service',
|
|
description: 'Install systemd user service file',
|
|
type: 'boolean',
|
|
value: true)
|
|
option('pipewire-alsa',
|
|
description: 'Enable pipewire-alsa integration',
|
|
type: 'boolean',
|
|
value: true)
|
|
option('pipewire-jack',
|
|
description: 'Enable pipewire-jack integration',
|
|
type: 'boolean',
|
|
value: true)
|
|
option('libjack-path',
|
|
description: 'Where to install the libjack.so library',
|
|
type: 'string')
|
|
option('spa-plugins',
|
|
description: 'Enable spa plugins integration',
|
|
type: 'boolean',
|
|
value: true)
|
|
option('alsa',
|
|
description: 'Enable alsa spa plugin integration',
|
|
type: 'boolean',
|
|
value: true)
|
|
option('audiomixer',
|
|
description: 'Enable audiomixer spa plugin integration',
|
|
type: 'boolean',
|
|
value: true)
|
|
option('audioconvert',
|
|
description: 'Enable audioconvert spa plugin integration',
|
|
type: 'boolean',
|
|
value: true)
|
|
option('bluez5',
|
|
description: 'Enable bluez5 spa plugin integration',
|
|
type: 'boolean',
|
|
value: true)
|
|
option('bluez5-backend-native',
|
|
description: 'Enable native HSP backend in bluez5 spa plugin',
|
|
type: 'boolean',
|
|
value: true)
|
|
option('bluez5-backend-ofono',
|
|
description: 'Enable oFono HFP backend in bluez5 spa plugin',
|
|
type: 'boolean',
|
|
value: true)
|
|
option('bluez5-backend-hsphfpd',
|
|
description: 'Enable hsphfpd backend in bluez5 spa plugin',
|
|
type: 'boolean',
|
|
value: false)
|
|
option('control',
|
|
description: 'Enable control spa plugin integration',
|
|
type: 'boolean',
|
|
value: true)
|
|
option('audiotestsrc',
|
|
description: 'Enable audiotestsrc spa plugin integration',
|
|
type: 'boolean',
|
|
value: false)
|
|
option('ffmpeg',
|
|
description: 'Enable ffmpeg spa plugin integration',
|
|
type: 'boolean',
|
|
value: false)
|
|
option('jack',
|
|
description: 'Enable jack spa plugin integration',
|
|
type: 'boolean',
|
|
value: true)
|
|
option('support',
|
|
description: 'Enable support spa plugin integration',
|
|
type: 'boolean',
|
|
value: true)
|
|
option('evl',
|
|
description: 'Enable EVL support spa plugin integration',
|
|
type: 'boolean',
|
|
value: false)
|
|
option('test',
|
|
description: 'Enable test spa plugin integration',
|
|
type: 'boolean',
|
|
value: false)
|
|
option('v4l2',
|
|
description: 'Enable v4l2 spa plugin integration',
|
|
type: 'boolean',
|
|
value: true)
|
|
option('libcamera',
|
|
description: 'Enable libcamera spa plugin integration',
|
|
type: 'boolean',
|
|
value: false)
|
|
option('videoconvert',
|
|
description: 'Enable videoconvert spa plugin integration',
|
|
type: 'boolean',
|
|
value: true)
|
|
option('videotestsrc',
|
|
description: 'Enable videotestsrc spa plugin integration',
|
|
type: 'boolean',
|
|
value: false)
|
|
option('volume',
|
|
description: 'Enable volume spa plugin integration',
|
|
type: 'boolean',
|
|
value: false)
|
|
option('vulkan',
|
|
description: 'Enable vulkan spa plugin integration',
|
|
type: 'boolean',
|
|
value: true)
|
|
option('pw-cat',
|
|
description: 'Build pw-cat/pw-play/pw-record',
|
|
type: 'boolean',
|
|
value: true)
|
|
option('udevrulesdir',
|
|
type : 'string',
|
|
description : 'Directory for udev rules (defaults to /lib/udev/rules.d)')
|
|
option('systemd-user-unit-dir',
|
|
type : 'string',
|
|
description : 'Directory for user systemd units (defaults to /usr/lib/systemd/user)')
|