summary refs log tree commit diff
path: root/pkgs/development/libraries/protobuf
diff options
context:
space:
mode:
authorMario Rodas <marsam@users.noreply.github.com>2023-08-14 04:20:00 +0000
committerMario Rodas <marsam@users.noreply.github.com>2023-08-14 04:20:00 +0000
commit81d8fdb6ab4790adc7d85c70e4c58c2a56b0ac93 (patch)
tree56363c20e0df9c347407ab66bd67d0546fb5ed6c /pkgs/development/libraries/protobuf
parent9c91f8313b086b695668988b92283f1d05759329 (diff)
downloadnixpkgs-81d8fdb6ab4790adc7d85c70e4c58c2a56b0ac93.tar
nixpkgs-81d8fdb6ab4790adc7d85c70e4c58c2a56b0ac93.tar.gz
nixpkgs-81d8fdb6ab4790adc7d85c70e4c58c2a56b0ac93.tar.bz2
nixpkgs-81d8fdb6ab4790adc7d85c70e4c58c2a56b0ac93.tar.lz
nixpkgs-81d8fdb6ab4790adc7d85c70e4c58c2a56b0ac93.tar.xz
nixpkgs-81d8fdb6ab4790adc7d85c70e4c58c2a56b0ac93.tar.zst
nixpkgs-81d8fdb6ab4790adc7d85c70e4c58c2a56b0ac93.zip
protobuf: use nixpkgs gtest
protobuf>3.20 allows to use the system GTest. Therefore, we can safely
remove the logic to use third_party/gmock from `generic-v3-cmake.nix`
because it's used only for protobuf>=3.21.
Diffstat (limited to 'pkgs/development/libraries/protobuf')
-rw-r--r--pkgs/development/libraries/protobuf/generic-v3-cmake.nix19
1 files changed, 6 insertions, 13 deletions
diff --git a/pkgs/development/libraries/protobuf/generic-v3-cmake.nix b/pkgs/development/libraries/protobuf/generic-v3-cmake.nix
index 384d2d0decb..1ad4bc8a11b 100644
--- a/pkgs/development/libraries/protobuf/generic-v3-cmake.nix
+++ b/pkgs/development/libraries/protobuf/generic-v3-cmake.nix
@@ -31,17 +31,7 @@ let
       inherit sha256;
     };
 
-    # re-create submodule logic
-    postPatch = ''
-      rm -rf gmock
-      cp -r ${gtest.src}/googlemock third_party/gmock
-      cp -r ${gtest.src}/googletest third_party/
-      chmod -R a+w third_party/
-
-      ln -s ../googletest third_party/gmock/gtest
-      ln -s ../gmock third_party/googletest/googlemock
-      ln -s $(pwd)/third_party/googletest third_party/googletest/googletest
-    '' + lib.optionalString stdenv.isDarwin ''
+    postPatch = lib.optionalString stdenv.isDarwin ''
       substituteInPlace src/google/protobuf/testing/googletest.cc \
         --replace 'tmpnam(b)' '"'$TMPDIR'/foo"'
     '';
@@ -68,6 +58,7 @@ let
     ];
 
     buildInputs = [
+      gtest
       zlib
     ];
 
@@ -75,8 +66,11 @@ let
       abseil-cpp
     ];
 
+    strictDeps = true;
+
     cmakeDir = if lib.versionOlder version "3.22" then "../cmake" else null;
     cmakeFlags = [
+      "-Dprotobuf_USE_EXTERNAL_GTEST=ON"
       "-Dprotobuf_ABSL_PROVIDER=package"
     ] ++ lib.optionals (!stdenv.targetPlatform.isStatic) [
       "-Dprotobuf_BUILD_SHARED_LIBS=ON"
@@ -87,8 +81,7 @@ let
       (stdenv.targetPlatform.is32bit && lib.versionOlder version "3.22")
       "-Dprotobuf_BUILD_TESTS=OFF";
 
-    # unfortunately the shared libraries have yet to been patched by nix, thus tests will fail
-    doCheck = false;
+    doCheck = true;
 
     passthru = {
       tests = {