Compare commits

..

1 Commits
rawhide ... f36

Author SHA1 Message Date
Benjamin A. Beasley ecdedf0a4a Do not leak -maes -msse4.1 into pkgconfig (fix RHBZ#2108658) 2022-07-29 08:21:53 -04:00
5 changed files with 73 additions and 56 deletions

3
.gitignore vendored
View File

@ -2,6 +2,3 @@
/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,26 @@
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

@ -0,0 +1,19 @@
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,25 +1,28 @@
# Force out of source build
%undefine __cmake_in_source_build
# Installed library version
%global lib_version 2206.0.0
%global lib_version 2103.0.1
Name: abseil-cpp
Version: 20220623.1
Release: 2%{?dist}
Version: 20210324.2
Release: 5%{?dist}
Summary: C++ Common Libraries
# 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
License: ASL 2.0
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.
Patch: abseil-cpp-20210324-gtest.patch
# Disable CPU frequency detection on armv7hl architectures.
# Makes test consistent with aarch64 CPUs.
# Not submitted upstream.
Patch: abseil-cpp-20210324.2-armv7.patch
# Backport upstream commit 09e96049995584c3489e4bd1467313e3e85af99c, which
# corresponds to:
#
@ -30,19 +33,10 @@ Source0: https://github.com/abseil/abseil-cpp/archive/%{version}/%{name}-
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
%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
BuildRequires: make
%description
Abseil is an open-source collection of C++ library code designed to augment
@ -71,11 +65,8 @@ Development headers for %{name}
%build
%cmake \
-GNinja \
-DABSL_USE_EXTERNAL_GOOGLETEST:BOOL=ON \
-DABSL_FIND_GOOGLETEST:BOOL=ON \
-DABSL_ENABLE_INSTALL:BOOL=ON \
-DABSL_BUILD_TESTING:BOOL=ON \
-DBUILD_TESTING:BOOL=ON \
-DCMAKE_BUILD_TYPE:STRING=None \
-DCMAKE_CXX_STANDARD:STRING=17
%cmake_build
@ -85,7 +76,13 @@ Development headers for %{name}
%cmake_install
%check
%ctest
# 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
%files
%license LICENSE
@ -99,31 +96,9 @@ Development headers for %{name}
%{_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
* Fri Jul 29 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 20210324.2-5
- 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)

View File

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