Subject: [bug#50783] [PATCH staging] Update googletest and abseil-cpp

From: Greg Hogan <[email-masked]>
Date: Fri, 24 Sep 2021 12:32:06 -0400

googletest has 350 dependent packages.

abseil-cpp now requires a newer release of googletest.

>From cb6fbe064c34af02f60c30f8b00163ea1a74489b Mon Sep 17 00:00:00 2001
From: Greg Hogan <[email-masked]>
Date: Tue, 14 Sep 2021 13:19:29 +0000
Subject: [PATCH 1/2] gnu: googletest: Update to 1.11.0.

* gnu/packages/check.scm (googletest): Update to 1.11.0.
---
 gnu/packages/check.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index b49f9de157..622aa5afa3 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -676,7 +676,7 @@ test coverage and has a web user interface that will
refresh automatically.")
 (define-public googletest
   (package
     (name "googletest")
-    (version "1.10.0")
+    (version "1.11.0")
     (source
      (origin
        (method git-fetch)
@@ -685,7 +685,7 @@ test coverage and has a web user interface that will
refresh automatically.")
              (commit (string-append "release-" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1zbmab9295scgg4z2vclgfgjchfjailjnvzc6f5x9jvlsdi3dpwz"))))
+        (base32 "0pd4y1gpx1z8fiyarkvqlmk6hbv0lc8fr00ivnsvqzi1xg34jfaa"))))
     (build-system cmake-build-system)
     (arguments
      `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
-- 
2.33.0

>From 9ef812ad1c7de0e0254af5ca75c8167b39bc67b1 Mon Sep 17 00:00:00 2001
From: Greg Hogan <[email-masked]>
Date: Tue, 30 Mar 2021 13:16:22 +0000
Subject: [PATCH 2/2] gnu: abseil-cpp: Update to 20210324.2.

* gnu/packages/cpp.scm (abseil-cpp): Update to 20210324.2.
[source]: Remove patches.
[arguments]: Update configure flags.
* gnu/packages/patches/abseil-cpp-fix.patch,
gnu/packages/patches/abseil-cpp-fix-strerror_test.patch: Delete files.
* gnu/local.mk (dist_patch_DATA): Deregister them.
---
 gnu/local.mk                                  |  2 -
 gnu/packages/cpp.scm                          | 11 ++---
 .../patches/abseil-cpp-fix-gtest.patch        | 16 -------
 .../abseil-cpp-fix-strerror_test.patch        | 42 -------------------
 4 files changed, 3 insertions(+), 68 deletions(-)
 delete mode 100644 gnu/packages/patches/abseil-cpp-fix-gtest.patch
 delete mode 100644 gnu/packages/patches/abseil-cpp-fix-strerror_test.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 7d706f6f6e..6a1c1e209d 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -805,8 +805,6 @@ dist_patch_DATA = \
   %D%/packages/patches/abcl-fix-build-xml.patch \
   %D%/packages/patches/ableton-link-system-libraries-debian.patch \
   %D%/packages/patches/abiword-explictly-cast-bools.patch \
-  %D%/packages/patches/abseil-cpp-fix-gtest.patch \
-  %D%/packages/patches/abseil-cpp-fix-strerror_test.patch \
   %D%/packages/patches/adb-add-libraries.patch \
   %D%/packages/patches/adb-libssl_11-compatibility.patch \
   %D%/packages/patches/aegis-constness-error.patch         \
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 4af71ba93a..40378f0499 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -744,7 +744,7 @@ point and then, after each tween step, plugging back
the result.")
 (define-public abseil-cpp
   (package
     (name "abseil-cpp")
-    (version "20200923.3")
+    (version "20210324.2")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -753,16 +753,11 @@ point and then, after each tween step, plugging back
the result.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1p4djhm1f011ficbjjxx3n8428p8481p20j4glpaawnpsi362hkl"))
-              ;; Remove after next googletest release and update.
-              (patches
-               (search-patches
-                "abseil-cpp-fix-gtest.patch"
-                "abseil-cpp-fix-strerror_test.patch"))))
+                "0g9rbhk3mwjdfxk7cscd04vm8fphd5flz9yykpgvyy1nwa34zk3x"))))
     (build-system cmake-build-system)
     (arguments
      `(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON"
-                               "-DABSL_RUN_TESTS=ON"
+                               "-DBUILD_TESTING=ON"
                                "-DABSL_USE_EXTERNAL_GOOGLETEST=ON"
                                ;; Needed, else we get errors like:
                                ;;
diff --git a/gnu/packages/patches/abseil-cpp-fix-gtest.patch
b/gnu/packages/patches/abseil-cpp-fix-gtest.patch
deleted file mode 100644
index 38971448f3..0000000000
--- a/gnu/packages/patches/abseil-cpp-fix-gtest.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-The GTEST_ALLOW_UNINSTANTIATED_PARAMTERIZED_TEST macro was added to
googletest
-in commit 0b024bd9 on master. It has been used in an abseil-cpp release
before
-a googletest release.
-
---- a/absl/container/internal/unordered_map_modifiers_test.h
-+++ b/absl/container/internal/unordered_map_modifiers_test.h
-@@ -286,7 +286,9 @@ class UniquePtrModifiersTest : public ::testing::Test {
-   }
- };
-
-+#ifdef GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST
- GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(UniquePtrModifiersTest);
-+#endif
-
- TYPED_TEST_SUITE_P(UniquePtrModifiersTest);
-
diff --git a/gnu/packages/patches/abseil-cpp-fix-strerror_test.patch
b/gnu/packages/patches/abseil-cpp-fix-strerror_test.patch
deleted file mode 100644
index 726149b015..0000000000
--- a/gnu/packages/patches/abseil-cpp-fix-strerror_test.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From e2b1bab19a782cb62bb010d1c2925ab7314fb113 Mon Sep 17 00:00:00 2001
-diff --git a/absl/base/internal/strerror.cc
b/absl/base/internal/strerror.cc
-index d66ba120..0d6226fd 100644
---- a/absl/base/internal/strerror.cc
-+++ b/absl/base/internal/strerror.cc
-@@ -51,7 +51,6 @@ const char* StrErrorAdaptor(int errnum, char* buf,
size_t buflen) {
- }
-
- std::string StrErrorInternal(int errnum) {
--  absl::base_internal::ErrnoSaver errno_saver;
-   char buf[100];
-   const char* str = StrErrorAdaptor(errnum, buf, sizeof buf);
-   if (*str == '\0') {
-@@ -76,6 +75,7 @@ std::array<std::string, kSysNerr>* NewStrErrorTable() {
- }  // namespace
-
- std::string StrError(int errnum) {
-+  absl::base_internal::ErrnoSaver errno_saver;
-   static const auto* table = NewStrErrorTable();
-   if (errnum >= 0 && errnum < static_cast<int>(table->size())) {
-     return (*table)[errnum];
-diff --git a/absl/base/internal/strerror_test.cc
b/absl/base/internal/strerror_test.cc
-index a53da97f..e32d5b5c 100644
---- a/absl/base/internal/strerror_test.cc
-+++ b/absl/base/internal/strerror_test.cc
-@@ -62,12 +62,14 @@ TEST(StrErrorTest, MultipleThreads) {
-       ++counter;
-       errno = ERANGE;
-       const std::string value = absl::base_internal::StrError(i);
-+      // EXPECT_* could change errno. Stash it first.
-+      int check_err = errno;
-+      EXPECT_THAT(check_err, Eq(ERANGE));
-       // Only the GNU implementation is guaranteed to provide the
-       // string "Unknown error nnn". POSIX doesn't say anything.
-       if (!absl::StartsWith(value, "Unknown error ")) {
--        EXPECT_THAT(absl::base_internal::StrError(i),
Eq(expected_strings[i]));
-+        EXPECT_THAT(value, Eq(expected_strings[i]));
-       }
--      EXPECT_THAT(errno, Eq(ERANGE));
-     }
-   };
-
-- 
2.33.0