From f89f94ac876e13922b0db69077dbac43e32360cc028c7c431c58268f45eb152b Mon Sep 17 00:00:00 2001 From: Antonio Larrosa Date: Mon, 19 Jul 2021 16:49:28 +0000 Subject: [PATCH] Accepting request 906317 from home:alarrosa:branches:multimedia:libs - Make the jack replacement libraries really replace jack libraries just like Fedora does (adding the path to the pipewire replacement libraries to ld.so.conf.d and conflicting with jack). - Remove the spec code that forced the packages not to provide the jack libraries. They seem to be ready to replace jack libraries now. - Add a pipewire-libjack-0_3-devel package with development files for pipewire's jack replacement. - Enable the libcamera module OBS-URL: https://build.opensuse.org/request/show/906317 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=9 --- pipewire.changes | 13 +++++++++++ pipewire.spec | 57 +++++++++++++++++++++++++++++++++++++++--------- 2 files changed, 60 insertions(+), 10 deletions(-) diff --git a/pipewire.changes b/pipewire.changes index 6d08d95..cd9a4b3 100644 --- a/pipewire.changes +++ b/pipewire.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Tue Jul 13 14:52:35 UTC 2021 - Antonio Larrosa + +- Make the jack replacement libraries really replace jack libraries + just like Fedora does (adding the path to the pipewire + replacement libraries to ld.so.conf.d and conflicting with jack). +- Remove the spec code that forced the packages not to provide the + jack libraries. They seem to be ready to replace jack libraries + now. +- Add a pipewire-libjack-0_3-devel package with development files + for pipewire's jack replacement. +- Enable the libcamera module + ------------------------------------------------------------------- Tue Jun 29 06:12:36 UTC 2021 - Antonio Larrosa diff --git a/pipewire.spec b/pipewire.spec index 7b05fa9..4acfb17 100644 --- a/pipewire.spec +++ b/pipewire.spec @@ -17,11 +17,6 @@ # -%define _use_internal_dependency_generator 0 - -%global provfind sh -c "grep -v -e 'libjack.*\\.so' | %__find_provides" -%global __find_provides %provfind - %define apiver 0.3 %define apiver_str 0_3 %define spa_ver 0.2 @@ -68,6 +63,7 @@ BuildRequires: xmltoman BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(avahi-client) BuildRequires: pkgconfig(bluez) +BuildRequires: pkgconfig(camera) BuildRequires: pkgconfig(dbus-1) %if %{with aac} BuildRequires: pkgconfig(fdk-aac) @@ -83,6 +79,7 @@ BuildRequires: pkgconfig(gstreamer-audio-1.0) BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) BuildRequires: pkgconfig(gstreamer-video-1.0) BuildRequires: pkgconfig(jack) >= 1.9.10 +BuildConflicts: pipewire-libjack-%{apiver_str}-devel %if %{with_ldacBT} BuildRequires: pkgconfig(ldacBT-abr) BuildRequires: pkgconfig(ldacBT-enc) @@ -148,6 +145,10 @@ Summary: PipeWire libjack replacement libraries Group: Development/Libraries/C and C++ Requires(post): update-alternatives Requires(postun):update-alternatives +Conflicts: jack +Conflicts: libjack0 +Conflicts: libjacknet0 +Conflicts: libjackserver0 %description libjack-%{apiver_str} PipeWire is a server and user space API to deal with multimedia pipelines. @@ -162,6 +163,26 @@ Some of its features include: This package provides the PipeWire replacement libraries for libjack. +%package libjack-%{apiver_str}-devel +Summary: Development files for %{name}-libjack-%{apiver_str} +Group: Development/Libraries/C and C++ +Requires: %{name}-libjack-%{apiver_str} +Conflicts: libjack-devel + +%description libjack-%{apiver_str}-devel +PipeWire is a server and user space API to deal with multimedia pipelines. + +Some of its features include: + + * Capture and playback of audio and video with minimal latency; + * Real-time Multimedia processing on audio and video; + * Multiprocess architecture to let applications share multimedia content; + * GStreamer plugins for easy use and integration in current applications; + * Sandboxed applications support. + +This package provides the PipeWire replacement development files +for libjack. + %package -n gstreamer-plugin-pipewire Summary: Gstreamer Plugin for PipeWire Group: System/Libraries @@ -313,12 +334,15 @@ export CC=gcc-9 %else -Dbluez5-codec-aptx=disabled \ %endif - -Dlibcamera=disabled \ %if %{with_ldacBT} -Dbluez5-codec-ldac=enabled \ %else -Dbluez5-codec-ldac=disabled \ %endif + -Dlibcamera=enabled \ + -Dpipewire-jack=enabled \ + -Djack=enabled \ + -Djack-devel=enabled \ %{nil} %meson_build @@ -333,6 +357,9 @@ touch %{buildroot}%{_datadir}/pipewire/media-session.d/with-alsa mkdir -p %{buildroot}%{_udevrulesdir} mv -fv %{buildroot}/lib/udev/rules.d/90-pipewire-alsa.rules %{buildroot}%{_udevrulesdir} +mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d/ +echo %{_libdir}/pipewire-%{apiver}/jack/ > %{buildroot}%{_sysconfdir}/ld.so.conf.d/pipewire-jack-%{_arch}.conf + mkdir -p %{buildroot}%{_sysconfdir}/alternatives for wrapper in pw-jack ; do mv %{buildroot}%{_bindir}/$wrapper %{buildroot}%{_bindir}/$wrapper-%{apiver} @@ -482,7 +509,6 @@ fi %{_datadir}/pipewire/pipewire.conf %{_datadir}/pipewire/client.conf %{_datadir}/pipewire/client-rt.conf -%{_datadir}/pipewire/jack.conf %{_datadir}/pipewire/pipewire-pulse.conf %ghost %dir %{_localstatedir}/lib/pipewire %ghost %{_localstatedir}/lib/pipewire/pipewire_post_workaround @@ -508,15 +534,24 @@ fi %files libjack-%{apiver_str} %dir %{_libdir}/pipewire-%{apiver}/jack -%{_libdir}/pipewire-%{apiver}/jack/libjack.so* -%{_libdir}/pipewire-%{apiver}/jack/libjacknet.so* -%{_libdir}/pipewire-%{apiver}/jack/libjackserver.so* +%{_libdir}/pipewire-%{apiver}/jack/libjack.so.* +%{_libdir}/pipewire-%{apiver}/jack/libjacknet.so.* +%{_libdir}/pipewire-%{apiver}/jack/libjackserver.so.* %ghost %{_sysconfdir}/alternatives/pw-jack %ghost %{_sysconfdir}/alternatives/pw-jack.1%{ext_man} %{_bindir}/pw-jack-%{apiver} %{_bindir}/pw-jack %{_mandir}/man1/pw-jack-%{apiver}.1%{ext_man} %{_mandir}/man1/pw-jack.1%{ext_man} +%{_datadir}/pipewire/jack.conf +%config %{_sysconfdir}/ld.so.conf.d/pipewire-jack-%{_arch}.conf + +%files libjack-%{apiver_str}-devel +%{_includedir}/jack +%{_libdir}/pipewire-%{apiver}/jack/libjack.so +%{_libdir}/pipewire-%{apiver}/jack/libjacknet.so +%{_libdir}/pipewire-%{apiver}/jack/libjackserver.so +%{_libdir}/pkgconfig/jack.pc %files -n gstreamer-plugin-pipewire %{_libdir}/gstreamer-1.0/libgstpipewire.so @@ -596,6 +631,7 @@ fi %{_libdir}/spa-%{spa_ver}/control/libspa-control.so %{_libdir}/spa-%{spa_ver}/ffmpeg/libspa-ffmpeg.so %{_libdir}/spa-%{spa_ver}/jack/libspa-jack.so +%{_libdir}/spa-%{spa_ver}/libcamera/libspa-libcamera.so %{_libdir}/spa-%{spa_ver}/support/libspa-dbus.so %{_libdir}/spa-%{spa_ver}/support/libspa-journal.so %{_libdir}/spa-%{spa_ver}/support/libspa-support.so @@ -618,6 +654,7 @@ fi %dir %{_libdir}/spa-%{spa_ver}/volume %dir %{_libdir}/spa-%{spa_ver}/ffmpeg %dir %{_libdir}/spa-%{spa_ver}/jack +%dir %{_libdir}/spa-%{spa_ver}/libcamera %dir %{_libdir}/spa-%{spa_ver}/support %dir %{_libdir}/spa-%{spa_ver}/v4l2 %dir %{_libdir}/spa-%{spa_ver}/videoconvert