From 5fb8428618daa55b395b87aab90b36fe2981e0f4 Mon Sep 17 00:00:00 2001 From: Zhaofeng Li Date: Sat, 29 Oct 2022 20:43:51 -0600 Subject: [PATCH] cubeb: init at unstable-2022-10-18 --- .../libraries/audio/cubeb/default.nix | 56 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 58 insertions(+) create mode 100644 pkgs/development/libraries/audio/cubeb/default.nix diff --git a/pkgs/development/libraries/audio/cubeb/default.nix b/pkgs/development/libraries/audio/cubeb/default.nix new file mode 100644 index 000000000000..7fc7f87a20ae --- /dev/null +++ b/pkgs/development/libraries/audio/cubeb/default.nix @@ -0,0 +1,56 @@ +{ lib, stdenv, fetchFromGitHub +, cmake +, pkg-config +, jack2 +, pulseaudio +, sndio +, speexdsp +, lazyLoad ? true +}: + +stdenv.mkDerivation { + pname = "cubeb"; + version = "unstable-2022-10-18"; + + src = fetchFromGitHub { + owner = "mozilla"; + repo = "cubeb"; + rev = "27d2a102b0b75d9e49d43bc1ea516233fb87d778"; + hash = "sha256-q+uz1dGU4LdlPogL1nwCR/KuOX4Oy3HhMdA6aJylBRk="; + }; + + nativeBuildInputs = [ + cmake + pkg-config + ]; + + buildInputs = [ + jack2 + pulseaudio + sndio + speexdsp + ]; + + cmakeFlags = [ + "-DBUILD_SHARED_LIBS=ON" + "-DBUILD_TESTS=OFF" # tests require an audio server + "-DBUNDLE_SPEEX=OFF" + "-DUSE_SANITIZERS=OFF" + + # Whether to lazily load libraries with dlopen() + "-DLAZY_LOAD_LIBS=${if lazyLoad then "ON" else "OFF"}" + ]; + + passthru = { + # For downstream users when lazyLoad is true + backendLibs = [ jack2 pulseaudio sndio speexdsp ]; + }; + + meta = with lib; { + description = "Cross platform audio library"; + homepage = "https://github.com/mozilla/cubeb"; + license = licenses.isc; + platforms = platforms.linux; + maintainers = with maintainers; [ zhaofengli ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index dc860b31194c..7923c374fb84 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18191,6 +18191,8 @@ with pkgs; # justStaticExecutables is needed due to https://github.com/NixOS/nix/issues/2990 cachix = haskell.lib.compose.justStaticExecutables haskellPackages.cachix; + cubeb = callPackage ../development/libraries/audio/cubeb { }; + hercules-ci-agent = callPackage ../development/tools/continuous-integration/hercules-ci-agent { }; hci = callPackage ../development/tools/continuous-integration/hci { };