about summary refs log tree commit diff
path: root/pkgs/development/python-modules/geventhttpclient/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules/geventhttpclient/default.nix')
-rw-r--r--pkgs/development/python-modules/geventhttpclient/default.nix67
1 files changed, 34 insertions, 33 deletions
diff --git a/pkgs/development/python-modules/geventhttpclient/default.nix b/pkgs/development/python-modules/geventhttpclient/default.nix
index 1943888df752b..478faeaeb3c33 100644
--- a/pkgs/development/python-modules/geventhttpclient/default.nix
+++ b/pkgs/development/python-modules/geventhttpclient/default.nix
@@ -1,40 +1,48 @@
-{ lib
-, brotli
-, buildPythonPackage
-, certifi
-, dpkt
-, fetchPypi
-, gevent
-, pytestCheckHook
-, pythonOlder
-, six
-, stdenv
-, urllib3
+{
+  lib,
+  brotli,
+  buildPythonPackage,
+  certifi,
+  dpkt,
+  fetchFromGitHub,
+  gevent,
+  llhttp,
+  pytestCheckHook,
+  pythonOlder,
+  setuptools,
+  six,
+  stdenv,
+  urllib3,
 }:
 
 buildPythonPackage rec {
   pname = "geventhttpclient";
-  version = "2.0.12";
-  format = "setuptools";
+  version = "2.3.1";
+  pyproject = true;
 
   disabled = pythonOlder "3.6";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-6+oI55wap9A7Q5NrNHwPhzVub7HGhFc1oR8jyUnGVfc=";
+  src = fetchFromGitHub {
+    owner = "geventhttpclient";
+    repo = "geventhttpclient";
+    rev = "refs/tags/${version}";
+    # TODO: unvendor llhttp
+    fetchSubmodules = true;
+    hash = "sha256-uOGnwPbvTam14SFTUT0UrwxHfP4a5cn3a7EhLoGBUrA=";
   };
 
-  propagatedBuildInputs = [
+  build-system = [ setuptools ];
+
+  dependencies = [
     brotli
     certifi
     gevent
-    six
+    urllib3
   ];
 
   nativeCheckInputs = [
     dpkt
     pytestCheckHook
-    urllib3
   ];
 
   # lots of: [Errno 48] Address already in use: ('127.0.0.1', 54323)
@@ -42,20 +50,13 @@ buildPythonPackage rec {
 
   __darwinAllowLocalNetworking = true;
 
-  disabledTests = [
-    # socket.gaierror: [Errno -3] Temporary failure in name resolution
-    "test_client_simple"
-    "test_client_without_leading_slas"
-    "test_request_with_headers"
-    "test_response_context_manager"
-    "test_client_ssl"
-    "test_ssl_fail_invalid_certificate"
-    "test_multi_queries_greenlet_safe"
-  ];
+  preCheck = ''
+    rm -rf geventhttpclient
+  '';
 
-  pythonImportsCheck = [
-    "geventhttpclient"
-  ];
+  pytestFlagsArray = [ "-m 'not network'" ];
+
+  pythonImportsCheck = [ "geventhttpclient" ];
 
   meta = with lib; {
     homepage = "https://github.com/geventhttpclient/geventhttpclient";