From 4beb94d6d6b7cf1829c27b1fd52d43707fbc1844 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20de=20Kok?= Date: Sat, 11 Aug 2018 16:42:43 +0200 Subject: [PATCH] python/grpcio: fix darwin build grpcio currently does not build on Darwin (10.13.6). Due to the following issues: * ar is invoked with incorrect flags (#33765). * libtool cannot be found, with a libtool dependency, with libtool the option '-no_warning_for_no_symbols' is not recognized. * the module build cannot find boringssl that is packaged with python-grpcio when pkgconfig is not installed (grpc/#10058). --- pkgs/development/python-modules/grpcio/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/grpcio/default.nix b/pkgs/development/python-modules/grpcio/default.nix index 1846c7bcd89..204080fe115 100644 --- a/pkgs/development/python-modules/grpcio/default.nix +++ b/pkgs/development/python-modules/grpcio/default.nix @@ -1,6 +1,7 @@ -{ stdenv, buildPythonPackage, fetchPypi, lib -, six, protobuf, enum34, futures, isPy27, isPy34 }: +{ stdenv, buildPythonPackage, fetchPypi, lib, darwin +, six, protobuf, enum34, futures, isPy27, isPy34, pkgconfig }: +with stdenv.lib; buildPythonPackage rec { pname = "grpcio"; version = "1.13.0"; @@ -10,10 +11,14 @@ buildPythonPackage rec { sha256 = "6324581e215157f0fbe335dff2e21a65b4406db98ac7cca05f1e23b4f510b426"; }; + nativeBuildInputs = [ pkgconfig ] ++ optional stdenv.isDarwin darwin.cctools; + propagatedBuildInputs = [ six protobuf ] ++ lib.optionals (isPy27 || isPy34) [ enum34 ] ++ lib.optionals (isPy27) [ futures ]; + preBuild = optionalString stdenv.isDarwin "unset AR"; + meta = with stdenv.lib; { description = "HTTP/2-based RPC framework"; license = lib.licenses.asl20;