From 2c575d65960cbc3009f38396679ded7607633f47 Mon Sep 17 00:00:00 2001 From: xeals Date: Tue, 25 Jan 2022 10:18:28 +1100 Subject: [PATCH] spotify-ripper: 20161231.gd046419 -> 20210724.5bfd3f7 pytest-forked removed support for python2 in their 1.4.0 release, breaking the pinned version of mutagen that the old version of spotify-ripper requires. We rebase onto another fork that has updated it a bit, adding support for python3 and unpinning their dependencies. --- pkgs/tools/misc/spotify-ripper/default.nix | 17 ++++--- .../tools/misc/spotify-ripper/fix-setup.patch | 10 ++-- pkgs/top-level/all-packages.nix | 51 +------------------ 3 files changed, 14 insertions(+), 64 deletions(-) diff --git a/pkgs/tools/misc/spotify-ripper/default.nix b/pkgs/tools/misc/spotify-ripper/default.nix index d8993d9..d653d20 100644 --- a/pkgs/tools/misc/spotify-ripper/default.nix +++ b/pkgs/tools/misc/spotify-ripper/default.nix @@ -2,7 +2,8 @@ , lib , fetchFromGitHub -, python2Packages +, python3Packages +, lame , aacSupport ? false, faac , alacSupport ? false, libav @@ -19,25 +20,27 @@ assert m4aSupport || mp4Support -> fdk-aac-encoder.meta.available; assert oggSupport -> vorbisTools.meta.available; assert opusSupport -> opusTools.meta.available; -python2Packages.buildPythonApplication rec { +python3Packages.buildPythonApplication rec { pname = "spotify-ripper"; - version = "20161231.gd046419"; + version = "20210724.5bfd3f7"; src = fetchFromGitHub { - owner = "hbashton"; + owner = "ast261"; repo = pname; - rev = "d0464193dead7bd3ac7580e98bde86a0f323acae"; - sha256 = "003d6br20f1cf4qvmpl62bk0k4h4v66ib76wn36c23bnh9x5q806"; + rev = "5bfd3f7a52f2767b433fd315145409837a3c33f0"; + sha256 = "sha256-LLunGzs9Mg4S00Su260b+M5w/XwS+kICl/YXQdR/cPI="; }; - propagatedBuildInputs = (with python2Packages; [ + propagatedBuildInputs = (with python3Packages; [ colorama mutagen pyspotify requests schedule setuptools + spotipy ]) ++ [ + lame (if flacSupport then flac else null) (if alacSupport then libav else null) (if aacSupport then faac else null) diff --git a/pkgs/tools/misc/spotify-ripper/fix-setup.patch b/pkgs/tools/misc/spotify-ripper/fix-setup.patch index 38fdc04..8e39e17 100644 --- a/pkgs/tools/misc/spotify-ripper/fix-setup.patch +++ b/pkgs/tools/misc/spotify-ripper/fix-setup.patch @@ -2,7 +2,7 @@ diff --git a/setup.py b/setup.py index a800b3b..8967921 100755 --- a/setup.py +++ b/setup.py -@@ -22,14 +22,13 @@ setup( +@@ -33,14 +33,13 @@ setup( name='spotify-ripper', version='2.9.1', packages=find_packages(exclude=["tests"]), @@ -18,11 +18,7 @@ index a800b3b..8967921 100755 ], }, -@@ -67,7 +66,5 @@ setup( - 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.4', - ], -- long_description=_read('README.rst'), - ) +@@ -121,3 +121,2 @@ setup( + return True -create_default_dir() diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 270260a..9f44478 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -58,50 +58,6 @@ rec { psst = pkgs.callPackage ../applications/audio/psst { }; - python2Packages = - let - fixVersion = - { package - , version - , sha256 - , extra ? (oldAttrs: { }) - }: package.overrideAttrs (oldAttrs: rec { - inherit version; - src = pkgs.python2Packages.fetchPypi { - inherit (oldAttrs) pname; - inherit version sha256; - }; - } // extra oldAttrs); - in - pkgs.recurseIntoAttrs rec { - colorama_0_3_3 = fixVersion { - package = pkgs.python2Packages.colorama; - version = "0.3.3"; - sha256 = "1716z9pq1r5ys3nkg7wdrb3h2f9rmd0zdxpxzmx3bgwgf6xg48gb"; - }; - - mutagen_1_30 = fixVersion { - package = pkgs.python2Packages.mutagen; - version = "1.30"; - sha256 = "0kv2gjnzbj1w0bswmxm7wi05x6ypi7jk52s0lb8gw8s459j41gyd"; - extra = oldAttrs: { - patches = [ ]; - }; - }; - - pyspotify_2_0_5 = fixVersion { - package = pkgs.python2Packages.pyspotify; - version = "2.0.5"; - sha256 = "0y16c024rrvbvfdqj1n0k4b25b1nbza3i7kspg5b0ci2src1rm7v"; - }; - - overlay = { - colorama = colorama_0_3_3; - mutagen = mutagen_1_30; - pyspotify = pyspotify_2_0_5; - }; - }; - python3Packages = pkgs.recurseIntoAttrs { py-sonic = pkgs.python3.pkgs.callPackage ../development/python-modules/py-sonic { }; }; @@ -118,12 +74,7 @@ rec { samrewritten = pkgs.callPackage ../tools/misc/samrewritten { }; - spotify-ripper = pkgs.callPackage ../tools/misc/spotify-ripper { - # NOTE: Not available in 20.03. Specifying it this way lets me cheat the - # build auto-failing on 20.03 because of the attribute not existing. - inherit (pkgs) fdk-aac-encoder; - python2Packages = pkgs.python2Packages // python2Packages.overlay; - }; + spotify-ripper = pkgs.callPackage ../tools/misc/spotify-ripper { }; ytarchive = pkgs.callPackage ../tools/misc/ytarchive { };