Compare commits

...

7 Commits

Author SHA1 Message Date
Benjamin A. Beasley 63fe7364ce Update to 20220623.1 (close RHBZ#2123181) 2022-09-02 09:36:53 -04:00
Benjamin A. Beasley 13bb6803bb Update License to SPDX 2022-08-13 09:44:55 -04:00
Benjamin A. Beasley 99fe9af2af Update to 20220623.0 (close RHBZ#2101021) 2022-08-13 09:44:44 -04:00
Benjamin A. Beasley e0b2e831a5 Do not leak -maes -msse4.1 into pkgconfig (fix RHBZ#2108658) 2022-07-29 08:21:22 -04:00
Fedora Release Engineering 245608b286 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-20 20:22:41 +00:00
Benjamin A. Beasley 4b8d306dee 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-03-16 14:42:09 -04:00
Benjamin A. Beasley 0da16bcfd8 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-03-15 12:32:25 -04:00
5 changed files with 73 additions and 176 deletions

2
.gitignore vendored
View File

@ -3,3 +3,5 @@
/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,22 @@
From 09e96049995584c3489e4bd1467313e3e85af99c Mon Sep 17 00:00:00 2001
From: Bruno Pitrus <brunopitrus@hotmail.com>
Date: Mon, 11 Jul 2022 18:27:39 +0200
Subject: [PATCH] Do not leak -maes -msse4.1 into pkgconfig
---
CMake/AbseilHelpers.cmake | 2 ++
1 file changed, 2 insertions(+)
diff --git a/CMake/AbseilHelpers.cmake b/CMake/AbseilHelpers.cmake
index ebe9ddc87..9cd87c513 100644
--- a/CMake/AbseilHelpers.cmake
+++ b/CMake/AbseilHelpers.cmake
@@ -166,6 +166,8 @@ function(absl_cc_library)
set(PC_CFLAGS "${PC_CFLAGS} ${cflag}")
elseif(${cflag} MATCHES "^(-W|/w[1234eo])")
# Don't impose our warnings on others.
+ elseif(${cflag} MATCHES "^-m")
+ # Don't impose CPU instruction requirements on others, as the code performs feature detection on runtime.
else()
set(PC_CFLAGS "${PC_CFLAGS} ${cflag}")
endif()

View File

@ -1,111 +0,0 @@
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,19 +1,33 @@
# Installed library version
%global lib_version 2111.0.0
%global lib_version 2206.0.0
Name: abseil-cpp
Version: 20211102.0
Release: 1%{?dist}
Version: 20220623.1
Release: 2%{?dist}
Summary: C++ Common Libraries
License: ASL 2.0
# 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
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
Patch0: abseil-cpp-20211102.0-gtest-unreleased-features.patch
# Backport upstream commit 09e96049995584c3489e4bd1467313e3e85af99c, which
# corresponds to:
#
# Do not leak -maes -msse4.1 into pkgconfig
# https://github.com/abseil/abseil-cpp/pull/1216
#
# Fixes RHBZ#2108658.
Patch: https://github.com/abseil/abseil-cpp/commit/09e96049995584c3489e4bd1467313e3e85af99c.patch
BuildRequires: cmake
# The default make backend would work just as well; ninja is observably faster
@ -23,6 +37,13 @@ BuildRequires: gcc-c++
BuildRequires: gmock-devel
BuildRequires: gtest-devel
%ifarch s390x
# Symbolize.SymbolizeWithMultipleMaps fails in absl_symbolize_test on s390x
# with LTO
# https://github.com/abseil/abseil-cpp/issues/1133
%global _lto_cflags %{nil}
%endif
%description
Abseil is an open-source collection of C++ library code designed to augment
the C++ standard library. The Abseil library code is collected from
@ -48,68 +69,13 @@ 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'
# Its extremely difficult to pass gtest options through to the test
# executables from ctest. We could probably skip an entire executable (e.g.
# absl_symbolize_test) by symlinking it to /bin/true, but the easiest way to
# skip a *single test* is to patch the test source.
%ifarch s390x
# TODO: why does this test fail?
#
# 48/167 Test #49: absl_symbolize_test ................................***Failed 0.02 sec
# TestWithReturnAddress passed
# [==========] Running 7 tests from 1 test suite.
# [----------] Global test environment set-up.
# [----------] 7 tests from Symbolize
# [ RUN ] Symbolize.Cached
# [ OK ] Symbolize.Cached (0 ms)
# [ RUN ] Symbolize.Truncation
# [ OK ] Symbolize.Truncation (0 ms)
# [ RUN ] Symbolize.SymbolizeWithDemangling
# [ OK ] Symbolize.SymbolizeWithDemangling (0 ms)
# [ RUN ] Symbolize.SymbolizeSplitTextSections
# [ OK ] Symbolize.SymbolizeSplitTextSections (0 ms)
# [ RUN ] Symbolize.SymbolizeWithMultipleMaps
# /builddir/build/BUILD/abseil-cpp-20210324.2/absl/debugging/symbolize_test.cc:315: Failure
# Expected equality of these values:
# "kPadding1"
# buf
# Which is: ""
# /builddir/build/BUILD/abseil-cpp-20210324.2/absl/debugging/symbolize_test.cc:349: Failure
# Expected equality of these values:
# expected[i]
# Which is: "kPadding1"
# buf
# Which is: ""
# /builddir/build/BUILD/abseil-cpp-20210324.2/absl/debugging/symbolize_test.cc:349: Failure
# Expected equality of these values:
# expected[i]
# Which is: "kPadding1"
# buf
# Which is: ""
# [ FAILED ] Symbolize.SymbolizeWithMultipleMaps (1 ms)
sed -r -i 's/\bSymbolizeWithMultipleMaps\b/DISABLED_&/' \
absl/debugging/symbolize_test.cc
%endif
%build
%cmake \
-GNinja \
-DABSL_USE_EXTERNAL_GOOGLETEST:BOOL=ON \
-DABSL_FIND_GOOGLETEST:BOOL=ON \
-DABSL_ENABLE_INSTALL:BOOL=ON \
-DBUILD_TESTING:BOOL=ON \
-DABSL_BUILD_TESTING:BOOL=ON \
-DCMAKE_BUILD_TYPE:STRING=None \
-DCMAKE_CXX_STANDARD:STRING=17
%cmake_build
@ -133,6 +99,24 @@ sed -r -i 's/\bSymbolizeWithMultipleMaps\b/DISABLED_&/' \
%{_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
- 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
occasionally on aarch64, and upstream says we should not care
* Fri Feb 18 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 20211102.0-1
- Update to 20211102.0 (close RHBZ#2019691)
- Drop --output-on-failure, already in %%ctest expansion

View File

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