]>
Commit | Line | Data |
---|---|---|
b24919ad JP |
1 | # |
2 | # Conditional build: | |
3 | %bcond_without apidocs # API documentation | |
4 | ||
02a2aaf9 JP |
5 | Summary: Session / policy manager implementation for PipeWire |
6 | Name: pipewire-wireplumber | |
b649302d JP |
7 | Version: 0.4.9 |
8 | Release: 1 | |
02a2aaf9 JP |
9 | License: MIT |
10 | Group: Libraries | |
11 | Source0: https://gitlab.freedesktop.org/pipewire/wireplumber/-/archive/%{version}/wireplumber-%{version}.tar.bz2 | |
b649302d | 12 | # Source0-md5: b77170b2740ef7bc5e943d0878452a6c |
02a2aaf9 | 13 | URL: https://pipewire.org/ |
b24919ad JP |
14 | # required for both docs and introspection |
15 | BuildRequires: doxygen >= 1.8.0 | |
02a2aaf9 JP |
16 | BuildRequires: gettext-tools |
17 | BuildRequires: glib2-devel >= 1:2.62 | |
b24919ad JP |
18 | BuildRequires: gobject-introspection-devel |
19 | %{?with_apidocs:BuildRequires: graphviz} | |
02a2aaf9 JP |
20 | BuildRequires: lua-devel >= 5.3.0 |
21 | BuildRequires: meson >= 0.56.0 | |
22 | BuildRequires: ninja | |
b649302d | 23 | BuildRequires: pipewire-devel >= 0.3.48 |
02a2aaf9 | 24 | BuildRequires: pkgconfig |
b24919ad JP |
25 | BuildRequires: python3 |
26 | BuildRequires: python3-lxml | |
27 | BuildRequires: python3-modules | |
28 | BuildRequires: rpm-build >= 4.6 | |
13e76c0e | 29 | BuildRequires: rpmbuild(macros) >= 2.011 |
02a2aaf9 | 30 | BuildRequires: systemd-devel |
b24919ad JP |
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 | |
ce087de4 | 37 | Requires(post,preun): systemd-units >= 1:250.1 |
02a2aaf9 | 38 | Requires: %{name}-libs = %{version}-%{release} |
ce087de4 | 39 | Requires: systemd-units >= 1:250.1 |
02a2aaf9 | 40 | Provides: pipewire-session-manager |
ac4668df | 41 | Obsoletes: pipewire-media-session |
02a2aaf9 JP |
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 | |
b649302d | 58 | Requires: pipewire-libs >= 0.3.48 |
02a2aaf9 JP |
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 | ||
b24919ad JP |
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 | ||
02a2aaf9 JP |
87 | %prep |
88 | %setup -q -n wireplumber-%{version} | |
89 | ||
90 | %build | |
91 | %meson build \ | |
b24919ad JP |
92 | -Ddoc=%{__enabled_disabled apidocs} \ |
93 | -Dintrospection=enabled \ | |
02a2aaf9 JP |
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 | ||
b24919ad JP |
103 | %{?with_apidocs:%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/wireplumber} |
104 | ||
02a2aaf9 JP |
105 | %clean |
106 | rm -rf $RPM_BUILD_ROOT | |
107 | ||
13e76c0e JR |
108 | %post |
109 | %systemd_user_post wireplumber.service | |
110 | ||
111 | %preun | |
112 | %systemd_user_preun wireplumber.service | |
113 | ||
02a2aaf9 JP |
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 | |
02a2aaf9 JP |
127 | %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-file-monitor-api.so |
128 | %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-logind.so | |
129 | %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-lua-scripting.so | |
130 | %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-metadata.so | |
131 | %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-mixer-api.so | |
132 | %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-portal-permissionstore.so | |
133 | %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-reserve-device.so | |
02a2aaf9 JP |
134 | %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-si-audio-adapter.so |
135 | %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-si-audio-endpoint.so | |
136 | %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-si-node.so | |
137 | %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-si-standard-link.so | |
138 | %{_datadir}/wireplumber/bluetooth.conf | |
139 | %{_datadir}/wireplumber/bluetooth.lua.d | |
140 | %{_datadir}/wireplumber/common | |
141 | %{_datadir}/wireplumber/main.conf | |
142 | %{_datadir}/wireplumber/main.lua.d | |
143 | %{_datadir}/wireplumber/policy.conf | |
144 | %{_datadir}/wireplumber/policy.lua.d | |
145 | %{_datadir}/wireplumber/scripts | |
146 | %{_datadir}/wireplumber/wireplumber.conf | |
147 | ||
148 | %files libs | |
149 | %defattr(644,root,root,755) | |
150 | %doc NEWS.rst README.rst | |
151 | %attr(755,root,root) %{_libdir}/libwireplumber-0.4.so.*.*.* | |
152 | %attr(755,root,root) %ghost %{_libdir}/libwireplumber-0.4.so.0 | |
153 | %dir %{_libdir}/wireplumber-0.4 | |
154 | %dir %{_datadir}/wireplumber | |
b24919ad | 155 | %{_libdir}/girepository-1.0/Wp-0.4.typelib |
02a2aaf9 JP |
156 | |
157 | %files devel | |
158 | %defattr(644,root,root,755) | |
159 | %attr(755,root,root) %{_libdir}/libwireplumber-0.4.so | |
160 | %{_includedir}/wireplumber-0.4 | |
161 | %{_pkgconfigdir}/wireplumber-0.4.pc | |
162 | ||
163 | %files static | |
164 | %defattr(644,root,root,755) | |
165 | %{_libdir}/libwireplumber-0.4.a | |
b24919ad JP |
166 | %{_datadir}/gir-1.0/Wp-0.4.gir |
167 | ||
168 | %if %{with apidocs} | |
169 | %files apidocs | |
170 | %defattr(644,root,root,755) | |
171 | %doc build/docs/html | |
172 | %endif |