Merge pull request #132519 from lovesegfault/networkaudiod

networkaudiod: init

authored by

Bernardo Meurer and committed by
GitHub
974e1b51 8ff76e34

+93
+1
nixos/modules/module-list.nix
··· 251 251 ./services/audio/mpd.nix 252 252 ./services/audio/mpdscribble.nix 253 253 ./services/audio/mopidy.nix 254 + ./services/audio/networkaudiod.nix 254 255 ./services/audio/roon-bridge.nix 255 256 ./services/audio/roon-server.nix 256 257 ./services/audio/slimserver.nix
+19
nixos/modules/services/audio/networkaudiod.nix
··· 1 + { config, lib, pkgs, ... }: 2 + 3 + with lib; 4 + 5 + let 6 + name = "networkaudiod"; 7 + cfg = config.services.networkaudiod; 8 + in { 9 + options = { 10 + services.networkaudiod = { 11 + enable = mkEnableOption "Networkaudiod (NAA)"; 12 + }; 13 + }; 14 + 15 + config = mkIf cfg.enable { 16 + systemd.packages = [ pkgs.networkaudiod ]; 17 + systemd.services.networkaudiod.wantedBy = [ "multi-user.target" ]; 18 + }; 19 + }
+71
pkgs/servers/networkaudiod/default.nix
··· 1 + { stdenv 2 + , autoPatchelfHook 3 + , dpkg 4 + , fetchurl 5 + , lib 6 + , alsa-lib 7 + }: 8 + let 9 + inherit (stdenv.targetPlatform) system; 10 + throwSystem = throw "Unsupported system: ${system}"; 11 + in 12 + stdenv.mkDerivation rec { 13 + pname = "networkaudiod"; 14 + version = "4.1.1-46"; 15 + 16 + src = { 17 + x86_64-linux = fetchurl { 18 + url = "https://www.signalyst.eu/bins/naa/linux/buster/${pname}_${version}_amd64.deb"; 19 + sha256 = "sha256-un5VcCnvCCS/KWtW991Rt9vz3flYilERmRNooEsKCkA="; 20 + }; 21 + aarch64-linux = fetchurl { 22 + url = "https://www.signalyst.eu/bins/naa/linux/buster/${pname}_${version}_arm64.deb"; 23 + sha256 = "sha256-fjSCWX9VYhVJ43N2kSqd5gfTtDJ1UiH4j5PJ9I5Skag="; 24 + }; 25 + }.${system} or throwSystem; 26 + 27 + unpackPhase = '' 28 + dpkg -x $src . 29 + ''; 30 + 31 + nativeBuildInputs = [ autoPatchelfHook dpkg ]; 32 + 33 + buildInputs = [ 34 + alsa-lib 35 + stdenv.cc.cc.lib 36 + ]; 37 + 38 + dontConfigure = true; 39 + dontBuild = true; 40 + 41 + installPhase = '' 42 + runHook preInstall 43 + 44 + # main executable 45 + mkdir -p $out/bin 46 + cp ./usr/sbin/networkaudiod $out/bin 47 + 48 + # systemd service file 49 + mkdir -p $out/lib/systemd/system 50 + cp ./lib/systemd/system/networkaudiod.service $out/lib/systemd/system 51 + 52 + # documentation 53 + mkdir -p $out/share/doc/networkaudiod 54 + cp -r ./usr/share/doc/networkaudiod $out/share/doc/ 55 + 56 + runHook postInstall 57 + ''; 58 + 59 + postInstall = '' 60 + substituteInPlace $out/lib/systemd/system/networkaudiod.service \ 61 + --replace /usr/sbin/networkaudiod $out/bin/networkaudiod 62 + ''; 63 + 64 + meta = with lib; { 65 + homepage = "https://www.signalyst.com/index.html"; 66 + description = "Network Audio Adapter daemon"; 67 + license = licenses.unfree; 68 + maintainers = with maintainers; [ lovesegfault ]; 69 + platforms = platforms.linux; 70 + }; 71 + }
+2
pkgs/top-level/all-packages.nix
··· 19879 19879 19880 19880 neard = callPackage ../servers/neard { }; 19881 19881 19882 + networkaudiod = callPackage ../servers/networkaudiod { }; 19883 + 19882 19884 unit = callPackage ../servers/http/unit { }; 19883 19885 19884 19886 ncdns = callPackage ../servers/dns/ncdns { };