From 7cefc996d4d3790fbc3f8e880af883d370192370 Mon Sep 17 00:00:00 2001 From: emilylange Date: Sun, 21 Dec 2025 03:32:32 +0100 Subject: [PATCH] music-assistant: restructure dependencies This restructures dependencies and optional-dependencies to match the structure of upstream's pyproject.toml again. As part of this, a few dependencies were found to be redundant, either because they have been replaced by another already added dependency, partially vendored, or dropped: - [asyncio-throttle] has been vendored - [eyed3] was replaced by mutagen - [faust-cchardet] was replaced by chardet - [memory-tempfile] was dropped - [pytest-timeout] was dropped [asyncio-throttle]: https://github.com/music-assistant/server/commit/289fe77997cd47823b322354c6c64ae3144101fb [eyed3]: https://github.com/music-assistant/server/commit/c597dc391b57ab332cbff82e7c667d9a70c8f32e [faust-cchardet]: https://github.com/music-assistant/server/commit/ce545c64278d2c7f8228a7183ae243ae80b88d92 [memory-tempfile]: https://github.com/music-assistant/server/commit/ecdab7a5559814c1ce296a15bb50cb8ac5d0e596 [pytest-timeout]: https://github.com/music-assistant/server/commit/b061cc934ed9815ba3118ff9e9836c43d320d15a --- pkgs/by-name/mu/music-assistant/package.nix | 74 +++++++++------------ 1 file changed, 33 insertions(+), 41 deletions(-) diff --git a/pkgs/by-name/mu/music-assistant/package.nix b/pkgs/by-name/mu/music-assistant/package.nix index b30abadac299..264f1d9f74bd 100644 --- a/pkgs/by-name/mu/music-assistant/package.nix +++ b/pkgs/by-name/mu/music-assistant/package.nix @@ -103,56 +103,48 @@ python.pkgs.buildPythonApplication rec { "uv" ]; - dependencies = - with python.pkgs; - [ - aiohttp - chardet - mashumaro - orjson - ] - ++ optional-dependencies.server; + dependencies = with python.pkgs; [ + # Only packages required in pyproject.toml + aiodns + aiofiles + aiohttp + aiohttp-asyncmdnsresolver + aiohttp-fast-zlib + aiorun + aiosqlite + brotli + certifi + chardet + colorlog + cryptography + mashumaro + music-assistant-frontend + music-assistant-models + mutagen + orjson + pillow + podcastparser + propcache + python-slugify + shortuuid + unidecode + xmltodict + zeroconf + ]; optional-dependencies = with python.pkgs; { - server = [ - aiodns - aiofiles - aiohttp - aiorun - aiosqlite - asyncio-throttle - brotli - certifi - colorlog - cryptography - eyed3 - faust-cchardet - ifaddr - mashumaro - memory-tempfile - music-assistant-frontend - music-assistant-models - mutagen - orjson - pillow - podcastparser - python-slugify - shortuuid - unidecode - xmltodict - zeroconf + # Required subset of optional-dependencies in pyproject.toml + test = [ + pytest-aiohttp + pytest-cov-stub + syrupy ]; }; nativeCheckInputs = with python.pkgs; [ - pytest-aiohttp - pytest-cov-stub - pytest-timeout pytestCheckHook - syrupy - pytest-timeout ] ++ lib.concatAttrValues optional-dependencies ++ (providerPackages.jellyfin python.pkgs)