pipewire-vl.spec 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323
  1. %bcond_with systemd
  2. %bcond_with rtkit
  3. %bcond_with man
  4. %global apiversion 0.2
  5. %global spaversion 0.1
  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.2.7
  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. Patch1: 0001-build-and-link-a2dp-codecs.c-as-well.patch
  31. Patch2: 0001-bluez5-declare-factory-as-extern.patch
  32. ## upstreamable patches
  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. %if %{with systemd}
  45. BuildRequires: systemd-devel >= 184
  46. %else
  47. BuildRequires: pkgconfig(libudev)
  48. %endif
  49. BuildRequires: alsa-lib-devel
  50. BuildRequires: libv4l-devel
  51. BuildRequires: doxygen
  52. %if %{with man}
  53. BuildRequires: xmltoman
  54. %endif
  55. BuildRequires: graphviz
  56. BuildRequires: sbc-devel
  57. Requires(pre): shadow-utils
  58. Requires: %{name}-libs%{?_isa} = %{version}-%{release}
  59. %if %{with systemd}
  60. Requires: systemd >= 184
  61. %endif
  62. %if %{with rtkit}
  63. Requires: rtkit
  64. %endif
  65. # https://bugzilla.redhat.com/983606
  66. %global _hardened_build 1
  67. %if %{with systemd}
  68. ## enable systemd activation
  69. %global systemd 1
  70. %endif
  71. %description
  72. PipeWire is a multimedia server for Linux and other Unix like operating
  73. systems.
  74. %package libs
  75. Summary: Libraries for PipeWire clients
  76. License: LGPLv2+
  77. Recommends: %{name}%{?_isa} = %{version}-%{release}
  78. %description libs
  79. This package contains the runtime libraries for any application that wishes
  80. to interface with a PipeWire media server.
  81. %package devel
  82. Summary: Headers and libraries for PipeWire client development
  83. License: LGPLv2+
  84. Requires: %{name}-libs%{?_isa} = %{version}-%{release}
  85. %description devel
  86. Headers and libraries for developing applications that can communicate with
  87. a PipeWire media server.
  88. %package doc
  89. Summary: PipeWire media server documentation
  90. License: LGPLv2+
  91. %description doc
  92. This package contains documentation for the PipeWire media server.
  93. %package utils
  94. Summary: PipeWire media server utilities
  95. License: LGPLv2+
  96. Requires: %{name}%{?_isa} = %{version}-%{release}
  97. Requires: %{name}-libs%{?_isa} = %{version}-%{release}
  98. %description utils
  99. This package contains command line utilities for the PipeWire media server.
  100. %prep
  101. %setup -q -T -b0 -n %{name}-%{version}%{?gitrel:-%{gitrel}-g%{shortcommit}}
  102. %patch1 -p1 -b .0001
  103. %patch2 -p1 -b .0002
  104. %build
  105. %meson \
  106. -D docs=true \
  107. -D man=true \
  108. -D gstreamer=enabled \
  109. %if %{with systemd}
  110. -D systemd=true
  111. %else
  112. -D systemd=false
  113. %endif
  114. %meson_build
  115. %install
  116. %meson_install
  117. %check
  118. %meson_test
  119. %pre
  120. getent group pipewire >/dev/null || groupadd -r pipewire
  121. getent passwd pipewire >/dev/null || \
  122. useradd -r -g pipewire -d %{_localstatedir}/run/pipewire -s /sbin/nologin -c "PipeWire System Daemon" pipewire
  123. exit 0
  124. %if %{with systemd}
  125. %post
  126. %systemd_user_post pipewire.service
  127. %systemd_user_post pipewire.socket
  128. %endif
  129. %post libs -p /sbin/ldconfig
  130. %postun libs -p /sbin/ldconfig
  131. %files
  132. %license LICENSE GPL LGPL
  133. %doc README
  134. %if 0%{?systemd}
  135. %{_userunitdir}/pipewire.*
  136. %endif
  137. %{_bindir}/pipewire
  138. %dir %{_sysconfdir}/pipewire/
  139. %{_sysconfdir}/pipewire/pipewire.conf
  140. %if %{with man}
  141. %{_mandir}/man1/pipewire.1*
  142. %{_mandir}/man5/pipewire.conf.5*
  143. %endif
  144. %files libs
  145. %license LICENSE GPL LGPL
  146. %doc README
  147. %{_libdir}/libpipewire-%{apiversion}.so.*
  148. %{_libdir}/pipewire-%{apiversion}/
  149. %{_libdir}/spa/
  150. %{_libdir}/gstreamer-1.0/libgstpipewire.*
  151. %files devel
  152. %{_libdir}/libpipewire-%{apiversion}.so
  153. %{_includedir}/pipewire/
  154. %{_includedir}/spa/
  155. %{_libdir}/pkgconfig/libpipewire-%{apiversion}.pc
  156. %{_libdir}/pkgconfig/libspa-%{spaversion}.pc
  157. %files doc
  158. %{_datadir}/doc/pipewire/html
  159. %files utils
  160. %{_bindir}/pipewire-monitor
  161. %{_bindir}/pipewire-cli
  162. %if %{with man}
  163. %{_mandir}/man1/pipewire-monitor.1*
  164. %{_mandir}/man1/pipewire-cli.1*
  165. %endif
  166. %{_bindir}/spa-monitor
  167. %{_bindir}/spa-inspect
  168. %changelog
  169. * Wed Jul 29 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 0.2.7-1
  170. - new upstream release.
  171. * Mon Sep 23 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 0.2.6-6
  172. - initial build for Vine Linux.
  173. * Mon Sep 16 2019 Kalev Lember <klember@redhat.com> - 0.2.6-5
  174. - Don't require the daemon package for -devel subpackage
  175. - Move pipewire.conf man page to the daemon package
  176. * Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.6-4
  177. - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
  178. * Wed Jun 19 2019 Wim Taymans <wtaymans@redhat.com> - 0.2.6-3
  179. - Add patch to reuse fd in pipewiresrc
  180. - Add patch for device provider
  181. - Add patch to disable extra security checks until portal is fixed.
  182. * Tue Jun 04 2019 Kalev Lember <klember@redhat.com> - 0.2.6-2
  183. - Split libpipewire and the gstreamer plugin out to -libs subpackage
  184. * Wed May 22 2019 Wim Taymans <wtaymans@redhat.com> - 0.2.6-1
  185. - Update to 0.2.6
  186. - Add patch for alsa-lib 1.1.9 include path
  187. * Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.5-3
  188. - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
  189. * Fri Jan 04 2019 Wim Taymans <wtaymans@redhat.com> - 0.2.5-2
  190. - Add patch to avoid invalid conversion error with C++ compilers
  191. * Thu Nov 22 2018 Wim Taymans <wtaymans@redhat.com> - 0.2.5-1
  192. - Update to 0.2.5
  193. * Thu Nov 22 2018 Wim Taymans <wtaymans@redhat.com> - 0.2.4-1
  194. - Update to 0.2.4
  195. * Thu Oct 18 2018 Wim Taymans <wtaymans@redhat.com> - 0.2.3-2
  196. - Add systemd socket activation
  197. * Thu Aug 30 2018 Wim Taymans <wtaymans@redhat.com> - 0.2.3-1
  198. - Update to 0.2.3
  199. * Tue Jul 31 2018 Wim Taymans <wtaymans@redhat.com> - 0.2.2-1
  200. - Update to 0.2.2
  201. * Fri Jul 20 2018 Wim Taymans <wtaymans@redhat.com> - 0.2.1-1
  202. - Update to 0.2.1
  203. * Tue Jul 17 2018 Wim Taymans <wtaymans@redhat.com> - 0.2.0-1
  204. - Update to 0.2.0
  205. * Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.9-2
  206. - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
  207. * Tue Feb 27 2018 Wim Taymans <wtaymans@redhat.com> - 0.1.9-1
  208. - Update to 0.1.9
  209. * Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.8-3
  210. - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
  211. * Sat Feb 03 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.1.8-2
  212. - Switch to %%ldconfig_scriptlets
  213. * Tue Jan 23 2018 Wim Taymans <wtaymans@redhat.com> - 0.1.8-1
  214. - Update to 0.1.8
  215. * Fri Nov 24 2017 Wim Taymans <wtaymans@redhat.com> - 0.1.7-1
  216. - Update to 0.1.7
  217. - Add to build when memfd_create is already defined
  218. * Fri Nov 03 2017 Wim Taymans <wtaymans@redhat.com> - 0.1.6-1
  219. - Update to 0.1.6
  220. * Tue Sep 19 2017 Wim Taymans <wtaymans@redhat.com> - 0.1.5-2
  221. - Add patch to avoid segfault when probing
  222. * Tue Sep 19 2017 Wim Taymans <wtaymans@redhat.com> - 0.1.5-1
  223. - Update to 0.1.5
  224. * Thu Sep 14 2017 Kalev Lember <klember@redhat.com> - 0.1.4-3
  225. - Rebuilt for GNOME 3.26.0 megaupdate
  226. * Fri Sep 08 2017 Wim Taymans <wtaymans@redhat.com> - 0.1.4-2
  227. - Install SPA hooks
  228. * Wed Aug 23 2017 Wim Taymans <wtaymans@redhat.com> - 0.1.4-1
  229. - Update to 0.1.4
  230. * Wed Aug 09 2017 Wim Taymans <wtaymans@redhat.com> - 0.1.3-1
  231. - Update to 0.1.3
  232. * Tue Jul 04 2017 Wim Taymans <wtaymans@redhat.com> - 0.1.2-1
  233. - Update to 0.1.2
  234. - Added more build requirements
  235. - Make separate doc package
  236. * Mon Jun 26 2017 Wim Taymans <wtaymans@redhat.com> - 0.1.1-1
  237. - Update to 0.1.1
  238. - Add dbus-1 to BuildRequires
  239. - change libs-devel to -devel
  240. * Wed Sep 9 2015 Wim Taymans <wtaymans@redhat.com> - 0.1.0-2
  241. - Fix BuildRequires to use pkgconfig, add all dependencies found in configure.ac
  242. - Add user and groups if needed
  243. - Add license to %%licence
  244. * Tue Sep 1 2015 Wim Taymans <wtaymans@redhat.com> - 0.1.0-1
  245. - First version