PKGBUILD 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. # Maintainer: David P. <megver83@parabola.nu>
  2. # Maintainer (Arch): David Runge <dvzrv@archlinux.org>
  3. # Maintainer (Arch): Jan Alexander Steffens (heftig) <heftig@archlinux.org>
  4. pkgbase=wireplumber
  5. pkgname=(
  6. wireplumber
  7. libwireplumber
  8. )
  9. _commit=d3eb77b292655cef333a8f4cab4e861415bc37c2 # tags/0.4.17
  10. pkgver=0.4.17
  11. pkgrel=1
  12. pkgrel+=.nonsystemd1
  13. pkgdesc="Session / policy manager implementation for PipeWire"
  14. url="https://pipewire.pages.freedesktop.org/wireplumber/"
  15. arch=(x86_64)
  16. arch+=(armv7h i686)
  17. license=(MIT)
  18. makedepends=(
  19. doxygen
  20. elogind
  21. git
  22. glib2
  23. gobject-introspection
  24. graphviz
  25. lua
  26. meson
  27. pipewire
  28. python-lxml
  29. )
  30. checkdepends=(pipewire-audio)
  31. source=("git+https://gitlab.freedesktop.org/pipewire/$pkgbase.git#commit=$_commit")
  32. b2sums=('SKIP')
  33. pkgver() {
  34. cd $pkgbase
  35. git describe --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
  36. }
  37. prepare() {
  38. cd $pkgbase
  39. }
  40. build() {
  41. local meson_options=(
  42. -D systemd=disabled
  43. -D doc=disabled
  44. -D elogind=enabled
  45. -D system-lua=true
  46. )
  47. arch-meson $pkgbase build "${meson_options[@]}"
  48. meson compile -C build
  49. }
  50. check() {
  51. meson test -C build --print-errorlogs
  52. }
  53. _pick() {
  54. local p="$1" f d
  55. shift
  56. for f; do
  57. d="$srcdir/$p/${f#$pkgdir/}"
  58. mkdir -p "$(dirname "$d")"
  59. mv "$f" "$d"
  60. rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
  61. done
  62. }
  63. _ver=${pkgver:0:3}
  64. package_wireplumber() {
  65. depends=(
  66. "libwireplumber=$pkgver-$pkgrel"
  67. lua
  68. pipewire
  69. )
  70. provides=(pipewire-session-manager)
  71. conflicts=(pipewire-media-session)
  72. meson install -C build --destdir "$pkgdir"
  73. (
  74. cd "$pkgdir"
  75. _pick libw usr/lib/libwireplumber-$_ver.so*
  76. _pick libw usr/lib/girepository-1.0
  77. _pick libw usr/lib/pkgconfig
  78. _pick libw usr/include
  79. _pick libw usr/share/gir-1.0
  80. )
  81. install -Dt "$pkgdir/usr/share/doc/$pkgname" -m644 $pkgbase/{NEWS,README}*
  82. install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 $pkgbase/LICENSE
  83. }
  84. package_libwireplumber() {
  85. pkgdesc+=" - client library"
  86. depends=(
  87. libg{lib,module,object,io}-2.0.so
  88. libpipewire-0.3.so
  89. )
  90. provides=(libwireplumber-$_ver.so)
  91. mv libw/* "$pkgdir"
  92. install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 $pkgbase/LICENSE
  93. }
  94. # vim:set sw=2 sts=-1 et: