summaryrefslogtreecommitdiff
path: root/pipewire.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2024-07-14 15:49:35 +0000
committerCoprDistGit <infra@openeuler.org>2024-07-14 15:49:35 +0000
commit85793e3b9ff7775a328cc720c7681fd5736ee51b (patch)
tree6cec3d25d09dcb39179aeccc4bb35392b8696f90 /pipewire.spec
parente2488407bb80426dd2faec646ce1801cc7c19a97 (diff)
automatic import of pipewire
Diffstat (limited to 'pipewire.spec')
-rw-r--r--pipewire.spec468
1 files changed, 468 insertions, 0 deletions
diff --git a/pipewire.spec b/pipewire.spec
new file mode 100644
index 0000000..3ae919c
--- /dev/null
+++ b/pipewire.spec
@@ -0,0 +1,468 @@
+%global majorversion 1
+%global minorversion 2
+%global microversion 1
+
+%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
+
+%bcond_without alsa
+%bcond_with vulkan
+%bcond_with pulse
+%bcond_with jack
+%bcond_with jackserver_plugin
+%bcond_with libmysofa
+%bcond_with lv2
+%bcond_with roc
+%bcond_with ffado
+%bcond_with libcamera_plugin
+
+Name: pipewire
+Version: %{majorversion}.%{minorversion}.%{microversion}
+Release: 1
+Summary: Multimedia processing graphs
+License: MIT
+URL: https://pipewire.org/
+Source0: https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/%{version}/%{name}-%{version}.tar.bz2
+Source1: pipewire.sysusers
+
+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
+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: avahi-devel
+BuildRequires: pkgconfig(webrtc-audio-processing) >= 0.2
+BuildRequires: libusb1-devel
+BuildRequires: readline-devel
+BuildRequires: openssl-devel
+BuildRequires: libuv-devel
+BuildRequires: speexdsp-devel
+
+Requires(pre): shadow-utils
+Requires: systemd >= 184 rtkit
+
+%description
+%{name} is a server and user space API to deal with multimedia
+pipelines,contains command line utilities.
+
+%package libs
+Summary: Libraries for PipeWire clients
+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
+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 utils
+Summary: PipeWire media server utilities
+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 alsa}
+%package alsa
+Summary: PipeWire media server ALSA support
+Recommends: %{name}%{?_isa} = %{version}-%{release}
+Requires: %{name}-libs%{?_isa} = %{version}-%{release}
+
+%description alsa
+This package contains an ALSA plugin for the PipeWire media server.
+%endif
+
+%if %{with jack}
+%package libjack
+Summary: PipeWire libjack library
+Recommends: %{name}%{?_isa} = %{version}-%{release}
+Requires: %{name}-libs%{?_isa} = %{version}-%{release}
+BuildRequires: jack-audio-connection-kit-devel >= 1.9.10
+Conflicts: jack-audio-connection-kit
+Conflicts: jack-audio-connection-kit-dbus
+Obsoletes: pipewire-jack < 0.2.96-2
+Conflicts: %{name}-libjack < 0.3.13-6
+Conflicts: %{name}-jack-audio-connection-kit < 0.3.13-6
+Obsoletes: %{name}-jack-audio-connection-kit < 0.3.13-6
+
+%description libjack
+This package contains a PipeWire replacement for JACK audio connection kit
+"libjack" library.
+
+%package jack-audio-connection-kit
+Summary: PipeWire JACK implementation
+Recommends: %{name}%{?_isa} = %{version}-%{release}
+Requires: %{name}-libjack%{?_isa} = %{version}-%{release}
+BuildRequires: jack-audio-connection-kit-devel >= 1.9.10
+Conflicts: jack-audio-connection-kit
+Conflicts: jack-audio-connection-kit-dbus
+Conflicts: %{name}-libjack < 0.3.13-6
+Conflicts: %{name}-jack-audio-connection-kit < 0.3.13-6
+
+%description jack-audio-connection-kit
+This package provides a JACK implementation based on PipeWire
+%endif
+
+%if %{with jackserver_plugin}
+%package plugin-jack
+Summary: PipeWire media server JACK support
+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
+
+%package devel
+Summary: includes development files for %{name} client development
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Requires: %{name}-libs%{?_isa} = %{version}-%{release}
+
+%description devel
+Files needed for building applications,such as static libraries,
+header files that can communicate with a %{name} media server.
+
+%if %{with pulse}
+%package libpulse
+Summary: PipeWire libpulse library
+Recommends: %{name}%{?_isa} = %{version}-%{release}
+Requires: %{name}-libs%{?_isa} = %{version}-%{release}
+BuildRequires: pulseaudio-libs-devel
+Conflicts: pulseaudio-libs
+Conflicts: pulseaudio-libs-glib2
+Obsoletes: pipewire-pulseaudio < 0.2.96-2
+Conflicts: %{name}-libpulse < 0.3.13-6
+Conflicts: %{name}-pulseaudio < 0.3.13-6
+Obsoletes: %{name}-pulseaudio < 0.3.13-6
+
+%description libpulse
+This package contains a PipeWire replacement for PulseAudio "libpulse" library.
+
+%package pulseaudio
+Summary: PipeWire PulseAudio implementation
+Recommends: %{name}%{?_isa} = %{version}-%{release}
+Requires: %{name}-libpulse%{?_isa} = %{version}-%{release}
+BuildRequires: pulseaudio-libs-devel
+Conflicts: %{name}-libpulse < 0.3.13-6
+Conflicts: %{name}-pulseaudio < 0.3.13-6
+
+%description pulseaudio
+This package provides a PulseAudio implementation based on PipeWire
+%endif
+
+%package help
+Summary: Documents for %{name}
+Requires: man info
+
+%description help
+Man pages and other related documents for %{name}.
+
+%prep
+%autosetup -T -b0 -n %{name}-%{version} -p1
+
+%build
+%meson \
+ -D docs=enabled -D man=enabled -D gstreamer=enabled -D systemd=enabled \
+ -D sdl2=disabled \
+ -D audiotestsrc=disabled -D videotestsrc=disabled \
+ -D volume=diswith_jackserver_pluginbluez5-codec-aptx=disabled \
+ -D bluez5-codec-lc3plus=disabled -D bluez5-codec-lc3=enabled \
+ -D session-managers=[] \
+ -D rtprio-server=60 -D rtprio-client=55 -D rlimits-rtprio=70 \
+ -D snap=disabled \
+ %{!?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} \
+ %{!?with_libmysofa:-D libmysofa=disabled} \
+ %{!?with_lv2:-D lv2=disabled} \
+ %{!?with_roc:-D roc=disabled} \
+ %{!?with_ffado:-D libffado=disabled} \
+ %{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
+#rm %{buildroot}%{_datadir}/pipewire/media-session.d/with-jack
+%endif
+
+# 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/media-session.d/with-pulseaudio
+rm %{buildroot}%{_datadir}/pipewire/pipewire-pulse.conf
+
+# rm media_session related
+#rm %{buildroot}%{_datadir}/pipewire/media-session.d/alsa-monitor.conf
+#rm %{buildroot}%{_datadir}/pipewire/media-session.d/bluez-monitor.conf
+#rm %{buildroot}%{_datadir}/pipewire/media-session.d/media-session.conf
+#rm %{buildroot}%{_datadir}/pipewire/media-session.d/v4l2-monitor.conf
+rm %{buildroot}%{_datadir}/spa-0.2/bluez5/bluez-hardware.conf
+
+# We don't start the media session with systemd yet
+#rm %{buildroot}%{_userunitdir}/pipewire-media-session.*
+
+%find_lang %{name}
+
+# 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 0%{?enable_pulse}
+%post pulseaudio
+%systemd_user_post pipewire-pulse.service
+%systemd_user_post pipewire-pulse.socket
+%endif
+
+%files
+%license LICENSE COPYING
+%{_libdir}/alsa-lib/libasound_module_*
+%{_bindir}/pipewire
+#%%{_bindir}/pipewire-media-session
+%{_userunitdir}/pipewire.*
+%{_userunitdir}/filter-chain.service
+%{_datadir}/pipewire/pipewire.conf
+%{_datadir}/pipewire/filter-chain/*.conf
+%{_datadir}/pipewire/filter-chain.conf
+%{_datadir}/pipewire/minimal.conf
+%{_datadir}/pipewire/pipewire-avb.conf
+
+%files libs -f %{name}.lang
+%license LICENSE COPYING
+%{_libdir}/libpipewire-%{apiversion}.so.*
+%{_libdir}/pipewire-%{apiversion}/libpipewire-*.so
+%{_libdir}/pipewire-%{apiversion}/v4l2/
+%dir %{_datadir}/alsa-card-profile/
+%dir %{_datadir}/alsa-card-profile/mixer/
+%{_datadir}/alsa-card-profile/mixer/paths/
+%{_datadir}/alsa-card-profile/mixer/profile-sets/
+%{_prefix}/lib/udev/rules.d/90-pipewire-alsa.rules
+%dir %{_libdir}/spa-%{spaversion}
+%{_libdir}/spa-%{spaversion}/alsa/
+%{_libdir}/spa-%{spaversion}/audioconvert/
+%{_libdir}/spa-%{spaversion}/audiomixer/
+%{_libdir}/spa-%{spaversion}/bluez5/
+%{_libdir}/spa-%{spaversion}/control/
+%{_libdir}/spa-%{spaversion}/support/
+%{_libdir}/spa-%{spaversion}/v4l2/
+%{_libdir}/spa-%{spaversion}/videoconvert/
+%{_libdir}/spa-%{spaversion}/aec/
+%{_libdir}/spa-%{spaversion}/avb/
+
+%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 utils
+%{_bindir}/pw-mon
+%{_bindir}/pw-metadata
+%{_bindir}/pw-mididump
+%{_bindir}/pw-midiplay
+%{_bindir}/pw-midirecord
+%{_bindir}/pw-dot
+%{_bindir}/pw-cat
+%{_bindir}/pw-play
+%{_bindir}/pw-profiler
+%{_bindir}/pw-record
+%{_bindir}/pw-reserve
+%{_mandir}/man1/pw-mon.1*
+%{_mandir}/man1/pw-cat.1*
+%{_mandir}/man1/pw-cli.1*
+%{_mandir}/man1/pw-dot.1*
+%{_mandir}/man1/pw-metadata.1*
+%{_mandir}/man1/pw-mididump.1*
+%{_mandir}/man1/pw-profiler.1*
+%{_bindir}/spa-acp-tool
+%{_bindir}/spa-inspect
+%{_bindir}/spa-monitor
+%{_bindir}/spa-resample
+%{_bindir}/pw-dsdplay
+%{_bindir}/pw-dump
+%{_bindir}/pw-link
+%{_bindir}/pw-loopback
+%{_bindir}/spa-json-dump
+%{_bindir}/pipewire-avb
+%{_bindir}/pw-cli
+%{_bindir}/pw-top
+%{_bindir}/pw-v4l2
+
+%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
+%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*
+
+%files libjack
+%{_libdir}/libjack.so.*
+%{_libdir}/libjackserver.so.*
+%{_libdir}/libjacknet.so.*
+%endif
+
+%if %{with jackserver_plugin}
+%files plugin-jack
+%{_libdir}/spa-%{spaversion}/jack/
+%endif
+
+%files devel
+%{_includedir}/pipewire-%{apiversion}/*
+%{_includedir}/spa-%{spaversion}/*
+%{_libdir}/libpipewire-%{apiversion}.so
+%{_libdir}/pkgconfig/*.pc
+
+%if %{with pulse}
+%files pulseaudio
+%{_bindir}/pw-pulse
+%{_mandir}/man1/pw-pulse.1*
+%{_libdir}/pipewire-%{apiversion}/pulse/libpulse.so*
+%{_libdir}/pipewire-%{apiversion}/pulse/libpulse-simple.so*
+%{_libdir}/pipewire-%{apiversion}/pulse/libpulse-mainloop-glib.so*
+
+%files libpulse
+%{_libdir}/libpulse.so.*
+%{_libdir}/libpulse-simple.so.*
+%{_libdir}/libpulse-mainloop-glib.so.*
+%endif
+
+%files help
+%doc README.md
+%{_mandir}/man1/*
+%{_mandir}/man5/*
+%{_datadir}/doc/pipewire/html/*
+
+%changelog
+* Sun Jul 14 2024 Funda Wang <fundawang@yeah.net> - 1.2.1-1
+- update to version 1.2.1
+
+* Wed May 22 2024 Wenlong Zhang <zhangwenlong@loongson.cn> - 0.3.63-3
+- remove useless builddequires for pipewire
+
+* Tue May 30 2023 Jia Chao <jiac13@chinaunicom.cn> - 0.3.63-2
+- Fix: help should not be noarch, it contains architecture infos.
+
+* Mon Jan 02 2023 lin zhang <lin.zhang@turbolinux.com.cn> - 0.3.63-1
+- update version to 0.3.63
+
+* Tue Sep 13 2022 zhouwenpei <zhouwenpei1@h-partners.com> - 0.3.38-2
+- fix rpath compile option
+
+* Mon Jun 20 2022 wenlong ding <wenlong.ding@turbolinux.com.cn> - 0.3.38-1
+- Update version to 0.3.38
+
+* Wed Apr 13 2022 liuyumeng <liuyumeng5@h-partners.comm> - 0.3.15-6
+- delete redundant buildrequires
+
+* Mon Aug 2 2021 wangkerong <wangkerong@huawei.com> - 0.3.15-5
+- disable jack pulse vulkan subpackages
+
+* Sat Jul 31 2021 wangkerong <wangkerong@huawei.com> - 0.3.15-4
+- add alsa,gstreamer,libjack,libpulse... subpackages
+
+* Thu Jul 29 2021 wangkerong <wangkerong@huawei.com> - 0.3.15-3
+- add lib package
+
+* Mon May 31 2021 weijin deng <weijin.deng@turbolinux.com.cn> - 0.3.15-2
+- Update stage 'build', add disable configuration to pipewire-pulseaudio
+
+* Mon May 31 2021 weijin deng <weijin.deng@turbolinux.com.cn> - 0.3.15-1
+- Upgrade to 0.3.15
+- Update Version, Source0, BuildRequires, Obsoletes
+- Update stage 'build', 'install' and 'files'
+- Correct uncorrect date, add one patch
+
+* Thu Jan 9 2020 openEuler Buildteam <buildteam@openeuler.org> - 0.2.7-1
+- update to 0.2.7
+
+* Sat Nov 23 2019 openEuler Buildteam <buildteam@openeuler.org> - 0.2.2-4
+- Type:bugfix
+- Id:NA
+- SUG:NA
+- DESC:change build requires of v4l-utils-deve to libv4l-devel
+
+* Thu Nov 14 2019 shenyangyang<shenyangyang4@huawei.com> - 0.2.2-3
+- Type:enhancement
+- ID:NA
+- SUG:NA
+- DESC:change build requires of libv4l-devel to v4l-utils-devel
+
+* Wed Aug 29 2018 openEuler Buildteam <buildteam@openeuler.org> - 0.2.2-2
+- Package init