summary refs log tree commit diff
path: root/pkgs/tools/audio/spotdl/default.nix
diff options
context:
space:
mode:
authorRobert Schütz <nix@dotlambda.de>2022-12-16 11:34:58 -0800
committerRobert Schütz <github@dotlambda.de>2022-12-19 19:00:40 -0800
commit39c33211ff49cc94ddce545317a798c2a3c292d7 (patch)
treea1a565c6a6a1d854d45f40b0edb2976d9a9b718a /pkgs/tools/audio/spotdl/default.nix
parentbf4b841370b89f8d2769a2119876ef09d7580167 (diff)
downloadnixpkgs-39c33211ff49cc94ddce545317a798c2a3c292d7.tar
nixpkgs-39c33211ff49cc94ddce545317a798c2a3c292d7.tar.gz
nixpkgs-39c33211ff49cc94ddce545317a798c2a3c292d7.tar.bz2
nixpkgs-39c33211ff49cc94ddce545317a798c2a3c292d7.tar.lz
nixpkgs-39c33211ff49cc94ddce545317a798c2a3c292d7.tar.xz
nixpkgs-39c33211ff49cc94ddce545317a798c2a3c292d7.tar.zst
nixpkgs-39c33211ff49cc94ddce545317a798c2a3c292d7.zip
spotdl: 3.9.6 -> 4.0.6
https://github.com/spotDL/spotify-downloader/releases/tag/v4.0.0
https://github.com/spotDL/spotify-downloader/releases/tag/v4.0.1
https://github.com/spotDL/spotify-downloader/releases/tag/v4.0.2
https://github.com/spotDL/spotify-downloader/releases/tag/v4.0.3
https://github.com/spotDL/spotify-downloader/releases/tag/v4.0.4
https://github.com/spotDL/spotify-downloader/releases/tag/v4.0.5
https://github.com/spotDL/spotify-downloader/releases/tag/v4.0.6
Diffstat (limited to 'pkgs/tools/audio/spotdl/default.nix')
-rw-r--r--pkgs/tools/audio/spotdl/default.nix60
1 files changed, 50 insertions, 10 deletions
diff --git a/pkgs/tools/audio/spotdl/default.nix b/pkgs/tools/audio/spotdl/default.nix
index 32dc47f5318..02628bf74ec 100644
--- a/pkgs/tools/audio/spotdl/default.nix
+++ b/pkgs/tools/audio/spotdl/default.nix
@@ -6,27 +6,39 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "spotdl";
-  version = "3.9.6";
+  version = "4.0.6";
+
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "spotDL";
     repo = "spotify-downloader";
     rev = "refs/tags/v${version}";
-    hash = "sha256-JoeNVMuEslz7A7G4ZvikimZrG75YrH5Mx3Oamtfy4cM=";
+    hash = "sha256-oZyEh76nNKMeEenz0dNLQ5Hd9jRaot6He8toxDSZZ/8=";
   };
 
+  nativeBuildInputs = with python3.pkgs; [
+    poetry-core
+    pythonRelaxDepsHook
+  ];
+
+  pythonRelaxDeps = true;
+
   propagatedBuildInputs = with python3.pkgs; [
     spotipy
-    pytube
-    rich
-    rapidfuzz
-    mutagen
     ytmusicapi
+    pytube
     yt-dlp
+    mutagen
+    rich
     beautifulsoup4
     requests
-    unidecode
-    setuptools
+    rapidfuzz
+    python-slugify
+    uvicorn
+    pydantic
+    fastapi
+    platformdirs
   ];
 
   checkInputs = with python3.pkgs; [
@@ -37,8 +49,36 @@ python3.pkgs.buildPythonApplication rec {
     pytest-subprocess
   ];
 
-  # requires networking
-  doCheck = false;
+  preCheck = ''
+    export HOME=$TMPDIR
+  '';
+
+  disabledTestPaths = [
+    # require networking
+    "tests/test_init.py"
+    "tests/test_matching.py"
+    "tests/utils/test_m3u.py"
+    "tests/utils/test_metadata.py"
+    "tests/utils/test_search.py"
+  ];
+
+  disabledTests = [
+    # require networking
+    "test_album_from_string"
+    "test_album_from_url"
+    "test_album_length"
+    "test_artist_from_url"
+    "test_artist_from_string"
+    "test_convert"
+    "test_download_ffmpeg"
+    "test_download_song"
+    "test_playlist_from_string"
+    "test_playlist_from_url"
+    "test_playlist_length"
+    "test_preload_song"
+    "test_song_from_search_term"
+    "test_song_from_url"
+  ];
 
   makeWrapperArgs = [
     "--prefix" "PATH" ":" (lib.makeBinPath [ ffmpeg ])