Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / python-modules / grpcio / default.nix
blobe8ea37c904485fe74cc947e278120d7e361581b6
1 { lib, stdenv
2 , buildPythonPackage
3 , grpc
4 , six
5 , protobuf
6 , enum34 ? null
7 , futures ? null
8 , isPy27
9 , pkg-config
10 , cython
11 , c-ares
12 , openssl
13 , zlib
16 buildPythonPackage rec {
17   inherit (grpc) src version;
18   pname = "grpcio";
19   format = "setuptools";
21   outputs = [ "out" "dev" ];
23   nativeBuildInputs = [ cython pkg-config ];
25   buildInputs = [ c-ares openssl zlib ];
26   propagatedBuildInputs = [ six protobuf ]
27     ++ lib.optionals (isPy27) [ enum34 futures ];
29   preBuild = ''
30     export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS="$NIX_BUILD_CORES"
31     if [ -z "$enableParallelBuilding" ]; then
32       GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=1
33     fi
34   '' + lib.optionalString stdenv.isDarwin ''
35     unset AR
36   '';
38   GRPC_BUILD_WITH_BORING_SSL_ASM = "";
39   GRPC_PYTHON_BUILD_SYSTEM_OPENSSL = 1;
40   GRPC_PYTHON_BUILD_SYSTEM_ZLIB = 1;
41   GRPC_PYTHON_BUILD_SYSTEM_CARES = 1;
43   # does not contain any tests
44   doCheck = false;
46   enableParallelBuilding = true;
48   pythonImportsCheck = [ "grpc" ];
50   meta = with lib; {
51     description = "HTTP/2-based RPC framework";
52     license = licenses.asl20;
53     homepage = "https://grpc.io/grpc/python/";
54     maintainers = with maintainers; [ ];
55   };