]> git.pld-linux.org Git - packages/pipewire-wireplumber.git/blob - pipewire-wireplumber.spec
up to 0.4.9
[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.9
8 Release:        1
9 License:        MIT
10 Group:          Libraries
11 Source0:        https://gitlab.freedesktop.org/pipewire/wireplumber/-/archive/%{version}/wireplumber-%{version}.tar.bz2
12 # Source0-md5:  b77170b2740ef7bc5e943d0878452a6c
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.48
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 >= 1:250.1
38 Requires:       %{name}-libs = %{version}-%{release}
39 Requires:       systemd-units >= 1: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.48
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-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
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
155 %{_libdir}/girepository-1.0/Wp-0.4.typelib
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
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
This page took 0.08582 seconds and 3 git commands to generate.