Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
77f3f23380 | ||
|
597be65ab2 | ||
|
c93a12f360 |
22
09e96049995584c3489e4bd1467313e3e85af99c.patch
Normal file
22
09e96049995584c3489e4bd1467313e3e85af99c.patch
Normal 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()
|
44
abseil-cpp-20211102.0-disable-nominalcpufrequency.patch
Normal file
44
abseil-cpp-20211102.0-disable-nominalcpufrequency.patch
Normal 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
|
||||||
|
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
Name: abseil-cpp
|
Name: abseil-cpp
|
||||||
Version: 20211102.0
|
Version: 20211102.0
|
||||||
Release: 1%{?dist}
|
Release: 3%{?dist}
|
||||||
Summary: C++ Common Libraries
|
Summary: C++ Common Libraries
|
||||||
|
|
||||||
License: ASL 2.0
|
License: ASL 2.0
|
||||||
@ -13,7 +13,35 @@ Source0: https://github.com/abseil/abseil-cpp/archive/%{version}/%{name}-
|
|||||||
# Remove test assertions that use ::testing::Conditional, which is not in a
|
# Remove test assertions that use ::testing::Conditional, which is not in a
|
||||||
# released version of GTest. Not submitted upstream, as this is a workaround
|
# released version of GTest. Not submitted upstream, as this is a workaround
|
||||||
# rather than a fix. https://github.com/abseil/abseil-cpp/issues/1063
|
# rather than a fix. https://github.com/abseil/abseil-cpp/issues/1063
|
||||||
Patch0: abseil-cpp-20211102.0-gtest-unreleased-features.patch
|
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:
|
||||||
|
#
|
||||||
|
# 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
|
BuildRequires: cmake
|
||||||
# The default make backend would work just as well; ninja is observably faster
|
# The default make backend would work just as well; ninja is observably faster
|
||||||
@ -23,6 +51,13 @@ BuildRequires: gcc-c++
|
|||||||
BuildRequires: gmock-devel
|
BuildRequires: gmock-devel
|
||||||
BuildRequires: gtest-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
|
%description
|
||||||
Abseil is an open-source collection of C++ library code designed to augment
|
Abseil is an open-source collection of C++ library code designed to augment
|
||||||
the C++ standard library. The Abseil library code is collected from
|
the C++ standard library. The Abseil library code is collected from
|
||||||
@ -58,50 +93,6 @@ find . -type f -name '*.cc' \
|
|||||||
-exec gawk '/GTEST_FLAG_GET/ { print FILENAME ; nextfile }' '{}' '+' |
|
-exec gawk '/GTEST_FLAG_GET/ { print FILENAME ; nextfile }' '{}' '+' |
|
||||||
xargs -r -t sed -r -i 's/GTEST_FLAG_GET/::testing::GTEST_FLAG/g'
|
xargs -r -t sed -r -i 's/GTEST_FLAG_GET/::testing::GTEST_FLAG/g'
|
||||||
|
|
||||||
# It’s 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
|
%build
|
||||||
%cmake \
|
%cmake \
|
||||||
@ -133,6 +124,14 @@ sed -r -i 's/\bSymbolizeWithMultipleMaps\b/DISABLED_&/' \
|
|||||||
%{_libdir}/pkgconfig/*.pc
|
%{_libdir}/pkgconfig/*.pc
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Jul 29 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 20211102.0-3
|
||||||
|
- Do not leak -maes -msse4.1 into pkgconfig (fix RHBZ#2108658)
|
||||||
|
|
||||||
|
* 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
|
* Fri Feb 18 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 20211102.0-1
|
||||||
- Update to 20211102.0 (close RHBZ#2019691)
|
- Update to 20211102.0 (close RHBZ#2019691)
|
||||||
- Drop --output-on-failure, already in %%ctest expansion
|
- Drop --output-on-failure, already in %%ctest expansion
|
||||||
|
Loading…
Reference in New Issue
Block a user