[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