diff --git a/pkgs/development/libraries/protobuf/3.0.0-beta-2.nix b/pkgs/development/libraries/protobuf/3.0.0-beta-2.nix new file mode 100644 index 000000000000..a06d4cef968a --- /dev/null +++ b/pkgs/development/libraries/protobuf/3.0.0-beta-2.nix @@ -0,0 +1,43 @@ +{ stdenv, fetchFromGitHub , autoreconfHook, zlib, gmock }: + +stdenv.mkDerivation rec { + name = "protobuf-${version}"; + + version = "3.0.0-beta-2"; + # make sure you test also -A pythonPackages.protobuf + src = fetchFromGitHub { + owner = "google"; + repo = "protobuf"; + rev = "v${version}"; + sha256 = "0cbr1glgma5vakabsjwcs41pcnn8yphhn037l0zd121zb9gdaqc1"; + }; + + postPatch = '' + rm -rf gmock + cp -r ${gmock.source} gmock + chmod -R a+w gmock + '' + stdenv.lib.optionalString stdenv.isDarwin '' + substituteInPlace src/google/protobuf/testing/googletest.cc \ + --replace 'tmpnam(b)' '"'$TMPDIR'/foo"' + ''; + + buildInputs = [ autoreconfHook zlib ]; + + enableParallelBuilding = true; + + doCheck = true; + + meta = { + description = "Google's data interchange format"; + longDescription = + ''Protocol Buffers are a way of encoding structured data in an efficient + yet extensible format. Google uses Protocol Buffers for almost all of + its internal RPC protocols and file formats. + ''; + license = stdenv.lib.licenses.bsd3; + platforms = stdenv.lib.platforms.unix; + homepage = https://developers.google.com/protocol-buffers/; + }; + + passthru.version = version; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e9b53cf251a9..42cf49c1143d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9081,6 +9081,8 @@ in protobuf = protobuf2_6; protobuf3_0 = lowPrio (callPackage ../development/libraries/protobuf/3.0.nix { }); + # 3.0.0-beta-2 is only introduced for tensorflow. remove this version when tensorflow is moved to 3.0. + protobuf3_0_0b2 = lowPrio (callPackage ../development/libraries/protobuf/3.0.0-beta-2.nix { }); protobuf2_6 = callPackage ../development/libraries/protobuf/2.6.nix { }; protobuf2_5 = callPackage ../development/libraries/protobuf/2.5.nix { };