From b4793c19e4bb77456da1ecfe421f6f2efe90e8ed Mon Sep 17 00:00:00 2001 From: Cameron Nemo Date: Sun, 7 Aug 2022 12:26:05 -0700 Subject: [PATCH 1/3] pipewire: remove pipewire-media-session Wireplumber should be used by most users instead. pipewire-media-session will be re-added as a standalone package. --- .../files/10-autostart-session-manager.conf | 6 +++++ .../patches/autostart-media-session.patch | 17 ------------- srcpkgs/pipewire/template | 24 +++++-------------- 3 files changed, 12 insertions(+), 35 deletions(-) create mode 100644 srcpkgs/pipewire/files/10-autostart-session-manager.conf delete mode 100644 srcpkgs/pipewire/patches/autostart-media-session.patch diff --git a/srcpkgs/pipewire/files/10-autostart-session-manager.conf b/srcpkgs/pipewire/files/10-autostart-session-manager.conf new file mode 100644 index 000000000000..d4cb814bc6e7 --- /dev/null +++ b/srcpkgs/pipewire/files/10-autostart-session-manager.conf @@ -0,0 +1,6 @@ +# The session manager is an essential component. It's not easy to start it +# externally in a script since it needs the pipewire socket up, and Void +# doesn't have a mechanism to ensure it (systemd socket activation). +context.exec = [ + { path = "/usr/bin/pipewire-media-session" args = "" } +] diff --git a/srcpkgs/pipewire/patches/autostart-media-session.patch b/srcpkgs/pipewire/patches/autostart-media-session.patch deleted file mode 100644 index c5753a3719c2..000000000000 --- a/srcpkgs/pipewire/patches/autostart-media-session.patch +++ /dev/null @@ -1,17 +0,0 @@ -Upstream's config does not autostart pipewire-media-session anymore, which -is an essential component. It's not easy to start it externally in a script -since it needs the pipewire socket up, and Void doesn't have a mechanism to -ensure it (systemd socket activation). -diff --git a/src/daemon/pipewire.conf.in.orig b/src/daemon/pipewire.conf.in -index 95632c2..ab0b097 100644 ---- a/src/daemon/pipewire.conf.in.orig -+++ b/src/daemon/pipewire.conf.in -@@ -236,7 +236,7 @@ - # but it is better to start it as a systemd service. - # Run the session manager with -h for options. - # -- @sm_comment@{ path = "@session_manager_path@" args = "@session_manager_args@" } -+ { path = "@session_manager_path@" args = "@session_manager_args@" } - # - # You can optionally start the pulseaudio-server here as well - # but it is better to start it as a systemd service. diff --git a/srcpkgs/pipewire/template b/srcpkgs/pipewire/template index 8edba430cf2d..6b074100cacc 100644 --- a/srcpkgs/pipewire/template +++ b/srcpkgs/pipewire/template @@ -1,10 +1,7 @@ # Template file for 'pipewire' pkgname=pipewire version=0.3.61 -revision=1 -_pms_version=0.4.1 -create_wrksrc=yes -build_wrksrc="${pkgname}-${version}" +revision=2 build_style=meson configure_args=" --auto-features=enabled @@ -16,9 +13,8 @@ configure_args=" -Dsystemd=disabled -Dudevrulesdir=/usr/lib/udev/rules.d -Dvulkan=enabled - -Dmedia-session:systemd=disabled -Dbluez5-codec-lc3plus=disabled - -Dsession-managers=media-session + -Dsession-managers=[] " hostmakedepends="doxygen graphviz pkg-config python3-docutils gettext" makedepends="$(vopt_if sdl2 SDL2-devel) gst-plugins-base1-devel jack-devel @@ -35,13 +31,10 @@ maintainer="Stefano Ragni " 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" +distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz" +checksum="9cbc7048808c693cb7952c4b446e9ffbb91d1b34f057c340d83ae4e6d2d08f1d" make_dirs="/var/lib/pipewire 0755 _pipewire _pipewire" system_accounts="_pipewire" -patch_args="-Np1 --directory=${build_wrksrc}" build_options="sdl2" @@ -58,18 +51,13 @@ 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 + vinstall "${FILESDIR}/pipewire.desktop" 644 usr/share/applications + vinstall "${FILESDIR}/pipewire-pulse.desktop" 644 usr/share/applications } libpipewire_package() { From 4a17e1c24e40f665c2b7458f3ec6742486ee68de Mon Sep 17 00:00:00 2001 From: Cameron Nemo Date: Fri, 9 Dec 2022 21:24:37 -0800 Subject: [PATCH 2/3] New package: pipewire-media-session-0.4.1 --- .../files/pipewire-media-session.desktop | 8 +++++ srcpkgs/pipewire-media-session/template | 30 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 srcpkgs/pipewire-media-session/files/pipewire-media-session.desktop create mode 100644 srcpkgs/pipewire-media-session/template diff --git a/srcpkgs/pipewire-media-session/files/pipewire-media-session.desktop b/srcpkgs/pipewire-media-session/files/pipewire-media-session.desktop new file mode 100644 index 000000000000..f420d8ee3db1 --- /dev/null +++ b/srcpkgs/pipewire-media-session/files/pipewire-media-session.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=PipeWire Media Session +Comment=Start the example PipeWire Media Session +Icon=pipewire +Exec=pipewire-media-session +Terminal=false +Type=Application +NoDisplay=true diff --git a/srcpkgs/pipewire-media-session/template b/srcpkgs/pipewire-media-session/template new file mode 100644 index 000000000000..238146437d97 --- /dev/null +++ b/srcpkgs/pipewire-media-session/template @@ -0,0 +1,30 @@ +# Template file for 'pipewire-media-session' +pkgname=pipewire-media-session +version=0.4.1 +revision=1 +wrksrc="media-session-${version}" +build_style=meson +configure_args=" + --auto-features=enabled + -Db_ndebug=false + -Ddocs=enabled + -Dsystemd=disabled +" +hostmakedepends="doxygen pkg-config gettext" +makedepends="dbus-devel pipewire-devel alsa-lib-devel jack-devel + pulseaudio-devel" +depends="pipewire>=0.3.61_2" +checkdepends="pipewire" +short_desc="Example session manager for PipeWire" +maintainer="Stefano Ragni " +license="MIT" +homepage="https://pipewire.org/" +changelog="https://gitlab.freedesktop.org/pipewire/media-session/-/raw/master/NEWS" +distfiles="https://gitlab.freedesktop.org/pipewire/media-session/-/archive/${version}/media-session-${version}.tar.gz" +checksum="119c9216070b54018217552c7924f9888da270c3c4647c5e2b85ffa6b1574975" +conflicts="wireplumber" + +post_install() { + vlicense LICENSE + vinstall "${FILESDIR}/pipewire-media-session.desktop" 644 usr/share/applications +} From 4b698e3777d04e50a4b101ab5243674be4eadf52 Mon Sep 17 00:00:00 2001 From: Cameron Nemo Date: Fri, 9 Dec 2022 21:38:10 -0800 Subject: [PATCH 3/3] wireplumber: depend pipewire, conflict p-m-s --- srcpkgs/wireplumber/files/wireplumber.desktop | 8 ++++++++ srcpkgs/wireplumber/template | 5 ++++- 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/wireplumber/files/wireplumber.desktop diff --git a/srcpkgs/wireplumber/files/wireplumber.desktop b/srcpkgs/wireplumber/files/wireplumber.desktop new file mode 100644 index 000000000000..38a3b2101844 --- /dev/null +++ b/srcpkgs/wireplumber/files/wireplumber.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=WirePlumber +Comment=Start WirePlumber +Icon=pipewire +Exec=wireplumber +Terminal=false +Type=Application +NoDisplay=true diff --git a/srcpkgs/wireplumber/template b/srcpkgs/wireplumber/template index 9b54c0434be9..de09acc0e3c2 100644 --- a/srcpkgs/wireplumber/template +++ b/srcpkgs/wireplumber/template @@ -1,12 +1,13 @@ # Template file for 'wireplumber' pkgname=wireplumber version=0.4.12 -revision=2 +revision=3 build_style=meson build_helper=gir configure_args="-Dintrospection=enabled -Dsystem-lua=true" hostmakedepends="pkg-config glib-devel python3-lxml doxygen gettext" makedepends="libglib-devel pipewire-devel lua54-devel" +depends="pipewire" checkdepends="pipewire dbus" short_desc="Session and policy manager implementation for PipeWire" maintainer="Érico Nogueira " @@ -15,10 +16,12 @@ homepage="https://pipewire.pages.freedesktop.org/wireplumber" changelog="https://gitlab.freedesktop.org/pipewire/wireplumber/-/raw/master/NEWS.rst" distfiles="https://gitlab.freedesktop.org/pipewire/wireplumber/-/archive/$version/wireplumber-$version.tar.gz" checksum=afece031dd2d1a5f535de29e21ea94a1b261d3da62b5dbb977e19668f4453b27 +conflicts="pipewire-media-session" post_install() { vlicense LICENSE vsv wireplumber + vinstall "${FILESDIR}/wireplumber.desktop" 644 usr/share/applications } wireplumber-devel_package() {