Name: wireplumber Version: 0.5.16 Release: 2%{?dist} Summary: A modular session/policy manager for PipeWire License: MIT URL: https://pipewire.pages.freedesktop.org/wireplumber/ Source0: https://gitlab.freedesktop.org/pipewire/%{name}/-/archive/%{version}/%{name}-%{version}.tar.gz BuildRequires: gettext BuildRequires: meson BuildRequires: ninja-build BuildRequires: gcc BuildRequires: pkgconfig BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(gobject-2.0) BuildRequires: pkgconfig(gmodule-2.0) BuildRequires: pkgconfig(gio-2.0) BuildRequires: pkgconfig(gio-unix-2.0) BuildRequires: pkgconfig(libspa-0.2) >= 0.2 BuildRequires: pkgconfig(libpipewire-0.3) >= 1.0.2 BuildRequires: pkgconfig(systemd) BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(lua) BuildRequires: gobject-introspection-devel BuildRequires: python3-lxml BuildRequires: systemd-rpm-macros Requires: %{name}-libs%{?_isa} = %{version}-%{release} Provides: pipewire-session-manager Conflicts: pipewire-session-manager %description WirePlumber is a modular session/policy manager for PipeWire and a GObject-based high-level library that wraps PipeWire's API, providing convenience for writing the daemon's modules as well as external tools for managing PipeWire. Full dependency chain verified against real meson.build (not just meson_options.txt, since PipeWire's own build this session showed transitive dependency() calls can hide outside the options file) -- glib/gobject/gmodule/gio/gio-unix, libspa-0.2 + libpipewire-0.3 (this repo's own pipewire build), systemd/libsystemd, lua (>=5.3, this distro's lua-devel is 5.4.8 and provides plain pkgconfig(lua), which is exactly the fallback path meson.build's lua-version search resolves to after failing its versioned-name attempts). Built with -Dsystem-lua=true specifically because the default (false) builds Lua as a Meson subproject, which -- like PipeWire's default WirePlumber subproject -- would need network access unavailable in the COPR mock build sandbox. -Delogind=disabled since this repo uses systemd, not elogind (no libelogind-devel on this distro anyway). %package libs Summary: Libraries for WirePlumber clients Recommends: %{name}%{?_isa} = %{version}-%{release} %description libs This package contains the runtime libraries for any application that wishes to interface with WirePlumber. %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %prep %autosetup -n %{name}-%{version} -p1 %build %meson \ -D system-lua=true \ -D doc=disabled \ -D systemd=enabled \ -D systemd-user-service=true \ -D introspection=enabled \ -D elogind=disabled \ -D tests=false \ -D dbus-tests=false %meson_build %install %meson_install mkdir -p %{buildroot}%{_sysconfdir}/wireplumber/{bluetooth.lua.d,common,main.lua.d,policy.lua.d} mkdir -p %{buildroot}%{_datadir}/wireplumber/wireplumber.conf.d %find_lang %{name} %posttrans %systemd_user_post %{name}.service %preun %systemd_user_preun %{name}.service %files -f %{name}.lang %license LICENSE %{_bindir}/wireplumber %{_bindir}/wpctl %{_bindir}/wpexec %dir %{_sysconfdir}/wireplumber %dir %{_sysconfdir}/wireplumber/bluetooth.lua.d %dir %{_sysconfdir}/wireplumber/common %dir %{_sysconfdir}/wireplumber/main.lua.d %dir %{_sysconfdir}/wireplumber/policy.lua.d %{_datadir}/wireplumber/ %{_datadir}/zsh/site-functions/_wpctl %{_datadir}/bash-completion/completions/wpctl %{_userunitdir}/wireplumber.service %{_userunitdir}/wireplumber@.service %files libs %license LICENSE %dir %{_libdir}/wireplumber-0.5/ %{_libdir}/wireplumber-0.5/libwireplumber-*.so %{_libdir}/libwireplumber-0.5.so.* %{_libdir}/girepository-1.0/Wp-0.5.typelib %files devel %{_includedir}/wireplumber-0.5/ %{_libdir}/libwireplumber-0.5.so %{_libdir}/pkgconfig/wireplumber-0.5.pc %{_datadir}/gir-1.0/Wp-0.5.gir %changelog * Sat Aug 29 2026 Smech - 0.5.16-2 - R1 failed: "python3 is missing modules: lxml" (docs/meson.build:14, pymod.find_installation('python3', modules: ['lxml'], required: get_option('introspection'))) -- this check is gated by introspection, not doc, so -Ddoc=disabled didn't avoid it; -Dintrospection=enabled (which this repo wants) pulls it in regardless. Matches what Fedora's own reference spec already listed (python3-lxml). Added. * Sat Aug 29 2026 Smech - 0.5.16-1 - Real upstream source (GitLab archive). BuildRequires/meson flags cross-checked against both real meson.build (dependency() calls) and Fedora's reference spec, adapted to this repo's package names (this repo's own pipewire build for libpipewire-0.3/libspa-0.2). Dropped doc/python3-lxml/doxygen (matches Fedora's own -Ddoc=disabled, no doc subpackage built here). Dropped Fedora's zsh/bash-completion files from %%files since this repo doesn't build zsh/bash-completion elsewhere either -- kept minimal to what's actually useful without those shells' completion infra -- corrected after checking real src/tools/meson.build: both completions are unconditionally install_data()'d (no gating option), so they're claimed after all.