3 %bcond_without apidocs # API documentation
4 %bcond_without static_libs # static_library
6 Summary: Session / policy manager implementation for PipeWire
7 Summary(pl.UTF-8): Implementacja zarządcy sesji / polityk dla PipeWire
8 Name: pipewire-wireplumber
13 #Source0Download: https://gitlab.freedesktop.org/pipewire/wireplumber/-/tags
14 Source0: https://gitlab.freedesktop.org/pipewire/wireplumber/-/archive/%{version}/wireplumber-%{version}.tar.bz2
15 # Source0-md5: 7de07ff43d7be0d1bacac81de5b6b6c0
16 URL: https://pipewire.org/
17 # required for both docs and introspection
18 BuildRequires: doxygen >= 1.8.0
19 BuildRequires: gettext-tools
20 BuildRequires: glib2-devel >= 1:2.68
21 BuildRequires: gobject-introspection-devel
22 %{?with_apidocs:BuildRequires: graphviz}
23 BuildRequires: lua-devel >= 5.3.0
24 BuildRequires: meson >= 0.59.0
26 BuildRequires: pipewire-devel >= 1.0.2
27 BuildRequires: pkgconfig
28 BuildRequires: python3
29 BuildRequires: python3-lxml
30 BuildRequires: python3-modules
31 BuildRequires: rpm-build >= 4.6
32 BuildRequires: rpmbuild(macros) >= 2.011
33 BuildRequires: systemd-devel
35 BuildRequires: python3-Sphinx
36 BuildRequires: python3-breathe
37 BuildRequires: python3-sphinx_rtd_theme
38 BuildRequires: sphinx-pdg >= 2.1.0
40 Requires(post,preun): systemd-units >= 1:250.1
41 Requires: %{name}-libs = %{version}-%{release}
42 Requires: systemd-units >= 1:250.1
43 Provides: pipewire-session-manager
44 Obsoletes: pipewire-media-session
45 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
48 WirePlumber is a modular session / policy manager for PipeWire and a
49 GObject-based high-level library that wraps PipeWire's API, providing
50 convenience for writing the daemon's modules as well as external tools
51 for managing PipeWire.
53 The WirePlumber daemon implements the session & policy management
54 service. It follows a modular design, having plugins that implement
55 the actual management functionality.
57 %description -l pl.UTF-8
58 WirePlumber to modularny zarządca sesji / polityk dla PipeWire oraz
59 oparta na GObject biblioteka wysokiego poziomu obudowująca API
60 PipeWire, pozwalająca na wygodne tworzenie modułów demona oraz
61 zewnętrznych narzędzi do zarządzania PipeWire.
64 Summary: WirePlumber shared library
65 Summary(pl.UTF-8): Biblioteka współdzielona WirePlumber
67 Requires: glib2 >= 1:2.68
68 Requires: pipewire-libs >= 1.0.2
71 WirePlumber shared library.
73 %description libs -l pl.UTF-8
74 Biblioteka współdzielona WirePlumber.
77 Summary: Header files for WirePlumber library
78 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki WirePlumber
79 Group: Development/Libraries
80 Requires: %{name}-libs = %{version}-%{release}
83 Header files for WirePlumber library.
85 %description devel -l pl.UTF-8
86 Pliki nagłówkowe biblioteki WirePlumber.
89 Summary: WirePlumber static library
90 Summary(pl.UTF-8): Biblioteka statyczna WirePlumber
91 Group: Development/Libraries
92 Requires: %{name}-devel = %{version}-%{release}
95 WirePlumber static library.
97 %description static -l pl.UTF-8
98 Biblioteka statyczna WirePlumber.
101 Summary: API documentation for PipeWire WirePlumber
102 Summary(pl.UTF-8): Dokumentacja API PipeWire WirePlumber
107 API documentation for PipeWire WirePlumber.
109 %description apidocs -l pl.UTF-8
110 Dokumentacja API PipeWire WirePlumber.
113 %setup -q -n wireplumber-%{version}
117 %{!?with_static_libs:--default-library=shared} \
118 -Ddoc=%{__enabled_disabled apidocs} \
119 -Dintrospection=enabled \
122 %ninja_build -C build
125 rm -rf $RPM_BUILD_ROOT
127 %ninja_install -C build
129 %{?with_apidocs:%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/wireplumber}
131 %find_lang wireplumber
134 rm -rf $RPM_BUILD_ROOT
137 %systemd_user_post wireplumber.service
140 %systemd_user_preun wireplumber.service
142 %post libs -p /sbin/ldconfig
143 %postun libs -p /sbin/ldconfig
145 %files -f wireplumber.lang
146 %defattr(644,root,root,755)
147 %attr(755,root,root) %{_bindir}/wireplumber
148 %attr(755,root,root) %{_bindir}/wpctl
149 %attr(755,root,root) %{_bindir}/wpexec
150 %{systemduserunitdir}/wireplumber.service
151 %{systemduserunitdir}/wireplumber@.service
152 %attr(755,root,root) %{_libdir}/wireplumber-0.5/libwireplumber-module-dbus-connection.so
153 %attr(755,root,root) %{_libdir}/wireplumber-0.5/libwireplumber-module-default-nodes-api.so
154 %attr(755,root,root) %{_libdir}/wireplumber-0.5/libwireplumber-module-file-monitor-api.so
155 %attr(755,root,root) %{_libdir}/wireplumber-0.5/libwireplumber-module-log-settings.so
156 %attr(755,root,root) %{_libdir}/wireplumber-0.5/libwireplumber-module-logind.so
157 %attr(755,root,root) %{_libdir}/wireplumber-0.5/libwireplumber-module-lua-scripting.so
158 %attr(755,root,root) %{_libdir}/wireplumber-0.5/libwireplumber-module-mixer-api.so
159 %attr(755,root,root) %{_libdir}/wireplumber-0.5/libwireplumber-module-portal-permissionstore.so
160 %attr(755,root,root) %{_libdir}/wireplumber-0.5/libwireplumber-module-reserve-device.so
161 %attr(755,root,root) %{_libdir}/wireplumber-0.5/libwireplumber-module-settings.so
162 %attr(755,root,root) %{_libdir}/wireplumber-0.5/libwireplumber-module-si-audio-adapter.so
163 %attr(755,root,root) %{_libdir}/wireplumber-0.5/libwireplumber-module-si-audio-virtual.so
164 %attr(755,root,root) %{_libdir}/wireplumber-0.5/libwireplumber-module-si-node.so
165 %attr(755,root,root) %{_libdir}/wireplumber-0.5/libwireplumber-module-si-standard-link.so
166 %attr(755,root,root) %{_libdir}/wireplumber-0.5/libwireplumber-module-standard-event-source.so
167 %dir %{_datadir}/wireplumber/wireplumber.conf.d
168 %{_datadir}/wireplumber/wireplumber.conf.d/alsa-vm.conf
169 %{_datadir}/wireplumber/scripts
170 %{_datadir}/wireplumber/wireplumber.conf
171 %{zsh_compdir}/_wpctl
174 %defattr(644,root,root,755)
175 %doc NEWS.rst README.rst
176 %attr(755,root,root) %{_libdir}/libwireplumber-0.5.so.*.*.*
177 %attr(755,root,root) %ghost %{_libdir}/libwireplumber-0.5.so.0
178 %dir %{_libdir}/wireplumber-0.5
179 %dir %{_datadir}/wireplumber
180 %{_libdir}/girepository-1.0/Wp-0.5.typelib
183 %defattr(644,root,root,755)
184 %attr(755,root,root) %{_libdir}/libwireplumber-0.5.so
185 %{_includedir}/wireplumber-0.5
186 %{_pkgconfigdir}/wireplumber-0.5.pc
187 %{_datadir}/gir-1.0/Wp-0.5.gir
189 %if %{with static_libs}
191 %defattr(644,root,root,755)
192 %{_libdir}/libwireplumber-0.5.a
197 %defattr(644,root,root,755)
198 %doc build/docs/html/{_images,_static,daemon,design,library,policies,resources,scripting,*.html,*.js}