Accepting request 1061296 from multimedia:libs

OBS-URL: https://build.opensuse.org/request/show/1061296
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/pipewire?expand=0&rev=75
This commit is contained in:
Dominique Leuenberger 2023-01-28 18:59:49 +00:00 committed by Git OBS Bridge
commit fd44e0826e
11 changed files with 153 additions and 866 deletions

View File

@ -1,70 +0,0 @@
From 32a7c85c84e419636109eb5db127292e25462a38 Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaymans@redhat.com>
Date: Mon, 16 Jan 2023 16:05:17 +0100
Subject: [PATCH] alsa: guard against some invalid values
Avoid division by 0 and other strange things when invalid values
are detected.
Fixes #2953
---
spa/plugins/alsa/alsa-pcm.c | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/spa/plugins/alsa/alsa-pcm.c b/spa/plugins/alsa/alsa-pcm.c
index 76fe433b8..08b9ceddd 100644
--- a/spa/plugins/alsa/alsa-pcm.c
+++ b/spa/plugins/alsa/alsa-pcm.c
@@ -1519,6 +1519,11 @@ int spa_alsa_set_format(struct state *state, struct spa_audio_info *fmt, uint32_
fmt->info.raw.rate = rrate;
match = false;
}
+ if (rchannels == 0 || rrate == 0) {
+ spa_log_error(state->log, "%s: invalid channels:%d or rate:%d",
+ state->props.device, rchannels, rrate);
+ return -EIO;
+ }
state->format = rformat;
state->channels = rchannels;
@@ -1563,6 +1568,11 @@ int spa_alsa_set_format(struct state *state, struct spa_audio_info *fmt, uint32_
CHECK(snd_pcm_hw_params_set_period_size_near(hndl, params, &period_size, &dir), "set_period_size_near");
+ if (period_size == 0) {
+ spa_log_error(state->log, "%s: invalid period_size 0 (driver error?)", state->props.device);
+ return -EIO;
+ }
+
state->period_frames = period_size;
if (state->default_period_num != 0) {
@@ -1578,6 +1588,10 @@ int spa_alsa_set_format(struct state *state, struct spa_audio_info *fmt, uint32_
CHECK(snd_pcm_hw_params_set_buffer_size_near(hndl, params, &state->buffer_frames), "set_buffer_size_near");
periods = state->buffer_frames / period_size;
}
+ if (state->buffer_frames == 0) {
+ spa_log_error(state->log, "%s: invalid buffer_frames 0 (driver error?)", state->props.device);
+ return -EIO;
+ }
state->headroom = state->default_headroom;
if (is_batch)
@@ -2542,6 +2556,14 @@ int spa_alsa_start(struct state *state)
state->duration = 1024;
state->rate_denom = state->rate;
}
+ if (state->rate_denom == 0) {
+ spa_log_error(state->log, "%s: unset rate_denom", state->props.device);
+ return -EIO;
+ }
+ if (state->duration == 0) {
+ spa_log_error(state->log, "%s: unset duration", state->props.device);
+ return -EIO;
+ }
state->following = is_following(state);
setup_matching(state);
--
GitLab

View File

@ -1,70 +0,0 @@
From 65f3a9c481214ce015d20cee813dd9dac2de8dab Mon Sep 17 00:00:00 2001
From: Sanchayan Maity <sanchayan@asymptotic.io>
Date: Sat, 14 Jan 2023 15:14:29 +0530
Subject: [PATCH] cpu-arm: Fix incorrect free
A bug was introduced with the refactoring in da26563. In arm_init,
the buffer passed to spa_cpu_read_file is allocated and it is just
going to return that. So cpuinfo will actually point to buffer on
the stack, which need not be freed with a call to free.
The crash resulting with the incorrect free.
root@dragonboard-845c:~# pipewire --version
munmap_chunk(): invalid pointer
[ 185.037284] audit: type=1701 audit(1659949975.843:14): auid=4294967295 uid=0 gid=0 ses=4294967295 pid=2243 comm="pipewire" exe="/usr/bin/pipewire" sig=6 res=1
Aborted
root@dragonboard-845c:~# wireplumber --version
munmap_chunk(): invalid pointer
[ 193.453693] audit: type=1701 audit(1659949984.255:15): auid=4294967295 uid=0 gid=0 ses=4294967295 pid=2244 comm="wireplumber" exe="/usr/bin/wireplumber" sig=6 res=1
Aborted
Backtrace from the crash
(gdb) bt
!0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
!1 0x0000fffff7d8edd8 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
!2 0x0000fffff7d4a390 in __GI_raise (sig=sig@entry=6) at /usr/src/debug/glibc/2.36-r0/sysdeps/posix/raise.c:26
!3 0x0000fffff7d37498 in __GI_abort () at abort.c:79
!4 0x0000fffff7d83374 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0xfffff7e5fc20 "%s\n") at /usr/src/debug/glibc/2.36-r0/sysdeps/posix/libc_fatal.c:155
!5 0x0000fffff7d988c0 in malloc_printerr (str=str@entry=0xfffff7e5a7f0 "munmap_chunk(): invalid pointer") at malloc.c:5660
!6 0x0000fffff7d98aac in munmap_chunk (p=p@entry=0xffffffffd258) at malloc.c:3054
!7 0x0000fffff7d9d068 in __GI___libc_free (mem=mem@entry=0xffffffffd268) at malloc.c:3375
!8 0x0000fffff7cd36cc in arm_init (impl=impl@entry=0xaaaaaaac8c48) at /usr/src/debug/pipewire/1.0-r0/spa/plugins/support/cpu-arm.c:97
!9 0x0000fffff7cd391c in impl_init (factory=<optimized out>, handle=0xaaaaaaac8c48, info=0xffffffffe548, support=<optimized out>, n_support=<optimized out>) at /usr/src/debug/pipewire/1.0-r0/spa/plugins/support/cpu.c:264
!10 0x0000fffff7f3a234 in load_spa_handle (lib=<optimized out>, factory_name=factory_name@entry=0xfffff7f6d768 "support.cpu", info=info@entry=0xffffffffe548, n_support=1,
support=support@entry=0xfffff7fb0488 <global_support+88>) at /usr/src/debug/pipewire/1.0-r0/src/pipewire/pipewire.c:280
!11 0x0000fffff7f3a5b0 in add_interface (factory_name=factory_name@entry=0xfffff7f6d768 "support.cpu", type=type@entry=0xfffff7f62310 "Spa:Pointer:Interface:CPU", info=info@entry=0xffffffffe548,
support=0xfffff7fb0430 <global_support>) at /usr/src/debug/pipewire/1.0-r0/src/pipewire/pipewire.c:358
!12 0x0000fffff7f3b3f8 in pw_init (argc=argc@entry=0xffffffffea5c, argv=argv@entry=0xffffffffea50) at /usr/src/debug/pipewire/1.0-r0/src/pipewire/pipewire.c:661
!13 0x0000aaaaaaaa1104 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/pipewire/1.0-r0/src/daemon/pipewire.c:79
(gdb) f 8
!8 0x0000fffff7cd36cc in arm_init (impl=impl@entry=0xaaaaaaac8c48) at /usr/src/debug/pipewire/1.0-r0/spa/plugins/support/cpu-arm.c:97
97 /usr/src/debug/pipewire/1.0-r0/spa/plugins/support/cpu-arm.c: No such file or directory.
(gdb) info locals
flags = 122
cpuinfo = 0xffffffffd268 "processor\t: 0\nBogoMIPS\t: 38.40\nFeatures\t: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop\nCPU implementer\t: 0x51\nCPU architecture: 8\nCPU variant\t.
line = 0xaaaaaaac8ce0 "\310\252\252\252\n"
buffer = "processor\t: 0\nBogoMIPS\t: 38.40\nFeatures\t: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop\nCPU implementer\t: 0x51\nCPU architecture: 8\nCPU variant\t: 0x7\nCPU pa"...
arch = <optimized out>
__func__ = "arm_init"
---
spa/plugins/support/cpu-arm.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/spa/plugins/support/cpu-arm.c b/spa/plugins/support/cpu-arm.c
index cfc54272c..6cd68d813 100644
--- a/spa/plugins/support/cpu-arm.c
+++ b/spa/plugins/support/cpu-arm.c
@@ -94,8 +94,6 @@ arm_init(struct impl *impl)
free(line);
}
- free(cpuinfo);
-
impl->flags = flags;
return 0;
--
GitLab

View File

@ -0,0 +1,25 @@
From fba7083f8ceb210c7c20aceafeb5c9a8767cf705 Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaymans@redhat.com>
Date: Thu, 26 Jan 2023 11:57:45 +0100
Subject: [PATCH] modules: also install module-combine-stream
---
src/modules/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/modules/meson.build b/src/modules/meson.build
index 89e4233d9..1bfb03b4b 100644
--- a/src/modules/meson.build
+++ b/src/modules/meson.build
@@ -139,7 +139,7 @@ pipewire_module_echo_cancel_sources = [
pipewire_module_combine_stream = shared_library('pipewire-module-combine-stream',
[ 'module-combine-stream.c' ],
include_directories : [configinc],
- install : false,
+ install : true,
install_dir : modules_install_dir,
install_rpath: modules_install_dir,
dependencies : [spa_dep, dl_lib, pipewire_dep],
--
2.39.1

View File

@ -1,75 +0,0 @@
From 1d9640af5a7906620f214aa0a39c63128c8506a6 Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaymans@redhat.com>
Date: Mon, 16 Jan 2023 18:28:31 +0100
Subject: [PATCH] spa: Fix audioconvert overflow when scaling
Add SPA_SCALE32_UP that scales a uint32 without overflow.
Use this for scaling the threshold in ALSA.
Fix the scaling in audioconvert of the buffer size, the scaling was
wrong and it was also causing an overflow resulting in choppy sound in
some cases.
See #2680
---
spa/include/spa/utils/defs.h | 8 ++++++++
spa/plugins/alsa/alsa-pcm.c | 4 ++--
spa/plugins/audioconvert/audioconvert.c | 2 +-
3 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/spa/include/spa/utils/defs.h b/spa/include/spa/utils/defs.h
index c602c9348..3b4862663 100644
--- a/spa/include/spa/utils/defs.h
+++ b/spa/include/spa/utils/defs.h
@@ -274,6 +274,14 @@ struct spa_fraction {
#define SPA_ROUND_DOWN_N(num,align) ((num) & ~SPA_ROUND_MASK(num, align))
#define SPA_ROUND_UP_N(num,align) ((((num)-1) | SPA_ROUND_MASK(num, align))+1)
+#define SPA_SCALE32_UP(val,num,denom) \
+({ \
+ uint64_t _val = (val); \
+ uint64_t _denom = (denom); \
+ (uint32_t)(((_val) * (num) + (_denom)-1) / (_denom)); \
+})
+
+
#define SPA_PTR_ALIGNMENT(p,align) ((intptr_t)(p) & ((align)-1))
#define SPA_IS_ALIGNED(p,align) (SPA_PTR_ALIGNMENT(p,align) == 0)
#define SPA_PTR_ALIGN(p,align,type) ((type*)SPA_ROUND_UP_N((intptr_t)(p), (intptr_t)(align)))
diff --git a/spa/plugins/alsa/alsa-pcm.c b/spa/plugins/alsa/alsa-pcm.c
index 08b9ceddd..012b46031 100644
--- a/spa/plugins/alsa/alsa-pcm.c
+++ b/spa/plugins/alsa/alsa-pcm.c
@@ -1999,7 +1999,7 @@ static inline void check_position_config(struct state *state)
(state->rate_denom != state->position->clock.rate.denom))) {
state->duration = state->position->clock.duration;
state->rate_denom = state->position->clock.rate.denom;
- state->threshold = (state->duration * state->rate + state->rate_denom-1) / state->rate_denom;
+ state->threshold = SPA_SCALE32_UP(state->duration, state->rate, state->rate_denom);
state->max_error = SPA_MAX(256.0f, state->threshold / 2.0f);
state->resample = ((uint32_t)state->rate != state->rate_denom) || state->matching;
state->alsa_sync = true;
@@ -2569,7 +2569,7 @@ int spa_alsa_start(struct state *state)
setup_matching(state);
spa_dll_init(&state->dll);
- state->threshold = (state->duration * state->rate + state->rate_denom-1) / state->rate_denom;
+ state->threshold = SPA_SCALE32_UP(state->duration, state->rate, state->rate_denom);
state->last_threshold = state->threshold;
state->max_error = SPA_MAX(256.0f, state->threshold / 2.0f);
diff --git a/spa/plugins/audioconvert/audioconvert.c b/spa/plugins/audioconvert/audioconvert.c
index 578f70ff9..783ab8174 100644
--- a/spa/plugins/audioconvert/audioconvert.c
+++ b/spa/plugins/audioconvert/audioconvert.c
@@ -1755,7 +1755,7 @@ impl_node_port_enum_params(void *object, int seq,
size = this->quantum_limit * 2;
/* scale the buffer size when we can. */
if (irate != 0 && orate != 0)
- size = size * (irate + orate - 1) / orate;
+ size = SPA_SCALE32_UP(size, irate, orate);
}
param = spa_pod_builder_add_object(&b,
--
GitLab

View File

@ -3,7 +3,7 @@
<service name="obs_scm" mode="disabled">
<param name="scm">git</param>
<param name="url">https://gitlab.freedesktop.org/pipewire/pipewire.git</param>
<param name="revision">refs/tags/0.3.64</param>
<param name="revision">refs/tags/0.3.65</param>
<param name="versionformat">@PARENT_TAG@</param>
<!--
<param name="revision">master</param>

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:638a82e07cf7f3717593dff16ff36b49adc5ff68937a08b6ddcee1551bb3ea10
size 11599885

3
pipewire-0.3.65.obscpio Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:480bb078e5ccb86c64a1463bd6c93e3c453d31802e73f7733eebec2781350ce4
size 11936269

View File

@ -1,3 +1,120 @@
-------------------------------------------------------------------
Thu Jan 26 12:21:31 UTC 2023 - Alexei Sorokin <sor.alexei@meowr.ru>
- Update to version 0.3.65:
* Highlights
- Add back the deprecated symbols but make sure a deprecated
warning is emitted for them. This fixes compilation issues in
bindings.
- Fix an error in the AVX code that could cause crackling in
filter-chain when using the mixer.
- The convolver in filter-chain can now select an IR from a
list of IRs that best matches the current samplerate. Also
resampling of the IR has been improved.
- A new native module-combine-stream was added. You can use
this to create a 5.1 device from 3 stereo soundcards, for
example, or direct the output to multiple sinks at once.
- Support for Bluetooth MIDI was added. This requires a
wireplumber addition as well.
- An ALSA plugin rule was added to tweak the buffer settings in
Davinci Resolve so that it now runs with acceptable latency.
- Support for compress offload was added using tinycompress.
This allows compressed formats to be decoded in hardware
using ALSA on some devices.
- Many more buffixes and improvements.
* PipeWire
- Add back the deprecated symbols but make sure a deprecated
warning is emitted for them.
- Fix a regression when running older servers and newer clients
(such as flatpaks on older server) where the server would run
clients too soon, causing crashes.
- Ensure that environment variables override any config values.
* Tools
- pw-cli has received some improvements in the output.
- pw-cat can now use ffmpeg to demux streams for compress
offload.
* modules
- The convolver IR volume is now preserved after resampling.
- Adapter ports can now have a custom prefix.
- module-rt now clamps the realtime priority to the user
allowed one if it is within an acceptable range. Before it
would fall back to RTKit immediately.
- The module-echo-cancel can now have per stream channel
layouts which makes it possible to link to specific audio
ports on a device.
- Fix an error in the AVX code that could cause crackling in
filter-chain when using the mixer.
- The convolver in filter-chain can now select an IR from a
list of IRs that best matches the current sample-rate.
- module-pipe-* now better matches the pulseaudio properties.
- A new combine-stream module was added to combine multiple
sinks into one sink. It is also possible to merge multiple
sources into one.
- module-rtp-source now has match rules to select what SAP
sessions to stream from. There were also improvements to the
buffering and latency handling.
- module-rtp-sink now handles multicast loopback correctly.
- module-rtp-sink implements min-ptime and max-ptime to control
the send packet latency.
* SPA
- A new modifier flag was added to the video format parser
helper to allow 0 (linear) as a valid modifier.
- Params includes were reorganized to make it more scalable.
Many compressed audio formats were added.
- The alsa pcm plugin now handles invalid values from the
driver gracefully.
- Fix some potential stuttering cause by wrong scaling and
overflow of the output buffers in audioconvert.
- Debug output is now also sent to the log instead of stdout.
- A debug context was added to debug macros to implement custom
debug handling. This is used to redirect the debug of pods to
the debug log instead of using some custom duplicated code.
- Fix some warnings for potentially undefined shifts in format
conversion.
- Support for compress offload was added using tinycompress.
This is mostly used on some embedded hardware where decoding
of audio formats can be done in hardware.
* Bluetooth
- Some fixes for LE audio were added.
- Support for Bluetooth MIDI was added. This requires a
wireplumber addition as well.
- Reply OK to empty commands.
- Improve compatibility with some devices that send stray \n
such as the Sennheiser HD 350BT.
* pulse-server
- Devices with unsupported formats (by the pulseaudio API) are
now also listed in the pulseaudio API (with invalid formats).
- The native module-combine-stream is used for
module-combine-sink.
* JACK
- Make jack.merge-monitor default to true to better match the
jack1/2 behaviour. Add an exception for mixxx, which is more
usable with unmerged monitors.
* ALSA
- The property handling in the ALSA plugin was improved.
alsa.properties and alsa.rules can now be added to the config
file.
- A rule was added to tweak the buffer settings in
Davinci Resolve so that it can run with acceptable latency.
- ALSA volume will now also use cubic volumes, like pulseaudio.
- The ALSA ctl plugin now also uses the client-rt.conf file.
- A new alsa.volume-method was added to configure cubic or
linear volume.
This can be set per application using the rules.
* GStreamer
- pipewiresrc will now advertise DMABUF support if the pipeline
supports this.
- pipewiresrc will now always be a live source unless told
otherwise.
- Drop reduce-meson-dependency.patch: openSUSE Leap 15.3 is
no longer supported.
- Add patch to install module-combine-stream:
* 0001-modules-also-install-module-combine-stream.patch
- Drop patches already included upstream:
* 0001-cpu-arm-Fix-incorrect-free.patch
* 0001-alsa-guard-against-some-invalid-values.patch
* 0001-spa-Fix-audioconvert-overflow-when-scaling.patch
-------------------------------------------------------------------
Tue Jan 17 08:28:49 UTC 2023 - Antonio Larrosa <alarrosa@suse.com>

View File

@ -1,4 +1,4 @@
name: pipewire
version: 0.3.64
mtime: 1673515864
commit: bba452695eb673461c5cf626eec57728991eadf7
version: 0.3.65
mtime: 1674723303
commit: 9558a5d5e0360d8af822431c76ee858a8c7495ac

View File

@ -54,7 +54,7 @@
%bcond_with aptx
Name: pipewire
Version: 0.3.64
Version: 0.3.65
Release: 0
Summary: A Multimedia Framework designed to be an audio and video server and more
License: MIT
@ -62,15 +62,8 @@ Group: Development/Libraries/C and C++
URL: https://pipewire.org/
Source0: %{name}-%{version}.tar.xz
Source99: baselibs.conf
# PATCH-FIX-OPENSUSE reduce-meson-dependency.patch
Patch0: reduce-meson-dependency.patch
# PATCH-FIX-UPSTREAM 0001-cpu-arm-Fix-incorrect-free.patch
Patch1: 0001-cpu-arm-Fix-incorrect-free.patch
# PATCH-FIX-UPSTREAM 0001-alsa-guard-against-some-invalid-values.patch
Patch2: 0001-alsa-guard-against-some-invalid-values.patch
# PATCH-FIX-UPSTREAM 0001-spa-Fix-audioconvert-overflow-when-scaling.patch
Patch3: 0001-spa-Fix-audioconvert-overflow-when-scaling.patch
# PATCH-FIX-UPSTREAM 0001-modules-also-install-module-combine-stream.patch
Patch0: 0001-modules-also-install-module-combine-stream.patch
BuildRequires: docutils
BuildRequires: doxygen
BuildRequires: fdupes
@ -80,11 +73,7 @@ BuildRequires: gcc9
BuildRequires: gcc9-c++
%endif
BuildRequires: graphviz
%if 0%{?suse_version} <= 1500 && 0%{?sle_version} <= 150300
BuildRequires: meson >= 0.54.0
%else
BuildRequires: meson >= 0.59.0
%endif
BuildRequires: pkgconfig
BuildRequires: readline-devel
BuildRequires: systemd-rpm-macros
@ -358,13 +347,7 @@ This package provides a PulseAudio implementation based on PipeWire
%lang_package
%prep
%autosetup -N
%if 0%{?suse_version} <= 1500 && 0%{?sle_version} <= 150300
%patch0 -p1
%endif
%patch1 -p1
%patch2 -p1
%patch3 -p1
%autosetup -p1
%build
%if %{pkg_vcmp gcc < 8}

View File

@ -1,623 +0,0 @@
Index: pipewire-0.3.63/doc/meson.build
===================================================================
--- pipewire-0.3.63.orig/doc/meson.build
+++ pipewire-0.3.63/doc/meson.build
@@ -1,8 +1,8 @@
doxyfile_conf = configuration_data()
doxyfile_conf.set('PACKAGE_NAME', meson.project_name())
doxyfile_conf.set('PACKAGE_VERSION', meson.project_version())
-doxyfile_conf.set('top_srcdir', meson.project_source_root())
-doxyfile_conf.set('top_builddir', meson.project_build_root())
+doxyfile_conf.set('top_srcdir', meson.source_root())
+doxyfile_conf.set('top_builddir', meson.build_root())
dot_found = find_program('dot', required: false).found()
summary({'dot (used with doxygen)': dot_found}, bool_yn: true, section: 'Optional programs')
@@ -48,35 +48,35 @@ extra_docs = [
inputs = []
foreach extra : extra_docs
- inputs += meson.project_source_root() / 'doc' / extra
+ inputs += meson.source_root() / 'doc' / extra
endforeach
foreach h : pipewire_headers
- inputs += meson.project_source_root() / 'src' / 'pipewire' / h
+ inputs += meson.source_root() / 'src' / 'pipewire' / h
endforeach
foreach h : pipewire_ext_headers
- inputs += meson.project_source_root() / 'src' / 'pipewire' / 'extensions' / h
+ inputs += meson.source_root() / 'src' / 'pipewire' / 'extensions' / h
endforeach
foreach h : pipewire_ext_sm_headers
- inputs += meson.project_source_root() / 'src' / 'pipewire' / 'extensions' / h
+ inputs += meson.source_root() / 'src' / 'pipewire' / 'extensions' / h
endforeach
foreach h : pipewire_sources
- inputs += meson.project_source_root() / 'src' / 'pipewire' / h
+ inputs += meson.source_root() / 'src' / 'pipewire' / h
endforeach
foreach h : module_sources
- inputs += meson.project_source_root() / 'src' / 'modules' / h
+ inputs += meson.source_root() / 'src' / 'modules' / h
endforeach
-inputs += meson.project_source_root() / 'test' / 'pwtest.h'
-input_dirs = [ meson.project_source_root() / 'spa' / 'include' / 'spa' ]
+inputs += meson.source_root() / 'test' / 'pwtest.h'
+input_dirs = [ meson.source_root() / 'spa' / 'include' / 'spa' ]
path_prefixes = [
- meson.project_source_root() / 'src',
- meson.project_source_root() / 'spa' / 'include',
- meson.project_source_root(),
+ meson.source_root() / 'src',
+ meson.source_root() / 'spa' / 'include',
+ meson.source_root(),
]
cssfiles = [
- meson.project_source_root() / 'doc' / 'doxygen-awesome.css',
- meson.project_source_root() / 'doc' / 'custom.css'
+ meson.source_root() / 'doc' / 'doxygen-awesome.css',
+ meson.source_root() / 'doc' / 'custom.css'
]
# Example files (in order from simple to esoteric)
@@ -116,13 +116,25 @@ input_dirs += [ 'doc/examples.dox' ]
man_doxygen = []
man_subpages = []
+manpages = [
+ 'pipewire.1.rst.in',
+ 'pipewire-pulse.1.rst.in',
+ 'pipewire.conf.5.rst.in',
+ 'pw-cat.1.rst.in',
+ 'pw-cli.1.rst.in',
+ 'pw-dot.1.rst.in',
+ 'pw-metadata.1.rst.in',
+ 'pw-mididump.1.rst.in',
+ 'pw-mon.1.rst.in',
+ 'pw-profiler.1.rst.in',
+]
foreach m : manpages
manconf = configuration_data()
- pagename = 'page_man_' + m.split('.rst.in').get(0).replace('.', '_').replace('-', '_')
+ pagename = 'page_man_' + m.split('.rst.in').get(0).underscorify()
filename = m.split('.rst.in').get(0) + '.dox'
manconf.set('pagename', pagename)
- manconf.set('title', m.split('.rst.in').get(0).replace('.1','').replace('.5',''))
- manconf.set('filename', meson.project_source_root() / 'man' / m)
+ manconf.set('title', m.split('.rst.in').get(0).strip('.15'))
+ manconf.set('filename', meson.source_root() / 'man' / m)
manfile = configure_file(input: 'manpage.dox.in',
output: filename,
configuration: manconf)
@@ -141,8 +153,8 @@ input_dirs += [ 'doc/pipewire-tools.dox'
doxyfile_conf.set('inputs', ' '.join(inputs + input_dirs))
doxyfile_conf.set('cssfiles', ' '.join(cssfiles))
doxyfile_conf.set('path_prefixes', ' '.join(path_prefixes))
-doxyfile_conf.set('c_input_filter', meson.project_source_root() / 'doc' / 'input-filter.sh')
-doxyfile_conf.set('h_input_filter', meson.project_source_root() / 'doc' / 'input-filter-h.sh')
+doxyfile_conf.set('c_input_filter', meson.source_root() / 'doc' / 'input-filter.sh')
+doxyfile_conf.set('h_input_filter', meson.source_root() / 'doc' / 'input-filter-h.sh')
doxyfile = configure_file(input: 'Doxyfile.in',
output: 'Doxyfile',
Index: pipewire-0.3.63/man/meson.build
===================================================================
--- pipewire-0.3.63.orig/man/meson.build
+++ pipewire-0.3.63/man/meson.build
@@ -21,7 +21,7 @@ manpages = [
'pw-top.1.rst.in',
]
-if get_option('pipewire-jack').allowed()
+if not get_option('pipewire-jack').disabled()
manpages += 'pw-jack.1.rst.in'
endif
Index: pipewire-0.3.63/meson.build
===================================================================
--- pipewire-0.3.63.orig/meson.build
+++ pipewire-0.3.63/meson.build
@@ -1,7 +1,7 @@
project('pipewire', ['c' ],
version : '0.3.64',
license : [ 'MIT', 'LGPL-2.1-or-later', 'GPL-2.0-only' ],
- meson_version : '>= 0.59.0',
+ meson_version : '>= 0.54.0',
default_options : [ 'warning_level=3',
'c_std=gnu11',
'cpp_std=c++17',
@@ -236,8 +236,8 @@ includes_inc = include_directories('incl
pipewire_inc = include_directories('src')
makedata = configuration_data()
-makedata.set('BUILD_ROOT', meson.project_build_root())
-makedata.set('SOURCE_ROOT', meson.project_source_root())
+makedata.set('BUILD_ROOT', meson.build_root())
+makedata.set('SOURCE_ROOT', meson.source_root())
makedata.set('VERSION', pipewire_version)
if version_arr.length() == 4
makedata.set('TAG', 'HEAD')
@@ -337,7 +337,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'],
@@ -400,10 +400,10 @@ endforeach
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
@@ -412,17 +412,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
@@ -433,7 +433,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'))
@@ -454,20 +454,20 @@ endif
setenv = find_program('pw-uninstalled.sh')
run_target('pw-uninstalled',
command : [setenv,
- '-b@0@'.format(meson.project_build_root()),
+ '-b@0@'.format(meson.build_root()),
'-v@0@'.format(pipewire_version)]
)
devenv = environment()
-builddir = meson.project_build_root()
-srcdir = meson.project_source_root()
+builddir = meson.build_root()
+srcdir = meson.source_root()
-devenv.set('PIPEWIRE_CONFIG_DIR', pipewire_dep.get_variable('confdatadir'))
-devenv.set('PIPEWIRE_MODULE_DIR', pipewire_dep.get_variable('moduledir'))
+devenv.set('PIPEWIRE_CONFIG_DIR', pipewire_dep.get_variable(internal: 'confdatadir'))
+devenv.set('PIPEWIRE_MODULE_DIR', pipewire_dep.get_variable(internal: 'moduledir'))
-devenv.set('SPA_PLUGIN_DIR', spa_dep.get_variable('plugindir'))
-devenv.set('SPA_DATA_DIR', spa_dep.get_variable('datadir'))
+devenv.set('SPA_PLUGIN_DIR', spa_dep.get_variable(internal: 'plugindir'))
+devenv.set('SPA_DATA_DIR', spa_dep.get_variable(internal: 'datadir'))
devenv.set('GST_PLUGIN_PATH', builddir / 'src'/ 'gst')
@@ -479,4 +479,6 @@ devenv.set('LD_LIBRARY_PATH', builddir /
devenv.set('PW_UNINSTALLED', '1')
-meson.add_devenv(devenv)
+if meson.version().version_compare('>=0.58.0')
+ meson.add_devenv(devenv)
+endif
Index: pipewire-0.3.63/spa/meson.build
===================================================================
--- pipewire-0.3.63.orig/spa/meson.build
+++ pipewire-0.3.63/spa/meson.build
@@ -31,7 +31,7 @@ pkgconfig.generate(filebase : 'lib@0@'.f
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
@@ -66,7 +66,7 @@ if get_option('spa-plugins').allowed()
summary({'Opus': opus_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
lc3_dep = dependency('lc3', required : get_option('bluez5-codec-lc3'))
summary({'LC3': lc3_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
- 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())
mm_dep = dependency('ModemManager', version : '>= 1.10.0', required : get_option('bluez5-backend-native-mm'))
summary({'ModemManager': mm_dep.found()}, bool_yn: true, section: 'Bluetooth backends')
endif
@@ -90,6 +90,6 @@ endif
subdir('tools')
subdir('tests')
-if get_option('examples').allowed()
+if not get_option('examples').disabled()
subdir('examples')
endif
Index: pipewire-0.3.63/spa/plugins/audioconvert/meson.build
===================================================================
--- pipewire-0.3.63.orig/spa/plugins/audioconvert/meson.build
+++ pipewire-0.3.63/spa/plugins/audioconvert/meson.build
@@ -148,7 +148,7 @@ foreach a : test_apps
install : installed_tests_enabled,
install_dir : installed_tests_execdir / 'audioconvert'),
env : [
- 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable('plugindir')),
+ 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable(internal: 'plugindir')),
])
if installed_tests_enabled
@@ -178,7 +178,7 @@ foreach a : benchmark_apps
install : installed_tests_enabled,
install_dir : installed_tests_execdir / 'audioconvert'),
env : [
- 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable('plugindir')),
+ 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable(internal: 'plugindir')),
])
if installed_tests_enabled
Index: pipewire-0.3.63/spa/plugins/audiomixer/meson.build
===================================================================
--- pipewire-0.3.63.orig/spa/plugins/audiomixer/meson.build
+++ pipewire-0.3.63/spa/plugins/audiomixer/meson.build
@@ -81,7 +81,7 @@ foreach a : test_apps
install : installed_tests_enabled,
install_dir : installed_tests_execdir / 'audiomixer'),
env : [
- 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable('plugindir')),
+ 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable(internal: 'plugindir')),
])
if installed_tests_enabled
@@ -110,7 +110,7 @@ foreach a : benchmark_apps
install : installed_tests_enabled,
install_dir : installed_tests_execdir / 'audiomixer'),
env : [
- 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable('plugindir')),
+ 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable(internal: 'plugindir')),
])
if installed_tests_enabled
Index: pipewire-0.3.63/spa/plugins/bluez5/meson.build
===================================================================
--- pipewire-0.3.63.orig/spa/plugins/bluez5/meson.build
+++ pipewire-0.3.63/spa/plugins/bluez5/meson.build
@@ -6,13 +6,13 @@ 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_NATIVE_MM', get_option('bluez5-backend-native-mm').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_NATIVE_MM', (not get_option('bluez5-backend-native-mm').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 = [
@@ -35,7 +35,7 @@ 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
@@ -46,11 +46,11 @@ if get_option('bluez5-backend-hsp-native
bluez5_sources += ['backend-native.c', 'upower.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
@@ -115,7 +115,7 @@ if ldac_dep.found()
install_dir : spa_plugindir / 'bluez5')
endif
-if get_option('bluez5-codec-lc3plus').allowed() and lc3plus_dep.found()
+if (not get_option('bluez5-codec-lc3plus').disabled()) and lc3plus_dep.found()
bluez_codec_lc3plus = shared_library('spa-codec-bluez5-lc3plus',
[ 'a2dp-codec-lc3plus.c', 'media-codecs.c' ],
include_directories : [ configinc ],
@@ -125,7 +125,7 @@ if get_option('bluez5-codec-lc3plus').al
install_dir : spa_plugindir / 'bluez5')
endif
-if get_option('bluez5-codec-opus').allowed() and opus_dep.found()
+if (not get_option('bluez5-codec-opus').disabled()) and opus_dep.found()
opus_args = codec_args
opus_dep = [ opus_dep ]
bluez_codec_opus = shared_library('spa-codec-bluez5-opus',
@@ -137,7 +137,7 @@ if get_option('bluez5-codec-opus').allow
install_dir : spa_plugindir / 'bluez5')
endif
-if get_option('bluez5-codec-lc3').allowed() and lc3_dep.found()
+if (not get_option('bluez5-codec-lc3').disabled()) and lc3_dep.found()
bluez_codec_lc3 = shared_library('spa-codec-bluez5-lc3',
[ 'bap-codec-lc3.c', 'media-codecs.c' ],
include_directories : [ configinc ],
Index: pipewire-0.3.63/spa/plugins/meson.build
===================================================================
--- pipewire-0.3.63.orig/spa/plugins/meson.build
+++ pipewire-0.3.63/spa/plugins/meson.build
@@ -1,19 +1,22 @@
if alsa_dep.found()
subdir('alsa')
endif
-if get_option('avb').require(host_machine.system() == 'linux', error_message: 'AVB support is only available on Linux').allowed()
+if not get_option('avb').disabled()
+ if (host_machine.system() != 'linux')
+ error('AVB support is only available on Linux')
+ endif
subdir('avb')
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()
@@ -25,19 +28,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
Index: pipewire-0.3.63/spa/plugins/support/meson.build
===================================================================
--- pipewire-0.3.63.orig/spa/plugins/support/meson.build
+++ pipewire-0.3.63/spa/plugins/support/meson.build
@@ -23,7 +23,7 @@ spa_support_lib = shared_library('spa-su
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/'],
Index: pipewire-0.3.63/spa/tests/meson.build
===================================================================
--- pipewire-0.3.63.orig/spa/tests/meson.build
+++ pipewire-0.3.63/spa/tests/meson.build
@@ -5,7 +5,7 @@ find = find_program('find', required: fa
summary({'find (for header testing)': find.found()}, bool_yn: true, section: 'Optional programs')
if find.found()
spa_headers = run_command(find,
- meson.project_source_root() / 'spa' / 'include',
+ meson.source_root() / 'spa' / 'include',
'-name', '*.h',
'-not', '-name', 'type-info.h',
'-type', 'f',
@@ -41,7 +41,7 @@ foreach a : benchmark_apps
install_dir : installed_tests_execdir,
),
env : [
- 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable('plugindir')),
+ 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable(internal: 'plugindir')),
]
)
Index: pipewire-0.3.63/src/daemon/meson.build
===================================================================
--- pipewire-0.3.63.orig/src/daemon/meson.build
+++ pipewire-0.3.63/src/daemon/meson.build
@@ -18,9 +18,9 @@ conf_config.set('pulse_comment', '#')
conf_config_uninstalled = conf_config
conf_config_uninstalled.set('pipewire_path',
- meson.project_build_root() / 'src' / 'daemon' / 'pipewire')
+ meson.build_root() / 'src' / 'daemon' / 'pipewire')
conf_config_uninstalled.set('pipewire_pulse_path',
- meson.project_build_root() / 'src' / 'daemon' / 'pipewire-pulse')
+ meson.build_root() / 'src' / 'daemon' / 'pipewire-pulse')
conf_config_uninstalled.set('pulse_comment', '')
build_ms = 'media-session' in get_option('session-managers')
@@ -116,7 +116,7 @@ custom_target('pipewire-uninstalled',
install: false,
input: pipewire_exec,
output: 'pipewire-uninstalled',
- command: [ln, '-fs', meson.project_build_root() + '/@INPUT@', '@OUTPUT@'],
+ command: [ln, '-fs', meson.build_root() + '/@INPUT@', '@OUTPUT@'],
)
#desktop_file = i18n.merge_file(
Index: pipewire-0.3.63/src/daemon/systemd/meson.build
===================================================================
--- pipewire-0.3.63.orig/src/daemon/systemd/meson.build
+++ pipewire-0.3.63/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
Index: pipewire-0.3.63/src/daemon/systemd/user/meson.build
===================================================================
--- pipewire-0.3.63.orig/src/daemon/systemd/user/meson.build
+++ pipewire-0.3.63/src/daemon/systemd/user/meson.build
@@ -1,4 +1,4 @@
-systemd_user_services_dir = systemd.get_variable('systemduserunitdir', pkgconfig_define : [ 'prefix', prefix])
+#systemd_user_services_dir = systemd.get_variable('systemduserunitdir', pkgconfig_define : [ 'prefix', prefix])
if get_option('systemd-user-unit-dir') != ''
systemd_user_services_dir = get_option('systemd-user-unit-dir')
endif
Index: pipewire-0.3.63/src/gst/meson.build
===================================================================
--- pipewire-0.3.63.orig/src/gst/meson.build
+++ pipewire-0.3.63/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
Index: pipewire-0.3.63/src/meson.build
===================================================================
--- pipewire-0.3.63.orig/src/meson.build
+++ pipewire-0.3.63/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
Index: pipewire-0.3.63/src/modules/meson.build
===================================================================
--- pipewire-0.3.63.orig/src/modules/meson.build
+++ pipewire-0.3.63/src/modules/meson.build
@@ -402,9 +402,9 @@ test('pw-test-protocol-native',
install_dir : installed_tests_execdir,
),
env : [
- 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable('plugindir')),
- 'PIPEWIRE_CONFIG_DIR=@0@'.format(pipewire_dep.get_variable('confdatadir')),
- 'PIPEWIRE_MODULE_DIR=@0@'.format(pipewire_dep.get_variable('moduledir')),
+ 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable(internal: 'plugindir')),
+ 'PIPEWIRE_CONFIG_DIR=@0@'.format(pipewire_dep.get_variable(internal: 'confdatadir')),
+ 'PIPEWIRE_MODULE_DIR=@0@'.format(pipewire_dep.get_variable(internal: 'moduledir')),
]
)
@@ -561,8 +561,11 @@ pipewire_module_fallback_sink = shared_l
dependencies : [mathlib, dl_lib, rt_lib, pipewire_dep],
)
-build_module_avb = get_option('avb').require(host_machine.system() == 'linux', error_message: 'AVB support is only available on Linux').allowed()
+build_module_avb = (not get_option('avb').disabled())
if build_module_avb
+if (host_machine.system() != 'linux')
+ error('AVB support is only available on Linux')
+endif
pipewire_module_avb = shared_library('pipewire-module-avb',
[ 'module-avb.c',
'module-avb/avb.c',
Index: pipewire-0.3.63/src/tests/meson.build
===================================================================
--- pipewire-0.3.63.orig/src/tests/meson.build
+++ pipewire-0.3.63/src/tests/meson.build
@@ -14,9 +14,9 @@ foreach a : test_apps
install : installed_tests_enabled,
install_dir : installed_tests_execdir),
env : [
- 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable('plugindir')),
- 'PIPEWIRE_CONFIG_DIR=@0@'.format(pipewire_dep.get_variable('confdatadir')),
- 'PIPEWIRE_MODULE_DIR=@0@'.format(pipewire_dep.get_variable('moduledir')),
+ 'SPA_PLUGIN_DIR=@0@'.format(spa_dep.get_variable(internal: 'plugindir')),
+ 'PIPEWIRE_CONFIG_DIR=@0@'.format(pipewire_dep.get_variable(internal: 'confdatadir')),
+ 'PIPEWIRE_MODULE_DIR=@0@'.format(pipewire_dep.get_variable(internal: 'moduledir')),
])
if installed_tests_enabled
Index: pipewire-0.3.63/src/tools/meson.build
===================================================================
--- pipewire-0.3.63.orig/src/tools/meson.build
+++ pipewire-0.3.63/src/tools/meson.build
@@ -32,7 +32,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 = [
Index: pipewire-0.3.63/test/meson.build
===================================================================
--- pipewire-0.3.63.orig/test/meson.build
+++ pipewire-0.3.63/test/meson.build
@@ -14,8 +14,8 @@ pwtest_deps = [
]
pwtest_c_args = [
- '-DBUILD_ROOT="@0@"'.format(meson.project_build_root()),
- '-DSOURCE_ROOT="@0@"'.format(meson.project_source_root()),
+ '-DBUILD_ROOT="@0@"'.format(meson.build_root()),
+ '-DSOURCE_ROOT="@0@"'.format(meson.source_root()),
]
pwtest_inc = [