summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/libraries/gmock/default.nix35
-rw-r--r--pkgs/development/libraries/gtest/default.nix29
-rw-r--r--pkgs/development/libraries/gtest/source.nix22
-rw-r--r--pkgs/development/libraries/protobuf/generic-v3.nix5
-rw-r--r--pkgs/development/libraries/protobuf/generic.nix2
-rw-r--r--pkgs/top-level/all-packages.nix2
6 files changed, 23 insertions, 72 deletions
diff --git a/pkgs/development/libraries/gmock/default.nix b/pkgs/development/libraries/gmock/default.nix
deleted file mode 100644
index 139cfab6e0c..00000000000
--- a/pkgs/development/libraries/gmock/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ stdenv, cmake, fetchzip }:
-
-stdenv.mkDerivation rec {
-  name = "gmock-${version}";
-  version = "1.7.0";
-
-  src = fetchzip {
-    url = "https://googlemock.googlecode.com/files/gmock-${version}.zip";
-    sha256 = "04n9p6pf3mrqsabrsncv32d3fqvd86zmcdq3gyni7liszgfk0paz";
-  };
-
-  buildInputs = [ cmake ];
-
-  buildPhase = ''
-    # avoid building gtest
-    make gmock gmock_main
-  '';
-
-  installPhase = ''
-    mkdir -p $out/lib
-    cp -v libgmock.a libgmock_main.a $out/lib
-    cp -v -r ../include $out
-    cp -v -r ../src $out
-  '';
-
-  meta = {
-    description = "Google mock: Google's framework for writing C++ mock classes";
-    homepage = https://code.google.com/p/googlemock/;
-    license = stdenv.lib.licenses.bsd3;
-    maintainers = [ stdenv.lib.maintainers.auntie ];
-    platforms = stdenv.lib.platforms.unix;
-  };
-
-  passthru = { source = src; };
-}
diff --git a/pkgs/development/libraries/gtest/default.nix b/pkgs/development/libraries/gtest/default.nix
index e516e4a475a..84b1fa9757c 100644
--- a/pkgs/development/libraries/gtest/default.nix
+++ b/pkgs/development/libraries/gtest/default.nix
@@ -1,11 +1,14 @@
-{ stdenv, cmake, callPackage }:
-let
-  source = callPackage ./source.nix { };
-in
+{ stdenv, cmake, fetchFromGitHub }:
 stdenv.mkDerivation rec {
-  name = "gtest-${source.version}";
+  name = "gtest-${version}";
+  version = "1.8.0";
 
-  src = source;
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "googletest";
+    rev = "release-${version}";
+    sha256 = "0bjlljmbf8glnd9qjabx73w6pd7ibv43yiyngqvmvgxsabzr8399";
+  };
 
   buildInputs = [ cmake ];
 
@@ -17,9 +20,13 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir -p $out/lib
-    cp -v libgtest.a libgtest_main.a $out/lib
-    cp -v -r ../include $out
-    cp -v -r ../src $out
+    cp -v googlemock/gtest/libgtest.a googlemock/gtest/libgtest_main.a googlemock/libgmock.a googlemock/libgmock_main.a $out/lib
+    ln -s $out/lib/libgmock.a $out/lib/libgoogletest.a
+    mkdir -p $out/include
+    cp -v -r ../googlemock/include/gmock $out/include
+    cp -v -r ../googletest/include/gtest $out/include
+    mkdir -p $out/src
+    cp -v -r ../googlemock/src/* ../googletest/src/* $out/src
   '';
 
   meta = with stdenv.lib; {
@@ -27,8 +34,6 @@ stdenv.mkDerivation rec {
     homepage = https://code.google.com/p/googletest/;
     license = licenses.bsd3;
     platforms = platforms.all;
-    maintainers = with maintainers; [ zoomulator ];
+    maintainers = with maintainers; [ zoomulator ivan-tkatchev ];
   };
-
-  passthru = { inherit source; };
 }
diff --git a/pkgs/development/libraries/gtest/source.nix b/pkgs/development/libraries/gtest/source.nix
deleted file mode 100644
index d8787efdcf2..00000000000
--- a/pkgs/development/libraries/gtest/source.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ fetchurl, stdenv, unzip, ... }:
-
-stdenv.mkDerivation rec {
-  name = "gtest-src-${version}";
-  version = "1.7.0";
-
-  src = fetchurl {
-    url = "https://googletest.googlecode.com/files/gtest-${version}.zip";
-    sha256 = "03fnw3bizw9bcx7l5qy1vz7185g33d5pxqcb6aqxwlrzv26s2z14";
-  };
-
-  buildInputs = [ unzip ];
-
-  buildCommand = ''
-    unpackPhase
-    cd gtest-${version}
-    mkdir $out
-    cp -r * $out
-  '';
-
-  passthru = { inherit version; };
-}
diff --git a/pkgs/development/libraries/protobuf/generic-v3.nix b/pkgs/development/libraries/protobuf/generic-v3.nix
index 5a3738564d7..f74aea9dbd5 100644
--- a/pkgs/development/libraries/protobuf/generic-v3.nix
+++ b/pkgs/development/libraries/protobuf/generic-v3.nix
@@ -18,8 +18,11 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     rm -rf gmock
-    cp -r ${gmock.source} gmock
+    cp -r ${gmock.src}/googlemock gmock
+    cp -r ${gmock.src}/googletest googletest
     chmod -R a+w gmock
+    chmod -R a+w googletest
+    ln -s ../googletest gmock/gtest
   '' + stdenv.lib.optionalString stdenv.isDarwin ''
     substituteInPlace src/google/protobuf/testing/googletest.cc \
       --replace 'tmpnam(b)' '"'$TMPDIR'/foo"'
diff --git a/pkgs/development/libraries/protobuf/generic.nix b/pkgs/development/libraries/protobuf/generic.nix
index 47f66c83ff5..498263458b5 100644
--- a/pkgs/development/libraries/protobuf/generic.nix
+++ b/pkgs/development/libraries/protobuf/generic.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     rm -rf gtest
-    cp -r ${gtest.source} gtest
+    cp -r ${gtest.src}/googletest gtest
     chmod -R a+w gtest
   '' + stdenv.lib.optionalString stdenv.isDarwin ''
     substituteInPlace src/google/protobuf/testing/googletest.cc \
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index d9842aaede3..f789cfe26cf 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2055,7 +2055,7 @@ in
   gt5 = callPackage ../tools/system/gt5 { };
 
   gtest = callPackage ../development/libraries/gtest {};
-  gmock = callPackage ../development/libraries/gmock {};
+  gmock = gtest;
   gbenchmark = callPackage ../development/libraries/gbenchmark {};
 
   gtkdatabox = callPackage ../development/libraries/gtkdatabox {};