63c98b4
# Force out of source build
63c98b4
%undefine __cmake_in_source_build
63c98b4
ac534fb
# Installed library version
ac534fb
%global lib_version 2103.0.1
ac534fb
a5ac5b8
Name:           abseil-cpp
ac534fb
Version:        20210324.2
ecdedf0
Release:        5%{?dist}
a5ac5b8
Summary:        C++ Common Libraries
a5ac5b8
a5ac5b8
License:        ASL 2.0
a5ac5b8
URL:            https://abseil.io
a5ac5b8
Source0:        https://github.com/abseil/abseil-cpp/archive/%{version}/%{name}-%{version}.tar.gz
a5ac5b8
ac534fb
# Set up system gtest and gmock targets to allow test suite to be built.
ac534fb
# abseil-cpp expects the targets to be created by a bundled copy of gtest/gmock.
ac534fb
# This patch replicates those targets via find_library and imported targets.
ac534fb
# Not submitted upstream.
ecdedf0
Patch:          abseil-cpp-20210324-gtest.patch
a8e7f94
f7adba5
# Disable CPU frequency detection on armv7hl architectures.
f7adba5
# Makes test consistent with aarch64 CPUs.
f7adba5
# Not submitted upstream.
ecdedf0
Patch:          abseil-cpp-20210324.2-armv7.patch
ecdedf0
# Backport upstream commit 09e96049995584c3489e4bd1467313e3e85af99c, which
ecdedf0
# corresponds to:
ecdedf0
#
ecdedf0
# Do not leak -maes -msse4.1 into pkgconfig
ecdedf0
# https://github.com/abseil/abseil-cpp/pull/1216
ecdedf0
#
ecdedf0
# Fixes RHBZ#2108658.
ecdedf0
Patch:          https://github.com/abseil/abseil-cpp/commit/09e96049995584c3489e4bd1467313e3e85af99c.patch
f7adba5
a5ac5b8
BuildRequires:  cmake
a5ac5b8
BuildRequires:  gcc-c++
ac534fb
BuildRequires:  gmock-devel
ac534fb
BuildRequires:  gtest-devel
a8e7f94
BuildRequires:  make
a5ac5b8
a5ac5b8
%description
a5ac5b8
Abseil is an open-source collection of C++ library code designed to augment
a5ac5b8
the C++ standard library. The Abseil library code is collected from
a5ac5b8
Google's own C++ code base, has been extensively tested and used in
a5ac5b8
production, and is the same code we depend on in our daily coding lives.
a5ac5b8
a5ac5b8
In some cases, Abseil provides pieces missing from the C++ standard; in
a5ac5b8
others, Abseil provides alternatives to the standard for special needs we've
a5ac5b8
found through usage in the Google code base. We denote those cases clearly
a5ac5b8
within the library code we provide you.
a5ac5b8
a5ac5b8
Abseil is not meant to be a competitor to the standard library; we've just
a5ac5b8
found that many of these utilities serve a purpose within our code base,
a5ac5b8
and we now want to provide those resources to the C++ community as a whole.
a5ac5b8
a5ac5b8
%package devel
a5ac5b8
Summary: Development files for %{name}
a5ac5b8
Requires: %{name}%{?_isa} = %{version}-%{release}
a5ac5b8
a5ac5b8
%description devel
a5ac5b8
Development headers for %{name}
a5ac5b8
a5ac5b8
%prep
ac534fb
%autosetup -p1 -S gendiff
a5ac5b8
a5ac5b8
%build
ac534fb
%cmake \
ac534fb
  -DABSL_USE_EXTERNAL_GOOGLETEST:BOOL=ON \
ac534fb
  -DBUILD_TESTING:BOOL=ON \
ac534fb
  -DCMAKE_BUILD_TYPE:STRING=None \
ac534fb
  -DCMAKE_CXX_STANDARD:STRING=17
63c98b4
%cmake_build
a5ac5b8
a5ac5b8
a5ac5b8
%install
63c98b4
%cmake_install
a5ac5b8
ac534fb
%check
f7adba5
# s390x does not seem to be supported, several tests fail.
f7adba5
# Make tests informational until failures are resolved.
f7adba5
%ifarch s390x
f7adba5
%ctest --output-on-failure || :
f7adba5
%else
ac534fb
%ctest --output-on-failure
f7adba5
%endif
a5ac5b8
a5ac5b8
%files
a5ac5b8
%license LICENSE
ac534fb
%doc FAQ.md README.md UPGRADES.md
ac534fb
%{_libdir}/libabsl_*.so.%{lib_version}
a5ac5b8
a5ac5b8
%files devel
a5ac5b8
%{_includedir}/absl
ac534fb
%{_libdir}/libabsl_*.so
a5ac5b8
%{_libdir}/cmake/absl
ac534fb
%{_libdir}/pkgconfig/*.pc
a5ac5b8
a5ac5b8
%changelog
ecdedf0
* Fri Jul 29 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 20210324.2-5
ecdedf0
- Do not leak -maes -msse4.1 into pkgconfig (fix RHBZ#2108658)
ecdedf0
95b3923
* Mon Jan 31 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 20210324.2-4
95b3923
- Fix test failure (fix RHBZ#2045186)
95b3923
5633c82
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 20210324.2-3
5633c82
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
5633c82
a5c962e
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 20210324.2-2
a5c962e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
a5c962e
ac534fb
* Fri May 21 2021 Rich Mattes <richmattes@gmail.com> - 20210324.1-2
ac534fb
- Update to release 20210324.2
ac534fb
- Enable and run test suite
ac534fb
ea6a624
* Mon Mar 08 2021 Rich Mattes <richmattes@gmail.com> - 20200923.3-1
ea6a624
- Update to release 20200923.3
ea6a624
8920859
* Mon Jan 25 2021 Fedora Release Engineering <releng@fedoraproject.org> - 20200923.2-2
8920859
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
8920859
7a492a8
* Sat Dec 19 2020 Rich Mattes <richmattes@gmail.com> - 20200923.2-1
7a492a8
- Update to release 20200923.2
7a492a8
- Rebuild to fix tagging in koji (rhbz#1885561)
7a492a8
0c16b9e
* Fri Jul 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 20200225.2-4
0c16b9e
- Second attempt - Rebuilt for
0c16b9e
  https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
0c16b9e
71cf974
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 20200225.2-3
71cf974
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
71cf974
a5ac5b8
* Wed May 27 2020 Rich Mattes <richmattes@gmail.com> - 20200225.2-2
a5ac5b8
- Don't remove buildroot in install
a5ac5b8
a5ac5b8
* Sun May 24 2020 Rich Mattes <richmattes@gmail.com> - 20200225.2-1
a5ac5b8
- Initial package.