From 18b306b0414c13b5584c2325e9a01e065d715498 Mon Sep 17 00:00:00 2001 From: aszlig Date: Wed, 19 Nov 2014 19:33:20 +0100 Subject: [PATCH] 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 --- .../libraries/protobuf/default.nix | 39 ++++++++++++------- 1 file changed, 26 insertions(+), 13 deletions(-) diff --git a/pkgs/development/libraries/protobuf/default.nix b/pkgs/development/libraries/protobuf/default.nix index bba8481780a5..0f52999bc0ee 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"; + name = "protobuf-${version}"; + version = "2.6.1"; - src = fetchurl { - url = "http://protobuf.googlecode.com/files/${name}.tar.bz2"; - sha256 = "0xxn9gxhvsgzz2sgmihzf6pf75clr05mqj6218camwrwajpcbgqk"; + 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/"; }; }