1{ lib
2, stdenv
3, fetchFromGitLab
4, darwin
5, abseil-cpp
6, meson
7, ninja
8, pkg-config
9}:
10
11stdenv.mkDerivation rec {
12 pname = "webrtc-audio-processing";
13 version = "1.3";
14
15 src = fetchFromGitLab {
16 domain = "gitlab.freedesktop.org";
17 owner = "pulseaudio";
18 repo = "webrtc-audio-processing";
19 rev = "v${version}";
20 hash = "sha256-8CDt4kMt2Owzyv22dqWIcFuHeg4Y3FxB405cLw3FZ+g=";
21 };
22
23 outputs = [ "out" "dev" ];
24
25 nativeBuildInputs = [
26 meson
27 ninja
28 pkg-config
29 ];
30
31 propagatedBuildInputs = [
32 abseil-cpp
33 ];
34
35 buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ ApplicationServices Foundation ]);
36
37 meta = with lib; {
38 homepage = "https://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing";
39 description = "A more Linux packaging friendly copy of the AudioProcessing module from the WebRTC project";
40 license = licenses.bsd3;
41 # https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/blob/master/webrtc/rtc_base/system/arch.h
42 # x86-32 disabled due to https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/issues/5
43 platforms = intersectLists platforms.unix (platforms.aarch64 ++ platforms.mips ++ platforms.riscv ++ platforms.x86_64);
44 };
45}