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
, 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