summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2024-01-02 04:36:56 +0000
committerSam James <sam@gentoo.org>2024-01-02 04:39:17 +0000
commit29cd0e622b574df6adff5704ab4e220709619767 (patch)
tree55e5f5211e9c7d9eb5001f8eaa4e2f2ccba73e08
parentdev-cpp/cppgir: keyword 0_p20230926 for ~loong (diff)
downloadgentoo-29cd0e622b574df6adff5704ab4e220709619767.tar.gz
gentoo-29cd0e622b574df6adff5704ab4e220709619767.tar.bz2
gentoo-29cd0e622b574df6adff5704ab4e220709619767.zip
media-libs/webrtc-audio-processing: fix x86 w/o SSE
Tested with CFLAGS="-O2" CFLAGS_x86="-m32 -O2 -mno-sse -march=i686 -fcf-protection=none" e webrtc-audio-processing-1.3-r3.ebuild clean compile. Closes: https://bugs.gentoo.org/918668 Closes: https://bugs.gentoo.org/921140 Signed-off-by: Sam James <sam@gentoo.org>
-rw-r--r--media-libs/webrtc-audio-processing/files/webrtc-audio-processing-1.3-musl.patch34
-rw-r--r--media-libs/webrtc-audio-processing/files/webrtc-audio-processing-1.3-x86-no-sse.patch13
-rw-r--r--media-libs/webrtc-audio-processing/webrtc-audio-processing-1.3-r3.ebuild40
3 files changed, 87 insertions, 0 deletions
diff --git a/media-libs/webrtc-audio-processing/files/webrtc-audio-processing-1.3-musl.patch b/media-libs/webrtc-audio-processing/files/webrtc-audio-processing-1.3-musl.patch
new file mode 100644
index 000000000000..01e6e799a62b
--- /dev/null
+++ b/media-libs/webrtc-audio-processing/files/webrtc-audio-processing-1.3-musl.patch
@@ -0,0 +1,34 @@
+https://bugs.gentoo.org/918668
+https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/merge_requests/37
+(see also https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/merge_requests/38)
+
+From de1b9c444df1ed66d72a4ab3d0e4dd2151037934 Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_l_k@t-online.de>
+Date: Thu, 14 Sep 2023 16:12:32 +0200
+Subject: [PATCH] file_wrapper.h: add missing include for musl
+
+this fixes:
+| In file included from ../webrtc-audio-processing-1.3/webrtc/rtc_base/system/file_wrapper.cc:11:
+| ../webrtc-audio-processing-1.3/webrtc/rtc_base/system/file_wrapper.h:86:21: error: 'int64_t' has not been declared
+
+if built with musl libc
+
+Signed-off-by: Markus Volk <f_l_k@t-online.de>
+---
+ webrtc/rtc_base/system/file_wrapper.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/webrtc/rtc_base/system/file_wrapper.h b/webrtc/rtc_base/system/file_wrapper.h
+index 42c463c..c34d366 100644
+--- a/webrtc/rtc_base/system/file_wrapper.h
++++ b/webrtc/rtc_base/system/file_wrapper.h
+@@ -13,6 +13,7 @@
+
+ #include <stddef.h>
+ #include <stdio.h>
++#include <cstdint>
+
+ #include <string>
+
+--
+GitLab
diff --git a/media-libs/webrtc-audio-processing/files/webrtc-audio-processing-1.3-x86-no-sse.patch b/media-libs/webrtc-audio-processing/files/webrtc-audio-processing-1.3-x86-no-sse.patch
new file mode 100644
index 000000000000..c194dd9244e5
--- /dev/null
+++ b/media-libs/webrtc-audio-processing/files/webrtc-audio-processing-1.3-x86-no-sse.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/921140
+https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/issues/5
+--- a/webrtc/rtc_base/system/arch.h
++++ b/webrtc/rtc_base/system/arch.h
+@@ -34,7 +34,7 @@
+ #else
+ #define WEBRTC_ARCH_32_BITS
+ #endif
+-#elif defined(_M_IX86) || defined(__i386__)
++#elif defined(__SSE__) && (defined(_M_IX86) || defined(__i386__))
+ #define WEBRTC_ARCH_X86_FAMILY
+ #define WEBRTC_ARCH_X86
+ #define WEBRTC_ARCH_32_BITS
diff --git a/media-libs/webrtc-audio-processing/webrtc-audio-processing-1.3-r3.ebuild b/media-libs/webrtc-audio-processing/webrtc-audio-processing-1.3-r3.ebuild
new file mode 100644
index 000000000000..33bf26456380
--- /dev/null
+++ b/media-libs/webrtc-audio-processing/webrtc-audio-processing-1.3-r3.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit meson-multilib
+
+DESCRIPTION="AudioProcessing library from the webrtc.org codebase"
+HOMEPAGE="https://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing/"
+SRC_URI="https://freedesktop.org/software/pulseaudio/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="1"
+KEYWORDS="~amd64 ~ppc64 ~x86 ~amd64-linux"
+IUSE="cpu_flags_arm_neon"
+
+RDEPEND="dev-cpp/abseil-cpp:=[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.3-Add-generic-byte-order-and-pointer-size-detection.patch"
+ "${FILESDIR}/${PN}-1.3-big-endian-support.patch"
+ "${FILESDIR}/${PN}-1.3-x86-no-sse.patch"
+ "${FILESDIR}/${PN}-1.3-musl.patch"
+)
+
+DOCS=( AUTHORS NEWS README.md )
+
+multilib_src_configure() {
+ if [[ ${ABI} == x86 ]] ; then
+ # bug #921140
+ local -x CPPFLAGS="${CPPFLAGS} -DPFFFT_SIMD_DISABLE"
+ fi
+
+ local emesonargs=(
+ -Dneon=$(usex cpu_flags_arm_neon yes no)
+ )
+ meson_src_configure
+}