You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1062 lines
34 KiB

%global majorversion 0
%global minorversion 3
%global microversion 67
%global apiversion 0.3
%global spaversion 0.2
%global soversion 0
%global libversion %{soversion}.%(bash -c '((intversion = (%{minorversion} * 100) + %{microversion})); echo ${intversion}').0
%global ms_version 0.4.2
# For rpmdev-bumpspec and releng automation
%global baserelease 2
#global snapdate 20210107
#global gitcommit b17db2cebc1a5ab2c01851d29c05f79cd2f262bb
#global shortcommit %(c=%{gitcommit}; echo ${c:0:7})
# https://bugzilla.redhat.com/983606
%global _hardened_build 1
# where/how to apply multilib hacks
%global multilib_archs x86_64 %{ix86} ppc64 ppc s390x s390 sparc64 sparcv9 ppc64le
# Build conditions for various features
%bcond_without alsa
%bcond_without vulkan
%if (0%{?fedora} && 0%{?fedora} < 35)
%bcond_without media_session
%else
%bcond_with media_session
%endif
# Features disabled for RHEL 8
%if 0%{?rhel} && 0%{?rhel} < 9
%bcond_with pulse
%bcond_with jack
%else
%bcond_without pulse
%bcond_without jack
%endif
# Features disabled for RHEL
%if 0%{?rhel}
%bcond_with jackserver_plugin
%else
%bcond_without jackserver_plugin
%endif
# Disabled for RHEL < 10 and Fedora < 36
%if (0%{?rhel} && 0%{?rhel} < 10) || (0%{?fedora} && 0%{?fedora} < 36)
%bcond_with libcamera_plugin
%else
%bcond_without libcamera_plugin
%endif
%bcond_without v4l2
Name: pipewire
Summary: Media Sharing Server
Version: %{majorversion}.%{minorversion}.%{microversion}
Release: %{baserelease}%{?snapdate:.%{snapdate}git%{shortcommit}}%{?dist}
License: MIT
URL: https://pipewire.org/
%if 0%{?snapdate}
Source0: https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/%{gitcommit}/pipewire-%{shortcommit}.tar.gz
%else
Source0: https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/%{version}/pipewire-%{version}.tar.gz
%endif
%if %{with media-session}
Source1: https://gitlab.freedesktop.org/pipewire/media-session/-/archive/%{ms_version}/media-session-%{ms_version}.tar.gz
%endif
## upstream patches
Patch0001: 0001-v4l2-don-t-set-inotify-on-dev.patch
## upstreamable patches
## fedora patches
%if %{with media-session}
Patch1001: 0001-Build-media-session-from-local-tarbal.patch
%endif
## rhel patches
BuildRequires: gettext
BuildRequires: meson >= 0.59.0
BuildRequires: gcc
BuildRequires: g++
BuildRequires: pkgconfig
BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(glib-2.0) >= 2.32
BuildRequires: pkgconfig(gio-unix-2.0) >= 2.32
BuildRequires: pkgconfig(gstreamer-1.0) >= 1.10.0
BuildRequires: pkgconfig(gstreamer-base-1.0) >= 1.10.0
BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) >= 1.10.0
BuildRequires: pkgconfig(gstreamer-net-1.0) >= 1.10.0
BuildRequires: pkgconfig(gstreamer-allocators-1.0) >= 1.10.0
# libldac is not built on x390x, see rhbz#1677491
%ifnarch s390x
BuildRequires: pkgconfig(ldacBT-enc)
BuildRequires: pkgconfig(ldacBT-abr)
%endif
BuildRequires: pkgconfig(fdk-aac)
%if %{with vulkan}
BuildRequires: pkgconfig(vulkan)
%endif
BuildRequires: pkgconfig(bluez)
BuildRequires: systemd
BuildRequires: systemd-devel
BuildRequires: alsa-lib-devel
BuildRequires: libv4l-devel
BuildRequires: doxygen
BuildRequires: python-docutils
BuildRequires: graphviz
BuildRequires: sbc-devel
BuildRequires: libsndfile-devel
BuildRequires: ncurses-devel
BuildRequires: pulseaudio-libs-devel
BuildRequires: avahi-devel
BuildRequires: pkgconfig(webrtc-audio-processing) >= 0.2
BuildRequires: libusb1-devel
#BuildRequires: libunwind-devel
BuildRequires: readline-devel
#BuildRequires: lilv-devel
BuildRequires: openssl-devel
BuildRequires: libcanberra-devel
#BuildRequires: roc-toolkit-devel
#BuildRequires: openfec-devel
BuildRequires: libuv-devel
BuildRequires: speexdsp-devel
#BuildRequires: sox-devel
#BuildRequires: libmysofa-devel
Requires(pre): shadow-utils
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: systemd
Requires: rtkit
# A virtual Provides so we can swap session managers
Requires: pipewire-session-manager
# Prefer WirePlumber for session manager
Suggests: wireplumber
%description
PipeWire is a multimedia server for Linux and other Unix like operating
systems.
%package libs
Summary: Libraries for PipeWire clients
License: MIT
Recommends: %{name}%{?_isa} = %{version}-%{release}
Obsoletes: %{name}-libpulse < %{version}-%{release}
%description libs
This package contains the runtime libraries for any application that wishes
to interface with a PipeWire media server.
%package gstreamer
Summary: GStreamer elements for PipeWire
License: MIT
Recommends: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description gstreamer
This package contains GStreamer elements to interface with a
PipeWire media server.
%package devel
Summary: Headers and libraries for PipeWire client development
License: MIT
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description devel
Headers and libraries for developing applications that can communicate with
a PipeWire media server.
%package doc
Summary: PipeWire media server documentation
License: MIT
%description doc
This package contains documentation for the PipeWire media server.
%package utils
Summary: PipeWire media server utilities
License: MIT
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description utils
This package contains command line utilities for the PipeWire media server.
%if %{with media_session}
%package media-session
Summary: PipeWire Media Session Manager
License: MIT
Recommends: %{name}%{?_isa} = %{version}-%{release}
Obsoletes: %{name}-libpulse < %{version}-%{release}
# before 0.3.30-5 the session manager was in the main pipewire package
Conflicts: %{name}%{?_isa} < 0.3.30-5
# Virtual Provides to support swapping between PipeWire session manager implementations
Provides: pipewire-session-manager
Conflicts: pipewire-session-manager
%description media-session
This package contains the reference Media Session Manager for the
PipeWire media server.
%endif
%if %{with alsa}
%package alsa
Summary: PipeWire media server ALSA support
License: MIT
Recommends: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%if ! (0%{?fedora} && 0%{?fedora} < 34)
# Ensure this is provided by default to route all audio
Supplements: %{name} = %{version}-%{release}
# Replace PulseAudio and JACK ALSA plugins with PipeWire
## N.B.: If alsa-plugins gets updated in F33, this will need to be bumped
Obsoletes: alsa-plugins-jack < 1.2.2-5
Obsoletes: alsa-plugins-pulseaudio < 1.2.2-5
%endif
%description alsa
This package contains an ALSA plugin for the PipeWire media server.
%endif
%if %{with jack}
%package jack-audio-connection-kit
Summary: PipeWire JACK implementation
License: MIT
Recommends: %{name}%{?_isa} = %{version}-%{release}
Conflicts: jack-audio-connection-kit
Conflicts: jack-audio-connection-kit-dbus
# Fixed jack subpackages
Conflicts: %{name}-libjack < 0.3.13-6
Conflicts: %{name}-jack-audio-connection-kit < 0.3.13-6
# Replaces libjack subpackage
Obsoletes: %{name}-libjack < 0.3.19-2
Provides: %{name}-libjack = %{version}-%{release}
Provides: %{name}-libjack%{?_isa} = %{version}-%{release}
%if ! (0%{?fedora} && 0%{?fedora} < 34)
# Ensure this is provided by default to route all audio
Supplements: %{name} = %{version}-%{release}
# Replace JACK with PipeWire-JACK
## N.B.: If jack gets updated in F33, this will need to be bumped
Obsoletes: jack-audio-connection-kit < 1.9.16-2
%endif
%description jack-audio-connection-kit
This package provides a JACK implementation based on PipeWire
%package jack-audio-connection-kit-devel
Summary: Development files for %{name}-jack-audio-connection-kit
License: MIT
Requires: %{name}-jack-audio-connection-kit%{?_isa} = %{version}-%{release}
Conflicts: jack-audio-connection-kit-devel
Enhances: %{name}-jack-audio-connection-kit
%description jack-audio-connection-kit-devel
This package provides development files for building JACK applications
using PipeWire's JACK library.
%endif
%if %{with jackserver_plugin}
%package plugin-jack
Summary: PipeWire media server JACK support
License: MIT
BuildRequires: jack-audio-connection-kit-devel
Recommends: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: jack-audio-connection-kit
%description plugin-jack
This package contains the PipeWire spa plugin to connect to a JACK server.
%endif
%if %{with libcamera_plugin}
%package plugin-libcamera
Summary: PipeWire media server libcamera support
License: MIT
BuildRequires: libcamera-devel
BuildRequires: libdrm-devel
Recommends: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: libcamera
Requires: libdrm
%description plugin-libcamera
This package contains the PipeWire spa plugin to access cameras through libcamera.
%endif
%if %{with pulse}
%package pulseaudio
Summary: PipeWire PulseAudio implementation
License: MIT
Recommends: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: pulseaudio-utils
BuildRequires: pulseaudio-libs
Conflicts: pulseaudio
# Fixed pulseaudio subpackages
Conflicts: %{name}-libpulse < 0.3.13-6
Conflicts: %{name}-pulseaudio < 0.3.13-6
%if ! (0%{?fedora} && 0%{?fedora} < 34)
# Ensure this is provided by default to route all audio
Supplements: %{name} = %{version}-%{release}
# Replace PulseAudio with PipeWire-PulseAudio
## N.B.: If pulseaudio gets updated in F33, this will need to be bumped
Obsoletes: pulseaudio < 14.2-3
Obsoletes: pulseaudio-esound-compat < 14.2-3
Obsoletes: pulseaudio-module-bluetooth < 14.2-3
Obsoletes: pulseaudio-module-gconf < 14.2-3
Obsoletes: pulseaudio-module-gsettings < 14.2-3
Obsoletes: pulseaudio-module-jack < 14.2-3
Obsoletes: pulseaudio-module-lirc < 14.2-3
Obsoletes: pulseaudio-module-x11 < 14.2-3
Obsoletes: pulseaudio-module-zeroconf < 14.2-3
Obsoletes: pulseaudio-qpaeq < 14.2-3
%endif
# Virtual Provides to support swapping between PipeWire-PA and PA
Provides: pulseaudio-daemon
Conflicts: pulseaudio-daemon
Provides: pulseaudio-module-bluetooth
Provides: pulseaudio-module-jack
%description pulseaudio
This package provides a PulseAudio implementation based on PipeWire
%endif
%if %{with v4l2}
%package v4l2
Summary: PipeWire media server v4l2 LD_PRELOAD support
License: MIT
Recommends: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description v4l2
This package contains an LD_PRELOAD library that redirects v4l2 applications to
PipeWire.
%endif
%package module-x11
Summary: PipeWire media server x11 support
License: MIT
Recommends: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description module-x11
This package contains X11 bell support for PipeWire.
%prep
%autosetup -p1 %{?snapdate:-n %{name}-%{gitcommit}}
%if %{with media-session}
mkdir subprojects/packagefiles
cp %{SOURCE1} subprojects/packagefiles/
%endif
%build
%meson \
-D docs=enabled -D man=enabled -D gstreamer=enabled -D systemd=enabled \
-D gstreamer-device-provider=disabled -D sdl2=disabled \
-D audiotestsrc=disabled -D videotestsrc=disabled \
-D volume=disabled -D bluez5-codec-aptx=disabled \
-D bluez5-codec-lc3plus=disabled -D roc=disabled -D x11-xfixes=disabled \
-D lv2=disabled -D libmysofa=disabled \
%ifarch s390x
-D bluez5-codec-ldac=disabled \
%endif
%{!?with_media_session:-D session-managers=[]} \
%{!?with_jack:-D pipewire-jack=disabled} \
%{!?with_jackserver_plugin:-D jack=disabled} \
%{!?with_libcamera_plugin:-D libcamera=disabled} \
%{?with_jack:-D jack-devel=true} \
%{!?with_alsa:-D pipewire-alsa=disabled} \
%{?with_vulkan:-D vulkan=enabled} \
%{nil}
%meson_build
%install
%meson_install
%if %{with jack}
mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d/
echo %{_libdir}/pipewire-%{apiversion}/jack/ > %{buildroot}%{_sysconfdir}/ld.so.conf.d/pipewire-jack-%{_arch}.conf
%else
rm %{buildroot}%{_datadir}/pipewire/jack.conf
%if %{with media_session}
rm %{buildroot}%{_datadir}/pipewire/media-session.d/with-jack
%endif
%endif
%if %{with alsa}
mkdir -p %{buildroot}%{_sysconfdir}/alsa/conf.d/
cp %{buildroot}%{_datadir}/alsa/alsa.conf.d/50-pipewire.conf \
%{buildroot}%{_sysconfdir}/alsa/conf.d/50-pipewire.conf
cp %{buildroot}%{_datadir}/alsa/alsa.conf.d/99-pipewire-default.conf \
%{buildroot}%{_sysconfdir}/alsa/conf.d/99-pipewire-default.conf
%if %{with media_session}
touch %{buildroot}%{_datadir}/pipewire/media-session.d/with-alsa
%endif
%endif
%if ! %{with pulse}
# If the PulseAudio replacement isn't being offered, delete the files
rm %{buildroot}%{_bindir}/pipewire-pulse
rm %{buildroot}%{_userunitdir}/pipewire-pulse.*
rm %{buildroot}%{_datadir}/pipewire/pipewire-pulse.conf
%if %{with media_session}
rm %{buildroot}%{_datadir}/pipewire/media-session.d/with-pulseaudio
%endif
%endif
%find_lang %{name}
%if %{with media_session}
%find_lang media-session
%endif
# upstream should use udev.pc
mkdir -p %{buildroot}%{_prefix}/lib/udev/rules.d
mv -fv %{buildroot}/lib/udev/rules.d/90-pipewire-alsa.rules %{buildroot}%{_prefix}/lib/udev/rules.d
%check
%meson_test || TESTS_ERROR=$?
if [ "${TESTS_ERROR}" != "" ]; then
echo "test failed"
%{!?tests_nonfatal:exit $TESTS_ERROR}
fi
%pre
getent group pipewire >/dev/null || groupadd -r pipewire
getent passwd pipewire >/dev/null || \
useradd -r -g pipewire -d %{_localstatedir}/run/pipewire -s /sbin/nologin -c "PipeWire System Daemon" pipewire
exit 0
%post
%systemd_user_post pipewire.service
%systemd_user_post pipewire.socket
%triggerun -- %{name} < 0.3.6-2
# This is for upgrades from previous versions which had a static symlink.
# The %%post scriptlet above only does anything on initial package installation.
# Remove before F33.
systemctl --no-reload preset --global pipewire.socket >/dev/null 2>&1 || :
%if %{with pulse}
%post pulseaudio
%systemd_user_post pipewire-pulse.service
%systemd_user_post pipewire-pulse.socket
%endif
%if %{with media_session}
%post media-session
%systemd_user_post pipewire-media-session.service
%endif
%files
%license LICENSE COPYING
%doc README.md NEWS
%{_userunitdir}/pipewire.*
%{_userunitdir}/filter-chain.*
%{_bindir}/pipewire
%{_bindir}/pipewire-avb
%{_bindir}/pipewire-aes67
%{_mandir}/man1/pipewire.1*
%dir %{_datadir}/pipewire/
%{_datadir}/pipewire/pipewire.conf
%{_datadir}/pipewire/minimal.conf
%{_datadir}/pipewire/filter-chain.conf
%{_datadir}/pipewire/filter-chain/*.conf
%{_datadir}/pipewire/pipewire-avb.conf
%{_datadir}/pipewire/pipewire-aes67.conf
%{_mandir}/man5/pipewire.conf.5*
%config(noreplace) %{_sysconfdir}/security/limits.d/*.conf
%if %{with media_session}
%files media-session -f media-session.lang
%{_bindir}/pipewire-media-session
%{_userunitdir}/pipewire-media-session.service
%dir %{_datadir}/pipewire/media-session.d/
%{_datadir}/pipewire/media-session.d/alsa-monitor.conf
%{_datadir}/pipewire/media-session.d/bluez-monitor.conf
%{_datadir}/pipewire/media-session.d/media-session.conf
%{_datadir}/pipewire/media-session.d/v4l2-monitor.conf
%if %{with alsa}
%{_datadir}/pipewire/media-session.d/with-alsa
%endif
%if %{with jack}
%{_datadir}/pipewire/media-session.d/with-jack
%endif
%if %{with pulse}
%{_datadir}/pipewire/media-session.d/with-pulseaudio
%endif
%endif
%files libs -f %{name}.lang
%license LICENSE COPYING
%doc README.md
%{_libdir}/libpipewire-%{apiversion}.so.*
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-access.so
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-adapter.so
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-avb.so
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-client-device.so
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-client-node.so
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-combine-stream.so
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-echo-cancel.so
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-fallback-sink.so
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-filter-chain.so
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-link-factory.so
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-loopback.so
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-metadata.so
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-pipe-tunnel.so
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-portal.so
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-profiler.so
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-protocol-native.so
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-protocol-pulse.so
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-protocol-simple.so
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-pulse-tunnel.so
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-raop-discover.so
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-raop-sink.so
#%{_libdir}/pipewire-%{apiversion}/libpipewire-module-roc-sink.so
#%{_libdir}/pipewire-%{apiversion}/libpipewire-module-roc-source.so
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-rtkit.so
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-rtp-sink.so
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-rtp-source.so
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-rt.so
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-session-manager.so
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-spa-device-factory.so
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-spa-device.so
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-spa-node-factory.so
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-spa-node.so
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-zeroconf-discover.so
%dir %{_datadir}/alsa-card-profile/
%dir %{_datadir}/alsa-card-profile/mixer/
%{_datadir}/alsa-card-profile/mixer/paths/
%{_datadir}/alsa-card-profile/mixer/profile-sets/
%dir %{_datadir}/spa-0.2/
%{_datadir}/spa-0.2/bluez5/bluez-hardware.conf
%{_prefix}/lib/udev/rules.d/90-pipewire-alsa.rules
%dir %{_libdir}/spa-%{spaversion}
%{_libdir}/spa-%{spaversion}/aec/
%{_libdir}/spa-%{spaversion}/alsa/
%{_libdir}/spa-%{spaversion}/audioconvert/
%{_libdir}/spa-%{spaversion}/audiomixer/
%{_libdir}/spa-%{spaversion}/avb/
%{_libdir}/spa-%{spaversion}/bluez5/
%{_libdir}/spa-%{spaversion}/control/
%{_libdir}/spa-%{spaversion}/support/
%{_libdir}/spa-%{spaversion}/v4l2/
%{_libdir}/spa-%{spaversion}/videoconvert/
%if %{with vulkan}
%{_libdir}/spa-%{spaversion}/vulkan/
%endif
%{_datadir}/pipewire/client.conf
%{_datadir}/pipewire/client-rt.conf
%files gstreamer
%{_libdir}/gstreamer-1.0/libgstpipewire.*
%files devel
%{_libdir}/libpipewire-%{apiversion}.so
%{_includedir}/pipewire-%{apiversion}/
%{_includedir}/spa-%{spaversion}/
%{_libdir}/pkgconfig/libpipewire-%{apiversion}.pc
%{_libdir}/pkgconfig/libspa-%{spaversion}.pc
%files doc
%doc README.md NEWS
%{_datadir}/doc/pipewire/html
%files utils
%{_bindir}/pw-mon
%{_bindir}/pw-metadata
%{_bindir}/pw-dsdplay
%{_bindir}/pw-mididump
%{_bindir}/pw-midiplay
%{_bindir}/pw-midirecord
%{_bindir}/pw-cli
%{_bindir}/pw-dot
%{_bindir}/pw-cat
%{_bindir}/pw-dump
%{_bindir}/pw-encplay
%{_bindir}/pw-link
%{_bindir}/pw-loopback
%{_bindir}/pw-play
%{_bindir}/pw-profiler
%{_bindir}/pw-record
%{_bindir}/pw-reserve
%{_bindir}/pw-top
%{_mandir}/man1/pw-mon.1*
%{_mandir}/man1/pw-cli.1*
%{_mandir}/man1/pw-cat.1*
%{_mandir}/man1/pw-dot.1*
%{_mandir}/man1/pw-link.1*
%{_mandir}/man1/pw-metadata.1*
%{_mandir}/man1/pw-mididump.1*
%{_mandir}/man1/pw-profiler.1*
%{_mandir}/man1/pw-top.1*
%{_bindir}/spa-acp-tool
%{_bindir}/spa-inspect
%{_bindir}/spa-json-dump
%{_bindir}/spa-monitor
%{_bindir}/spa-resample
%if %{with alsa}
%files alsa
%{_libdir}/alsa-lib/libasound_module_pcm_pipewire.so
%{_libdir}/alsa-lib/libasound_module_ctl_pipewire.so
%{_datadir}/alsa/alsa.conf.d/50-pipewire.conf
%{_datadir}/alsa/alsa.conf.d/99-pipewire-default.conf
%config(noreplace) %{_sysconfdir}/alsa/conf.d/50-pipewire.conf
%config(noreplace) %{_sysconfdir}/alsa/conf.d/99-pipewire-default.conf
%endif
%if %{with jack}
%files jack-audio-connection-kit
%{_bindir}/pw-jack
%{_mandir}/man1/pw-jack.1*
%{_libdir}/pipewire-%{apiversion}/jack/libjack.so.*
%{_libdir}/pipewire-%{apiversion}/jack/libjacknet.so.*
%{_libdir}/pipewire-%{apiversion}/jack/libjackserver.so.*
%{_datadir}/pipewire/jack.conf
%{_sysconfdir}/ld.so.conf.d/pipewire-jack-%{_arch}.conf
%files jack-audio-connection-kit-devel
%{_includedir}/jack/
%{_libdir}/pipewire-%{apiversion}/jack/libjack.so
%{_libdir}/pipewire-%{apiversion}/jack/libjacknet.so
%{_libdir}/pipewire-%{apiversion}/jack/libjackserver.so
%{_libdir}/pkgconfig/jack.pc
%endif
%if %{with jackserver_plugin}
%files plugin-jack
%{_libdir}/spa-%{spaversion}/jack/
%endif
%if %{with libcamera_plugin}
%files plugin-libcamera
%{_libdir}/spa-%{spaversion}/libcamera/
%endif
%if %{with pulse}
%files pulseaudio
%{_bindir}/pipewire-pulse
%{_mandir}/man1/pipewire-pulse.1*
%{_userunitdir}/pipewire-pulse.*
%{_datadir}/pipewire/pipewire-pulse.conf
%endif
%if %{with v4l2}
%files v4l2
%{_bindir}/pw-v4l2
%{_libdir}/pipewire-%{apiversion}/v4l2/libpw-v4l2.so
%endif
%files module-x11
%{_libdir}/pipewire-%{apiversion}/libpipewire-module-x11-bell.so
%changelog
* Tue Aug 01 2023 Wim Taymans <wtaymans@redhat.com> - 0.3.67-2
- Add patch for removing inotify on /dev
- Resolves: rhbz#2221868
* Wed Mar 22 2023 Wim Taymans <wtaymans@redhat.com> - 0.3.67-1
- Update to 0.3.67
- Resolves: rhbz#2176829
* Fri Mar 11 2022 Wim Taymans <wtaymans@redhat.com> - 0.3.47-2
- Add pulseaudio-utils as Requires for pipewire-pulseaudio
Resolves: rhbz#2059874
* Fri Feb 18 2022 Wim Taymans <wtaymans@redhat.com> - 0.3.47-1
- Update to 0.3.47
Resolves: rhbz#2055694
* Mon Nov 15 2021 Neal Gompa <ngompa@centosproject.org> - 0.3.40-1
- Update to version 0.3.40 which drops media-session service for WirePlumber
Resolves: rhbz#2022694
* Thu Sep 16 2021 Wim Taymans <wtaymans@redhat.com> - 0.3.32-3
- Perform default systemd actions for media-session service.
Resolves: rhbz#1992712
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 0.3.32-2
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Wed Jul 21 2021 Neal Gompa <ngompa@centosproject.org> - 0.3.32-1
- Update to 0.3.32
Resolves: rhbz#1956854
* Sat Apr 24 2021 Neal Gompa <ngompa13@gmail.com> - 0.3.26-1
- Update to 0.3.26
- Add jack-devel subpackage, enable JACK support on RHEL 9+ (#1945951)
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 0.3.24-5
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Thu Mar 25 2021 Wim Taymans <wtaymans@redhat.com> - 0.3.24-4
- Apply some critical upstream patches
* Thu Mar 25 2021 Kalev Lember <klember@redhat.com> - 0.3.24-3
- Fix RHEL build
* Thu Mar 25 2021 Kalev Lember <klember@redhat.com> - 0.3.24-2
- Move individual config files to the subpackages that make use of them
* Thu Mar 18 2021 Wim Taymans <wtaymans@redhat.com> - 0.3.24-1
- Update to 0.3.24
* Tue Mar 09 2021 Wim Taymans <wtaymans@redhat.com> - 0.3.23-2
- Add patch to enable UCM Microphones
* Thu Mar 04 2021 Wim Taymans <wtaymans@redhat.com> - 0.3.23-1
- Update to 0.3.23
* Wed Feb 24 2021 Wim Taymans <wtaymans@redhat.com> - 0.3.22-7
- Add patch to sample destroy use after free
* Wed Feb 24 2021 Wim Taymans <wtaymans@redhat.com> - 0.3.22-6
- Add patch for jack names
* Mon Feb 22 2021 Wim Taymans <wtaymans@redhat.com> - 0.3.22-5
- Add some critical patches
* Fri Feb 19 2021 Neal Gompa <ngompa13@gmail.com> - 0.3.22-4
- Replace more PulseAudio modules on upgrade in F34+
* Fri Feb 19 2021 Neal Gompa <ngompa13@gmail.com> - 0.3.22-3
- Replace ALSA plugins and PulseAudio modules on upgrade in F34+
* Fri Feb 19 2021 Neal Gompa <ngompa13@gmail.com> - 0.3.22-2
- Replace JACK and PulseAudio on upgrade in F34+
Reference: https://fedoraproject.org/wiki/Changes/DefaultPipeWire
* Thu Feb 18 2021 Wim Taymans <wtaymans@redhat.com> - 0.3.22-1
- Update to 0.3.22
- disable sdl2 examples
* Thu Feb 04 2021 Wim Taymans <wtaymans@redhat.com> - 0.3.21-2
- Add some upstream patches
- Fixes rhbz#1925138
* Wed Feb 03 2021 Wim Taymans <wtaymans@redhat.com> - 0.3.21-1
- Update to 0.3.21
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.20-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Jan 20 2021 Wim Taymans <wtaymans@redhat.com> - 0.3.20-1
- Update to 0.3.20
- Fix baseversion
- Add gettext dependency
* Tue Jan 12 2021 Neal Gompa <ngompa13@gmail.com> - 0.3.19-4
- Rework conditional build to fix ELN builds
* Sat Jan 9 2021 Evan Anderson <evan@eaanderson.com> - 0.3.19-3
- Add LDAC and AAC dependency to enhance Bluetooth support
* Thu Jan 7 2021 Neal Gompa <ngompa13@gmail.com> - 0.3.19-2
- Obsolete useless libjack subpackage with jack-audio-connection-kit subpackage
* Tue Jan 5 2021 Wim Taymans <wtaymans@redhat.com> - 0.3.19-1
- Update to 0.3.19
- Add ncurses-devel BR
* Tue Dec 15 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.18-1
- Update to 0.3.18
* Fri Nov 27 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.17-2
- Add some more Provides: for pulseaudio
* Thu Nov 26 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.17-1
- Update to 0.3.17
* Tue Nov 24 2020 Neal Gompa <ngompa13@gmail.com> - 0.3.16-4
- Add 'pulseaudio-daemon' Provides + Conflicts to pipewire-pulseaudio
- Remove useless ldconfig macros that expand to nothing
* Fri Nov 20 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.16-3
- Fix Requires for pipewire-pulseaudio
- Fixes rhbz#1899945
* Fri Nov 20 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.16-2
- Add patch to fix crash in kwin, Fixes rhbz#1899826
* Thu Nov 19 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.16-1
- Update to 0.3.16
* Wed Nov 4 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.15-2
- Add patch to fix screen sharing for old clients
* Wed Nov 4 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.15-1
- Update to 0.3.15
* Sun Nov 1 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.14-2
- Add some pulse server patches
* Fri Oct 30 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.14-1
- Update to 0.3.14
* Sun Oct 18 2020 Neal Gompa <ngompa13@gmail.com> - 0.3.13-6
- Fix jack and pulseaudio subpackages to generate dependencies properly
* Tue Oct 13 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.13-5
- Disable device provider for now
- Fixes rhbz#1884260
* Thu Oct 1 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.13-4
- Add patches for some crasher bugs
- Fixes rhbz#1884177
* Tue Sep 29 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.13-3
- Add patch to improve pulse compatibility
* Mon Sep 28 2020 Jeff Law <law@redhat.com> - 0.3.13-2
- Re-enable LTO as upstream GCC target/96939 has been fixed
* Mon Sep 28 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.13-1
- Update to 0.3.13
* Fri Sep 18 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.12-1
- Update to 0.3.12
* Fri Sep 11 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.11-2
- Add some patches to improve pulse compatibility
* Thu Sep 10 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.11-1
- Update to 0.3.11
* Mon Aug 17 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.10-1
- Update to 0.3.10
* Tue Aug 04 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.9-1
- Update to 0.3.9
* Tue Aug 04 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.8-3
- Add patch to avoid segfault when iterating ports.
- Fixes #1865827
* Wed Jul 29 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.8-2
- Add patch for fix chrome audio hicups
- Add patch for infinite loop in device add/remove
- Disable LTO on armv7
* Tue Jul 28 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.8-1
- Update to 0.3.8
* Tue Jul 21 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.7-2
- Add patch to avoid crash when clearing metadata
* Tue Jul 21 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.7-1
- Update to 0.3.7
* Wed Jun 10 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.6-2
- Use systemd presets to enable pipewire.socket
- Remove duplicate hardened_build flags
- Add meson build again
- Fix -gstreamer subpackage Requires:
* Wed Jun 10 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.6-1
- Update to 0.3.6
- Add new man pages
- Only build vulkan/pulse/jack in Fedora.
* Mon May 11 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.5-1
- Update to 0.3.5
* Fri May 01 2020 Adam Williamson <awilliam@redhat.com> - 0.3.4-2
- Suppress library provides from pipewire-lib{pulse,jack}
* Thu Apr 30 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.4-1
- Update to 0.3.4
- Add 2 more packages that replace libjack and libpulse
* Tue Mar 31 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.2-3
- Add patch to unsubscribe unused sequencer ports
- Change config to only disable bluez5 handling by default.
* Mon Mar 30 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.2-2
- Add config to disable alsa and bluez5 handling by default.
* Thu Mar 26 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.2-1
- Update to 0.3.2
* Fri Mar 06 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.1-1
- Update to 0.3.1
* Thu Feb 20 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.0-1
- Update to 0.3.0
- Add libpulse-simple-pw.so
* Wed Feb 19 2020 Wim Taymans <wtaymans@redhat.com> - 0.2.97-1
- Update to 0.2.97
- Change download link
* Tue Feb 18 2020 Kalev Lember <klember@redhat.com> - 0.2.96-2
- Rename subpackages so that libjack-pw is in -libjack
and libpulse-pw is in -libpulse
- Split libspa-jack.so out to -plugin-jack subpackage
- Avoid hard-requiring the daemon from any of the library subpackages
* Tue Feb 11 2020 Wim Taymans <wtaymans@redhat.com> - 0.2.96-1
- Update to 0.2.96
- Split -gstreamer package
- Enable aarch64 tests again
* Fri Feb 07 2020 Wim Taymans <wtaymans@redhat.com> - 0.2.95-1
- Update to 0.2.95
- Disable test on aarch64 for now
* Wed Feb 05 2020 Wim Taymans <wtaymans@redhat.com> - 0.2.94-1
- Update to 0.2.94
- Move pipewire modules to -libs
- Add pw-profiler
- Add libsndfile-devel as a BR
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.92-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Jan 28 2020 Wim Taymans <wtaymans@redhat.com> - 0.2.93-1
- Update to 0.2.93
* Wed Jan 15 2020 Wim Taymans <wtaymans@redhat.com> - 0.2.92-1
- Update to 0.2.92
* Wed Jan 15 2020 Wim Taymans <wtaymans@redhat.com> - 0.2.91-1
- Update to 0.2.91
- Add some more BR
- Fix some unit tests
* Mon Jan 13 2020 Wim Taymans <wtaymans@redhat.com> - 0.2.90-1
- Update to 0.2.90
* Thu Nov 28 2019 Kalev Lember <klember@redhat.com> - 0.2.7-2
- Move spa plugins to -libs subpackage
* Thu Sep 26 2019 Wim Taymans <wtaymans@redhat.com> - 0.2.7-1
- Update to 0.2.7
* Mon Sep 16 2019 Kalev Lember <klember@redhat.com> - 0.2.6-5
- Don't require the daemon package for -devel subpackage
- Move pipewire.conf man page to the daemon package
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.6-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed Jun 19 2019 Wim Taymans <wtaymans@redhat.com> - 0.2.6-3
- Add patch to reuse fd in pipewiresrc
- Add patch for device provider
- Add patch to disable extra security checks until portal is fixed.
* Tue Jun 04 2019 Kalev Lember <klember@redhat.com> - 0.2.6-2
- Split libpipewire and the gstreamer plugin out to -libs subpackage
* Wed May 22 2019 Wim Taymans <wtaymans@redhat.com> - 0.2.6-1
- Update to 0.2.6
- Add patch for alsa-lib 1.1.9 include path
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.5-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jan 04 2019 Wim Taymans <wtaymans@redhat.com> - 0.2.5-2
- Add patch to avoid invalid conversion error with C++ compilers
* Thu Nov 22 2018 Wim Taymans <wtaymans@redhat.com> - 0.2.5-1
- Update to 0.2.5
* Thu Nov 22 2018 Wim Taymans <wtaymans@redhat.com> - 0.2.4-1
- Update to 0.2.4
* Thu Oct 18 2018 Wim Taymans <wtaymans@redhat.com> - 0.2.3-2
- Add systemd socket activation
* Thu Aug 30 2018 Wim Taymans <wtaymans@redhat.com> - 0.2.3-1
- Update to 0.2.3
* Tue Jul 31 2018 Wim Taymans <wtaymans@redhat.com> - 0.2.2-1
- Update to 0.2.2
* Fri Jul 20 2018 Wim Taymans <wtaymans@redhat.com> - 0.2.1-1
- Update to 0.2.1
* Tue Jul 17 2018 Wim Taymans <wtaymans@redhat.com> - 0.2.0-1
- Update to 0.2.0
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.9-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Feb 27 2018 Wim Taymans <wtaymans@redhat.com> - 0.1.9-1
- Update to 0.1.9
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.8-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Sat Feb 03 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.1.8-2
- Switch to %%ldconfig_scriptlets
* Tue Jan 23 2018 Wim Taymans <wtaymans@redhat.com> - 0.1.8-1
- Update to 0.1.8
* Fri Nov 24 2017 Wim Taymans <wtaymans@redhat.com> - 0.1.7-1
- Update to 0.1.7
- Add to build when memfd_create is already defined
* Fri Nov 03 2017 Wim Taymans <wtaymans@redhat.com> - 0.1.6-1
- Update to 0.1.6
* Tue Sep 19 2017 Wim Taymans <wtaymans@redhat.com> - 0.1.5-2
- Add patch to avoid segfault when probing
* Tue Sep 19 2017 Wim Taymans <wtaymans@redhat.com> - 0.1.5-1
- Update to 0.1.5
* Thu Sep 14 2017 Kalev Lember <klember@redhat.com> - 0.1.4-3
- Rebuilt for GNOME 3.26.0 megaupdate
* Fri Sep 08 2017 Wim Taymans <wtaymans@redhat.com> - 0.1.4-2
- Install SPA hooks
* Wed Aug 23 2017 Wim Taymans <wtaymans@redhat.com> - 0.1.4-1
- Update to 0.1.4
* Wed Aug 09 2017 Wim Taymans <wtaymans@redhat.com> - 0.1.3-1
- Update to 0.1.3
* Tue Jul 04 2017 Wim Taymans <wtaymans@redhat.com> - 0.1.2-1
- Update to 0.1.2
- Added more build requirements
- Make separate doc package
* Mon Jun 26 2017 Wim Taymans <wtaymans@redhat.com> - 0.1.1-1
- Update to 0.1.1
- Add dbus-1 to BuildRequires
- change libs-devel to -devel
* Wed Sep 9 2015 Wim Taymans <wtaymans@redhat.com> - 0.1.0-2
- Fix BuildRequires to use pkgconfig, add all dependencies found in configure.ac
- Add user and groups if needed
- Add license to %%licence
* Tue Sep 1 2015 Wim Taymans <wtaymans@redhat.com> - 0.1.0-1
- First version