[arch-commits] Commit in pipewire-media-session/trunk (2 files)
Jan Steffens
heftig at gemini.archlinux.org
Thu Oct 21 22:16:24 UTC 2021
Date: Thursday, October 21, 2021 @ 22:16:24
Author: heftig
Revision: 426414
0.4.0-1
Added:
pipewire-media-session/trunk/PKGBUILD
pipewire-media-session/trunk/pipewire-media-session.install
--------------------------------+
PKGBUILD | 76 +++++++++++++++++++++++++++++++++++++++
pipewire-media-session.install | 28 ++++++++++++++
2 files changed, 104 insertions(+)
Added: PKGBUILD
===================================================================
--- PKGBUILD (rev 0)
+++ PKGBUILD 2021-10-21 22:16:24 UTC (rev 426414)
@@ -0,0 +1,76 @@
+# Maintainer: Jan Alexander Steffens (heftig) <heftig at archlinux.org>
+
+pkgbase=pipewire-media-session
+pkgname=(pipewire-media-session pipewire-media-session-docs)
+pkgver=0.4.0
+pkgrel=1
+epoch=1
+pkgdesc="Low-latency audio/video router and processor - Session manager"
+url="https://pipewire.org"
+license=(MIT)
+arch=(x86_64)
+makedepends=(git meson doxygen graphviz 'pipewire>=0.3.39' systemd dbus
+ alsa-lib)
+_commit=5fd4b081fecbdb250e2f7f6deb8e6ffaf68f6dca # tags/0.4.0
+source=("$pkgbase::git+https://gitlab.freedesktop.org/pipewire/media-session.git#commit=$_commit")
+sha256sums=('SKIP')
+
+pkgver() {
+ cd $pkgbase
+ git describe --tags | sed 's/-/+/g'
+}
+
+prepare() {
+ cd $pkgbase
+}
+
+build() {
+ local meson_options=(
+ -D docs=enabled
+ -D with-module-sets=[]
+ )
+
+ arch-meson $pkgbase build "${meson_options[@]}"
+ meson compile -C build
+}
+
+check() {
+ meson test -C build --print-errorlogs
+}
+
+_pick() {
+ local p="$1" f d; shift
+ for f; do
+ d="$srcdir/$p/${f#$pkgdir/}"
+ mkdir -p "$(dirname "$d")"
+ mv "$f" "$d"
+ rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
+ done
+}
+
+package_pipewire-media-session() {
+ depends=('pipewire>=0.3.39' libpipewire-0.3.so libsystemd.so libdbus-1.so
+ libasound.so)
+ optdepends=('pipewire-media-session-docs: Documentation')
+ provides=(pipewire-session-manager)
+ install=pipewire-media-session.install
+
+ meson install -C build --destdir "$pkgdir"
+
+ ( cd "$pkgdir"
+
+ _pick docs usr/share/doc
+ )
+
+ install -Dt "$pkgdir/usr/share/licenses/$pkgbase" -m644 $pkgbase/COPYING
+}
+
+package_pipewire-media-session-docs() {
+ pkgdesc+=" - documentation"
+
+ mv docs/* "$pkgdir"
+
+ install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 $pkgbase/COPYING
+}
+
+# vim:set sw=2 et:
Added: pipewire-media-session.install
===================================================================
--- pipewire-media-session.install (rev 0)
+++ pipewire-media-session.install 2021-10-21 22:16:24 UTC (rev 426414)
@@ -0,0 +1,28 @@
+post_install() {
+ # Enable service by default
+ # WantedBy=pipewire.service, which is itself socket-activated
+ systemctl --global enable pipewire-media-session.service
+}
+
+post_upgrade() {
+ if (( $(vercmp "$2" '0.3.23-1') < 0)); then
+ systemctl --global enable pipewire-media-session.service
+ fi
+
+ if (( $(vercmp "$2" '1:0.3.38-1') < 0)); then
+ # 0.3.38 introduced a new alias. Reenable the
+ # service if needed so the alias gets created.
+ if systemctl --global is-enabled -q pipewire-media-session.service; then
+ systemctl --global reenable pipewire-media-session.service
+ fi
+ cat <<MSG
+>>> If you enabled pipewire-media-session.service manually for any user, run
+ "systemctl --user reenable pipewire-media-session.service" for these users
+ now. This will create a required service alias.
+MSG
+ fi
+}
+
+pre_remove() {
+ systemctl --global disable pipewire-media-session.service
+}
More information about the arch-commits
mailing list