From 20fc0af4b27dd365d83c76bae15987b613abcb2a Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Fri, 18 Feb 2022 10:37:15 +0100 Subject: [PATCH] Update to 0.3.47 Resolves: rhbz#2055694 --- .gitignore | 1 + ...wide-meson.build-use-feature.allowed.patch | 276 ++++++++++++++++++ 0001-meson-drop-required-version.patch | 25 ++ pipewire-jack-allow-old-meson.patch | 41 +-- pipewire.spec | 12 +- sources | 2 +- 6 files changed, 335 insertions(+), 22 deletions(-) create mode 100644 0001-Revert-treewide-meson.build-use-feature.allowed.patch create mode 100644 0001-meson-drop-required-version.patch diff --git a/.gitignore b/.gitignore index edd0981..c19483d 100644 --- a/.gitignore +++ b/.gitignore @@ -46,3 +46,4 @@ /pipewire-0.3.25.tar.gz /pipewire-0.3.26.tar.gz /pipewire-0.3.32.tar.gz +/pipewire-0.3.47.tar.gz diff --git a/0001-Revert-treewide-meson.build-use-feature.allowed.patch b/0001-Revert-treewide-meson.build-use-feature.allowed.patch new file mode 100644 index 0000000..4b721ba --- /dev/null +++ b/0001-Revert-treewide-meson.build-use-feature.allowed.patch @@ -0,0 +1,276 @@ +From 768eb72fa8eb5a4597adc60d2649cf2e5f564247 Mon Sep 17 00:00:00 2001 +From: Wim Taymans +Date: Fri, 18 Feb 2022 10:27:40 +0100 +Subject: [PATCH] Revert "treewide: meson.build: use feature.allowed()" + +This reverts commit cc7305351202424a2800425d86ae9c9b72aefa15. +--- + man/meson.build | 2 +- + meson.build | 14 +++++++------- + spa/meson.build | 4 ++-- + spa/plugins/bluez5/meson.build | 18 +++++++++--------- + spa/plugins/meson.build | 18 +++++++++--------- + spa/plugins/support/meson.build | 2 +- + src/daemon/systemd/meson.build | 4 ++-- + src/gst/meson.build | 2 +- + src/meson.build | 4 ++-- + src/tools/meson.build | 2 +- + 10 files changed, 35 insertions(+), 35 deletions(-) + +diff --git a/man/meson.build b/man/meson.build +index 54d1c5eca..8e6e7dbe4 100644 +--- a/man/meson.build ++++ b/man/meson.build +@@ -19,7 +19,7 @@ manpages = [ + 'pw-profiler.1.rst.in', + ] + +-if get_option('pipewire-jack').allowed() ++if not get_option('pipewire-jack').disabled() + manpages += 'pw-jack.1.rst.in' + endif + +diff --git a/meson.build b/meson.build +index 3c88c2427..b033059e9 100644 +--- a/meson.build ++++ b/meson.build +@@ -336,7 +336,7 @@ endforeach + gst_dp_found = gst_dep.length() > 0 + summary({'gstreamer-device-provider': gst_dp_found}, bool_yn: true, section: 'Backend') + +-cdata.set('HAVE_GSTREAMER_DEVICE_PROVIDER', get_option('gstreamer-device-provider').allowed()) ++cdata.set('HAVE_GSTREAMER_DEVICE_PROVIDER', not get_option('gstreamer-device-provider').disabled()) + + webrtc_dep = dependency('webrtc-audio-processing', + version : ['>= 0.2', '< 1.0'], +@@ -382,10 +382,10 @@ cdata.set('HAVE_LILV', lilv_lib.found()) + + installed_tests_metadir = pipewire_datadir / 'installed-tests' / pipewire_name + installed_tests_execdir = pipewire_libexecdir / 'installed-tests' / pipewire_name +-installed_tests_enabled = get_option('installed_tests').allowed() ++installed_tests_enabled = not get_option('installed_tests').disabled() + installed_tests_template = files('template.test.in') + +-if get_option('tests').allowed() ++if not get_option('tests').disabled() + gstack = find_program('gstack', required : false) + cdata.set('HAVE_GSTACK', gstack.found()) + endif +@@ -394,17 +394,17 @@ subdir('po') + subdir('spa') + subdir('src') + +-if get_option('tests').allowed() ++if not get_option('tests').disabled() + subdir('test') + endif + + configure_file(output : 'config.h', + configuration : cdata) + +-if get_option('pipewire-jack').allowed() ++if not get_option('pipewire-jack').disabled() + subdir('pipewire-jack') + endif +-if get_option('pipewire-v4l2').allowed() ++if not get_option('pipewire-v4l2').disabled() + subdir('pipewire-v4l2') + endif + +@@ -415,7 +415,7 @@ if alsa_dep.found() + endif + + generate_manpages = false +-if get_option('man').allowed() ++if not get_option('man').disabled() + rst2man = find_program('rst2man', required: false) + if not rst2man.found() + rst2man = find_program('rst2man.py', required: get_option('man')) +diff --git a/spa/meson.build b/spa/meson.build +index 1931d35b1..2404748df 100644 +--- a/spa/meson.build ++++ b/spa/meson.build +@@ -31,7 +31,7 @@ pkgconfig.generate(filebase : 'lib@0@'.format(spa_name), + + subdir('include') + +-if get_option('spa-plugins').allowed() ++if not get_option('spa-plugins').disabled() + udevrulesdir = get_option('udevrulesdir') + if udevrulesdir == '' + # absolute path, otherwise meson prepends the prefix +@@ -74,6 +74,6 @@ endif + + subdir('tools') + subdir('tests') +-if get_option('examples').allowed() ++if not get_option('examples').disabled() + subdir('examples') + endif +diff --git a/spa/plugins/bluez5/meson.build b/spa/plugins/bluez5/meson.build +index 4567b67dd..7a1e12ec7 100644 +--- a/spa/plugins/bluez5/meson.build ++++ b/spa/plugins/bluez5/meson.build +@@ -6,12 +6,12 @@ foreach dep: bluez5_deps + endforeach + + cdata.set('HAVE_BLUEZ_5_BACKEND_NATIVE', +- get_option('bluez5-backend-hsp-native').allowed() or +- get_option('bluez5-backend-hfp-native').allowed()) +-cdata.set('HAVE_BLUEZ_5_BACKEND_HSP_NATIVE', get_option('bluez5-backend-hsp-native').allowed()) +-cdata.set('HAVE_BLUEZ_5_BACKEND_HFP_NATIVE', get_option('bluez5-backend-hfp-native').allowed()) +-cdata.set('HAVE_BLUEZ_5_BACKEND_OFONO', get_option('bluez5-backend-ofono').allowed()) +-cdata.set('HAVE_BLUEZ_5_BACKEND_HSPHFPD', get_option('bluez5-backend-hsphfpd').allowed()) ++ not get_option('bluez5-backend-hsp-native').disabled() or ++ not get_option('bluez5-backend-hfp-native').disabled()) ++cdata.set('HAVE_BLUEZ_5_BACKEND_HSP_NATIVE', not get_option('bluez5-backend-hsp-native').disabled()) ++cdata.set('HAVE_BLUEZ_5_BACKEND_HFP_NATIVE', not get_option('bluez5-backend-hfp-native').disabled()) ++cdata.set('HAVE_BLUEZ_5_BACKEND_OFONO', not get_option('bluez5-backend-ofono').disabled()) ++cdata.set('HAVE_BLUEZ_5_BACKEND_HSPHFPD', not get_option('bluez5-backend-hsphfpd').disabled()) + cdata.set('HAVE_BLUEZ_5_HCI', dependency('bluez', version: '< 6', required: false).found()) + + bluez5_sources = [ +@@ -34,18 +34,18 @@ bluez5_data = ['bluez-hardware.conf'] + + install_data(bluez5_data, install_dir : spa_datadir / 'bluez5') + +-if get_option('bluez5-backend-hsp-native').allowed() or get_option('bluez5-backend-hfp-native').allowed() ++if not get_option('bluez5-backend-hsp-native').disabled() or not get_option('bluez5-backend-hfp-native').disabled() + if libusb_dep.found() + bluez5_deps += libusb_dep + endif + bluez5_sources += ['backend-native.c'] + endif + +-if get_option('bluez5-backend-ofono').allowed() ++if not get_option('bluez5-backend-ofono').disabled() + bluez5_sources += ['backend-ofono.c'] + endif + +-if get_option('bluez5-backend-hsphfpd').allowed() ++if not get_option('bluez5-backend-hsphfpd').disabled() + bluez5_sources += ['backend-hsphfpd.c'] + endif + +diff --git a/spa/plugins/meson.build b/spa/plugins/meson.build +index fcf007aa9..0b581b29b 100644 +--- a/spa/plugins/meson.build ++++ b/spa/plugins/meson.build +@@ -1,16 +1,16 @@ + if alsa_dep.found() + subdir('alsa') + endif +-if get_option('audioconvert').allowed() ++if not get_option('audioconvert').disabled() + subdir('audioconvert') + endif +-if get_option('audiomixer').allowed() ++if not get_option('audiomixer').disabled() + subdir('audiomixer') + endif +-if get_option('control').allowed() ++if not get_option('control').disabled() + subdir('control') + endif +-if get_option('audiotestsrc').allowed() ++if not get_option('audiotestsrc').disabled() + subdir('audiotestsrc') + endif + if bluez_dep.found() +@@ -22,19 +22,19 @@ endif + if jack_dep.found() + subdir('jack') + endif +-if get_option('support').allowed() ++if not get_option('support').disabled() + subdir('support') + endif +-if get_option('test').allowed() ++if not get_option('test').disabled() + subdir('test') + endif +-if get_option('videoconvert').allowed() ++if not get_option('videoconvert').disabled() + subdir('videoconvert') + endif +-if get_option('videotestsrc').allowed() ++if not get_option('videotestsrc').disabled() + subdir('videotestsrc') + endif +-if get_option('volume').allowed() ++if not get_option('volume').disabled() + subdir('volume') + endif + if vulkan_headers +diff --git a/spa/plugins/support/meson.build b/spa/plugins/support/meson.build +index 1672d38df..b810b283c 100644 +--- a/spa/plugins/support/meson.build ++++ b/spa/plugins/support/meson.build +@@ -23,7 +23,7 @@ spa_support_lib = shared_library('spa-support', + install_dir : spa_plugindir / 'support') + spa_support_dep = declare_dependency(link_with: spa_support_lib) + +-if get_option('evl').allowed() ++if not get_option('evl').disabled() + evl_inc = include_directories('/usr/evl/include') + evl_lib = cc.find_library('evl', + dirs: ['/usr/evl/lib/'], +diff --git a/src/daemon/systemd/meson.build b/src/daemon/systemd/meson.build +index 482a44c4b..89ad2f6dc 100644 +--- a/src/daemon/systemd/meson.build ++++ b/src/daemon/systemd/meson.build +@@ -1,6 +1,6 @@ +-if get_option('systemd-system-service').allowed() ++if not get_option('systemd-system-service').disabled() + subdir('system') + endif +-if get_option('systemd-user-service').allowed() ++if not get_option('systemd-user-service').disabled() + subdir('user') + endif +diff --git a/src/gst/meson.build b/src/gst/meson.build +index fd552f6cb..709dc0f1c 100644 +--- a/src/gst/meson.build ++++ b/src/gst/meson.build +@@ -8,7 +8,7 @@ pipewire_gst_sources = [ + 'gstpipewiresrc.c', + ] + +-if get_option('gstreamer-device-provider').allowed() ++if not get_option('gstreamer-device-provider').disabled() + pipewire_gst_sources += [ 'gstpipewiredeviceprovider.c' ] + endif + +diff --git a/src/meson.build b/src/meson.build +index cefc329eb..2fb73fd59 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -3,10 +3,10 @@ subdir('pipewire') + subdir('daemon') + subdir('tools') + subdir('modules') +-if get_option('examples').allowed() ++if not get_option('examples').disabled() + subdir('examples') + endif +-if get_option('tests').allowed() ++if not get_option('tests').disabled() + subdir('tests') + endif + +diff --git a/src/tools/meson.build b/src/tools/meson.build +index 02514c253..038231fcd 100644 +--- a/src/tools/meson.build ++++ b/src/tools/meson.build +@@ -34,7 +34,7 @@ if ncurses_dep.found() + endif + + build_pw_cat = false +-if get_option('pw-cat').allowed() and sndfile_dep.found() ++if not get_option('pw-cat').disabled() and sndfile_dep.found() + build_pw_cat = true + + pwcat_sources = [ +-- +2.34.1 + diff --git a/0001-meson-drop-required-version.patch b/0001-meson-drop-required-version.patch new file mode 100644 index 0000000..68efac5 --- /dev/null +++ b/0001-meson-drop-required-version.patch @@ -0,0 +1,25 @@ +From 753e97fe5823aa441b996015f44ddba3e400855d Mon Sep 17 00:00:00 2001 +From: Wim Taymans +Date: Fri, 18 Feb 2022 10:18:30 +0100 +Subject: [PATCH] meson: drop required version + +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 440845e37..3c88c2427 100644 +--- a/meson.build ++++ b/meson.build +@@ -1,7 +1,7 @@ + project('pipewire', ['c' ], + version : '0.3.47', + license : [ 'MIT', 'LGPL-2.1-or-later', 'GPL-2.0-only' ], +- meson_version : '>= 0.59.0', ++ meson_version : '>= 0.58.2', + default_options : [ 'warning_level=3', + 'c_std=gnu99', + 'cpp_std=c++17', +-- +2.34.1 + diff --git a/pipewire-jack-allow-old-meson.patch b/pipewire-jack-allow-old-meson.patch index 3707258..d7bb457 100644 --- a/pipewire-jack-allow-old-meson.patch +++ b/pipewire-jack-allow-old-meson.patch @@ -1,18 +1,18 @@ -From dda2edc0641b57cd0315806a746c787e2c40cefb Mon Sep 17 00:00:00 2001 +From 26e63ca2e1d71491cd4e459b8890607b4a4bdd83 Mon Sep 17 00:00:00 2001 From: Wim Taymans -Date: Mon, 15 Nov 2021 10:57:22 +0100 +Date: Fri, 18 Feb 2022 10:14:11 +0100 Subject: [PATCH] jack: allow build on old meson of jack.pc Warn about reduced functionality. --- - pipewire-jack/src/meson.build | 31 +++++++++++++++++++------------ - 1 file changed, 19 insertions(+), 12 deletions(-) + pipewire-jack/src/meson.build | 32 ++++++++++++++++++++------------ + 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/pipewire-jack/src/meson.build b/pipewire-jack/src/meson.build -index cdc147ba4..3709070e1 100644 +index bb1a7f0e9..4dfae3d39 100644 --- a/pipewire-jack/src/meson.build +++ b/pipewire-jack/src/meson.build -@@ -71,21 +71,28 @@ pipewire_jackserver = shared_library('jacknet', +@@ -69,21 +69,29 @@ pipewire_jacknet = shared_library('jacknet', if get_option('jack-devel') == true if meson.version().version_compare('<0.59.0') @@ -23,16 +23,25 @@ index cdc147ba4..3709070e1 100644 - For that reason this is now an error. Please update Meson, - if you want to have JACK development files. + Before version 0.59.0 Meson creates a wrong jack pkg-config file -+ for server development. Please update Meson, if you want to have -+ JACK development files for server. ++ for server development. Please update Meson, if you want to have ++ JACK development files for server. ''') +- endif + +- pkgconfig.generate(filebase : 'jack', +- libraries : [pipewire_jack, pipewire_jackserver], +- name : 'jack', +- description : 'PipeWire JACK API', +- version : '1.9.17', +- extra_cflags : '-D_REENTRANT', +- unescaped_variables: ['server_libs=-L${libdir} -ljackserver', 'jack_implementation=pipewire']) + pkgconfig.generate(filebase : 'jack', + libraries : [pipewire_jack, pipewire_jackserver], + name : 'jack', + description : 'PipeWire JACK API', + version : '1.9.17', + extra_cflags : '-D_REENTRANT', -+ variables: ['server_libs=-L${libdir} -ljackserver']) ++ variables: ['server_libs=-L${libdir} -ljackserver', 'jack_implementation=pipewire']) + else + pkgconfig.generate(filebase : 'jack', + libraries : [pipewire_jack, pipewire_jackserver], @@ -40,19 +49,11 @@ index cdc147ba4..3709070e1 100644 + description : 'PipeWire JACK API', + version : '1.9.17', + extra_cflags : '-D_REENTRANT', -+ unescaped_variables: ['server_libs=-L${libdir} -ljackserver']) - endif -- -- pkgconfig.generate(filebase : 'jack', -- libraries : [pipewire_jack, pipewire_jackserver], -- name : 'jack', -- description : 'PipeWire JACK API', -- version : '1.9.17', -- extra_cflags : '-D_REENTRANT', -- unescaped_variables: ['server_libs=-L${libdir} -ljackserver']) ++ unescaped_variables: ['server_libs=-L${libdir} -ljackserver', 'jack_implementation=pipewire']) ++ endif endif if sdl_dep.found() -- -GitLab +2.34.1 diff --git a/pipewire.spec b/pipewire.spec index ca9e9ee..bd18dbc 100644 --- a/pipewire.spec +++ b/pipewire.spec @@ -1,6 +1,6 @@ %global majorversion 0 %global minorversion 3 -%global microversion 40 +%global microversion 47 %global apiversion 0.3 %global spaversion 0.2 @@ -70,6 +70,8 @@ Source0: https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/%{ver ### Allow Meson < 0.59.0 to work for pipewire-jack ### N.B.: Remove this patch once Meson is upgraded in RHEL Patch50001: pipewire-jack-allow-old-meson.patch +Patch50002: 0001-meson-drop-required-version.patch +Patch50003: 0001-Revert-treewide-meson.build-use-feature.allowed.patch BuildRequires: gettext BuildRequires: meson >= 0.49.0 @@ -109,6 +111,7 @@ BuildRequires: avahi-devel BuildRequires: pkgconfig(webrtc-audio-processing) >= 0.2 BuildRequires: libusb-devel BuildRequires: readline-devel +BuildRequires: libcanberra-devel Requires(pre): shadow-utils Requires: %{name}-libs%{?_isa} = %{version}-%{release} @@ -311,6 +314,7 @@ PipeWire. -D gstreamer-device-provider=disabled -D sdl2=disabled \ -D audiotestsrc=disabled -D videotestsrc=disabled \ -D volume=disabled -D bluez5-codec-aptx=disabled -D roc=disabled \ + -D raop=disabled -D lv2=disabled \ %ifarch s390x -D bluez5-codec-ldac=disabled \ %endif @@ -393,6 +397,7 @@ systemctl --no-reload preset --global pipewire.socket >/dev/null 2>&1 || : %{_mandir}/man1/pipewire.1* %dir %{_datadir}/pipewire/ %{_datadir}/pipewire/pipewire.conf +%{_datadir}/pipewire/minimal.conf %{_datadir}/pipewire/filter-chain/*.conf %{_mandir}/man5/pipewire.conf.5* @@ -409,6 +414,7 @@ systemctl --no-reload preset --global pipewire.socket >/dev/null 2>&1 || : %{_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/ @@ -521,6 +527,10 @@ systemctl --no-reload preset --global pipewire.socket >/dev/null 2>&1 || : %endif %changelog +* Fri Feb 18 2022 Wim Taymans - 0.3.47-1 +- Update to 0.3.47 + Resolves: rhbz#2055694 + * Mon Nov 15 2021 Neal Gompa - 0.3.40-1 - Update to version 0.3.40 which drops media-session service for WirePlumber Resolves: rhbz#2022694 diff --git a/sources b/sources index 14c2f3c..4d64e36 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pipewire-0.3.40.tar.gz) = 63109b87d50be160a6cde632470849564d4743f4cb469f5e3713bb1cbefc08f80416210ddedc09439555b702193c0266a1b9724e366a3b850bdf1a346c5e80cb +SHA512 (pipewire-0.3.47.tar.gz) = 2f188910b6a04ebc6ebf288e2f6eab8a227056fd9c5c97a8a279ebff0f88cd6b98b9bfc3bf6aff55104fa537ca04f2c89a8d45da7f2104e07e1b2e531f6cc21c