1{ stdenv 2, lib 3, buildPythonPackage 4, fetchFromGitHub 5, openssl 6, paramiko 7, pytest-asyncio 8, pytest-mock 9, pytestCheckHook 10, pythonOlder 11, setuptools-scm 12, typing-extensions 13}: 14 15buildPythonPackage rec { 16 pname = "proxy-py"; 17 version = "2.4.3"; 18 format = "setuptools"; 19 20 disabled = pythonOlder "3.7"; 21 22 src = fetchFromGitHub { 23 owner = "abhinavsingh"; 24 repo = "proxy.py"; 25 rev = "refs/tags/v${version}"; 26 sha256 = "sha256-dA7a9RicBFCSf6IoGX/CdvI8x/xMOFfNtyuvFn9YmHI="; 27 }; 28 29 nativeBuildInputs = [ 30 setuptools-scm 31 ]; 32 33 propagatedBuildInputs = [ 34 paramiko 35 typing-extensions 36 ]; 37 38 checkInputs = [ 39 openssl 40 pytest-asyncio 41 pytest-mock 42 pytestCheckHook 43 ]; 44 45 preCheck = '' 46 export HOME=$(mktemp -d); 47 ''; 48 49 postPatch = '' 50 substituteInPlace requirements.txt \ 51 --replace "typing-extensions==3.7.4.3" "typing-extensions" 52 ''; 53 54 pythonImportsCheck = [ 55 "proxy" 56 ]; 57 58 meta = with lib; { 59 broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin; 60 description = "Python proxy framework"; 61 homepage = "https://github.com/abhinavsingh/proxy.py"; 62 license = with licenses; [ bsd3 ]; 63 maintainers = with maintainers; [ fab ]; 64 }; 65}