Skip to content

Commit

Permalink
grpcio: use protobuf3_5
Browse files Browse the repository at this point in the history
  • Loading branch information
globin committed Mar 24, 2018
1 parent 5adec8d commit c71bcb2
Show file tree
Hide file tree
Showing 6 changed files with 17 additions and 11 deletions.
4 changes: 2 additions & 2 deletions pkgs/development/python-modules/google_api_core/default.nix
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{ stdenv, buildPythonPackage, fetchPypi
, google_auth, protobuf, googleapis_common_protos, requests, grpcio, setuptools, mock, pytest }:
, google_auth, protobuf3_5, googleapis_common_protos, requests, grpcio, setuptools, mock, pytest }:

buildPythonPackage rec {
pname = "google-api-core";
Expand All @@ -10,7 +10,7 @@ buildPythonPackage rec {
sha256 = "0144d467083ed54d2e8ccb4212d42c3724fe0b844b7d3a0ff85aea54b7ae8347";
};

propagatedBuildInputs = [ google_auth protobuf googleapis_common_protos requests grpcio ];
propagatedBuildInputs = [ google_auth protobuf3_5 googleapis_common_protos requests grpcio ];
checkInputs = [ setuptools mock pytest ];

checkPhase = ''
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,8 @@ buildPythonPackage rec {
propagatedBuildInputs = [ setuptools google_api_core google_gax google_cloud_core ];
checkInputs = [ pytest mock ];

checkPhase = ''
py.test
'';
# needs credentials
doCheck = false;

meta = with stdenv.lib; {
description = "Cloud Speech API enables integration of Google speech recognition into applications.";
Expand Down
5 changes: 3 additions & 2 deletions pkgs/development/python-modules/google_gax/default.nix
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{ stdenv, buildPythonPackage, fetchPypi
, google_auth, ply, protobuf, grpcio, requests, googleapis_common_protos, dill, future, pytest, mock, unittest2 }:
, google_auth, ply, protobuf3_5, grpcio, requests
, googleapis_common_protos, dill, future, pytest, mock, unittest2 }:

buildPythonPackage rec {
pname = "google-gax";
Expand All @@ -10,7 +11,7 @@ buildPythonPackage rec {
sha256 = "0p1ribd2xy7a04wnjv12agkcdi6f9cpj838884hayx07p5g8v3ji";
};

propagatedBuildInputs = [ google_auth ply protobuf grpcio requests googleapis_common_protos dill future ];
propagatedBuildInputs = [ google_auth ply protobuf3_5 grpcio requests googleapis_common_protos dill future ];
checkInputs = [ pytest mock unittest2 ];

# Importing test__grpc_google_auth fails with "ModuleNotFoundError: No module named 'google_auth_httplib2'", where
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{ stdenv, buildPythonPackage, fetchPypi
, protobuf, pytest }:
, protobuf3_5, pytest }:

buildPythonPackage rec {
pname = "googleapis-common-protos";
Expand All @@ -10,7 +10,7 @@ buildPythonPackage rec {
sha256 = "1whfjl44gy15ha6palpwa2m0xi36dsvpaz8vw0cvb2k2lbdfsxf0";
};

propagatedBuildInputs = [ protobuf ];
propagatedBuildInputs = [ protobuf3_5 ];
checkInputs = [ pytest ];

doCheck = false; # there are no tests
Expand Down
4 changes: 2 additions & 2 deletions pkgs/development/python-modules/grpcio/default.nix
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{ stdenv, buildPythonPackage, fetchPypi, lib
, six, protobuf, enum34, futures, isPy26, isPy27, isPy34 }:
, six, protobuf3_5, enum34, futures, isPy26, isPy27, isPy34 }:

buildPythonPackage rec {
pname = "grpcio";
Expand All @@ -10,7 +10,7 @@ buildPythonPackage rec {
sha256 = "e7c43b5619deff48cc177c1b0618c4beeb2797f910f160e3c2035d5baf790a5d";
};

propagatedBuildInputs = [ six protobuf ]
propagatedBuildInputs = [ six protobuf3_5 ]
++ lib.optionals (isPy26 || isPy27 || isPy34) [ enum34 ]
++ lib.optionals (isPy26 || isPy27) [ futures ];

Expand Down
6 changes: 6 additions & 0 deletions pkgs/top-level/python-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -12151,6 +12151,12 @@ in {
protobuf = pkgs.protobuf3_1;
};

protobuf3_5 = callPackage ../development/python-modules/protobuf {
disabled = isPyPy;
doCheck = !isPy3k;
protobuf = pkgs.protobuf3_5;
};

psd-tools = callPackage ../development/python-modules/psd-tools { };

psutil = callPackage ../development/python-modules/psutil { };
Expand Down

3 comments on commit c71bcb2

@dotlambda
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@globin Usually, we do not put different versions of the same package in pythonPackages.
@FRidh What do you think about making protobuf3_5 the default?

@FRidh
Copy link
Member

@FRidh FRidh commented on c71bcb2 Mar 25, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, this is going to cause trouble when mixing protobuf consumers. For on master we should indeed look at updating the default.

@dotlambda
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removing python.pkgs.protobuf3_5 in #38483.

Please sign in to comment.