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