summary refs log tree commit diff
path: root/pkgs/development/libraries/protobuf
diff options
context:
space:
mode:
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 = {