void-packages/srcpkgs/pipewire/template

190 lines
4.8 KiB
Bash

# Template file for 'pipewire'
pkgname=pipewire
version=0.3.61
revision=1
_pms_version=0.4.1
create_wrksrc=yes
build_wrksrc="${pkgname}-${version}"
build_style=meson
configure_args="
--auto-features=enabled
-Db_ndebug=false
-Ddocs=enabled
-Dlibcamera=disabled
-Droc=disabled
-Dsdl2=$(vopt_if sdl2 enabled disabled)
-Dsystemd=disabled
-Dudevrulesdir=/usr/lib/udev/rules.d
-Dvulkan=enabled
-Dmedia-session:systemd=disabled
-Dbluez5-codec-lc3plus=disabled
-Dsession-managers=media-session
"
hostmakedepends="doxygen graphviz pkg-config python3-docutils gettext"
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-Headers
vulkan-loader pulseaudio-devel avahi-libs-devel webrtc-audio-processing-devel
readline-devel openssl-devel lilv-devel libcanberra-devel dbus-devel"
depends="libspa-alsa>=${version}_${revision} libspa-audioconvert>=${version}_${revision}
libspa-audiomixer>=${version}_${revision} libspa-control>=${version}_${revision}
libspa-v4l2>=${version}_${revision} pulseaudio-utils"
checkdepends="pulseaudio-utils"
short_desc="Server and user space API to deal with multimedia pipelines"
maintainer="Stefano Ragni <stefano.ragni@outlook.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
https://gitlab.freedesktop.org/pipewire/media-session/-/archive/${_pms_version}/media-session-${_pms_version}.tar.gz"
checksum="9cbc7048808c693cb7952c4b446e9ffbb91d1b34f057c340d83ae4e6d2d08f1d
119c9216070b54018217552c7924f9888da270c3c4647c5e2b85ffa6b1574975"
make_dirs="/var/lib/pipewire 0755 _pipewire _pipewire"
system_accounts="_pipewire"
patch_args="-Np1 --directory=${build_wrksrc}"
build_options="sdl2"
replaces="libpulseaudio-pipewire>=0"
if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
makedepends+=" libatomic-devel"
LDFLAGS+=" -latomic"
fi
if [ "$XBPS_TARGET_ENDIAN" = "le" ]; then
makedepends+=" ldacBT-devel"
else
configure_args+=" -Dbluez5-codec-ldac=disabled"
fi
post_extract() {
mv media-session-${_pms_version} ${build_wrksrc}/subprojects/media-session
}
post_install() {
vlicense LICENSE
vdoc "${FILESDIR}/README.voidlinux"
vsv pipewire
vsv pipewire-pulse
vmkdir usr/share/applications
cp "${FILESDIR}/pipewire.desktop" ${DESTDIR}/usr/share/applications/pipewire.desktop
cp "${FILESDIR}/pipewire-pulse.desktop" ${DESTDIR}/usr/share/applications/pipewire-pulse.desktop
}
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
}
}