[PATCH core-updates] gnu: webrtc-audio-processing: Update to 1.0.

  • Done
  • quality assurance status badge
Details
2 participants
  • Adam Faiz
  • Maxim Cournoyer
Owner
unassigned
Submitted by
Adam Faiz
Severity
normal

Debbugs page

Adam Faiz wrote 2 years ago
(address . guix-patches@gnu.org)(address . paren@disroot.org)
06c3f1db-b41b-2314-b597-0d16c549605e@disroot.org
From 64c8e00eab770ca697c39feabfbc60927e4ccd57 Mon Sep 17 00:00:00 2001
From: AwesomeAdam54321 <adam.faiz@disroot.org>
Date: Tue, 20 Dec 2022 15:18:58 +0800
Subject: [PATCH] gnu: webrtc-audio-processing: Update to 1.0.

* gnu/packages/audio.scm (webrtc-audio-processing): Update to 1.0.
[source]: Add snippet that fixes building on riscv and powerpc
architectures.
[arguments]: Remove patch-source phase.
[build-system]: Update to meson-build-system.
[inputs]: Add abseil-cpp as input.
* gnu/packages/patches/webrtc-audio-processing-big-endian.patch: Update
to 1.0.
*
gnu/packages/patches/webrtc-audio-processing-wav-header-big-endian.patch:
New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
gnu/local.mk | 1 +
gnu/packages/audio.scm | 77 +++---
.../webrtc-audio-processing-big-endian.patch | 249 ++++++++++++------
...dio-processing-wav-header-big-endian.patch | 152 +++++++++++
4 files changed, 357 insertions(+), 122 deletions(-)
create mode 100644
gnu/packages/patches/webrtc-audio-processing-wav-header-big-endian.patch

Toggle diff (490 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index af570125bd..4dfc03acce 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1996,6 +1996,7 @@ dist_patch_DATA = \
%D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch \
%D%/packages/patches/webkitgtk-adjust-bubblewrap-paths.patch \
%D%/packages/patches/webrtc-audio-processing-big-endian.patch \
+
%D%/packages/patches/webrtc-audio-processing-wav-header-big-endian.patch \
%D%/packages/patches/webrtc-for-telegram-desktop-fix-gcc12-cstdint.patch \
%D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \
%D%/packages/patches/widelands-add-missing-map-include.patch \
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index e480ce9e58..140eeb2e1d 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -67,6 +67,7 @@ (define-module (gnu packages audio)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages cpp)
#:use-module (gnu packages curl)
#:use-module (gnu packages dbm)
#:use-module (gnu packages documentation)
@@ -249,55 +250,45 @@ (define-public wildmidi
(define-public webrtc-audio-processing
(package
(name "webrtc-audio-processing")
- (version "0.3.1")
+ (version "1.0")
(source
(origin
(method url-fetch)
(uri
(string-append "http://freedesktop.org/software/pulseaudio/"
- name "/" name "-" version ".tar.xz"))
+ name "/" name "-" version ".tar.gz"))
(sha256
- (base32 "1gsx7k77blfy171b6g3m0k0s0072v6jcawhmx1kjs9w5zlwdkzd0"))))
- (build-system gnu-build-system)
- (arguments
- ;; TODO: Move this to a snippet/patch or remove with the upgrade
to 1.0.
- (if (or (target-riscv64?)
- (target-powerpc?))
- (list
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'patch-source
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((patch-file
- #$(local-file
- (search-patch
- "webrtc-audio-processing-big-endian.patch"))))
- (invoke "patch" "--force" "-p1" "-i" patch-file)
- (substitute* "webrtc/typedefs.h"
- (("defined\\(__aarch64__\\)" all)
- (string-append
- ;; powerpc-linux
- "(defined(__PPC__) && __SIZEOF_SIZE_T__ == 4)\n"
- "#define WEBRTC_ARCH_32_BITS\n"
- "#define WEBRTC_ARCH_BIG_ENDIAN\n"
- ;; powerpc64-linux
- "#elif (defined(__PPC64__) &&
defined(_BIG_ENDIAN))\n"
- "#define WEBRTC_ARCH_64_BITS\n"
- "#define WEBRTC_ARCH_BIG_ENDIAN\n"
- ;; aarch64-linux
- "#elif " all
- ;; riscv64-linux
- " || (defined(__riscv) && __riscv_xlen == 64)"
- ;; powerpc64le-linux
- " || (defined(__PPC64__) &&
defined(_LITTLE_ENDIAN))"))))))))
- '()))
- (native-inputs
- (if (or (target-riscv64?)
- (target-powerpc?))
- (list
- (local-file (search-patch
"webrtc-audio-processing-big-endian.patch"))
- patch)
- '()))
+ (base32 "0vwkw5xw8l37f5vbzbkipjsf03r7b8nnrfbfbhab8bkvf79306j4"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;;
https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/issues/4
+ (substitute* "meson.build"
+ (("absl_flags_registry") "absl_flags_reflection"))
+ (substitute* "webrtc/rtc_base/system/arch.h"
+ (("defined\\(__aarch64__\\)" all)
+ (string-append
+ ;; powerpc-linux
+ "(defined(__PPC__) && __SIZEOF_SIZE_T__ == 4)\n"
+ "#define WEBRTC_ARCH_32_BITS\n"
+ "#define WEBRTC_ARCH_BIG_ENDIAN\n"
+ ;; powerpc64-linux
+ "#elif (defined(__PPC64__) && defined(_BIG_ENDIAN))\n"
+ "#define WEBRTC_ARCH_64_BITS\n"
+ "#define WEBRTC_ARCH_BIG_ENDIAN\n"
+ ;; aarch64-linux
+ "#elif " all
+ ;; riscv64-linux
+ " || (defined(__riscv) && __riscv_xlen == 64)"
+ ;; powerpc64le-linux
+ " || (defined(__PPC64__) && defined(_LITTLE_ENDIAN))")))))
+ (patches
+ (search-patches
+ "webrtc-audio-processing-big-endian.patch"
+ "webrtc-audio-processing-wav-header-big-endian.patch"))))
+ (build-system meson-build-system)
+ (inputs
+ (list abseil-cpp))
(synopsis "WebRTC's Audio Processing Library")
(description "WebRTC-Audio-Processing library based on Google's
implementation of WebRTC.")
diff --git
a/gnu/packages/patches/webrtc-audio-processing-big-endian.patch
b/gnu/packages/patches/webrtc-audio-processing-big-endian.patch
index 78333fe7b7..c77fd87c1f 100644
--- a/gnu/packages/patches/webrtc-audio-processing-big-endian.patch
+++ b/gnu/packages/patches/webrtc-audio-processing-big-endian.patch
@@ -1,93 +1,184 @@
https://bugs.freedesktop.org/show_bug.cgi?id=95738
-https://bugs.freedesktop.org/attachment.cgi?id=124025
+https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/127
+https://github.com/desktop-app/tg_owt/commit/65f002e

-diff -up
webrtc-audio-processing-0.2/webrtc/common_audio/wav_file.cc.than
webrtc-audio-processing-0.2/webrtc/common_audio/wav_file.cc
---- webrtc-audio-processing-0.2/webrtc/common_audio/wav_file.cc.than
2016-05-24 08:28:45.749940095 -0400
-+++ webrtc-audio-processing-0.2/webrtc/common_audio/wav_file.cc
2016-05-24 08:50:30.361020010 -0400
-@@ -64,9 +64,6 @@ WavReader::~WavReader() {
+--- webrtc-audio-processing-1.0/webrtc/common_audio/wav_file.cc
2020-11-28 03:30:53.000000000 +0800
++++ webrtc-audio-processing-1.0/webrtc/common_audio/wav_file.cc
2022-12-20 12:54:22.058539694 +0800
+@@ -10,6 +10,7 @@
+
+ #include "common_audio/wav_file.h"
+
++#include <byteswap.h>
+ #include <errno.h>
+
+ #include <algorithm>
+@@ -34,6 +35,38 @@
+ format == WavFormat::kWavFormatIeeeFloat;
}
-
- size_t WavReader::ReadSamples(size_t num_samples, int16_t* samples) {
+
++template <typename T>
++void TranslateEndianness(T* destination, const T* source, size_t length) {
++ static_assert(sizeof(T) == 2 || sizeof(T) == 4 || sizeof(T) == 8,
++ "no converter, use integral types");
++ if (sizeof(T) == 2) {
++ const uint16_t* src = reinterpret_cast<const uint16_t*>(source);
++ uint16_t* dst = reinterpret_cast<uint16_t*>(destination);
++ for (size_t index = 0; index < length; index++) {
++ dst[index] = bswap_16(src[index]);
++ }
++ }
++ if (sizeof(T) == 4) {
++ const uint32_t* src = reinterpret_cast<const uint32_t*>(source);
++ uint32_t* dst = reinterpret_cast<uint32_t*>(destination);
++ for (size_t index = 0; index < length; index++) {
++ dst[index] = bswap_32(src[index]);
++ }
++ }
++ if (sizeof(T) == 8) {
++ const uint64_t* src = reinterpret_cast<const uint64_t*>(source);
++ uint64_t* dst = reinterpret_cast<uint64_t*>(destination);
++ for (size_t index = 0; index < length; index++) {
++ dst[index] = bswap_64(src[index]);
++ }
++ }
++}
++
++template <typename T>
++void TranslateEndianness(T* buffer, size_t length) {
++ TranslateEndianness(buffer, buffer, length);
++}
++
+ // Doesn't take ownership of the file handle and won't close it.
+ class WavHeaderFileReader : public WavHeaderReader {
+ public:
+@@ -90,10 +123,6 @@
+
+ size_t WavReader::ReadSamples(const size_t num_samples,
+ int16_t* const samples) {
-#ifndef WEBRTC_ARCH_LITTLE_ENDIAN
-#error "Need to convert samples to big-endian when reading from WAV file"
-#endif
- // There could be metadata after the audio; ensure we don't read it.
- num_samples = std::min(rtc::checked_cast<uint32_t>(num_samples),
- num_samples_remaining_);
-@@ -76,6 +73,12 @@ size_t WavReader::ReadSamples(size_t num
- RTC_CHECK(read == num_samples || feof(file_handle_));
- RTC_CHECK_LE(read, num_samples_remaining_);
- num_samples_remaining_ -= rtc::checked_cast<uint32_t>(read);
-+#ifndef WEBRTC_ARCH_LITTLE_ENDIAN
-+ //convert to big-endian
-+ for(size_t idx = 0; idx < num_samples; idx++) {
-+ samples[idx] = (samples[idx]<<8) | (samples[idx]>>8);
-+ }
+-
+ size_t num_samples_left_to_read = num_samples;
+ size_t next_chunk_start = 0;
+ while (num_samples_left_to_read > 0 && num_unread_samples_ > 0) {
+@@ -105,6 +134,9 @@
+ num_bytes_read = file_.Read(samples_to_convert.data(),
+ chunk_size *
sizeof(samples_to_convert[0]));
+ num_samples_read = num_bytes_read / sizeof(samples_to_convert[0]);
++#ifdef WEBRTC_ARCH_BIG_ENDIAN
++ TranslateEndianness(samples_to_convert.data(), num_samples_read);
++#endif
+
+ for (size_t j = 0; j < num_samples_read; ++j) {
+ samples[next_chunk_start + j] = FloatToS16(samples_to_convert[j]);
+@@ -114,6 +146,10 @@
+ num_bytes_read = file_.Read(&samples[next_chunk_start],
+ chunk_size * sizeof(samples[0]));
+ num_samples_read = num_bytes_read / sizeof(samples[0]);
++
++#ifdef WEBRTC_ARCH_BIG_ENDIAN
++ TranslateEndianness(&samples[next_chunk_start], num_samples_read);
+#endif
- return read;
+ }
+ RTC_CHECK(num_samples_read == 0 || (num_bytes_read %
num_samples_read) == 0)
+ << "Corrupt file: file ended in the middle of a sample.";
+@@ -129,10 +165,6 @@
}
-
-@@ -120,10 +123,17 @@ WavWriter::~WavWriter() {
-
+
+ size_t WavReader::ReadSamples(const size_t num_samples, float* const
samples) {
+-#ifndef WEBRTC_ARCH_LITTLE_ENDIAN
+-#error "Need to convert samples to big-endian when reading from WAV file"
+-#endif
+-
+ size_t num_samples_left_to_read = num_samples;
+ size_t next_chunk_start = 0;
+ while (num_samples_left_to_read > 0 && num_unread_samples_ > 0) {
+@@ -145,6 +177,9 @@
+ num_bytes_read = file_.Read(samples_to_convert.data(),
+ chunk_size *
sizeof(samples_to_convert[0]));
+ num_samples_read = num_bytes_read / sizeof(samples_to_convert[0]);
++#ifdef WEBRTC_ARCH_BIG_ENDIAN
++ TranslateEndianness(samples_to_convert.data(), num_samples_read);
++#endif
+
+ for (size_t j = 0; j < num_samples_read; ++j) {
+ samples[next_chunk_start + j] =
+@@ -155,6 +190,9 @@
+ num_bytes_read = file_.Read(&samples[next_chunk_start],
+ chunk_size * sizeof(samples[0]));
+ num_samples_read = num_bytes_read / sizeof(samples[0]);
++#ifdef WEBRTC_ARCH_BIG_ENDIAN
++ TranslateEndianness(&samples[next_chunk_start], num_samples_read);
++#endif
+
+ for (size_t j = 0; j < num_samples_read; ++j) {
+ samples[next_chunk_start + j] =
+@@ -213,24 +251,32 @@
+ }
+
void WavWriter::WriteSamples(const int16_t* samples, size_t
num_samples) {
- #ifndef WEBRTC_ARCH_LITTLE_ENDIAN
+-#ifndef WEBRTC_ARCH_LITTLE_ENDIAN
-#error "Need to convert samples to little-endian when writing to WAV
file"
-#endif
-+ int16_t * le_samples = new int16_t[num_samples];
-+ for(size_t idx = 0; idx < num_samples; idx++) {
-+ le_samples[idx] = (samples[idx]<<8) | (samples[idx]>>8);
-+ }
-+ const size_t written =
-+ fwrite(le_samples, sizeof(*le_samples), num_samples, file_handle_);
-+ delete []le_samples;
+-
+ for (size_t i = 0; i < num_samples; i += kMaxChunksize) {
+ const size_t num_remaining_samples = num_samples - i;
+ const size_t num_samples_to_write =
+ std::min(kMaxChunksize, num_remaining_samples);
+
+ if (format_ == WavFormat::kWavFormatPcm) {
++#ifndef WEBRTC_ARCH_BIG_ENDIAN
+ RTC_CHECK(
+ file_.Write(&samples[i], num_samples_to_write *
sizeof(samples[0])));
+#else
- const size_t written =
- fwrite(samples, sizeof(*samples), num_samples, file_handle_);
++ std::array<int16_t, kMaxChunksize> converted_samples;
++ TranslateEndianness(converted_samples.data(), &samples[i],
++ num_samples_to_write);
++ RTC_CHECK(
++ file_.Write(converted_samples.data(),
++ num_samples_to_write *
sizeof(converted_samples[0])));
++#endif
+ } else {
+ RTC_CHECK_EQ(format_, WavFormat::kWavFormatIeeeFloat);
+ std::array<float, kMaxChunksize> converted_samples;
+ for (size_t j = 0; j < num_samples_to_write; ++j) {
+ converted_samples[j] = S16ToFloat(samples[i + j]);
+ }
++#ifdef WEBRTC_ARCH_BIG_ENDIAN
++ TranslateEndianness(converted_samples.data(), num_samples_to_write);
+#endif
- RTC_CHECK_EQ(num_samples, written);
- num_samples_ += static_cast<uint32_t>(written);
- RTC_CHECK(written <= std::numeric_limits<uint32_t>::max() ||
-diff -up
webrtc-audio-processing-0.2/webrtc/common_audio/wav_header.cc.than
webrtc-audio-processing-0.2/webrtc/common_audio/wav_header.cc
---- webrtc-audio-processing-0.2/webrtc/common_audio/wav_header.cc.than
2016-05-24 08:50:52.591379263 -0400
-+++ webrtc-audio-processing-0.2/webrtc/common_audio/wav_header.cc
2016-05-24 08:52:08.552606848 -0400
-@@ -129,7 +129,39 @@ static inline std::string ReadFourCC(uin
- return std::string(reinterpret_cast<char*>(&x), 4);
+ RTC_CHECK(
+ file_.Write(converted_samples.data(),
+ num_samples_to_write *
sizeof(converted_samples[0])));
+@@ -243,10 +289,6 @@
}
- #else
--#error "Write be-to-le conversion functions"
-+static inline void WriteLE16(uint16_t* f, uint16_t x) {
-+ *f = ((x << 8) & 0xff00) | ( ( x >> 8) & 0x00ff);
-+}
-+
-+static inline void WriteLE32(uint32_t* f, uint32_t x) {
-+ *f = ( (x & 0x000000ff) << 24 )
-+ | ((x & 0x0000ff00) << 8)
-+ | ((x & 0x00ff0000) >> 8)
-+ | ((x & 0xff000000) >> 24 );
-+}
-+
-+static inline void WriteFourCC(uint32_t* f, char a, char b, char c,
char d) {
-+ *f = (static_cast<uint32_t>(a) << 24 )
-+ | (static_cast<uint32_t>(b) << 16)
-+ | (static_cast<uint32_t>(c) << 8)
-+ | (static_cast<uint32_t>(d) );
-+}
-+
-+static inline uint16_t ReadLE16(uint16_t x) {
-+ return (( x & 0x00ff) << 8 )| ((x & 0xff00)>>8);
-+}
-+
-+static inline uint32_t ReadLE32(uint32_t x) {
-+ return ( (x & 0x000000ff) << 24 )
-+ | ( (x & 0x0000ff00) << 8 )
-+ | ( (x & 0x00ff0000) >> 8)
-+ | ( (x & 0xff000000) >> 24 );
-+}
-+
-+static inline std::string ReadFourCC(uint32_t x) {
-+ x = ReadLE32(x);
-+ return std::string(reinterpret_cast<char*>(&x), 4);
-+}
- #endif
-
- static inline uint32_t RiffChunkSize(uint32_t bytes_in_payload) {
+
+ void WavWriter::WriteSamples(const float* samples, size_t num_samples) {
+-#ifndef WEBRTC_ARCH_LITTLE_ENDIAN
+-#error "Need to convert samples to little-endian when writing to WAV file"
+-#endif
+-
+ for (size_t i = 0; i < num_samples; i += kMaxChunksize) {
+ const size_t num_remaining_samples = num_samples - i;
+ const size_t num_samples_to_write =
+@@ -257,6 +299,9 @@
+ for (size_t j = 0; j < num_samples_to_write; ++j) {
+ converted_samples[j] = FloatS16ToS16(samples[i + j]);
+ }
++#ifdef WEBRTC_ARCH_BIG_ENDIAN
++ TranslateEndianness(converted_samples.data(), num_samples_to_write);
++#endif
+ RTC_CHECK(
+ file_.Write(converted_samples.data(),
+ num_samples_to_write *
sizeof(converted_samples[0])));
+@@ -266,6 +311,9 @@
+ for (size_t j = 0; j < num_samples_to_write; ++j) {
+ converted_samples[j] = FloatS16ToFloat(samples[i + j]);
+ }
++#ifdef WEBRTC_ARCH_BIG_ENDIAN
++ TranslateEndianness(converted_samples.data(), num_samples_to_write);
++#endif
+ RTC_CHECK(
+ file_.Write(converted_samples.data(),
+ num_samples_to_write *
sizeof(converted_samples[0])));
diff --git
a/gnu/packages/patches/webrtc-audio-processing-wav-header-big-endian.patch
b/gnu/packages/patches/webrtc-audio-processing-wav-header-big-endian.patch
new file mode 100644
index 0000000000..b25c2e364f
--- /dev/null
+++
b/gnu/packages/patches/webrtc-audio-processing-wav-header-big-endian.patch
@@ -0,0 +1,152 @@
+https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/127
+https://github.com/desktop-app/tg_owt/commit/65f002e
+
+--- webrtc-audio-processing-1.0/webrtc/common_audio/wav_header.cc
2020-11-28 03:30:53.000000000 +0800
++++ webrtc-audio-processing-1.0/webrtc/common_audio/wav_header.cc
2022-12-19 20:28:31.511187824 +0800
+@@ -15,6 +15,8 @@
+
+ #include "common_audio/wav_header.h"
+
++#include <endian.h>
++
+ #include <cstring>
+ #include <limits>
+ #include <string>
+@@ -26,10 +28,6 @@
+ namespace webrtc {
+ namespace {
+
+-#ifndef WEBRTC_ARCH_LITTLE_ENDIAN
+-#error "Code not working properly for big endian platforms."
+-#endif
+-
+ #pragma pack(2)
+ struct ChunkHeader {
+ uint32_t ID;
+@@ -80,6 +78,7 @@
+ // read audio samples.
+ #pragma pack(2)
+ struct WavHeaderPcm {
++ WavHeaderPcm() = default;
+ WavHeaderPcm(const WavHeaderPcm&) = default;
+ WavHeaderPcm& operator=(const WavHeaderPcm&) = default;
+ RiffHeader riff;
+@@ -95,6 +94,7 @@
+ // WAV implementation.
+ #pragma pack(2)
+ struct WavHeaderIeeeFloat {
++ WavHeaderIeeeFloat() = default;
+ WavHeaderIeeeFloat(const WavHeaderIeeeFloat&) = default;
+ WavHeaderIeeeFloat& operator=(const WavHeaderIeeeFloat&) = default;
+ RiffHeader riff;
+@@ -172,6 +172,8 @@
+ if (readable->Read(chunk_header, sizeof(*chunk_header)) !=
+ sizeof(*chunk_header))
+ return false; // EOF.
++ chunk_header->Size = le32toh(chunk_header->Size);
++
+ if (ReadFourCC(chunk_header->ID) == sought_chunk_id)
+ return true; // Sought chunk found.
+ // Ignore current chunk by skipping its payload.
+@@ -185,6 +187,13 @@
+ if (readable->Read(&(fmt_subchunk->AudioFormat), kFmtPcmSubchunkSize) !=
+ kFmtPcmSubchunkSize)
+ return false;
++ fmt_subchunk->AudioFormat = le16toh(fmt_subchunk->AudioFormat);
++ fmt_subchunk->NumChannels = le16toh(fmt_subchunk->NumChannels);
++ fmt_subchunk->SampleRate = le32toh(fmt_subchunk->SampleRate);
++ fmt_subchunk->ByteRate = le32toh(fmt_subchunk->ByteRate);
++ fmt_subchunk->BlockAlign = le16toh(fmt_subchunk->BlockAlign);
++ fmt_subchunk->BitsPerSample = le16toh(fmt_subchunk->BitsPerSample);
++
+ const uint32_t fmt_size = fmt_subchunk->header.Size;
+ if (fmt_size != kFmtPcmSubchunkSize) {
+ // There is an optional two-byte extension field permitted to be
present
+@@ -212,19 +221,22 @@
+
This message was truncated. Download the full message here.
Maxim Cournoyer wrote 1 years ago
(name . Adam Faiz)(address . adam.faiz@disroot.org)
87r0ia3rs4.fsf@gmail.com
Hi Adam,

Adam Faiz <adam.faiz@disroot.org> writes:

Toggle quote (18 lines)
> From 64c8e00eab770ca697c39feabfbc60927e4ccd57 Mon Sep 17 00:00:00 2001
> From: AwesomeAdam54321 <adam.faiz@disroot.org>
> Date: Tue, 20 Dec 2022 15:18:58 +0800
> Subject: [PATCH] gnu: webrtc-audio-processing: Update to 1.0.
>
> * gnu/packages/audio.scm (webrtc-audio-processing): Update to 1.0.
> [source]: Add snippet that fixes building on riscv and powerpc
> architectures.
> [arguments]: Remove patch-source phase.
> [build-system]: Update to meson-build-system.
> [inputs]: Add abseil-cpp as input.
> * gnu/packages/patches/webrtc-audio-processing-big-endian.patch: Update
> to 1.0.
> *
> gnu/packages/patches/webrtc-audio-processing-wav-header-big-endian.patch:
> New file.
> * gnu/local.mk (dist_patch_DATA): Add it.

Applied in 0720122bb7, with a follow-up in 42993ce9c4 to refresh it to
its version 1.3

--
Thanks,
Maxim
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 60214@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 60214
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help