at master 1.5 kB view raw
1{ 2 lib, 3 stdenv, 4 buildPythonPackage, 5 c-ares, 6 cython, 7 fetchPypi, 8 openssl, 9 pkg-config, 10 protobuf, 11 pythonOlder, 12 setuptools, 13 zlib, 14}: 15 16# This package should be updated together with the main grpc package and other 17# related python grpc packages. 18# nixpkgs-update: no auto update 19buildPythonPackage rec { 20 pname = "grpcio"; 21 version = "1.74.0"; 22 pyproject = true; 23 24 disabled = pythonOlder "3.8"; 25 26 src = fetchPypi { 27 inherit pname version; 28 hash = "sha256-gNH0+7NbB0LT49O7ZUtzgc1fAV+ElyeaHpwhumI+AbE="; 29 }; 30 31 outputs = [ 32 "out" 33 "dev" 34 ]; 35 36 build-system = [ setuptools ]; 37 38 nativeBuildInputs = [ 39 cython 40 pkg-config 41 ]; 42 43 buildInputs = [ 44 c-ares 45 openssl 46 zlib 47 ]; 48 49 dependencies = [ protobuf ]; 50 51 preBuild = '' 52 export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS="$NIX_BUILD_CORES" 53 if [ -z "$enableParallelBuilding" ]; then 54 GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=1 55 fi 56 '' 57 + lib.optionalString stdenv.hostPlatform.isDarwin '' 58 unset AR 59 ''; 60 61 GRPC_BUILD_WITH_BORING_SSL_ASM = ""; 62 GRPC_PYTHON_BUILD_SYSTEM_OPENSSL = 1; 63 GRPC_PYTHON_BUILD_SYSTEM_ZLIB = 1; 64 GRPC_PYTHON_BUILD_SYSTEM_CARES = 1; 65 66 # does not contain any tests 67 doCheck = false; 68 69 enableParallelBuilding = true; 70 71 pythonImportsCheck = [ "grpc" ]; 72 73 meta = with lib; { 74 description = "HTTP/2-based RPC framework"; 75 homepage = "https://grpc.io/grpc/python/"; 76 changelog = "https://github.com/grpc/grpc/releases/tag/v${version}"; 77 license = licenses.asl20; 78 maintainers = [ ]; 79 }; 80}