diff --git a/.gitignore b/.gitignore index 1be5bc6..382b9d2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /abseil-cpp-20200225.2.tar.gz /abseil-cpp-20200923.2.tar.gz /abseil-cpp-20200923.3.tar.gz +/abseil-cpp-20210324.2.tar.gz diff --git a/abseil-cpp-20200923.3-typematch.patch b/abseil-cpp-20200923.3-typematch.patch deleted file mode 100644 index c7335c3..0000000 --- a/abseil-cpp-20200923.3-typematch.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up ./absl/debugging/failure_signal_handler.cc.typematch ./absl/debugging/failure_signal_handler.cc ---- ./absl/debugging/failure_signal_handler.cc.typematch 2021-03-08 20:43:57.158396960 -0500 -+++ ./absl/debugging/failure_signal_handler.cc 2021-03-08 20:44:07.971430229 -0500 -@@ -135,7 +135,7 @@ static bool SetupAlternateStackOnce() { - #else - const size_t page_mask = sysconf(_SC_PAGESIZE) - 1; - #endif -- size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; -+ size_t stack_size = (std::max(SIGSTKSZ, static_cast(65536)) + page_mask) & ~page_mask; - #if defined(ABSL_HAVE_ADDRESS_SANITIZER) || \ - defined(ABSL_HAVE_MEMORY_SANITIZER) || defined(ABSL_HAVE_THREAD_SANITIZER) - // Account for sanitizer instrumentation requiring additional stack space. diff --git a/abseil-cpp-20210324-gtest.patch b/abseil-cpp-20210324-gtest.patch new file mode 100644 index 0000000..a43b5ca --- /dev/null +++ b/abseil-cpp-20210324-gtest.patch @@ -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) diff --git a/abseil-cpp.spec b/abseil-cpp.spec index fc3cd66..b72e59d 100644 --- a/abseil-cpp.spec +++ b/abseil-cpp.spec @@ -1,8 +1,11 @@ # Force out of source build %undefine __cmake_in_source_build +# Installed library version +%global lib_version 2103.0.1 + Name: abseil-cpp -Version: 20200923.3 +Version: 20210324.2 Release: 1%{?dist} Summary: C++ Common Libraries @@ -10,10 +13,16 @@ License: ASL 2.0 URL: https://abseil.io Source0: https://github.com/abseil/abseil-cpp/archive/%{version}/%{name}-%{version}.tar.gz -Patch0: abseil-cpp-20200923.3-typematch.patch +# 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 BuildRequires: cmake BuildRequires: gcc-c++ +BuildRequires: gmock-devel +BuildRequires: gtest-devel BuildRequires: make %description @@ -39,28 +48,40 @@ Requires: %{name}%{?_isa} = %{version}-%{release} Development headers for %{name} %prep -%autosetup -p1 - +%autosetup -p1 -S gendiff +sed -i 's|GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST|//|' absl/container/internal/unordered_map_modifiers_test.h %build -%cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo +%cmake \ + -DABSL_USE_EXTERNAL_GOOGLETEST:BOOL=ON \ + -DBUILD_TESTING:BOOL=ON \ + -DCMAKE_BUILD_TYPE:STRING=None \ + -DCMAKE_CXX_STANDARD:STRING=17 %cmake_build %install %cmake_install +%check +%ctest --output-on-failure %files %license LICENSE -%doc FAQ.md LTS.md README.md UPGRADES.md -%{_libdir}/libabsl_*.so +%doc FAQ.md README.md UPGRADES.md +%{_libdir}/libabsl_*.so.%{lib_version} %files devel %{_includedir}/absl +%{_libdir}/libabsl_*.so %{_libdir}/cmake/absl +%{_libdir}/pkgconfig/*.pc %changelog +* Fri May 21 2021 Rich Mattes - 20210324.1-2 +- Update to release 20210324.2 +- Enable and run test suite + * Mon Mar 08 2021 Rich Mattes - 20200923.3-1 - Update to release 20200923.3 diff --git a/sources b/sources index f256312..447714c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (abseil-cpp-20200923.3.tar.gz) = 7d9e2bc001a397b983afe1e5ca4d779bd27d0d30fad7f44e564a675e228f2fc29c203ef89dd1b0ff4a1832c6d99ae7627c9103a0daa6cccb426472528109ef85 +SHA512 (abseil-cpp-20210324.2.tar.gz) = 7b935f0f2787a81438f30072f2191138ce3c099e4b22addfbe8ebe579d906604bc6ab03f054d3d6917a08ef5cb7a4371c1a501a7dfbc15c50301261dbf5f6e27