about summary refs log tree commit diff
path: root/pkgs/development/libraries/protobuf
diff options
context:
space:
mode:
authorEduard Bachmakov <e.bachmakov@gmail.com>2016-01-14 20:24:54 -0500
committerEduard Bachmakov <e.bachmakov@gmail.com>2016-01-18 00:43:21 -0500
commit352ff0be29e9f2784a94bcac4b853703eebca6fc (patch)
tree5dc17523fe260e83cd51b22865ecd9b4a76d3ac1 /pkgs/development/libraries/protobuf
parentdcd428db08c755d31b3bd5af1785459a7f5a9435 (diff)
downloadnixlib-352ff0be29e9f2784a94bcac4b853703eebca6fc.tar
nixlib-352ff0be29e9f2784a94bcac4b853703eebca6fc.tar.gz
nixlib-352ff0be29e9f2784a94bcac4b853703eebca6fc.tar.bz2
nixlib-352ff0be29e9f2784a94bcac4b853703eebca6fc.tar.lz
nixlib-352ff0be29e9f2784a94bcac4b853703eebca6fc.tar.xz
nixlib-352ff0be29e9f2784a94bcac4b853703eebca6fc.tar.zst
nixlib-352ff0be29e9f2784a94bcac4b853703eebca6fc.zip
protobuf: 3.0.0-alpha-3.1 -> 3.0.0-beta-2
Also split out gmock's source so that it can be copied into protobuf's
source. Hopefull this hack can be removed again once gmock is replaced
by gtest.

This does not include python bindings.
Diffstat (limited to 'pkgs/development/libraries/protobuf')
-rw-r--r--pkgs/development/libraries/protobuf/3.0.nix39
-rw-r--r--pkgs/development/libraries/protobuf/generic.nix2
2 files changed, 35 insertions, 6 deletions
diff --git a/pkgs/development/libraries/protobuf/3.0.nix b/pkgs/development/libraries/protobuf/3.0.nix
index 900c9dc5a512..f0bc0ca79f2b 100644
--- a/pkgs/development/libraries/protobuf/3.0.nix
+++ b/pkgs/development/libraries/protobuf/3.0.nix
@@ -1,12 +1,41 @@
-{ callPackage, fetchFromGitHub, ... } @ args:
+{ stdenv, fetchFromGitHub , autoreconfHook, zlib, gmock }:
 
-callPackage ./generic.nix (args // rec {
-  version = "3.0.0-alpha-3.1";
+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 = "0vzw20ymjmjrrmg84f822qslclsb2q0wf0qdj2da198gmkkbrw45";
+    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 ];
+
+  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/development/libraries/protobuf/generic.nix b/pkgs/development/libraries/protobuf/generic.nix
index fc41187a931e..51136c31aa13 100644
--- a/pkgs/development/libraries/protobuf/generic.nix
+++ b/pkgs/development/libraries/protobuf/generic.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
 
     license = "mBSD";
 
-    homepage = http://code.google.com/p/protobuf/;
+    homepage = https://developers.google.com/protocol-buffers/;
   };
 
   passthru.version = version;