Merge pull request #117554 from Zopieux/snapcast-meta

Sandro d9f9a4a9 096776ff

Changed files
+22 -9
nixos
modules
services
tests
pkgs
applications
audio
snapcast
+13 -4
nixos/modules/services/audio/snapserver.nix
···
in {
imports = [
-
(mkRenamedOptionModule [ "services" "snapserver" "controlPort"] [ "services" "snapserver" "tcp" "port" ])
+
(mkRenamedOptionModule [ "services" "snapserver" "controlPort" ] [ "services" "snapserver" "tcp" "port" ])
];
###### interface
···
location = mkOption {
type = types.oneOf [ types.path types.str ];
description = ''
-
The location of the pipe, file, Librespot/Airplay/process binary, or a TCP address.
-
Use an empty string for alsa.
+
For type <literal>pipe</literal> or <literal>file</literal>, the path to the pipe or file.
+
For type <literal>librespot</literal>, <literal>airplay</literal> or <literal>process</literal>, the path to the corresponding binary.
+
For type <literal>tcp</literal>, the <literal>host:port</literal> address to connect to or listen on.
+
For type <literal>meta</literal>, a list of stream names in the form <literal>/one/two/...</literal>. Don't forget the leading slash.
+
For type <literal>alsa</literal>, use an empty string.
+
'';
+
example = literalExample ''
+
"/path/to/pipe"
+
"/path/to/librespot"
+
"192.168.1.2:4444"
+
"/MyTCP/Spotify/MyPipe"
'';
};
type = mkOption {
-
type = types.enum [ "pipe" "librespot" "airplay" "file" "process" "tcp" "alsa" "spotify" ];
+
type = types.enum [ "pipe" "librespot" "airplay" "file" "process" "tcp" "alsa" "spotify" "meta" ];
default = "pipe";
description = ''
The type of input stream.
+4
nixos/tests/snapcast.nix
···
type = "tcp";
location = "127.0.0.1:${toString tcpStreamPort}";
};
+
meta = {
+
type = "meta";
+
location = "/mpd/bluetooth/tcp";
+
};
};
};
};
+5 -5
pkgs/applications/audio/snapcast/default.nix
···
aixlog = dependency {
name = "aixlog";
-
version = "1.4.0";
-
sha256 = "0f2bs5j1jjajcpa251dslnwkgglaam3b0cm6wdx5l7mbwvnmib2g";
+
version = "1.5.0";
+
sha256 = "09mnkrans9zmwfxsiwgkm0rba66c11kg5zby9x3rjic34gnmw6ay";
};
popl = dependency {
···
stdenv.mkDerivation rec {
pname = "snapcast";
-
version = "0.23.0";
+
version = "0.24.0";
src = fetchFromGitHub {
owner = "badaix";
repo = "snapcast";
rev = "v${version}";
-
sha256 = "0183hhghzn0fhw2qzc1s009q7miabpcf0pxaqjdscsl8iivxqknd";
+
sha256 = "13yz8alplnqwkcns3mcli01qbyy6l3h62xx0v71ygcrz371l4g9g";
};
nativeBuildInputs = [ cmake pkg-config boost170.dev ];
···
description = "Synchronous multi-room audio player";
homepage = "https://github.com/badaix/snapcast";
maintainers = with maintainers; [ fpletz ];
-
license = licenses.gpl3;
+
license = licenses.gpl3Plus;
};
}