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
|
||||
Version: 20211102.0
|
||||
Release: 1%{?dist}
|
||||
Release: 3%{?dist}
|
||||
Summary: C++ Common Libraries
|
||||
|
||||
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
|
||||
# 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
|
||||
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
|
||||
# The default make backend would work just as well; ninja is observably faster
|
||||
@ -23,6 +51,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
|
||||
@ -58,50 +93,6 @@ 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'
|
||||
|
||||
# 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
|
||||
%cmake \
|
||||
@ -133,6 +124,14 @@ sed -r -i 's/\bSymbolizeWithMultipleMaps\b/DISABLED_&/' \
|
||||
%{_libdir}/pkgconfig/*.pc
|
||||
|
||||
%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
|
||||
- Update to 20211102.0 (close RHBZ#2019691)
|
||||
- Drop --output-on-failure, already in %%ctest expansion
|
||||
|
Loading…
Reference in New Issue
Block a user