diff options
Diffstat (limited to 'pkgs/development/python-modules/pytest-html/default.nix')
-rw-r--r-- | pkgs/development/python-modules/pytest-html/default.nix | 68 |
1 files changed, 57 insertions, 11 deletions
diff --git a/pkgs/development/python-modules/pytest-html/default.nix b/pkgs/development/python-modules/pytest-html/default.nix index f5b20cb1b50..3375a7a0a0b 100644 --- a/pkgs/development/python-modules/pytest-html/default.nix +++ b/pkgs/development/python-modules/pytest-html/default.nix @@ -1,19 +1,65 @@ -{ lib, buildPythonPackage, fetchPypi, pythonOlder -, pytest, pytest-metadata, setuptools-scm }: - -buildPythonPackage rec { +{ lib +, buildNpmPackage +, buildPythonPackage +, fetchPypi +, pythonOlder +, hatch-vcs +, hatchling +, jinja2 +, pytest +, pytest-metadata +}: +let pname = "pytest-html"; - version = "3.2.0"; - disabled = pythonOlder "3.6"; + version = "4.0.2"; src = fetchPypi { - inherit pname version; - hash = "sha256-xOL0uwv/xDf1GtIXSoo+cd+Bu8L2iUYE5gSvGPvmh8M="; + pname = "pytest_html"; + inherit version; + hash = "sha256-iGgrno5ROSRyVGpwohObJ9a8GDSkr9PkHaM8nZ+R5KQ="; + }; + + web-assets = buildNpmPackage { + pname = "${pname}-web-assets"; + inherit version src; + + npmDepsHash = "sha256-aRod+SzVSb4bqEJzthfl/mH+DpbIe+j2+dNtrrhO2xU="; + + installPhase = '' + runHook preInstall + + install -Dm644 src/pytest_html/resources/{app.js,style.css} -t $out/lib + + runHook postInstall + ''; }; +in + +buildPythonPackage { + inherit pname version src; + format = "pyproject"; + + disabled = pythonOlder "3.6"; + + nativeBuildInputs = [ + hatch-vcs + hatchling + ]; + buildInputs = [ pytest web-assets ]; + propagatedBuildInputs = [ jinja2 pytest-metadata ]; + + env.HATCH_BUILD_NO_HOOKS = true; + + preBuild = '' + install -Dm644 ${web-assets}/lib/{app.js,style.css} -t src/pytest_html/resources + ''; + + # tests require network access + doCheck = false; - nativeBuildInputs = [ setuptools-scm ]; - buildInputs = [ pytest ]; - propagatedBuildInputs = [ pytest-metadata ]; + pythonImportsCheck = [ + "pytest_html" + ]; meta = with lib; { description = "Plugin for generating HTML reports"; |