diff options
author | Sandro <sandro.jaeckel@gmail.com> | 2023-01-09 00:59:21 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-09 00:59:21 +0100 |
commit | d9c288066edaf70b34fc1b6ca0254132f502f01c (patch) | |
tree | e7778f4e521f5d165445ca4257726589b8fe7f46 | |
parent | 2eb836b43e4211b3b94f1ddcacf83bc7cb5d35f3 (diff) | |
parent | a23af657103e8a368907fe2012b8b92f8df735bd (diff) |
Merge pull request #201097 from zhaofengli/cubeb-darwin
-rw-r--r-- | pkgs/development/libraries/audio/cubeb/default.nix | 34 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 4 |
2 files changed, 26 insertions, 12 deletions
diff --git a/pkgs/development/libraries/audio/cubeb/default.nix b/pkgs/development/libraries/audio/cubeb/default.nix index 7fc7f87a20ae9..baad8a1efd645 100644 --- a/pkgs/development/libraries/audio/cubeb/default.nix +++ b/pkgs/development/libraries/audio/cubeb/default.nix @@ -1,14 +1,28 @@ { lib, stdenv, fetchFromGitHub , cmake , pkg-config +, alsa-lib , jack2 -, pulseaudio +, libpulseaudio , sndio , speexdsp -, lazyLoad ? true +, AudioUnit +, CoreAudio +, CoreServices +, lazyLoad ? !stdenv.isDarwin }: -stdenv.mkDerivation { +assert lib.assertMsg (stdenv.isDarwin -> !lazyLoad) "cubeb: lazyLoad is inert on Darwin"; + +let + backendLibs = [ + alsa-lib + jack2 + libpulseaudio + sndio + ]; + +in stdenv.mkDerivation { pname = "cubeb"; version = "unstable-2022-10-18"; @@ -24,12 +38,10 @@ stdenv.mkDerivation { pkg-config ]; - buildInputs = [ - jack2 - pulseaudio - sndio - speexdsp - ]; + buildInputs = [ speexdsp ] ++ ( + if stdenv.isDarwin then [ AudioUnit CoreAudio CoreServices ] + else backendLibs + ); cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" @@ -43,14 +55,14 @@ stdenv.mkDerivation { passthru = { # For downstream users when lazyLoad is true - backendLibs = [ jack2 pulseaudio sndio speexdsp ]; + backendLibs = lib.optionals lazyLoad backendLibs; }; meta = with lib; { description = "Cross platform audio library"; homepage = "https://github.com/mozilla/cubeb"; license = licenses.isc; - platforms = platforms.linux; + platforms = platforms.linux ++ platforms.darwin; maintainers = with maintainers; [ zhaofengli ]; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1f06f99541842..63344ea39a38e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18771,7 +18771,9 @@ with pkgs; }; }); - cubeb = callPackage ../development/libraries/audio/cubeb { }; + cubeb = callPackage ../development/libraries/audio/cubeb { + inherit (darwin.apple_sdk.frameworks) AudioUnit CoreAudio CoreServices; + }; hercules-ci-agent = callPackage ../development/tools/continuous-integration/hercules-ci-agent { }; |