diff options
Diffstat (limited to 'pkgs/development/libraries/webrtc-audio-processing')
-rw-r--r-- | pkgs/development/libraries/webrtc-audio-processing/default.nix | 10 | ||||
-rw-r--r-- | pkgs/development/libraries/webrtc-audio-processing/enable-riscv.patch | 18 |
2 files changed, 24 insertions, 4 deletions
diff --git a/pkgs/development/libraries/webrtc-audio-processing/default.nix b/pkgs/development/libraries/webrtc-audio-processing/default.nix index 91d93352da1..d757789fc26 100644 --- a/pkgs/development/libraries/webrtc-audio-processing/default.nix +++ b/pkgs/development/libraries/webrtc-audio-processing/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, darwin }: +{ lib, stdenv, fetchurl, darwin }: stdenv.mkDerivation rec { name = "webrtc-audio-processing-0.3.1"; @@ -8,13 +8,15 @@ stdenv.mkDerivation rec { sha256 = "1gsx7k77blfy171b6g3m0k0s0072v6jcawhmx1kjs9w5zlwdkzd0"; }; - buildInputs = stdenv.lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ ApplicationServices ]); + patches = [ ./enable-riscv.patch ]; - patchPhase = stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' + buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ ApplicationServices ]); + + patchPhase = lib.optionalString stdenv.hostPlatform.isMusl '' substituteInPlace webrtc/base/checks.cc --replace 'defined(__UCLIBC__)' 1 ''; - meta = with stdenv.lib; { + meta = with lib; { homepage = "http://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing"; description = "A more Linux packaging friendly copy of the AudioProcessing module from the WebRTC project"; license = licenses.bsd3; diff --git a/pkgs/development/libraries/webrtc-audio-processing/enable-riscv.patch b/pkgs/development/libraries/webrtc-audio-processing/enable-riscv.patch new file mode 100644 index 00000000000..d61c33548a7 --- /dev/null +++ b/pkgs/development/libraries/webrtc-audio-processing/enable-riscv.patch @@ -0,0 +1,18 @@ +diff --git a/webrtc/typedefs.h b/webrtc/typedefs.h +index d875490..ce1f3e8 100644 +--- a/webrtc/typedefs.h ++++ b/webrtc/typedefs.h +@@ -26,6 +26,13 @@ + #elif defined(__aarch64__) + #define WEBRTC_ARCH_64_BITS + #define WEBRTC_ARCH_LITTLE_ENDIAN ++#elif defined(__riscv) || defined(__riscv__) ++#define WEBRTC_ARCH_LITTLE_ENDIAN ++#if __riscv_xlen == 64 ++#define WEBRTC_ARCH_64_BITS ++#else ++#define WEBRTC_ARCH_32_BITS ++#endif + #elif defined(_M_IX86) || defined(__i386__) + #define WEBRTC_ARCH_X86_FAMILY + #define WEBRTC_ARCH_X86 |