diff --git a/pkgs/development/python-modules/lyricwikia/default.nix b/pkgs/development/python-modules/lyricwikia/default.nix index 19bb14419a4f..6f2bed6acb20 100644 --- a/pkgs/development/python-modules/lyricwikia/default.nix +++ b/pkgs/development/python-modules/lyricwikia/default.nix @@ -1,23 +1,58 @@ -{ lib, fetchPypi, buildPythonPackage, pytest-runner, six, beautifulsoup4, requests, }: +{ lib +, beautifulsoup4 +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +, pythonOlder +, requests +, responses +, six +}: + buildPythonPackage rec { pname = "lyricwikia"; version = "0.1.11"; + format = "setuptools"; - src = fetchPypi { - inherit pname version; - sha256 = "0l5lkvr3299x79i7skdiggp67rzgax3s00psd1zqkxfysq27jvc8"; + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "enricobacis"; + repo = pname; + rev = "refs/tags/${version}"; + hash = "sha256-P88DrRAa2zptt8JLy0/PLi0oZ/BghF/XGSP0kOObi7E="; }; - buildInputs = [ pytest-runner ]; - propagatedBuildInputs = [ six beautifulsoup4 requests ]; - # upstream has no code tests - doCheck = false; + postPatch = '' + substituteInPlace setup.py \ + --replace "'pytest-runner'" "" + ''; + + propagatedBuildInputs = [ + beautifulsoup4 + requests + six + ]; + + nativeCheckInputs = [ + pytestCheckHook + responses + ]; + + pythonImportsCheck = [ + "lyricwikia" + ]; + + disabledTests = [ + # Test requires network access + "test_integration" + ]; meta = with lib; { - homepage = "https://github.com/enricobacis/lyricwikia"; - maintainers = [ maintainers.kmein ]; description = "LyricWikia API for song lyrics"; + homepage = "https://github.com/enricobacis/lyricwikia"; + changelog = "https://github.com/enricobacis/lyricwikia/releases/tag/${version}"; license = licenses.mit; - platforms = platforms.all; + maintainers = with maintainers; [ kmein ]; }; }