Compare commits

..

3 Commits

Author SHA1 Message Date
Benjamin A. Beasley 77f3f23380 Do not leak -maes -msse4.1 into pkgconfig (fix RHBZ#2108658) 2022-07-29 08:30:18 -04:00
Benjamin A. Beasley 597be65ab2 Disable SysinfoTest.NominalCPUFrequency in absl_sysinfo_test
This fails occasionally on aarch64, and upstream reports that it is not
meaningful except for Google internal users. See:

NominalCPUFrequency Test from SysInfoTest Suite Fails on M1 Mac
https://github.com/abseil/abseil-cpp/issues/1053#issuecomment-961432444
2022-07-29 08:29:31 -04:00
Benjamin A. Beasley c93a12f360 Disable LTO on s390x to work around test failure
Symbolize.SymbolizeWithMultipleMaps fails in absl_symbolize_test on
s390x with LTO

https://github.com/abseil/abseil-cpp/issues/1133
2022-07-29 08:29:26 -04:00
5 changed files with 197 additions and 29 deletions

2
.gitignore vendored
View File

@ -3,5 +3,3 @@
/abseil-cpp-20200923.3.tar.gz
/abseil-cpp-20210324.2.tar.gz
/abseil-cpp-20211102.0.tar.gz
/abseil-cpp-20220623.0.tar.gz
/abseil-cpp-20220623.1.tar.gz

View File

@ -0,0 +1,44 @@
From d984ddf1a64ce9fae36395b423cf6e52afc9a07a Mon Sep 17 00:00:00 2001
From: "Benjamin A. Beasley" <code@musicinmybrain.net>
Date: Wed, 16 Mar 2022 14:33:41 -0400
Subject: [PATCH] Disable SysinfoTest.NominalCPUFrequency
SysinfoTest.NominalCPUFrequency in absl_sysinfo_test fails occasionally
on aarch64, but see:
NominalCPUFrequency Test from SysInfoTest Suite Fails on M1 Mac
https://github.com/abseil/abseil-cpp/issues/1053#issuecomment-961432444
in which an upstream author opines:
If the only problem you are trying to solve is a failing test, this is safe
to ignore since this code is never called. I should consider stripping this
test out of the open source release. NominalCPUFrequency is only called in
code private to Google and we do have tests on the platforms we use it on.
We therefore disable it on all architectures, since any future failures
will also not be meaningful.
Note also that this test is removed upstream in commit
732b5580f089101ce4b8cdff55bb6461c59a6720 (internal commit
7e8da4f14afd25d11713eee6b743ba31605332bf).
---
absl/base/internal/sysinfo_test.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/absl/base/internal/sysinfo_test.cc b/absl/base/internal/sysinfo_test.cc
index 5f9e45f..1a944f0 100644
--- a/absl/base/internal/sysinfo_test.cc
+++ b/absl/base/internal/sysinfo_test.cc
@@ -44,7 +44,7 @@ TEST(SysinfoTest, NumCPUs) {
// frequency, while others do not. Since we can't predict a priori what a given
// machine is going to do, just disable this test on POWER on Linux.
#if !(defined(__linux) && (defined(__ppc64__) || defined(__PPC64__)))
-TEST(SysinfoTest, NominalCPUFrequency) {
+TEST(SysinfoTest, DISABLED_NominalCPUFrequency) {
// Linux only exposes the CPU frequency on certain architectures, and
// Emscripten doesn't expose it at all.
#if defined(__linux__) && \
--
2.35.1

View File

@ -0,0 +1,111 @@
diff -Naur abseil-cpp-20211102.0-original/absl/strings/internal/cord_rep_btree_test.cc abseil-cpp-20211102.0/absl/strings/internal/cord_rep_btree_test.cc
--- abseil-cpp-20211102.0-original/absl/strings/internal/cord_rep_btree_test.cc 2021-11-03 11:26:14.000000000 -0400
+++ abseil-cpp-20211102.0/absl/strings/internal/cord_rep_btree_test.cc 2021-12-17 08:44:54.254485697 -0500
@@ -59,7 +59,6 @@
using ::testing::_;
using ::testing::AllOf;
using ::testing::AnyOf;
-using ::testing::Conditional;
using ::testing::ElementsAre;
using ::testing::ElementsAreArray;
using ::testing::Eq;
@@ -381,7 +380,6 @@
flats.push_back(MakeHexFlat(i));
auto* result = CordRepBtree::Append(leaf, flats.back());
EXPECT_THAT(result->height(), Eq(0));
- EXPECT_THAT(result, Conditional(shared(), Ne(leaf), Eq(leaf)));
EXPECT_THAT(result->Edges(), ElementsAreArray(flats));
leaf = result;
}
@@ -399,7 +397,6 @@
flats.push_front(MakeHexFlat(i));
auto* result = CordRepBtree::Prepend(leaf, flats.front());
EXPECT_THAT(result->height(), Eq(0));
- EXPECT_THAT(result, Conditional(shared(), Ne(leaf), Eq(leaf)));
EXPECT_THAT(result->Edges(), ElementsAreArray(flats));
leaf = result;
}
@@ -426,7 +423,6 @@
result = CordRepBtree::Append(leaf, flats.back());
}
EXPECT_THAT(result->height(), Eq(0));
- EXPECT_THAT(result, Conditional(shared(), Ne(leaf), Eq(leaf)));
EXPECT_THAT(result->Edges(), ElementsAreArray(flats));
leaf = result;
}
@@ -483,7 +479,6 @@
flats.push_back(MakeHexFlat(i));
CordRepBtree* result = CordRepBtree::Append(tree, flats.back());
ASSERT_THAT(result, IsNode(1));
- ASSERT_THAT(result, Conditional(shared(), Ne(tree), Eq(tree)));
std::vector<CordRep*> edges = GetLeafEdges(result);
ASSERT_THAT(edges, ElementsAreArray(flats));
tree = result;
@@ -514,7 +509,6 @@
flats.push_back(MakeHexFlat(i));
CordRepBtree* result = CordRepBtree::Append(tree, flats.back());
ASSERT_THAT(result, IsNode(2));
- ASSERT_THAT(result, Conditional(shared(), Ne(tree), Eq(tree)));
std::vector<CordRep*> edges = GetLeafEdges(result);
ASSERT_THAT(edges, ElementsAreArray(flats));
tree = result;
@@ -544,7 +538,6 @@
flats.push_front(MakeHexFlat(i));
CordRepBtree* result = CordRepBtree::Prepend(tree, flats.front());
ASSERT_THAT(result, IsNode(1));
- ASSERT_THAT(result, Conditional(shared(), Ne(tree), Eq(tree)));
std::vector<CordRep*> edges = GetLeafEdges(result);
ASSERT_THAT(edges, ElementsAreArray(flats));
tree = result;
@@ -575,7 +568,6 @@
flats.push_front(MakeHexFlat(i));
CordRepBtree* result = CordRepBtree::Prepend(tree, flats.front());
ASSERT_THAT(result, IsNode(2));
- ASSERT_THAT(result, Conditional(shared(), Ne(tree), Eq(tree)));
std::vector<CordRep*> edges = GetLeafEdges(result);
ASSERT_THAT(edges, ElementsAreArray(flats));
tree = result;
@@ -889,7 +881,6 @@
for (size_t i = 1; i < n; ++i) {
refs.RefIf(shared(), leaf);
CordRepBtree* result = BtreeAdd(leaf, append, consumer.Next(3));
- EXPECT_THAT(result, Conditional(shared(), Ne(leaf), Eq(leaf)));
EXPECT_THAT(CordToString(result), Eq(consumer.Consumed()));
leaf = result;
}
@@ -905,9 +896,6 @@
CordRepBtree* leaf0 = tree->Edges()[0]->btree();
CordRepBtree* leaf1 = tree->Edges()[1]->btree();
CordRepBtree* result = CordRepBtree::Append(tree, "123456789");
- EXPECT_THAT(result, Conditional(shared(), Ne(tree), Eq(tree)));
- EXPECT_THAT(result->Edges(),
- ElementsAre(leaf0, Conditional(shared(), Ne(leaf1), Eq(leaf1))));
EXPECT_THAT(CordToString(result), Eq(data + "123456789"));
CordRep::Unref(result);
}
@@ -920,9 +908,6 @@
CordRepBtree* leaf0 = tree->Edges()[0]->btree();
CordRepBtree* leaf1 = tree->Edges()[1]->btree();
CordRepBtree* result = CordRepBtree::Prepend(tree, "123456789");
- EXPECT_THAT(result, Conditional(shared(), Ne(tree), Eq(tree)));
- EXPECT_THAT(result->Edges(),
- ElementsAre(Conditional(shared(), Ne(leaf0), Eq(leaf0)), leaf1));
EXPECT_THAT(CordToString(result), Eq("123456789" + data));
CordRep::Unref(result);
}
@@ -954,7 +939,6 @@
for (size_t i = max_cap + 1; i < max_cap * max_cap; ++i) {
refs.RefIf(shared(), tree);
result = BtreeAdd(tree, append, consumer.Next(3));
- ASSERT_THAT(result, Conditional(shared(), Ne(tree), Eq(tree)));
ASSERT_THAT(CordToString(result), Eq(consumer.Consumed()));
tree = result;
}
@@ -970,7 +954,6 @@
++i) {
refs.RefIf(shared(), tree);
result = BtreeAdd(tree, append, consumer.Next(3));
- ASSERT_THAT(result, Conditional(shared(), Ne(tree), Eq(tree)));
ASSERT_THAT(CordToString(result), Eq(consumer.Consumed()));
tree = result;
}

View File

@ -1,25 +1,39 @@
# Installed library version
%global lib_version 2206.0.0
%global lib_version 2111.0.0
Name: abseil-cpp
Version: 20220623.1
Release: 2%{?dist}
Version: 20211102.0
Release: 3%{?dist}
Summary: C++ Common Libraries
# The entire source is Apache-2.0, except:
# - The following files are LicenseRef-Fedora-Public-Domain:
# absl/time/internal/cctz/src/tzfile.h
# ** This file is in the public domain, so clarified as of
# ** 1996-06-05 by Arthur David Olson.
# absl/time/internal/cctz/testdata/zoneinfo/iso3166.tab
# # This file is in the public domain, so clarified as of
# # 2009-05-17 by Arthur David Olson.
# absl/time/internal/cctz/testdata/zoneinfo/zone1970.tab
# # This file is in the public domain.
License: Apache-2.0 AND LicenseRef-Fedora-Public-Domain
License: ASL 2.0
URL: https://abseil.io
Source0: https://github.com/abseil/abseil-cpp/archive/%{version}/%{name}-%{version}.tar.gz
# Remove test assertions that use ::testing::Conditional, which is not in a
# released version of GTest. Not submitted upstream, as this is a workaround
# rather than a fix. https://github.com/abseil/abseil-cpp/issues/1063
Patch: abseil-cpp-20211102.0-gtest-unreleased-features.patch
# SysinfoTest.NominalCPUFrequency in absl_sysinfo_test fails occasionally
# on aarch64, but see:
#
# NominalCPUFrequency Test from SysInfoTest Suite Fails on M1 Mac
# https://github.com/abseil/abseil-cpp/issues/1053#issuecomment-961432444
#
# in which an upstream author opines:
#
# If the only problem you are trying to solve is a failing test, this is safe
# to ignore since this code is never called. I should consider stripping this
# test out of the open source release. NominalCPUFrequency is only called in
# code private to Google and we do have tests on the platforms we use it on.
#
# We therefore disable it on all architectures, since any future failures
# will also not be meaningful.
#
# Note also that this test is removed upstream in commit
# 732b5580f089101ce4b8cdff55bb6461c59a6720 (internal commit
# 7e8da4f14afd25d11713eee6b743ba31605332bf).
Patch: abseil-cpp-20211102.0-disable-nominalcpufrequency.patch
# Backport upstream commit 09e96049995584c3489e4bd1467313e3e85af99c, which
# corresponds to:
#
@ -69,13 +83,24 @@ Development headers for %{name}
%prep
%autosetup -p1 -S gendiff
# Replace GTEST_FLAG_GET, which is not in a released version of GTest, with an
# appropriate default value. Not submitted upstream, as this is a workaround
# rather than a fix. https://github.com/abseil/abseil-cpp/issues/1063
#
# The find-then-sed pattern means we only discard mtimes on files that actually
# needed to be modified.
find . -type f -name '*.cc' \
-exec gawk '/GTEST_FLAG_GET/ { print FILENAME ; nextfile }' '{}' '+' |
xargs -r -t sed -r -i 's/GTEST_FLAG_GET/::testing::GTEST_FLAG/g'
%build
%cmake \
-GNinja \
-DABSL_USE_EXTERNAL_GOOGLETEST:BOOL=ON \
-DABSL_FIND_GOOGLETEST:BOOL=ON \
-DABSL_ENABLE_INSTALL:BOOL=ON \
-DABSL_BUILD_TESTING:BOOL=ON \
-DBUILD_TESTING:BOOL=ON \
-DCMAKE_BUILD_TYPE:STRING=None \
-DCMAKE_CXX_STANDARD:STRING=17
%cmake_build
@ -99,19 +124,9 @@ Development headers for %{name}
%{_libdir}/pkgconfig/*.pc
%changelog
* Fri Sep 02 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 20220623.1-2
- Update to 20220623.1 (close RHBZ#2123181)
* Sat Aug 13 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 20220623.0-1
- Update to 20220623.0 (close RHBZ#2101021)
- Update License to SPDX
* Fri Jul 29 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 20211102.0-4
* Fri Jul 29 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 20211102.0-3
- Do not leak -maes -msse4.1 into pkgconfig (fix RHBZ#2108658)
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 20211102.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Tue Mar 15 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 20211102.0-2
- Disable LTO on s390x to work around test failure
- Skip SysinfoTest.NominalCPUFrequency on all architectures; it fails

View File

@ -1 +1 @@
SHA512 (abseil-cpp-20220623.1.tar.gz) = ab4fccd9a2bfa0c5ad4b56c8e8f8b7ec7a8eca8b6cc6959802acadd1da785e1feb078c6ac621808cd699c82717a9e637dc426d94b70a8db7f2a807059d41cbc2
SHA512 (abseil-cpp-20211102.0.tar.gz) = fed68aa434c02ec6faa9d1c81f1ad35b60ec024b44957e2e0ac31e6075e385c06a3e1b616afeb4bb7c2413191fd7827d82e1f9f0796b52ed21fb2c41dd9031cf