pipewire-vl.spec 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348
  1. %bcond_with systemd
  2. %bcond_with rtkit
  3. %bcond_with man
  4. %global apiversion 0.3
  5. %global spaversion 0.2
  6. #global snap 20141103
  7. #global gitrel 327
  8. #global gitcommit aec811798cd883a454b9b5cd82c77831906bbd2d
  9. #global shortcommit %(c=%{gitcommit}; echo ${c:0:5})
  10. # https://bugzilla.redhat.com/983606
  11. %global _hardened_build 1
  12. # where/how to apply multilib hacks
  13. %global multilib_archs x86_64 %{ix86} ppc64 ppc s390x s390 sparc64 sparcv9 ppc64le
  14. Name: pipewire
  15. Summary: Media Sharing Server
  16. Version: 0.3.8
  17. Release: 1%{?snap:.%{snap}git%{shortcommit}}%{?_dist_release}%{?with_systemd:.systemd}
  18. Vendor: Project Vine
  19. Distribution: Vine Linux
  20. License: LGPLv2+
  21. URL: https://pipewire.org/
  22. %if 0%{?gitrel}
  23. # git clone git://anongit.freedesktop.org/gstreamer/pipewire
  24. # cd pipewire; git reset --hard %{gitcommit}; ./autogen.sh; make; make distcheck
  25. Source0: pipewire-%{version}-%{gitrel}-g%{shortcommit}.tar.gz
  26. %else
  27. Source0: https://github.com/PipeWire/pipewire/archive/%{version}.tar.gz
  28. %endif
  29. ## upstream patches
  30. ## upstreamable patches
  31. ## fedora patches
  32. Patch0: 0001-conf-disable-bluez5.patch
  33. BuildRequires: meson >= 0.35.0
  34. BuildRequires: gcc
  35. BuildRequires: pkgconfig
  36. BuildRequires: pkgconfig(dbus-1)
  37. BuildRequires: pkgconfig(glib-2.0) >= 2.32
  38. BuildRequires: pkgconfig(gio-unix-2.0) >= 2.32
  39. BuildRequires: pkgconfig(gstreamer-1.0) >= 1.10.0
  40. BuildRequires: pkgconfig(gstreamer-base-1.0) >= 1.10.0
  41. BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) >= 1.10.0
  42. BuildRequires: pkgconfig(gstreamer-net-1.0) >= 1.10.0
  43. BuildRequires: pkgconfig(gstreamer-allocators-1.0) >= 1.10.0
  44. BuildRequires: pkgconfig(vulkan)
  45. BuildRequires: pkgconfig(bluez)
  46. %if %{with systemd}
  47. BuildRequires: systemd-devel >= 184
  48. %else
  49. BuildRequires: pkgconfig(libudev)
  50. %endif
  51. BuildRequires: alsa-lib-devel
  52. BuildRequires: libv4l-devel
  53. BuildRequires: doxygen
  54. %if %{with man}
  55. BuildRequires: xmltoman
  56. %endif
  57. BuildRequires: graphviz
  58. BuildRequires: sbc-devel
  59. BuildRequires: libsndfile-devel
  60. Requires(pre): shadow-utils
  61. Requires: %{name}-libs%{?_isa} = %{version}-%{release}
  62. %if %{with systemd}
  63. Requires: systemd >= 184
  64. %endif
  65. %if %{with rtkit}
  66. Requires: rtkit
  67. %endif
  68. # https://bugzilla.redhat.com/983606
  69. %global _hardened_build 1
  70. %if %{with systemd}
  71. ## enable systemd activation
  72. %global systemd 1
  73. %endif
  74. %description
  75. PipeWire is a multimedia server for Linux and other Unix like operating
  76. systems.
  77. %package libs
  78. Summary: Libraries for PipeWire clients
  79. License: LGPLv2+
  80. Recommends: %{name}%{?_isa} = %{version}-%{release}
  81. %description libs
  82. This package contains the runtime libraries for any application that wishes
  83. to interface with a PipeWire media server.
  84. %package devel
  85. Summary: Headers and libraries for PipeWire client development
  86. License: LGPLv2+
  87. Requires: %{name}-libs%{?_isa} = %{version}-%{release}
  88. %description devel
  89. Headers and libraries for developing applications that can communicate with
  90. a PipeWire media server.
  91. %package doc
  92. Summary: PipeWire media server documentation
  93. License: LGPLv2+
  94. %description doc
  95. This package contains documentation for the PipeWire media server.
  96. %package utils
  97. Summary: PipeWire media server utilities
  98. License: LGPLv2+
  99. Requires: %{name}%{?_isa} = %{version}-%{release}
  100. Requires: %{name}-libs%{?_isa} = %{version}-%{release}
  101. %description utils
  102. This package contains command line utilities for the PipeWire media server.
  103. %prep
  104. %setup -q -T -b0 -n %{name}-%{version}%{?gitrel:-%{gitrel}-g%{shortcommit}}
  105. %autopatch -p1
  106. %build
  107. %meson \
  108. -D docs=true \
  109. -D man=true \
  110. -D gstreamer=true \
  111. -D jack=false \
  112. -D pipewire-jack=false \
  113. -D pipewire-pulseaudio=false \
  114. %if %{with systemd}
  115. -D systemd=true
  116. %else
  117. -D systemd=false
  118. %endif
  119. %meson_build
  120. %install
  121. %meson_install
  122. mkdir -p %{buildroot}%{_sysconfdir}/alsa/conf.d/
  123. cp %{buildroot}%{_datadir}/alsa/alsa.conf.d/50-pipewire.conf \
  124. %{buildroot}%{_sysconfdir}/alsa/conf.d/50-pipewire.conf
  125. cp %{buildroot}%{_datadir}/alsa/alsa.conf.d/99-pipewire-default.conf \
  126. %{buildroot}%{_sysconfdir}/alsa/conf.d/99-pipewire-default.conf
  127. %check
  128. %meson_test
  129. %pre
  130. getent group pipewire >/dev/null || groupadd -r pipewire
  131. getent passwd pipewire >/dev/null || \
  132. useradd -r -g pipewire -d %{_localstatedir}/run/pipewire -s /sbin/nologin -c "PipeWire System Daemon" pipewire
  133. exit 0
  134. %if %{with systemd}
  135. %post
  136. %systemd_user_post pipewire.service
  137. %systemd_user_post pipewire.socket
  138. %endif
  139. %post libs -p /sbin/ldconfig
  140. %postun libs -p /sbin/ldconfig
  141. %files
  142. %license COPYING LICENSE
  143. %doc README.md
  144. %if %{with systemd}
  145. %{_userunitdir}/pipewire.*
  146. %endif
  147. %{_bindir}/pipewire
  148. %{_bindir}/pipewire-media-session
  149. %dir %{_sysconfdir}/pipewire/
  150. %config(noreplace) %{_sysconfdir}/pipewire/pipewire.conf
  151. %if %{with man}
  152. %{_mandir}/man1/pipewire.1*
  153. %{_mandir}/man5/pipewire.conf.5*
  154. %endif
  155. %files libs
  156. %license COPYING LICENSE
  157. %doc README.md
  158. %{_libdir}/libpipewire-%{apiversion}.so.*
  159. %{_libdir}/pipewire-%{apiversion}/
  160. %{_libdir}/spa-%{spaversion}/
  161. %{_libdir}/gstreamer-1.0/libgstpipewire.*
  162. %{_libdir}/alsa-lib/libasound_module_*_pipewire.so
  163. /lib/udev/rules.d/90-pipewire-alsa.rules
  164. %{_datadir}/alsa/alsa.conf.d/50-pipewire.conf
  165. %{_datadir}/alsa/alsa.conf.d/99-pipewire-default.conf
  166. %dir %{_datadir}/alsa-card-profile
  167. %dir %{_datadir}/alsa-card-profile/mixer
  168. %dir %{_datadir}/alsa-card-profile/mixer/paths
  169. %dir %{_datadir}/alsa-card-profile/mixer/profile-sets
  170. %{_datadir}/alsa-card-profile/mixer/paths/*
  171. %{_datadir}/alsa-card-profile/mixer/profile-sets/*
  172. %config(noreplace) %{_sysconfdir}/alsa/conf.d/50-pipewire.conf
  173. %config(noreplace) %{_sysconfdir}/alsa/conf.d/99-pipewire-default.conf
  174. %files devel
  175. %{_libdir}/libpipewire-%{apiversion}.so
  176. %{_includedir}/pipewire-%{apiversion}/
  177. %{_includedir}/spa-%{spaversion}/
  178. %{_libdir}/pkgconfig/libpipewire-%{apiversion}.pc
  179. %{_libdir}/pkgconfig/libspa-%{spaversion}.pc
  180. %files doc
  181. %{_datadir}/doc/pipewire/html
  182. %files utils
  183. %{_bindir}/pw-*
  184. %{_bindir}/spa-monitor
  185. %{_bindir}/spa-inspect
  186. %changelog
  187. * Mon Aug 03 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 0.3.8-1
  188. - new upstream release.
  189. - dropped Patch1 and 2: fixed in upstream.
  190. - imported Patch0 from rawhide.
  191. * Wed Jul 29 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 0.2.7-1
  192. - new upstream release.
  193. * Mon Sep 23 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 0.2.6-6
  194. - initial build for Vine Linux.
  195. * Mon Sep 16 2019 Kalev Lember <klember@redhat.com> - 0.2.6-5
  196. - Don't require the daemon package for -devel subpackage
  197. - Move pipewire.conf man page to the daemon package
  198. * Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.6-4
  199. - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
  200. * Wed Jun 19 2019 Wim Taymans <wtaymans@redhat.com> - 0.2.6-3
  201. - Add patch to reuse fd in pipewiresrc
  202. - Add patch for device provider
  203. - Add patch to disable extra security checks until portal is fixed.
  204. * Tue Jun 04 2019 Kalev Lember <klember@redhat.com> - 0.2.6-2
  205. - Split libpipewire and the gstreamer plugin out to -libs subpackage
  206. * Wed May 22 2019 Wim Taymans <wtaymans@redhat.com> - 0.2.6-1
  207. - Update to 0.2.6
  208. - Add patch for alsa-lib 1.1.9 include path
  209. * Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.5-3
  210. - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
  211. * Fri Jan 04 2019 Wim Taymans <wtaymans@redhat.com> - 0.2.5-2
  212. - Add patch to avoid invalid conversion error with C++ compilers
  213. * Thu Nov 22 2018 Wim Taymans <wtaymans@redhat.com> - 0.2.5-1
  214. - Update to 0.2.5
  215. * Thu Nov 22 2018 Wim Taymans <wtaymans@redhat.com> - 0.2.4-1
  216. - Update to 0.2.4
  217. * Thu Oct 18 2018 Wim Taymans <wtaymans@redhat.com> - 0.2.3-2
  218. - Add systemd socket activation
  219. * Thu Aug 30 2018 Wim Taymans <wtaymans@redhat.com> - 0.2.3-1
  220. - Update to 0.2.3
  221. * Tue Jul 31 2018 Wim Taymans <wtaymans@redhat.com> - 0.2.2-1
  222. - Update to 0.2.2
  223. * Fri Jul 20 2018 Wim Taymans <wtaymans@redhat.com> - 0.2.1-1
  224. - Update to 0.2.1
  225. * Tue Jul 17 2018 Wim Taymans <wtaymans@redhat.com> - 0.2.0-1
  226. - Update to 0.2.0
  227. * Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.9-2
  228. - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
  229. * Tue Feb 27 2018 Wim Taymans <wtaymans@redhat.com> - 0.1.9-1
  230. - Update to 0.1.9
  231. * Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.8-3
  232. - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
  233. * Sat Feb 03 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.1.8-2
  234. - Switch to %%ldconfig_scriptlets
  235. * Tue Jan 23 2018 Wim Taymans <wtaymans@redhat.com> - 0.1.8-1
  236. - Update to 0.1.8
  237. * Fri Nov 24 2017 Wim Taymans <wtaymans@redhat.com> - 0.1.7-1
  238. - Update to 0.1.7
  239. - Add to build when memfd_create is already defined
  240. * Fri Nov 03 2017 Wim Taymans <wtaymans@redhat.com> - 0.1.6-1
  241. - Update to 0.1.6
  242. * Tue Sep 19 2017 Wim Taymans <wtaymans@redhat.com> - 0.1.5-2
  243. - Add patch to avoid segfault when probing
  244. * Tue Sep 19 2017 Wim Taymans <wtaymans@redhat.com> - 0.1.5-1
  245. - Update to 0.1.5
  246. * Thu Sep 14 2017 Kalev Lember <klember@redhat.com> - 0.1.4-3
  247. - Rebuilt for GNOME 3.26.0 megaupdate
  248. * Fri Sep 08 2017 Wim Taymans <wtaymans@redhat.com> - 0.1.4-2
  249. - Install SPA hooks
  250. * Wed Aug 23 2017 Wim Taymans <wtaymans@redhat.com> - 0.1.4-1
  251. - Update to 0.1.4
  252. * Wed Aug 09 2017 Wim Taymans <wtaymans@redhat.com> - 0.1.3-1
  253. - Update to 0.1.3
  254. * Tue Jul 04 2017 Wim Taymans <wtaymans@redhat.com> - 0.1.2-1
  255. - Update to 0.1.2
  256. - Added more build requirements
  257. - Make separate doc package
  258. * Mon Jun 26 2017 Wim Taymans <wtaymans@redhat.com> - 0.1.1-1
  259. - Update to 0.1.1
  260. - Add dbus-1 to BuildRequires
  261. - change libs-devel to -devel
  262. * Wed Sep 9 2015 Wim Taymans <wtaymans@redhat.com> - 0.1.0-2
  263. - Fix BuildRequires to use pkgconfig, add all dependencies found in configure.ac
  264. - Add user and groups if needed
  265. - Add license to %%licence
  266. * Tue Sep 1 2015 Wim Taymans <wtaymans@redhat.com> - 0.1.0-1
  267. - First version