diff options
-rw-r--r-- | media-video/pipewire/files/0.3.79/0001-meson-better-check-dlopen-dir.patch | 33 | ||||
-rw-r--r-- | media-video/pipewire/files/0.3.79/0002-alsa-non-portable-isinf-use.patch | 30 | ||||
-rw-r--r-- | media-video/pipewire/pipewire-0.3.79-r1.ebuild (renamed from media-video/pipewire/pipewire-0.3.79.ebuild) | 0 |
3 files changed, 63 insertions, 0 deletions
diff --git a/media-video/pipewire/files/0.3.79/0001-meson-better-check-dlopen-dir.patch b/media-video/pipewire/files/0.3.79/0001-meson-better-check-dlopen-dir.patch new file mode 100644 index 000000000000..1bcddd4277cb --- /dev/null +++ b/media-video/pipewire/files/0.3.79/0001-meson-better-check-dlopen-dir.patch @@ -0,0 +1,33 @@ +https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/9f7d960c66a2d5732958ee29934c7aef6decc0cb + +From 9f7d960c66a2d5732958ee29934c7aef6decc0cb Mon Sep 17 00:00:00 2001 +From: q66 <q66@chimera-linux.org> +Date: Thu, 31 Aug 2023 03:42:40 +0200 +Subject: [PATCH] meson: better check for module dlopen dir + +The ${LIB} token is a glibc extension, so it is incorrect to +use it on all Linux. Doing so will break e.g. with musl libc. +--- a/meson.build ++++ b/meson.build +@@ -49,7 +49,9 @@ pipewire_configdir = pipewire_sysconfdir / 'pipewire' + pipewire_confdatadir = pipewire_datadir / 'pipewire' + modules_install_dir = pipewire_libdir / pipewire_name + +-if host_machine.system() == 'linux' ++cc = meson.get_compiler('c') ++ ++if cc.has_header('features.h') and cc.get_define('__GLIBC__', prefix: '#include <features.h>') != '' + # glibc ld.so interprets ${LIB} in a library loading path with an + # appropriate value for the current architecture, typically something + # like lib, lib64 or lib/x86_64-linux-gnu. +@@ -72,8 +74,6 @@ pipewire_headers_dir = pipewire_name / 'pipewire' + + pkgconfig = import('pkgconfig') + +-cc = meson.get_compiler('c') +- + common_flags = [ + '-fvisibility=hidden', + '-fno-strict-aliasing', +-- +GitLab diff --git a/media-video/pipewire/files/0.3.79/0002-alsa-non-portable-isinf-use.patch b/media-video/pipewire/files/0.3.79/0002-alsa-non-portable-isinf-use.patch new file mode 100644 index 000000000000..767c399bd515 --- /dev/null +++ b/media-video/pipewire/files/0.3.79/0002-alsa-non-portable-isinf-use.patch @@ -0,0 +1,30 @@ +https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/aa11dbe10c0f2319a5c4c8dcfff1d5dccc03589e + +From aa11dbe10c0f2319a5c4c8dcfff1d5dccc03589e Mon Sep 17 00:00:00 2001 +From: q66 <q66@chimera-linux.org> +Date: Thu, 31 Aug 2023 03:17:54 +0200 +Subject: [PATCH] alsa: get rid of non-portable isinf use + +The isinf function returns -1 for negative infinity on glibc, but +the standard guarantees no such behavior (e.g. in C++ it always +returns a bool, on musl libc it's a macro that expands to a bool +expression), saying just that it returns a non-zero value. + +This was added in pulseaudio around 15 years ago, and was never +fixed; pipewire then got the code from it. However, we can portably +check against -INFINITY instead (from math.h, already included). + +Ref https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/commit/045c1d6 +--- a/spa/plugins/alsa/acp/volume.h ++++ b/spa/plugins/alsa/acp/volume.h +@@ -83,7 +83,7 @@ static inline pa_volume_t pa_sw_volume_from_linear(double v) + + static inline pa_volume_t pa_sw_volume_from_dB(double dB) + { +- if (isinf(dB) < 0 || dB <= PA_DECIBEL_MININFTY) ++ if (dB == -INFINITY || dB <= PA_DECIBEL_MININFTY) + return PA_VOLUME_MUTED; + return pa_sw_volume_from_linear(pa_volume_dB_to_linear(dB)); + } +-- +GitLab diff --git a/media-video/pipewire/pipewire-0.3.79.ebuild b/media-video/pipewire/pipewire-0.3.79-r1.ebuild index 608eb135e010..608eb135e010 100644 --- a/media-video/pipewire/pipewire-0.3.79.ebuild +++ b/media-video/pipewire/pipewire-0.3.79-r1.ebuild |