]> git.pld-linux.org Git - packages/pipewire-wireplumber.git/blob - pipewire-wireplumber.spec
- add systemd deps for post/preun scriptlets, rel 3
[packages/pipewire-wireplumber.git] / pipewire-wireplumber.spec
1 #
2 # Conditional build:
3 %bcond_without  apidocs         # API documentation
4
5 Summary:        Session / policy manager implementation for PipeWire
6 Name:           pipewire-wireplumber
7 Version:        0.4.6
8 Release:        3
9 License:        MIT
10 Group:          Libraries
11 Source0:        https://gitlab.freedesktop.org/pipewire/wireplumber/-/archive/%{version}/wireplumber-%{version}.tar.bz2
12 # Source0-md5:  2ab3ba8816ff5617590cee6e2ae001a9
13 URL:            https://pipewire.org/
14 # required for both docs and introspection
15 BuildRequires:  doxygen >= 1.8.0
16 BuildRequires:  gettext-tools
17 BuildRequires:  glib2-devel >= 1:2.62
18 BuildRequires:  gobject-introspection-devel
19 %{?with_apidocs:BuildRequires:  graphviz}
20 BuildRequires:  lua-devel >= 5.3.0
21 BuildRequires:  meson >= 0.56.0
22 BuildRequires:  ninja
23 BuildRequires:  pipewire-devel >= 0.3.43
24 BuildRequires:  pkgconfig
25 BuildRequires:  python3
26 BuildRequires:  python3-lxml
27 BuildRequires:  python3-modules
28 BuildRequires:  rpm-build >= 4.6
29 BuildRequires:  rpmbuild(macros) >= 2.011
30 BuildRequires:  systemd-devel
31 %if %{with apidocs}
32 BuildRequires:  python3-Sphinx
33 BuildRequires:  python3-breathe
34 BuildRequires:  python3-sphinx_rtd_theme
35 BuildRequires:  sphinx-pdg >= 2.1.0
36 %endif
37 Requires(post,preun):   systemd-units >= 250.1
38 Requires:       %{name}-libs = %{version}-%{release}
39 Requires:       systemd-units >= 250.1
40 Provides:       pipewire-session-manager
41 Obsoletes:      pipewire-media-session
42 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
43
44 %description
45 WirePlumber is a modular session / policy manager for PipeWire and a
46 GObject-based high-level library that wraps PipeWire's API, providing
47 convenience for writing the daemon's modules as well as external tools
48 for managing PipeWire.
49
50 The WirePlumber daemon implements the session & policy management
51 service. It follows a modular design, having plugins that implement
52 the actual management functionality.
53
54 %package libs
55 Summary:        WirePlumber shared library
56 Group:          Libraries
57 Requires:       glib2 >= 1:2.62
58 Requires:       pipewire-libs >= 0.3.43
59
60 %description libs
61 WirePlumber shared library.
62
63 %package devel
64 Summary:        Header files for WirePlumber library
65 Group:          Development/Libraries
66 Requires:       %{name}-libs = %{version}-%{release}
67
68 %description devel
69 Header files for WirePlumber library.
70
71 %package static
72 Summary:        WirePlumber static library
73 Group:          Development/Libraries
74 Requires:       %{name}-devel = %{version}-%{release}
75
76 %description static
77 WirePlumber static library.
78
79 %package apidocs
80 Summary:        API documentation for PipeWire WirePlumber
81 Group:          Documentation
82 BuildArch:      noarch
83
84 %description apidocs
85 API documentation for PipeWire WirePlumber.
86
87 %prep
88 %setup -q -n wireplumber-%{version}
89
90 %build
91 %meson build \
92         -Ddoc=%{__enabled_disabled apidocs} \
93         -Dintrospection=enabled \
94         -Dsystem-lua=true
95
96 %ninja_build -C build
97
98 %install
99 rm -rf $RPM_BUILD_ROOT
100
101 %ninja_install -C build
102
103 %{?with_apidocs:%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/wireplumber}
104
105 %clean
106 rm -rf $RPM_BUILD_ROOT
107
108 %post
109 %systemd_user_post wireplumber.service
110
111 %preun
112 %systemd_user_preun wireplumber.service
113
114 %post   libs -p /sbin/ldconfig
115 %postun libs -p /sbin/ldconfig
116
117 %files
118 %defattr(644,root,root,755)
119 %attr(755,root,root) %{_bindir}/wireplumber
120 %attr(755,root,root) %{_bindir}/wpctl
121 %attr(755,root,root) %{_bindir}/wpexec
122 %{systemduserunitdir}/wireplumber.service
123 %{systemduserunitdir}/wireplumber@.service
124 %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-default-nodes-api.so
125 %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-default-nodes.so
126 %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-default-profile.so
127 %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-device-activation.so
128 %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-file-monitor-api.so
129 %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-logind.so
130 %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-lua-scripting.so
131 %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-metadata.so
132 %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-mixer-api.so
133 %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-portal-permissionstore.so
134 %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-reserve-device.so
135 %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-route-settings-api.so
136 %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-si-audio-adapter.so
137 %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-si-audio-endpoint.so
138 %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-si-node.so
139 %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-si-standard-link.so
140 %{_datadir}/wireplumber/bluetooth.conf
141 %{_datadir}/wireplumber/bluetooth.lua.d
142 %{_datadir}/wireplumber/common
143 %{_datadir}/wireplumber/main.conf
144 %{_datadir}/wireplumber/main.lua.d
145 %{_datadir}/wireplumber/policy.conf
146 %{_datadir}/wireplumber/policy.lua.d
147 %{_datadir}/wireplumber/scripts
148 %{_datadir}/wireplumber/wireplumber.conf
149
150 %files libs
151 %defattr(644,root,root,755)
152 %doc NEWS.rst README.rst
153 %attr(755,root,root) %{_libdir}/libwireplumber-0.4.so.*.*.*
154 %attr(755,root,root) %ghost %{_libdir}/libwireplumber-0.4.so.0
155 %dir %{_libdir}/wireplumber-0.4
156 %dir %{_datadir}/wireplumber
157 %{_libdir}/girepository-1.0/Wp-0.4.typelib
158
159 %files devel
160 %defattr(644,root,root,755)
161 %attr(755,root,root) %{_libdir}/libwireplumber-0.4.so
162 %{_includedir}/wireplumber-0.4
163 %{_pkgconfigdir}/wireplumber-0.4.pc
164
165 %files static
166 %defattr(644,root,root,755)
167 %{_libdir}/libwireplumber-0.4.a
168 %{_datadir}/gir-1.0/Wp-0.4.gir
169
170 %if %{with apidocs}
171 %files apidocs
172 %defattr(644,root,root,755)
173 %doc build/docs/html
174 %endif
This page took 0.072807 seconds and 3 git commands to generate.