Compare commits
7 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a28815cce9 | ||
|
|
dfa9e68631 | ||
|
|
1db674ec9c | ||
|
|
c825cd247b | ||
|
|
77f3f23380 | ||
|
|
597be65ab2 | ||
|
|
c93a12f360 |
3 changed files with 157 additions and 48 deletions
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
|
||||||
|
|
||||||
139
abseil-cpp.spec
139
abseil-cpp.spec
|
|
@ -3,17 +3,59 @@
|
||||||
|
|
||||||
Name: abseil-cpp
|
Name: abseil-cpp
|
||||||
Version: 20211102.0
|
Version: 20211102.0
|
||||||
Release: 1%{?dist}
|
Release: 4%{?dist}
|
||||||
Summary: C++ Common Libraries
|
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.
|
||||||
|
# Public-domain license text for these files was added to the
|
||||||
|
# public-domain-text.txt file in fedora-license-data in commit
|
||||||
|
# 538bc87d5e3c1cb08e81d690ce4122e1273dc9cd
|
||||||
|
# (https://gitlab.com/fedora/legal/fedora-license-data/-/merge_requests/205).
|
||||||
|
License: Apache-2.0 AND LicenseRef-Fedora-Public-Domain
|
||||||
URL: https://abseil.io
|
URL: https://abseil.io
|
||||||
Source0: https://github.com/abseil/abseil-cpp/archive/%{version}/%{name}-%{version}.tar.gz
|
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
|
# 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 +65,25 @@ BuildRequires: gcc-c++
|
||||||
BuildRequires: gmock-devel
|
BuildRequires: gmock-devel
|
||||||
BuildRequires: gtest-devel
|
BuildRequires: gtest-devel
|
||||||
|
|
||||||
|
# The contents of absl/time/internal/cctz are derived from
|
||||||
|
# https://github.com/google/cctz (https://src.fedoraproject.org/rpms/cctz), but
|
||||||
|
# have been forked with Abseil-specific changes. It is not obvious from which
|
||||||
|
# particular version of CCTZ these sources are derived. Upstream was asked
|
||||||
|
# about a path to supporting a system copy as required by bundling guidelines:
|
||||||
|
# Please comment on CCTZ bundling
|
||||||
|
# https://github.com/abseil/abseil-cpp/discussions/1415
|
||||||
|
# They refused, for the time being, as follows:
|
||||||
|
# “[…] we have no plans to change this decision, but we reserve the right to
|
||||||
|
# change our minds.”
|
||||||
|
Provides: bundled(cctz)
|
||||||
|
|
||||||
|
%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
|
||||||
|
|
@ -42,6 +103,10 @@ and we now want to provide those resources to the C++ community as a whole.
|
||||||
Summary: Development files for %{name}
|
Summary: Development files for %{name}
|
||||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
# Some of the headers from CCTZ are part of the -devel subpackage. See the
|
||||||
|
# corresponding virtual Provides in the base package for full details.
|
||||||
|
Provides: bundled(cctz)
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
Development headers for %{name}
|
Development headers for %{name}
|
||||||
|
|
||||||
|
|
@ -58,50 +123,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 \
|
||||||
|
|
@ -119,7 +140,16 @@ sed -r -i 's/\bSymbolizeWithMultipleMaps\b/DISABLED_&/' \
|
||||||
%cmake_install
|
%cmake_install
|
||||||
|
|
||||||
%check
|
%check
|
||||||
%ctest
|
skips='^($.'
|
||||||
|
%ifarch ppc64le
|
||||||
|
# [Bug]: Flaky test failures in absl_failure_signal_handler_test on ppc64le in
|
||||||
|
# Fedora
|
||||||
|
# https://github.com/abseil/abseil-cpp/issues/1804
|
||||||
|
skips="${skips}|absl_failure_signal_handler_test"
|
||||||
|
%endif
|
||||||
|
skips="${skips})$"
|
||||||
|
|
||||||
|
%ctest --exclude-regex "${skips}"
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%license LICENSE
|
%license LICENSE
|
||||||
|
|
@ -133,6 +163,19 @@ sed -r -i 's/\bSymbolizeWithMultipleMaps\b/DISABLED_&/' \
|
||||||
%{_libdir}/pkgconfig/*.pc
|
%{_libdir}/pkgconfig/*.pc
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sat Jan 25 2025 Benjamin A. Beasley <code@musicinmybrain.net> - 20211102.0-4
|
||||||
|
- Update License to SPDX
|
||||||
|
- Indicate CCTZ bundling
|
||||||
|
- Report and skip a test regression on ppc64le
|
||||||
|
|
||||||
|
* 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…
Add table
Add a link
Reference in a new issue