Blame SPECS/abseil-cpp.spec

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