summary refs log tree commit diff
path: root/pkgs/development/libraries/protobuf/generic-v3.nix
diff options
context:
space:
mode:
authorryan4729 <ryan4729@example.com>2018-10-15 00:22:24 -0700
committerLinus Heckemann <git@sphalerite.org>2018-10-15 14:35:14 +0200
commit7414ec1fa0e6d41d7fcfc2ffb9405455b4239edc (patch)
treea7ea37d1cdddb7ac9ed9aaa63a38c791627ec955 /pkgs/development/libraries/protobuf/generic-v3.nix
parent143884d45613de38cf10a99abdf067682d0ebdfd (diff)
downloadnixpkgs-7414ec1fa0e6d41d7fcfc2ffb9405455b4239edc.tar
nixpkgs-7414ec1fa0e6d41d7fcfc2ffb9405455b4239edc.tar.gz
nixpkgs-7414ec1fa0e6d41d7fcfc2ffb9405455b4239edc.tar.bz2
nixpkgs-7414ec1fa0e6d41d7fcfc2ffb9405455b4239edc.tar.lz
nixpkgs-7414ec1fa0e6d41d7fcfc2ffb9405455b4239edc.tar.xz
nixpkgs-7414ec1fa0e6d41d7fcfc2ffb9405455b4239edc.tar.zst
nixpkgs-7414ec1fa0e6d41d7fcfc2ffb9405455b4239edc.zip
protobuf3: support cross compilation
PR #48450
Diffstat (limited to 'pkgs/development/libraries/protobuf/generic-v3.nix')
-rw-r--r--pkgs/development/libraries/protobuf/generic-v3.nix14
1 files changed, 10 insertions, 4 deletions
diff --git a/pkgs/development/libraries/protobuf/generic-v3.nix b/pkgs/development/libraries/protobuf/generic-v3.nix
index 79e4c387cdf..883dff56f2e 100644
--- a/pkgs/development/libraries/protobuf/generic-v3.nix
+++ b/pkgs/development/libraries/protobuf/generic-v3.nix
@@ -1,11 +1,12 @@
 { stdenv
 , fetchFromGitHub
-, autoreconfHook, zlib, gmock
+, autoreconfHook, zlib, gmock, which, buildPackages
 , version, sha256
 , ...
 }:
 
-stdenv.mkDerivation rec {
+let
+mkProtobufDerivation = buildProtobuf: stdenv: stdenv.mkDerivation rec {
   name = "protobuf-${version}";
 
   # make sure you test also -A pythonPackages.protobuf
@@ -28,8 +29,10 @@ stdenv.mkDerivation rec {
       --replace 'tmpnam(b)' '"'$TMPDIR'/foo"'
   '';
 
-  nativeBuildInputs = [ autoreconfHook ];
+  nativeBuildInputs = [ autoreconfHook buildPackages.which buildPackages.stdenv.cc buildProtobuf ];
+
   buildInputs = [ zlib ];
+  configureFlags = if buildProtobuf == null then [] else [ "--with-protoc=${buildProtobuf}/bin/protoc" ];
 
   enableParallelBuilding = true;
 
@@ -54,4 +57,7 @@ stdenv.mkDerivation rec {
   };
 
   passthru.version = version;
-}
+};
+in mkProtobufDerivation(if (stdenv.buildPlatform != stdenv.hostPlatform)
+                        then (mkProtobufDerivation null buildPackages.stdenv)
+                        else null) stdenv