about summary refs log tree commit diff
path: root/pkgs/development/python-modules/openapi-spec-validator
diff options
context:
space:
mode:
authorMartin Weinelt <hexa@darmstadt.ccc.de>2022-07-17 16:23:00 +0200
committerMartin Weinelt <hexa@darmstadt.ccc.de>2022-07-21 22:35:25 +0200
commit79502f6b6c642c76356f3ee5e494693eaa3ba2ef (patch)
tree3076f2752884526d4dc7a201ef2cd05012964538 /pkgs/development/python-modules/openapi-spec-validator
parent32b6267a30ba154b1a6ac8a5c4b44a12dacd5131 (diff)
python3Packages.openapi-spec-validator: fix build & tests
Diffstat (limited to 'pkgs/development/python-modules/openapi-spec-validator')
-rw-r--r--pkgs/development/python-modules/openapi-spec-validator/default.nix66
1 files changed, 56 insertions, 10 deletions
diff --git a/pkgs/development/python-modules/openapi-spec-validator/default.nix b/pkgs/development/python-modules/openapi-spec-validator/default.nix
index 7ef70ab3d3ff8..2edd464196547 100644
--- a/pkgs/development/python-modules/openapi-spec-validator/default.nix
+++ b/pkgs/development/python-modules/openapi-spec-validator/default.nix
@@ -1,8 +1,19 @@
-{ lib, buildPythonPackage, isPy27, fetchPypi
-, jsonschema, openapi-schema-validator, pyyaml, six, pathlib
-, mock, pytest, pytest-cov, pytest-flake8, tox, setuptools
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
 , poetry-core
+
+# propagates
+, jsonschema
+, openapi-schema-validator
+, pyyaml
+
+# optional
 , requests
+
+# tests
+, mock
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -10,17 +21,52 @@ buildPythonPackage rec {
   version = "0.4.0";
   format = "pyproject";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-l/JYhQr8l7BI98JlOFXg+I+masEDwr5Qd8eWCsoq1Jo=";
+  # no tests via pypi sdist
+  src = fetchFromGitHub {
+    owner = "p1c2u";
+    repo = pname;
+    rev = version;
+    hash = "sha256-mGgHlDZTUo72RNZ/448gkGdza4EntYU9YoBpSKDUCeA=";
   };
 
-  nativeBuildInputs = [ poetry-core ];
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'openapi-schema-validator = "^0.2.0"' 'openapi-schema-validator = "*"'
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    jsonschema
+    openapi-schema-validator
+    pyyaml
+  ];
+
+  passthru.optional-dependencies.requests = [
+    requests
+  ];
+
+  preCheck = ''
+    sed -i '/--cov/d' pyproject.toml
+  '';
+
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  propagatedBuildInputs = [ jsonschema openapi-schema-validator pyyaml six setuptools requests ]
-    ++ (lib.optionals (isPy27) [ pathlib ]);
+  disabledTests = [
+    # network access
+    "test_default_valid"
+    "test_urllib_valid"
+    "test_valid"
+  ];
 
-  checkInputs = [ mock pytest pytest-cov pytest-flake8 tox ];
+  pythonImportsCheck = [
+    "openapi_spec_validator"
+    "openapi_spec_validator.readers"
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/p1c2u/openapi-spec-validator";