#!/usr/bin/env bash
name='pipewire'
release='4'
version='1.2.4'
url='https://pipewire.org/'
description='Multimedia processing graphs '
email='bayramk@gmail.com'
maintainer='bk'
license=('GPLv3')
source=("https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/$version/pipewire-$version.tar.gz"
        "pipewire.initd"
        "pipewire-launcher.sh")
depends=(lilv libpulse alsa-lib dbus)
makedepends=()
sha256sums=('b88b9c94548128f0078dc6d376389c2447c6c324ee6dda20d9037bc77a9dd4ee'
         'SKIP'
         'SKIP')
group=(media.video)
uses=(alsa gstreamer bluetooth jack)
uses_extra=(v4l2)
bluetooth_depends=(bluez)
arch=('x86_64')

cd $name-$version

setup(){

   meson setup build --prefix=/usr \
    --libdir=/usr/lib64 \
    -D gstreamer=$(use_opt gstreamer enabled disabled)\
    -D gstreamer-device-provider=$(use_opt gstreamer enabled disabled) \
    -D pipewire-alsa=$(use_opt alsa enabled disabled)\
    -D alsa=$(use_opt alsa enabled disabled)\
    -D jack=$(use_opt jack enabled disabled)\
    -D bluez5=$(use_opt bluetooth enabled disabled)\
    -D bluez5-backend-hsp-native=$(use_opt bluetooth enabled disabled)\
    -D bluez5-backend-hfp-native=$(use_opt bluetooth enabled disabled)\
    -D bluez5-codec-opus=$(use_opt bluetooth enabled disabled)\
    -D v4l2=$(use_opt v4l2 enabled disabled)\
    -D session-managers=[]
}
build(){
   ninja -C build
}

package(){
    ninja -C build install
    mkdir -p ${DESTDIR}/usr/libexec \
        ${DESTDIR}/etc/init.d \
        ${DESTDIR}/etc/profile.d \
        ${DESTDIR}/etc/passwd.d
    # pipewire launcher from alpine linux (with same modifications)
    install ../pipewire-launcher.sh ${DESTDIR}/usr/libexec/pipewire-launcher
    # pipewire system service
    install ../pipewire.initd ${DESTDIR}/etc/init.d/pipewire
    # environment variable
    echo "export PIPEWIRE_RUNTOME_DIR=/run/pipewire" > ${DESTDIR}/etc/profile.d/pipewire.sh
    echo "export PULSE_SERVER=unix:/run/pipewire/pulse/native" >> ${DESTDIR}/etc/profile.d/pipewire.sh
    # pipewire user (uid same with audio group)
    echo "pipewire:x:29:29::/run/pipewire:/bin/false" > "$DESTDIR"/etc/passwd.d/pipewire
}

