mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-04-16 14:38:14 +00:00
Merge pull request #48639 from adisbladis/pulseaudio/extra-modules
nixos/pulseaudio: Add extraModules config option
This commit is contained in:
commit
3026f55a0c
@ -154,6 +154,18 @@ in {
|
||||
'';
|
||||
};
|
||||
|
||||
extraModules = mkOption {
|
||||
type = types.listOf types.package;
|
||||
default = [];
|
||||
example = literalExample "[ pkgs.pulseaudio-modules-bt ]";
|
||||
description = ''
|
||||
Extra pulseaudio modules to use. This is intended for out-of-tree
|
||||
pulseaudio modules like extra bluetooth codecs.
|
||||
|
||||
Extra modules take precedence over built-in pulseaudio modules.
|
||||
'';
|
||||
};
|
||||
|
||||
daemon = {
|
||||
logLevel = mkOption {
|
||||
type = types.str;
|
||||
@ -236,6 +248,18 @@ in {
|
||||
systemd.packages = [ overriddenPackage ];
|
||||
})
|
||||
|
||||
(mkIf (cfg.extraModules != []) {
|
||||
hardware.pulseaudio.daemon.config.dl-search-path = let
|
||||
overriddenModules = builtins.map
|
||||
(drv: drv.override { pulseaudio = overriddenPackage; })
|
||||
cfg.extraModules;
|
||||
modulePaths = builtins.map
|
||||
(drv: "${drv}/lib/pulse-${overriddenPackage.version}/modules")
|
||||
# User-provided extra modules take precedence
|
||||
(overriddenModules ++ [ overriddenPackage ]);
|
||||
in lib.concatStringsSep ":" modulePaths;
|
||||
})
|
||||
|
||||
(mkIf hasZeroconf {
|
||||
services.avahi.enable = true;
|
||||
})
|
||||
|
@ -1,7 +1,6 @@
|
||||
{ stdenv
|
||||
, runCommand
|
||||
, fetchFromGitHub
|
||||
, libpulseaudio
|
||||
, pulseaudio
|
||||
, pkgconfig
|
||||
, ffmpeg_4
|
||||
@ -44,7 +43,6 @@ in stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libpulseaudio
|
||||
pulseaudio
|
||||
ffmpeg_4
|
||||
libtool
|
||||
@ -67,7 +65,7 @@ in stdenv.mkDerivation rec {
|
||||
for so in $out/lib/pulse-${pulseaudio.version}/modules/*.so; do
|
||||
orig_rpath=$(patchelf --print-rpath "$so")
|
||||
patchelf \
|
||||
--set-rpath "$orig_rpath:${lib.getLib ffmpeg_4}/lib:$out/lib/pulse-${pulseaudio.version}/modules" \
|
||||
--set-rpath "${lib.getLib ffmpeg_4}/lib:$out/lib/pulse-${pulseaudio.version}/modules:$orig_rpath" \
|
||||
"$so"
|
||||
done
|
||||
'';
|
||||
|
Loading…
Reference in New Issue
Block a user