From be01cb0731ef71e89a63b73377d0652d81f3979e Mon Sep 17 00:00:00 2001 From: aliriza Date: Tue, 11 Apr 2023 08:15:00 +0000 Subject: [PATCH] fixes --- media/video/pipewire/pipewire-launcher.sh | 22 ++++++++++++++++++++++ media/video/pipewire/pipewire.desktop | 8 ++++++++ media/video/pipewire/ympbuild | 18 ++++++++++++++---- media/video/wireplumber/ympbuild | 3 +-- 4 files changed, 45 insertions(+), 6 deletions(-) create mode 100644 media/video/pipewire/pipewire-launcher.sh create mode 100644 media/video/pipewire/pipewire.desktop diff --git a/media/video/pipewire/pipewire-launcher.sh b/media/video/pipewire/pipewire-launcher.sh new file mode 100644 index 00000000..16a8adb8 --- /dev/null +++ b/media/video/pipewire/pipewire-launcher.sh @@ -0,0 +1,22 @@ +#!/bin/sh + +# We need to kill any existing pipewire instance to restore sound +pkill -u "${USER}" -fx /usr/bin/pipewire-pulse 1>/dev/null 2>&1 +pkill -u "${USER}" -fx /usr/bin/pipewire-media-session 1>/dev/null 2>&1 +pkill -u "${USER}" -fx /usr/bin/wireplumber 1>/dev/null 2>&1 +pkill -u "${USER}" -fx /usr/bin/pipewire 1>/dev/null 2>&1 + +exec /usr/bin/pipewire & + +# wait for pipewire to start before attempting to start related daemons +while [ "$(pgrep -f /usr/bin/pipewire)" = "" ]; do + sleep 1 +done + +if [ -x /usr/bin/wireplumber ]; then + exec /usr/bin/wireplumber & +elif [ -x /usr/bin/pipewire-media-session ]; then + exec /usr/bin/pipewire-media-session & +fi + +[ -f "/usr/share/pipewire/pipewire-pulse.conf" ] && exec /usr/bin/pipewire-pulse & diff --git a/media/video/pipewire/pipewire.desktop b/media/video/pipewire/pipewire.desktop new file mode 100644 index 00000000..0b353d85 --- /dev/null +++ b/media/video/pipewire/pipewire.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Version=1.0 +Name=Pipewire +Comment=Start Pipewire +Exec=/usr/libexec/pipewire-launcher +Terminal=false +Type=Application +X-KDE-autostart-phase=1 diff --git a/media/video/pipewire/ympbuild b/media/video/pipewire/ympbuild index b10979cf..cd33f18e 100644 --- a/media/video/pipewire/ympbuild +++ b/media/video/pipewire/ympbuild @@ -7,10 +7,14 @@ 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") -depends=(lilv) +source=("https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/$version/pipewire-$version.tar.gz" + "pipewire.desktop" + "pipewire-launcher.sh") +depends=(lilv libpulse alsa-lib dbus) makedepends=() -md5sums=('c3f399f63b6a520fce5f25ab7b9c9e1f') +md5sums=('c3f399f63b6a520fce5f25ab7b9c9e1f' + 'SKIP' + 'SKIP') group=(media.video) uses=() arch=('x86_64') @@ -20,7 +24,8 @@ cd $name-$version setup(){ #./autogen.sh meson setup build --prefix=/usr \ - --libdir=/usr/lib64 + --libdir=/usr/lib64 \ + -D session-managers=[] } build(){ ninja -C build @@ -28,4 +33,9 @@ build(){ package(){ ninja -C build install + mkdir -p ${DESTDIR}/usr/libexec ${DESTDIR}/etc/xdg/autostart/ + # pipewire launcher from alpine linux + install ../pipewire-launcher.sh ${DESTDIR}/usr/libexec/pipewire-launcher + install ../pipewire.desktop ${DESTDIR}/etc/xdg/autostart/ + } diff --git a/media/video/wireplumber/ympbuild b/media/video/wireplumber/ympbuild index 22bbd551..8cfb33c1 100644 --- a/media/video/wireplumber/ympbuild +++ b/media/video/wireplumber/ympbuild @@ -8,7 +8,7 @@ email='bayramk@gmail.com' maintainer='bk' license=('GPLv3') source=("https://gitlab.freedesktop.org/pipewire/wireplumber/-/archive/0.4.14/wireplumber-0.4.14.tar.gz") -depends=() +depends=(pipewire) makedepends=() md5sums=('3604fd7006c7ca442d994c808e6d1553') group=(media.video) @@ -18,7 +18,6 @@ arch=('x86_64') cd $name-$version setup(){ - #./autogen.sh meson setup build --prefix=/usr \ --libdir=/usr/lib64 \ -Ddoc=disabled \