diff options
author | CoprDistGit <infra@openeuler.org> | 2024-07-14 15:49:35 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2024-07-14 15:49:35 +0000 |
commit | 85793e3b9ff7775a328cc720c7681fd5736ee51b (patch) | |
tree | 6cec3d25d09dcb39179aeccc4bb35392b8696f90 /pipewire.spec | |
parent | e2488407bb80426dd2faec646ce1801cc7c19a97 (diff) |
automatic import of pipewire
Diffstat (limited to 'pipewire.spec')
-rw-r--r-- | pipewire.spec | 468 |
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 |