summary refs log tree commit diff
path: root/pkgs/development/libraries/protobuf/default.nix
diff options
context:
space:
mode:
authoraszlig <aszlig@redmoonstudios.org>2014-11-19 19:33:20 +0100
committeraszlig <aszlig@redmoonstudios.org>2014-11-19 19:51:44 +0100
commit18b306b0414c13b5584c2325e9a01e065d715498 (patch)
tree39902821aa6750774655aa36d20da1cff93fad0d /pkgs/development/libraries/protobuf/default.nix
parent8236ca5d70565fb02c2b9d57d7bdf5881d040481 (diff)
downloadnixpkgs-18b306b0414c13b5584c2325e9a01e065d715498.tar
nixpkgs-18b306b0414c13b5584c2325e9a01e065d715498.tar.gz
nixpkgs-18b306b0414c13b5584c2325e9a01e065d715498.tar.bz2
nixpkgs-18b306b0414c13b5584c2325e9a01e065d715498.tar.lz
nixpkgs-18b306b0414c13b5584c2325e9a01e065d715498.tar.xz
nixpkgs-18b306b0414c13b5584c2325e9a01e065d715498.tar.zst
nixpkgs-18b306b0414c13b5584c2325e9a01e065d715498.zip
protobuf: Clean up and update to version 2.6.1.
The upstream URL has changed as well as the download URL. I'm using the
archive from GitHub directly now, because version 2.6.1 hasn't been
uploaded to Google Code yet.

Changed the meta.license attribute to BSD3, because I haven't actually
found anything regarding "mBSD" on the web, so I'm guessing it should
mean "modified BSD". After digging up a bit more, there seems to be
overall consensus on BSD3/"new BSD" license, because it's BSD3 with
copyright of Google Inc. on the license.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Diffstat (limited to 'pkgs/development/libraries/protobuf/default.nix')
-rw-r--r--pkgs/development/libraries/protobuf/default.nix41
1 files changed, 27 insertions, 14 deletions
diff --git a/pkgs/development/libraries/protobuf/default.nix b/pkgs/development/libraries/protobuf/default.nix
index bba8481780a..0f52999bc0e 100644
--- a/pkgs/development/libraries/protobuf/default.nix
+++ b/pkgs/development/libraries/protobuf/default.nix
@@ -1,28 +1,41 @@
-{ fetchurl, stdenv, zlib }:
+{ stdenv, fetchFromGitHub, autoconf, automake, libtool, zlib, gtest }:
 
 stdenv.mkDerivation rec {
-  name = "protobuf-2.5.0";
-
-  src = fetchurl {
-    url = "http://protobuf.googlecode.com/files/${name}.tar.bz2";
-    sha256 = "0xxn9gxhvsgzz2sgmihzf6pf75clr05mqj6218camwrwajpcbgqk";
+  name = "protobuf-${version}";
+  version = "2.6.1";
+
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "protobuf";
+    rev = version;
+    sha256 = "03df8zvx2sry3jz2x4pi3l32qyfqa7w8kj8jdbz30nzy0h7aa070";
   };
 
-  buildInputs = [ zlib ];
+  postPatch = ''
+    sed -i -e '/gtest/d' Makefile.am
+    sed -i \
+      -e 's!\$(top_\(build\|src\)dir)/gtest!${gtest}!g' \
+      -e 's/\(libgtest[^.]*\.\)la/\1a/g' \
+      src/Makefile.am
+  '';
+
+  buildInputs = [ zlib autoconf automake libtool gtest ];
+
+  preConfigure = "autoreconf -vfi";
 
   doCheck = true;
 
   meta = {
     description = "Protocol Buffers - 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.
-      '';
+    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 = "mBSD";
+    license = stdenv.lib.licenses.bsd3;
 
-    homepage = http://code.google.com/p/protobuf/;
+    homepage = "https://developers.google.com/protocol-buffers/";
   };
 }