]> git.pld-linux.org Git - packages/pipewire-wireplumber.git/blob - pipewire-wireplumber.spec
- add systemd user scriptlets, rel 1
[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:        1
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:       %{name}-libs = %{version}-%{release}
38 Provides:       pipewire-session-manager
39 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
40
41 %description
42 WirePlumber is a modular session / policy manager for PipeWire and a
43 GObject-based high-level library that wraps PipeWire's API, providing
44 convenience for writing the daemon's modules as well as external tools
45 for managing PipeWire.
46
47 The WirePlumber daemon implements the session & policy management
48 service. It follows a modular design, having plugins that implement
49 the actual management functionality.
50
51 %package libs
52 Summary:        WirePlumber shared library
53 Group:          Libraries
54 Requires:       glib2 >= 1:2.62
55 Requires:       pipewire-libs >= 0.3.43
56
57 %description libs
58 WirePlumber shared library.
59
60 %package devel
61 Summary:        Header files for WirePlumber library
62 Group:          Development/Libraries
63 Requires:       %{name}-libs = %{version}-%{release}
64
65 %description devel
66 Header files for WirePlumber library.
67
68 %package static
69 Summary:        WirePlumber static library
70 Group:          Development/Libraries
71 Requires:       %{name}-devel = %{version}-%{release}
72
73 %description static
74 WirePlumber static library.
75
76 %package apidocs
77 Summary:        API documentation for PipeWire WirePlumber
78 Group:          Documentation
79 BuildArch:      noarch
80
81 %description apidocs
82 API documentation for PipeWire WirePlumber.
83
84 %prep
85 %setup -q -n wireplumber-%{version}
86
87 %build
88 %meson build \
89         -Ddoc=%{__enabled_disabled apidocs} \
90         -Dintrospection=enabled \
91         -Dsystem-lua=true
92
93 %ninja_build -C build
94
95 %install
96 rm -rf $RPM_BUILD_ROOT
97
98 %ninja_install -C build
99
100 %{?with_apidocs:%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/wireplumber}
101
102 %clean
103 rm -rf $RPM_BUILD_ROOT
104
105 %post
106 %systemd_user_post wireplumber.service
107
108 %preun
109 %systemd_user_preun wireplumber.service
110
111 %post   libs -p /sbin/ldconfig
112 %postun libs -p /sbin/ldconfig
113
114 %files
115 %defattr(644,root,root,755)
116 %attr(755,root,root) %{_bindir}/wireplumber
117 %attr(755,root,root) %{_bindir}/wpctl
118 %attr(755,root,root) %{_bindir}/wpexec
119 %{systemduserunitdir}/wireplumber.service
120 %{systemduserunitdir}/wireplumber@.service
121 %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-default-nodes-api.so
122 %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-default-nodes.so
123 %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-default-profile.so
124 %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-device-activation.so
125 %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-file-monitor-api.so
126 %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-logind.so
127 %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-lua-scripting.so
128 %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-metadata.so
129 %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-mixer-api.so
130 %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-portal-permissionstore.so
131 %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-reserve-device.so
132 %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-route-settings-api.so
133 %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-si-audio-adapter.so
134 %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-si-audio-endpoint.so
135 %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-si-node.so
136 %attr(755,root,root) %{_libdir}/wireplumber-0.4/libwireplumber-module-si-standard-link.so
137 %{_datadir}/wireplumber/bluetooth.conf
138 %{_datadir}/wireplumber/bluetooth.lua.d
139 %{_datadir}/wireplumber/common
140 %{_datadir}/wireplumber/main.conf
141 %{_datadir}/wireplumber/main.lua.d
142 %{_datadir}/wireplumber/policy.conf
143 %{_datadir}/wireplumber/policy.lua.d
144 %{_datadir}/wireplumber/scripts
145 %{_datadir}/wireplumber/wireplumber.conf
146
147 %files libs
148 %defattr(644,root,root,755)
149 %doc NEWS.rst README.rst
150 %attr(755,root,root) %{_libdir}/libwireplumber-0.4.so.*.*.*
151 %attr(755,root,root) %ghost %{_libdir}/libwireplumber-0.4.so.0
152 %dir %{_libdir}/wireplumber-0.4
153 %dir %{_datadir}/wireplumber
154 %{_libdir}/girepository-1.0/Wp-0.4.typelib
155
156 %files devel
157 %defattr(644,root,root,755)
158 %attr(755,root,root) %{_libdir}/libwireplumber-0.4.so
159 %{_includedir}/wireplumber-0.4
160 %{_pkgconfigdir}/wireplumber-0.4.pc
161
162 %files static
163 %defattr(644,root,root,755)
164 %{_libdir}/libwireplumber-0.4.a
165 %{_datadir}/gir-1.0/Wp-0.4.gir
166
167 %if %{with apidocs}
168 %files apidocs
169 %defattr(644,root,root,755)
170 %doc build/docs/html
171 %endif
This page took 0.042188 seconds and 4 git commands to generate.