at master 1.2 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 pycryptodome, 6 uvloop, 7 setuptools, 8 pythonOlder, 9}: 10 11buildPythonPackage rec { 12 pname = "pproxy"; 13 version = "2.7.9"; 14 pyproject = true; 15 16 disabled = pythonOlder "3.6"; 17 18 src = fetchFromGitHub { 19 owner = "qwj"; 20 repo = "python-proxy"; 21 rev = "7fccf8dd62204f34b0aa3a70fc568fd6ddff7728"; 22 sha256 = "sha256-bOqDdNiaZ5MRi/UeF0hJwMs+rfQBKRsTmXrZ6ieIguo="; 23 }; 24 25 nativeBuildInputs = [ setuptools ]; 26 27 propagatedBuildInputs = [ 28 pycryptodome 29 uvloop 30 ]; 31 32 pythonImportsCheck = [ "pproxy" ]; 33 34 disabledTests = [ 35 # Tests try to connect to outside Internet, so disabled 36 "api_server" 37 "api_client" 38 ]; 39 40 # test suite doesn't use test runner. so need to run ``python ./tests/*`` 41 checkPhase = '' 42 shopt -s extglob 43 for f in ./tests/!(${builtins.concatStringsSep "|" disabledTests}).py ; do 44 echo "***Testing $f***" 45 eval "python $f" 46 done 47 ''; 48 49 meta = with lib; { 50 description = "Proxy server that can tunnel among remote servers by regex rules"; 51 mainProgram = "pproxy"; 52 homepage = "https://github.com/qwj/python-proxy"; 53 license = licenses.mit; 54 maintainers = with maintainers; [ drewrisinger ]; 55 }; 56}