Compare commits

...

14 Commits
f35 ... rawhide

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
Benjamin A. Beasley c43daf75e5 Drop patch for armv7hl 2022-02-27 13:48:55 -05:00
Benjamin A. Beasley 90ddd348dd Use ninja backend for CMake: speeds up build with no downsides 2022-02-18 15:25:18 -05:00
Benjamin A. Beasley 20f616750e On s390x, instead of ignoring all tests, skip only the single failing test 2022-02-18 09:22:12 -05:00
Benjamin A. Beasley 804bd00e2c Drop --output-on-failure, already in %%ctest expansion 2022-02-18 09:14:04 -05:00
Benjamin A. Beasley d70989cf7d Update to 20211102.0 (close RHBZ#2019691) 2022-02-18 09:14:02 -05:00
Benjamin A. Beasley 95b392305a Fix test failure (fix RHBZ#2045186) 2022-02-15 08:38:08 -05:00
Fedora Release Engineering 5633c821bd - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-19 20:51:58 +00:00
6 changed files with 93 additions and 73 deletions

3
.gitignore vendored
View File

@ -2,3 +2,6 @@
/abseil-cpp-20200923.2.tar.gz
/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,26 +0,0 @@
diff -up ./CMakeLists.txt.2 ./CMakeLists.txt
--- ./CMakeLists.txt.2 2021-04-20 12:55:14.000000000 -0400
+++ ./CMakeLists.txt 2021-05-21 22:26:12.910191071 -0400
@@ -127,6 +127,22 @@ if(BUILD_TESTING)
set(absl_gtest_src_dir ${ABSL_LOCAL_GOOGLETEST_DIR})
endif()
include(CMake/Googletest/DownloadGTest.cmake)
+ else()
+ # Set up gtest targets
+ find_library(GTEST_LIB gtest)
+ add_library(gtest UNKNOWN IMPORTED)
+ set_target_properties(gtest PROPERTIES IMPORTED_LOCATION ${GTEST_LIB})
+ find_library(GTEST_MAIN_LIB gtest_main)
+ add_library(gtest_main UNKNOWN IMPORTED)
+ set_target_properties(gtest_main PROPERTIES IMPORTED_LOCATION ${GTEST_MAIN_LIB} INTERFACE_LINK_LIBRARIES gtest)
+
+ # Set up gmock targets
+ find_library(GMOCK_LIB gmock)
+ add_library(gmock UNKNOWN IMPORTED)
+ set_target_properties(gmock PROPERTIES IMPORTED_LOCATION ${GMOCK_LIB} INTERFACE_LINK_LIBRARIES gtest)
+ find_library(GMOCK_MAIN_LIB gmock_main)
+ add_library(gmock_main UNKNOWN IMPORTED)
+ set_target_properties(gmock_main PROPERTIES IMPORTED_LOCATION ${GMOCK_MAIN_LIB} INTERFACE_LINK_LIBRARIES "gmock;Threads::Threads")
endif()
check_target(gtest)

View File

@ -1,19 +0,0 @@
diff -up ./absl/base/internal/sysinfo_test.cc.armv7 ./absl/base/internal/sysinfo_test.cc
--- ./absl/base/internal/sysinfo_test.cc.armv7 2021-06-09 21:54:44.503755718 -0400
+++ ./absl/base/internal/sysinfo_test.cc 2021-06-09 22:56:14.459611843 -0400
@@ -43,13 +43,13 @@ TEST(SysinfoTest, NumCPUs) {
// POWER is particularly problematic here; some Linux kernels expose the CPU
// 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__)))
+#if !(defined(__linux) && (defined(__ppc64__) || defined(__PPC64__) || defined(__aarch64__) || defined(__arm__)))
TEST(SysinfoTest, NominalCPUFrequency) {
// Linux only exposes the CPU frequency on certain architectures, and
// Emscripten doesn't expose it at all.
#if defined(__linux__) && \
(defined(__aarch64__) || defined(__hppa__) || defined(__mips__) || \
- defined(__riscv) || defined(__s390x__)) || \
+ defined(__riscv) || defined(__s390x__)) || \
defined(__EMSCRIPTEN__)
EXPECT_EQ(NominalCPUFrequency(), 1.0)
<< "CPU frequency detection was fixed! Please update unittest.";

View File

@ -1,34 +1,48 @@
# Force out of source build
%undefine __cmake_in_source_build
# Installed library version
%global lib_version 2103.0.1
%global lib_version 2206.0.0
Name: abseil-cpp
Version: 20210324.2
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
# Set up system gtest and gmock targets to allow test suite to be built.
# abseil-cpp expects the targets to be created by a bundled copy of gtest/gmock.
# This patch replicates those targets via find_library and imported targets.
# Not submitted upstream.
Patch1: abseil-cpp-20210324-gtest.patch
# Disable CPU frequency detection on armv7hl architectures.
# Makes test consistent with aarch64 CPUs.
# Not submitted upstream.
Patch2: abseil-cpp-20210324.2-armv7.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
BuildRequires: ninja-build
BuildRequires: gcc-c++
BuildRequires: gmock-devel
BuildRequires: gtest-devel
BuildRequires: make
%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
@ -54,13 +68,14 @@ Development headers for %{name}
%prep
%autosetup -p1 -S gendiff
# Remove macro only defined in googletest git master
sed -i 's|GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST|//|' absl/container/internal/unordered_map_modifiers_test.h
%build
%cmake \
-GNinja \
-DABSL_USE_EXTERNAL_GOOGLETEST:BOOL=ON \
-DBUILD_TESTING:BOOL=ON \
-DABSL_FIND_GOOGLETEST:BOOL=ON \
-DABSL_ENABLE_INSTALL:BOOL=ON \
-DABSL_BUILD_TESTING:BOOL=ON \
-DCMAKE_BUILD_TYPE:STRING=None \
-DCMAKE_CXX_STANDARD:STRING=17
%cmake_build
@ -70,13 +85,7 @@ sed -i 's|GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST|//|' absl/container/inte
%cmake_install
%check
# s390x does not seem to be supported, several tests fail.
# Make tests informational until failures are resolved.
%ifarch s390x
%ctest --output-on-failure || :
%else
%ctest --output-on-failure
%endif
%ctest
%files
%license LICENSE
@ -90,6 +99,37 @@ sed -i 's|GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST|//|' absl/container/inte
%{_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
- On s390x, instead of ignoring all tests, skip only the single failing test
- Use ninja backend for CMake: speeds up build with no downsides
- Drop patch for armv7hl
* Mon Jan 31 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 20210324.2-4
- Fix test failure (fix RHBZ#2045186)
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 20210324.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 20210324.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

View File

@ -1 +1 @@
SHA512 (abseil-cpp-20210324.2.tar.gz) = 7b935f0f2787a81438f30072f2191138ce3c099e4b22addfbe8ebe579d906604bc6ab03f054d3d6917a08ef5cb7a4371c1a501a7dfbc15c50301261dbf5f6e27
SHA512 (abseil-cpp-20220623.1.tar.gz) = ab4fccd9a2bfa0c5ad4b56c8e8f8b7ec7a8eca8b6cc6959802acadd1da785e1feb078c6ac621808cd699c82717a9e637dc426d94b70a8db7f2a807059d41cbc2