From 2058c69de08dc2ca49c3ac683268c712c82da971 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Thu, 16 Aug 2018 20:48:37 +0200 Subject: [PATCH 1/2] grpc: fix darwin build --- pkgs/development/libraries/grpc/default.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/development/libraries/grpc/default.nix b/pkgs/development/libraries/grpc/default.nix index fc1f186a219e..7f680b6b59bf 100644 --- a/pkgs/development/libraries/grpc/default.nix +++ b/pkgs/development/libraries/grpc/default.nix @@ -9,6 +9,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake pkgconfig ]; buildInputs = [ zlib c-ares c-ares.cmake-config openssl protobuf gflags ]; + cmakeFlags = [ "-DgRPC_ZLIB_PROVIDER=package" "-DgRPC_CARES_PROVIDER=package" @@ -16,11 +17,19 @@ stdenv.mkDerivation rec { "-DgRPC_PROTOBUF_PROVIDER=package" "-DgRPC_GFLAGS_PROVIDER=package" ]; + + # CMake creates a build directory by default, this conflicts with the + # basel BUILD file on case-insensitive filesystems. + preConfigure = '' + rm -vf BUILD + ''; + enableParallelBuilds = true; meta = with stdenv.lib; { description = "The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)"; license = licenses.asl20; + maintainers = [ maintainers.lnl7 ]; homepage = https://grpc.io/; }; } From 062ae9ee0a22d672256daa2fe30a31ba39eaacc3 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Thu, 16 Aug 2018 21:30:56 +0200 Subject: [PATCH 2/2] c-ares: fix darwin cmake-config --- pkgs/development/libraries/c-ares/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/c-ares/default.nix b/pkgs/development/libraries/c-ares/default.nix index a22437d3993e..176245491179 100644 --- a/pkgs/development/libraries/c-ares/default.nix +++ b/pkgs/development/libraries/c-ares/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, writeTextDir }: +{ targetPlatform, stdenv, fetchurl, writeTextDir }: let self = stdenv.mkDerivation rec { @@ -36,12 +36,12 @@ stdenv.mkDerivation rec { set_target_properties(c-ares::cares PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${self}/include" - INTERFACE_LINK_LIBRARIES "nsl;rt" + ${stdenv.lib.optionalString stdenv.isLinux ''INTERFACE_LINK_LIBRARIES "nsl;rt"''} ) set_property(TARGET c-ares::cares APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) set_target_properties(c-ares::cares PROPERTIES - IMPORTED_LOCATION_RELEASE "${self}/lib/libcares.so.2.2.0" - IMPORTED_SONAME_RELEASE "libcares.so.2" + IMPORTED_LOCATION_RELEASE "${self}/lib/libcares${targetPlatform.extensions.sharedLibrary}" + IMPORTED_SONAME_RELEASE "libcares${targetPlatform.extensions.sharedLibrary}" ) add_library(c-ares::cares_shared INTERFACE IMPORTED) set_target_properties(c-ares::cares_shared PROPERTIES INTERFACE_LINK_LIBRARIES "c-ares::cares")