diff --git a/pkgs/development/python-modules/snakeviz/default.nix b/pkgs/development/python-modules/snakeviz/default.nix index 05b019c1cd2f..0b3767944985 100644 --- a/pkgs/development/python-modules/snakeviz/default.nix +++ b/pkgs/development/python-modules/snakeviz/default.nix @@ -1,21 +1,54 @@ -{ lib, fetchPypi, buildPythonPackage, tornado }: +{ lib +, buildPythonPackage +, fetchFromGitHub +, ipython +, pytestCheckHook +, pythonOlder +, requests +, setuptools +, tornado +}: buildPythonPackage rec { pname = "snakeviz"; - version = "2.1.2"; + version = "2.2.0"; + format = "pyproject"; - src = fetchPypi { - inherit pname version; - sha256 = "sha256-K4qRmrtefpKv41EnhguMJ2sqeXvv/OLayGFPmM/4byE="; + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "jiffyclub"; + repo = pname; + rev = "refs/tags/v${version}"; + hash = "sha256-tW1zUfCgOGQ8TjrKo2lBzGb0MSe25dP0/P9Q6x3736E="; }; - # Upstream doesn't run tests from setup.py - doCheck = false; - propagatedBuildInputs = [ tornado ]; + nativeBuildInputs = [ + setuptools + ]; + + propagatedBuildInputs = [ + tornado + ]; + + nativeCheckInputs = [ + ipython + pytestCheckHook + requests + ]; + + pythonImportsCheck = [ + "snakeviz" + ]; + + preCheck = '' + export PATH="$PATH:$out/bin"; + ''; meta = with lib; { description = "Browser based viewer for profiling data"; homepage = "https://jiffyclub.github.io/snakeviz"; + changelog = "https://github.com/jiffyclub/snakeviz/blob/v${version}/CHANGES.rst"; license = licenses.bsd3; maintainers = with maintainers; [ nixy ]; };