about summary refs log tree commit diff
path: root/pkgs/tools/misc/swaglyrics
diff options
context:
space:
mode:
authorBen Siraphob <bensiraphob@gmail.com>2020-09-06 19:10:33 +0700
committerJon <jonringer@users.noreply.github.com>2020-10-10 22:33:48 -0700
commit3204e87efa7b41b65f24b42541f85f1251d22793 (patch)
treec1b3b05c0d991ba08531c6d23200f35d93c396b9 /pkgs/tools/misc/swaglyrics
parent9b1f2a0e7fd6b0229305e6f57c2329848f4f8f4c (diff)
swaglyrics: init at 1.2.2
Diffstat (limited to 'pkgs/tools/misc/swaglyrics')
-rw-r--r--pkgs/tools/misc/swaglyrics/default.nix45
1 files changed, 45 insertions, 0 deletions
diff --git a/pkgs/tools/misc/swaglyrics/default.nix b/pkgs/tools/misc/swaglyrics/default.nix
new file mode 100644
index 0000000000000..048dac85fdb23
--- /dev/null
+++ b/pkgs/tools/misc/swaglyrics/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, lib, python3, fetchFromGitHub, ncurses }:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "swaglyrics";
+  version = "1.2.2";
+
+  src = fetchFromGitHub {
+    owner = "SwagLyrics";
+    repo = "SwagLyrics-For-Spotify";
+    rev = "v${version}";
+    sha256 = "1dwj9fpyhqqpm2z3imp8hfribkzxya891shh77yg77rc2xghp7mh";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
+    unidecode colorama beautifulsoup4 flask requests swspotify
+  ];
+
+  preConfigure = ''
+    substituteInPlace setup.py \
+      --replace 'requests>=2.24.0' 'requests~=2.23'
+  '';
+
+  preBuild = "export HOME=$NIX_BUILD_TOP";
+
+  # disable tests which touch network
+  disabledTests = [
+     "test_database_for_unsupported_song"
+     "test_that_lyrics_works_for_unsupported_songs"
+     "test_that_get_lyrics_works"
+     "test_lyrics_are_shown_in_tab"
+     "test_songchanged_can_raise_songplaying"
+  ];
+
+  checkInputs = with python3.pkgs;
+    [ blinker swspotify pytestCheckHook flask mock flask_testing ]
+    ++ [ ncurses ];
+
+  meta = with stdenv.lib; {
+    description = "Lyrics fetcher for currently playing Spotify song";
+    homepage = "https://github.com/SwagLyrics/SwagLyrics-For-Spotify";
+    license = licenses.mit;
+    maintainers = with maintainers; [ siraben ];
+    platforms = lib.platforms.linux;
+  };
+}