1{ lib
2, beautifulsoup4
3, buildPythonPackage
4, fetchFromGitHub
5, poetry-core
6, pythonOlder
7, pythonRelaxDepsHook
8, rapidfuzz
9, requests
10}:
11
12buildPythonPackage rec {
13 pname = "syncedlyrics";
14 version = "0.6.1";
15 format = "pyproject";
16
17 disabled = pythonOlder "3.7";
18
19 src = fetchFromGitHub {
20 owner = "rtcq";
21 repo = pname;
22 rev = "refs/tags/v${version}";
23 hash = "sha256-oMG3TqCJfEyfF5zK8hNhyhQ1z7G+S+De8hI1GLCfctM=";
24 };
25
26 nativeBuildInputs = [
27 poetry-core
28 pythonRelaxDepsHook
29 ];
30
31 pythonRelaxDeps = [
32 "rapidfuzz"
33 ];
34
35 propagatedBuildInputs = [
36 requests
37 rapidfuzz
38 beautifulsoup4
39 ];
40
41 # Tests require network access
42 doCheck = false;
43
44 pythonImportsCheck = [
45 "syncedlyrics"
46 ];
47
48 meta = with lib; {
49 description = "Module to get LRC format (synchronized) lyrics";
50 homepage = "https://github.com/rtcq/syncedlyrics";
51 changelog = "https://github.com/rtcq/syncedlyrics/releases/tag/v${version}";
52 license = licenses.mit;
53 maintainers = with maintainers; [ fab ];
54 };
55}