Merge pull request #48450 from ryan4729/proto3-cross

protobuf3: support cross compilation
This commit is contained in:
Linus Heckemann 2018-10-15 14:30:38 +02:00 committed by GitHub
commit dc6abb3db8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,11 +1,12 @@
{ stdenv { stdenv
, fetchFromGitHub , fetchFromGitHub
, autoreconfHook, zlib, gmock , autoreconfHook, zlib, gmock, which, buildPackages
, version, sha256 , version, sha256
, ... , ...
}: }:
stdenv.mkDerivation rec { let
mkProtobufDerivation = buildProtobuf: stdenv: stdenv.mkDerivation rec {
name = "protobuf-${version}"; name = "protobuf-${version}";
# make sure you test also -A pythonPackages.protobuf # make sure you test also -A pythonPackages.protobuf
@ -28,8 +29,10 @@ stdenv.mkDerivation rec {
--replace 'tmpnam(b)' '"'$TMPDIR'/foo"' --replace 'tmpnam(b)' '"'$TMPDIR'/foo"'
''; '';
nativeBuildInputs = [ autoreconfHook ]; nativeBuildInputs = [ autoreconfHook buildPackages.which buildPackages.stdenv.cc buildProtobuf ];
buildInputs = [ zlib ]; buildInputs = [ zlib ];
configureFlags = if buildProtobuf == null then [] else [ "--with-protoc=${buildProtobuf}/bin/protoc" ];
enableParallelBuilding = true; enableParallelBuilding = true;
@ -54,4 +57,7 @@ stdenv.mkDerivation rec {
}; };
passthru.version = version; passthru.version = version;
} };
in mkProtobufDerivation(if (stdenv.buildPlatform != stdenv.hostPlatform)
then (mkProtobufDerivation null buildPackages.stdenv)
else null) stdenv