void-packages/srcpkgs/pipewire/template

184 lines
4.7 KiB
Bash

# Template file for 'pipewire'
pkgname=pipewire
version=1.2.0
revision=1
build_style=meson
configure_args="
--auto-features=enabled
-Db_ndebug=false
-Ddocs=enabled
-Dman=enabled
-Dlibcamera=enabled
-Droc=disabled
$(vopt_feature sdl2 sdl2)
-Dsystemd=disabled
-Dudevrulesdir=/usr/lib/udev/rules.d
-Dvulkan=enabled
-Dbluez5-codec-lc3plus=disabled
-Dgsettings-pulse-schema=disabled
-Dsnap=disabled
-Dsession-managers=[]
-Drlimits-match=@_pipewire
$(vopt_feature ffado libffado)
$(vopt_feature selinux selinux)
"
hostmakedepends="doxygen pkg-config python3-docutils gettext glib-devel"
makedepends="$(vopt_if sdl2 SDL2-devel) gst-plugins-base1-devel jack-devel
sbc-devel v4l-utils-devel libva-devel libbluetooth-devel ncurses-devel
libfreeaptx-devel libusb-devel fdk-aac-devel libsndfile-devel
vulkan-loader-devel pulseaudio-devel avahi-libs-devel webrtc-audio-processing-devel
readline-devel openssl-devel lilv-devel libcanberra-devel dbus-devel
libmysofa-devel opus-devel $(vopt_if ffado libffado-devel) liblc3-devel
$(vopt_if selinux libselinux-devel) libcamera-devel libcap-devel"
depends="libspa-alsa>=${version}_${revision} libspa-audioconvert>=${version}_${revision}
libspa-audiomixer>=${version}_${revision} libspa-control>=${version}_${revision}
libspa-v4l2>=${version}_${revision} pulseaudio-utils virtual?pipewire-session-manager"
checkdepends="pulseaudio-utils"
short_desc="Server and user space API to deal with multimedia pipelines"
maintainer="cinerea0 <cinerea0@protonmail.com>"
license="MIT"
homepage="https://pipewire.org/"
changelog="https://gitlab.freedesktop.org/pipewire/pipewire/-/raw/master/NEWS"
distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz"
checksum=477eb1245a66a982345404b57fab1b9f402c12292047c4d9bea90d6445374653
make_dirs="/var/lib/pipewire 0755 _pipewire _pipewire"
system_accounts="_pipewire"
build_options="ffado sdl2 selinux"
desc_option_ffado="Enable support for FireWire based audio devices"
desc_option_selinux="Enable SELinux integration"
replaces="libpulseaudio-pipewire>=0"
if [ "$XBPS_TARGET_ENDIAN" = "le" ]; then
makedepends+=" ldacBT-devel"
else
configure_args+=" -Dbluez5-codec-ldac=disabled"
fi
post_install() {
vlicense LICENSE
vdoc "${FILESDIR}/README.voidlinux"
vmkdir usr/share/examples/sv
vcopy ${FILESDIR}/pipewire usr/share/examples/sv/
vinstall "${FILESDIR}/pipewire.desktop" 644 usr/share/applications
vinstall "${FILESDIR}/pipewire-pulse.desktop" 644 usr/share/applications
vsconf "${FILESDIR}/20-pipewire-pulse.conf"
}
libpipewire_package() {
short_desc+=" - pipewire library"
pkg_install() {
vmove "usr/lib/libpipewire-0.3.so.*"
vmove "usr/lib/pipewire-0.3/*.so"
}
}
pipewire-devel_package() {
depends="libpipewire>=${version}_${revision}"
short_desc+=" - pipewire and libspa development files"
pkg_install() {
vmove usr/include/pipewire-0.3
vmove usr/include/spa-0.2
vmove usr/lib/pkgconfig/libpipewire-0.3.pc
vmove usr/lib/pkgconfig/libspa-0.2.pc
vmove usr/lib/libpipewire-0.3.so
}
}
libspa-alsa_package() {
short_desc+=" - alsa plugins"
pkg_install() {
vmove usr/lib/spa-0.2/alsa
}
}
libspa-audioconvert_package() {
short_desc+=" - audioconvert plugins"
pkg_install() {
vmove usr/lib/spa-0.2/audioconvert
}
}
libspa-audiomixer_package() {
short_desc+=" - audiomixer plugins"
pkg_install() {
vmove usr/lib/spa-0.2/audiomixer
}
}
libspa-bluetooth_package() {
short_desc+=" - bluetooth plugins"
pkg_install() {
vmove usr/lib/spa-0.2/bluez5
}
}
libspa-control_package() {
short_desc+=" - control plugins"
pkg_install() {
vmove usr/lib/spa-0.2/control
}
}
libspa-jack_package() {
short_desc+=" - jack plugins"
pkg_install() {
vmove usr/lib/spa-0.2/jack
}
}
libspa-v4l2_package() {
short_desc+=" - v4l2 plugins"
pkg_install() {
vmove usr/lib/spa-0.2/v4l2
}
}
libspa-videoconvert_package() {
short_desc+=" - videoconvert plugins"
pkg_install() {
vmove usr/lib/spa-0.2/videoconvert
}
}
libspa-vulkan_package() {
short_desc+=" - vulkan plugins"
pkg_install() {
vmove usr/lib/spa-0.2/vulkan
}
}
gstreamer1-pipewire_package() {
short_desc+=" - gstreamer plugin"
pkg_install() {
vmove usr/lib/gstreamer-1.0
}
}
alsa-pipewire_package() {
depends="libpipewire>=${version}_${revision}"
short_desc+=" - ALSA client library"
pkg_install() {
vmove usr/lib/alsa-lib
vmove usr/share/alsa/alsa.conf.d
}
}
libjack-pipewire_package() {
depends="libpipewire>=${version}_${revision}"
short_desc+=" - JACK client library"
pkg_install() {
vmove usr/lib/pipewire-0.3/jack
vmove usr/bin/pw-jack
vmove usr/share/man/man1/pw-jack.1
}
}
pipewire-doc_package() {
short_desc+=" - documentation"
pkg_install() {
vmove usr/share/doc/pipewire/html
}
}