Loading pkgs/by-name/mu/music-assistant/ffmpeg.patch +11 −11 Original line number Diff line number Diff line diff --git a/music_assistant/server/helpers/audio.py b/music_assistant/server/helpers/audio.py index 42011923..1e5dc112 100644 index 6b7b5c8e..ec3b92d7 100644 --- a/music_assistant/server/helpers/audio.py +++ b/music_assistant/server/helpers/audio.py @@ -218,7 +218,7 @@ async def crossfade_pcm_parts( @@ -214,7 +214,7 @@ async def crossfade_pcm_parts( await outfile.write(fade_out_part) args = [ # generic args Loading @@ -11,7 +11,7 @@ index 42011923..1e5dc112 100644 "-hide_banner", "-loglevel", "quiet", @@ -281,7 +281,7 @@ async def strip_silence( @@ -277,7 +277,7 @@ async def strip_silence( ) -> bytes: """Strip silence from begin or end of pcm audio using ffmpeg.""" fmt = ContentType.from_bit_depth(bit_depth) Loading @@ -20,16 +20,16 @@ index 42011923..1e5dc112 100644 args += [ "-acodec", fmt.name.lower(), @@ -823,7 +823,7 @@ async def get_ffmpeg_stream( @@ -824,7 +824,7 @@ async def get_ffmpeg_stream( async def check_audio_support() -> tuple[bool, bool, str]: """Check if ffmpeg is present (with/without libsoxr support).""" # check for FFmpeg presence - returncode, output = await check_output("ffmpeg -version") + returncode, output = await check_output("@ffmpeg@ -version") - returncode, output = await check_output("ffmpeg", "-version") + returncode, output = await check_output("@ffmpeg@", "-version") ffmpeg_present = returncode == 0 and "FFmpeg" in output.decode() # use globals as in-memory cache @@ -877,7 +877,7 @@ async def get_silence( @@ -878,7 +878,7 @@ async def get_silence( return # use ffmpeg for all other encodings args = [ Loading @@ -38,7 +38,7 @@ index 42011923..1e5dc112 100644 "-hide_banner", "-loglevel", "quiet", @@ -971,7 +971,7 @@ def get_ffmpeg_args( @@ -972,7 +972,7 @@ def get_ffmpeg_args( # generic args generic_args = [ Loading @@ -48,10 +48,10 @@ index 42011923..1e5dc112 100644 "-loglevel", loglevel, diff --git a/music_assistant/server/helpers/tags.py b/music_assistant/server/helpers/tags.py index dc38e4c0..f4f3e2fe 100644 index d17b55f6..b7b56c04 100644 --- a/music_assistant/server/helpers/tags.py +++ b/music_assistant/server/helpers/tags.py @@ -368,7 +368,7 @@ async def parse_tags( @@ -380,7 +380,7 @@ async def parse_tags( file_path = input_file if isinstance(input_file, str) else "-" args = ( Loading @@ -60,7 +60,7 @@ index dc38e4c0..f4f3e2fe 100644 "-hide_banner", "-loglevel", "fatal", @@ -440,7 +440,7 @@ async def get_embedded_image(input_file: str | AsyncGenerator[bytes, None]) -> b @@ -471,7 +471,7 @@ async def get_embedded_image(input_file: str | AsyncGenerator[bytes, None]) -> b """ file_path = input_file if isinstance(input_file, str) else "-" args = ( Loading pkgs/by-name/mu/music-assistant/frontend.nix +2 −2 Original line number Diff line number Diff line Loading @@ -6,12 +6,12 @@ buildPythonPackage rec { pname = "music-assistant-frontend"; version = "2.5.15"; version = "2.7.0"; pyproject = true; src = fetchPypi { inherit pname version; hash = "sha256-D8VFdXgaVXSxk7c24kvb9TflFztS1zLwW4qGqV32nLo="; hash = "sha256-KrloxxdqIwQ5NsxAGm28D5StHnw9LTqDDtcchD5X5Qk="; }; postPatch = '' Loading pkgs/by-name/mu/music-assistant/package.nix +22 −7 Original line number Diff line number Diff line Loading @@ -11,6 +11,19 @@ let python = python3.override { self = python; packageOverrides = self: super: { aiojellyfin = super.aiojellyfin.overridePythonAttrs rec { version = "0.9.2"; src = fetchFromGitHub { owner = "jc2k"; repo = "aiojellyfin"; rev = "refs/tags/v${version}"; hash = "sha256-q+b1tKr46qq3PULPkCaQk2VoC1aaNxPK/E1Kj4PABfI="; }; doCheck = false; }; music-assistant-frontend = self.callPackage ./frontend.nix { }; }; }; Loading @@ -24,14 +37,14 @@ in python.pkgs.buildPythonApplication rec { pname = "music-assistant"; version = "2.0.7"; version = "2.1.1"; pyproject = true; src = fetchFromGitHub { owner = "music-assistant"; repo = "server"; rev = version; hash = "sha256-JtdlZ3hH4fRU5TjmMUlrdSSCnLrIGCuSwSSrnLgjYEs="; rev = "refs/tags/${version}"; hash = "sha256-ALsl2xfAFYejDEhR5/ZpeIxoHFgvz471tb4OP5xQAUE="; }; patches = [ Loading @@ -43,8 +56,6 @@ python.pkgs.buildPythonApplication rec { ]; postPatch = '' sed -i "/--cov/d" pyproject.toml substituteInPlace pyproject.toml \ --replace-fail "0.0.0" "${version}" ''; Loading @@ -71,6 +82,7 @@ python.pkgs.buildPythonApplication rec { certifi colorlog cryptography eyed3 faust-cchardet ifaddr mashumaro Loading @@ -87,10 +99,13 @@ python.pkgs.buildPythonApplication rec { }; nativeCheckInputs = with python.pkgs; [ ffmpeg-headless aiojellyfin pytest-aiohttp pytest-cov-stub pytestCheckHook ] ++ lib.flatten (lib.attrValues optional-dependencies); syrupy ] ++ lib.flatten (lib.attrValues optional-dependencies); pythonImportsCheck = [ "music_assistant" ]; Loading pkgs/by-name/mu/music-assistant/providers.nix +9 −5 Original line number Diff line number Diff line # Do not edit manually, run ./update-providers.py { version = "2.0.7"; version = "2.1.1"; providers = { airplay = [ ]; apple_music = [ ]; # missing pywidevine builtin = [ ]; chromecast = ps: with ps; [ Loading @@ -29,8 +31,9 @@ ]; # missing hass-client hass_players = [ ]; jellyfin = [ ]; # missing jellyfin_apiclient_python jellyfin = ps: with ps; [ aiojellyfin ]; musicbrainz = [ ]; opensubsonic = ps: with ps; [ Loading @@ -48,6 +51,7 @@ aioslimproto ]; snapcast = ps: with ps; [ bidict snapcast ]; sonos = ps: with ps; [ Loading @@ -71,8 +75,8 @@ ugp = [ ]; ytmusic = ps: with ps; [ pytube yt-dlp ytmusicapi ]; ]; # missing yt-dlp-youtube-accesstoken }; } pkgs/by-name/mu/music-assistant/update-providers.py +1 −1 Original line number Diff line number Diff line Loading @@ -102,7 +102,7 @@ async def get_provider_manifests(version: str = "master") -> List: manifests = [] with tempfile.TemporaryDirectory() as tmp: with urlopen( f"https://github.com/music-assistant/music-assistant/archive/{version}.tar.gz" f"https://github.com/music-assistant/music-assistant/archive/refs/tags/{version}.tar.gz" ) as response: tarfile.open(fileobj=BytesIO(response.read())).extractall( tmp, filter="data" Loading Loading
pkgs/by-name/mu/music-assistant/ffmpeg.patch +11 −11 Original line number Diff line number Diff line diff --git a/music_assistant/server/helpers/audio.py b/music_assistant/server/helpers/audio.py index 42011923..1e5dc112 100644 index 6b7b5c8e..ec3b92d7 100644 --- a/music_assistant/server/helpers/audio.py +++ b/music_assistant/server/helpers/audio.py @@ -218,7 +218,7 @@ async def crossfade_pcm_parts( @@ -214,7 +214,7 @@ async def crossfade_pcm_parts( await outfile.write(fade_out_part) args = [ # generic args Loading @@ -11,7 +11,7 @@ index 42011923..1e5dc112 100644 "-hide_banner", "-loglevel", "quiet", @@ -281,7 +281,7 @@ async def strip_silence( @@ -277,7 +277,7 @@ async def strip_silence( ) -> bytes: """Strip silence from begin or end of pcm audio using ffmpeg.""" fmt = ContentType.from_bit_depth(bit_depth) Loading @@ -20,16 +20,16 @@ index 42011923..1e5dc112 100644 args += [ "-acodec", fmt.name.lower(), @@ -823,7 +823,7 @@ async def get_ffmpeg_stream( @@ -824,7 +824,7 @@ async def get_ffmpeg_stream( async def check_audio_support() -> tuple[bool, bool, str]: """Check if ffmpeg is present (with/without libsoxr support).""" # check for FFmpeg presence - returncode, output = await check_output("ffmpeg -version") + returncode, output = await check_output("@ffmpeg@ -version") - returncode, output = await check_output("ffmpeg", "-version") + returncode, output = await check_output("@ffmpeg@", "-version") ffmpeg_present = returncode == 0 and "FFmpeg" in output.decode() # use globals as in-memory cache @@ -877,7 +877,7 @@ async def get_silence( @@ -878,7 +878,7 @@ async def get_silence( return # use ffmpeg for all other encodings args = [ Loading @@ -38,7 +38,7 @@ index 42011923..1e5dc112 100644 "-hide_banner", "-loglevel", "quiet", @@ -971,7 +971,7 @@ def get_ffmpeg_args( @@ -972,7 +972,7 @@ def get_ffmpeg_args( # generic args generic_args = [ Loading @@ -48,10 +48,10 @@ index 42011923..1e5dc112 100644 "-loglevel", loglevel, diff --git a/music_assistant/server/helpers/tags.py b/music_assistant/server/helpers/tags.py index dc38e4c0..f4f3e2fe 100644 index d17b55f6..b7b56c04 100644 --- a/music_assistant/server/helpers/tags.py +++ b/music_assistant/server/helpers/tags.py @@ -368,7 +368,7 @@ async def parse_tags( @@ -380,7 +380,7 @@ async def parse_tags( file_path = input_file if isinstance(input_file, str) else "-" args = ( Loading @@ -60,7 +60,7 @@ index dc38e4c0..f4f3e2fe 100644 "-hide_banner", "-loglevel", "fatal", @@ -440,7 +440,7 @@ async def get_embedded_image(input_file: str | AsyncGenerator[bytes, None]) -> b @@ -471,7 +471,7 @@ async def get_embedded_image(input_file: str | AsyncGenerator[bytes, None]) -> b """ file_path = input_file if isinstance(input_file, str) else "-" args = ( Loading
pkgs/by-name/mu/music-assistant/frontend.nix +2 −2 Original line number Diff line number Diff line Loading @@ -6,12 +6,12 @@ buildPythonPackage rec { pname = "music-assistant-frontend"; version = "2.5.15"; version = "2.7.0"; pyproject = true; src = fetchPypi { inherit pname version; hash = "sha256-D8VFdXgaVXSxk7c24kvb9TflFztS1zLwW4qGqV32nLo="; hash = "sha256-KrloxxdqIwQ5NsxAGm28D5StHnw9LTqDDtcchD5X5Qk="; }; postPatch = '' Loading
pkgs/by-name/mu/music-assistant/package.nix +22 −7 Original line number Diff line number Diff line Loading @@ -11,6 +11,19 @@ let python = python3.override { self = python; packageOverrides = self: super: { aiojellyfin = super.aiojellyfin.overridePythonAttrs rec { version = "0.9.2"; src = fetchFromGitHub { owner = "jc2k"; repo = "aiojellyfin"; rev = "refs/tags/v${version}"; hash = "sha256-q+b1tKr46qq3PULPkCaQk2VoC1aaNxPK/E1Kj4PABfI="; }; doCheck = false; }; music-assistant-frontend = self.callPackage ./frontend.nix { }; }; }; Loading @@ -24,14 +37,14 @@ in python.pkgs.buildPythonApplication rec { pname = "music-assistant"; version = "2.0.7"; version = "2.1.1"; pyproject = true; src = fetchFromGitHub { owner = "music-assistant"; repo = "server"; rev = version; hash = "sha256-JtdlZ3hH4fRU5TjmMUlrdSSCnLrIGCuSwSSrnLgjYEs="; rev = "refs/tags/${version}"; hash = "sha256-ALsl2xfAFYejDEhR5/ZpeIxoHFgvz471tb4OP5xQAUE="; }; patches = [ Loading @@ -43,8 +56,6 @@ python.pkgs.buildPythonApplication rec { ]; postPatch = '' sed -i "/--cov/d" pyproject.toml substituteInPlace pyproject.toml \ --replace-fail "0.0.0" "${version}" ''; Loading @@ -71,6 +82,7 @@ python.pkgs.buildPythonApplication rec { certifi colorlog cryptography eyed3 faust-cchardet ifaddr mashumaro Loading @@ -87,10 +99,13 @@ python.pkgs.buildPythonApplication rec { }; nativeCheckInputs = with python.pkgs; [ ffmpeg-headless aiojellyfin pytest-aiohttp pytest-cov-stub pytestCheckHook ] ++ lib.flatten (lib.attrValues optional-dependencies); syrupy ] ++ lib.flatten (lib.attrValues optional-dependencies); pythonImportsCheck = [ "music_assistant" ]; Loading
pkgs/by-name/mu/music-assistant/providers.nix +9 −5 Original line number Diff line number Diff line # Do not edit manually, run ./update-providers.py { version = "2.0.7"; version = "2.1.1"; providers = { airplay = [ ]; apple_music = [ ]; # missing pywidevine builtin = [ ]; chromecast = ps: with ps; [ Loading @@ -29,8 +31,9 @@ ]; # missing hass-client hass_players = [ ]; jellyfin = [ ]; # missing jellyfin_apiclient_python jellyfin = ps: with ps; [ aiojellyfin ]; musicbrainz = [ ]; opensubsonic = ps: with ps; [ Loading @@ -48,6 +51,7 @@ aioslimproto ]; snapcast = ps: with ps; [ bidict snapcast ]; sonos = ps: with ps; [ Loading @@ -71,8 +75,8 @@ ugp = [ ]; ytmusic = ps: with ps; [ pytube yt-dlp ytmusicapi ]; ]; # missing yt-dlp-youtube-accesstoken }; }
pkgs/by-name/mu/music-assistant/update-providers.py +1 −1 Original line number Diff line number Diff line Loading @@ -102,7 +102,7 @@ async def get_provider_manifests(version: str = "master") -> List: manifests = [] with tempfile.TemporaryDirectory() as tmp: with urlopen( f"https://github.com/music-assistant/music-assistant/archive/{version}.tar.gz" f"https://github.com/music-assistant/music-assistant/archive/refs/tags/{version}.tar.gz" ) as response: tarfile.open(fileobj=BytesIO(response.read())).extractall( tmp, filter="data" Loading