Compare commits

3 Commits
main ... 1.1

8 changed files with 48 additions and 282 deletions

BIN
abseil-cpp-20230802.1.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
abseil-cpp-20240722.1.tar.gz (Stored with Git LFS)

Binary file not shown.

View File

@@ -1,94 +1,3 @@
-------------------------------------------------------------------
Sun Jan 26 18:31:46 UTC 2025 - Andreas Stieger <andreas.stieger@gmx.de>
- update to 20240722.1 (boo#1236438)
* potential integer overflow in hash container create/resize
-------------------------------------------------------------------
Wed Jan 15 02:02:17 UTC 2025 - Bernhard Wiedemann <bwiedemann@suse.com>
- Extend options-cxx17.patch and options-old.patch
to avoid race-condition (boo#1235867)
-------------------------------------------------------------------
Sat Nov 16 22:20:54 UTC 2024 - Andreas Stieger <andreas.stieger@gmx.de>
- update to 20240722.0:
* Add GoogleTest matchers for absl::Status. These matchers make
it easier to write unit tests for code that uses absl::Status.
* absl::AlphaNum no longer allows brace-initialization
* The deprecated symbol absl::kuint128max has been removed and
should be replaced with absl::Uint128Max().
* absl::aligned_storage_t, which was a polyfill consistent with
std::aligned_storage_t, has been removed.
std::aligned_storage_t is deprecated in C++23
* absl::StrJoin now has a absl::string_view overload. This
allows for passing a collection of string-like objects without
having to convert everything to the same type first. However,
this may be a breaking change for users passing an explicit
template argument to absl::StrJoin. In this case, simply remove
the explicit template parameter.
* vlog_is_on.h is now a public header and is no longer included
from log.h. To use VLOG_IS_ON(), absl/log/vlog_is_on.h must be
included.
- drop abseil-cmake-gtest-testonly.patch
-------------------------------------------------------------------
Fri Jul 5 21:27:25 UTC 2024 - Christoph G <foss@grueninger.de>
- Add upstream patch abseil-cmake-gtest-testonly.patch to fix
issue with GTest and CMake 3.30
-------------------------------------------------------------------
Thu Apr 11 20:12:22 UTC 2024 - Andreas Stieger <andreas.stieger@gmx.de>
- update to 20240116.2
* Added absl::NoDestructor<T> to simplify defining static types
that do not need to be destructed upon program exit.
* Added configurable verbose logging (also known as VLOG).
* Added absl::Overload(), which returns a functor that provides
overloads based on the functors passed to it. (from C++17)
* Breaking change: AbslHashValue() no longer accepts C-style
arrays as a parameter.
* Breaking change: absl::weak_equality and absl::strong_equality
have been removed
-------------------------------------------------------------------
Tue Apr 2 13:01:58 UTC 2024 - Dirk Müller <dmueller@suse.com>
- split abseil libraries so that libzypp / protobuf doesn't
require all to be installed (jsc#PED-8153)
-------------------------------------------------------------------
Mon Mar 4 10:30:53 UTC 2024 - Fridrich Strba <fstrba@suse.com>
- Fix broken link to sources
- Fix build for distributions that lack the ldconfig_scriptlets
macro
- Make the gcc version condition a bit more generic
-------------------------------------------------------------------
Sun Mar 3 06:35:57 UTC 2024 - Andreas Stieger <andreas.stieger@gmx.de>
- update to 20240116.1:
* Add absl::NoDestructor<T> to simplify defining static types
that do not need to be destructed upon program exit.
* Add configurable verbose logging (also known as VLOG).
* Added absl::Overload(), which returns a functor that provides
overloads based on the functors passed to it. Note that this
functionality requires C++17 or newer.
* Breaking Change: AbslHashValue() no longer accepts C-style
arrays as a parameter, caller need to wrap C-string literals in
absl::string_view.
* Breaking Change: absl::weak_equality and absl::strong_equality
have been removed. The corresponding std types were removed
before C++20 was finalized
-------------------------------------------------------------------
Fri Jan 19 15:53:47 UTC 2024 - Dirk Müller <dmueller@suse.com>
- fix build for non-SUSE distributions
-------------------------------------------------------------------
Fri Oct 6 17:44:18 UTC 2023 - Andreas Stieger <andreas.stieger@gmx.de>
@@ -192,7 +101,7 @@ Sat Sep 24 13:47:49 UTC 2022 - Dirk Müller <dmueller@suse.com>
Mon Jul 11 14:56:15 UTC 2022 - Bruno Pitrus <brunopitrus@hotmail.com>
- Add Fix-maes-msse41-leaking-into-pkgconfig.patch
* Do not make programs compiled with abseil require new-ish CPUs (boo#1203379)
* Do not make programs compiled with abseil require new-ish CPUs.
-------------------------------------------------------------------
Sun Jul 3 21:25:15 UTC 2022 - Matthias Eliasson <elimat@opensuse.org>
@@ -227,7 +136,7 @@ Wed Jun 29 12:49:20 UTC 2022 - Fabian Vogt <fvogt@suse.com>
-------------------------------------------------------------------
Wed Jun 29 12:04:22 UTC 2022 - Bruno Pitrus <brunopitrus@hotmail.com>
- Add options-old.patch, options-cxx17.patch (boo#1203378)
- Add options-old.patch, options-cxx17.patch
* Ensure ABI stability regardless of compiler settings per instruction in the header.
-------------------------------------------------------------------

View File

@@ -1,8 +1,7 @@
#
# spec file for package abseil-cpp
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 Andreas Stieger <Andreas.Stieger@gmx.de>
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,26 +16,27 @@
#
%global soversion so.2407.0.0
%global lname_suffix 2407_0_0
%if 0%{?gcc_version} < 7
%global with_gcc 7
%endif
%define lname libabsl2308_0_0
Name: abseil-cpp
Version: 20240722.1
Version: 20230802.1
Release: 0
Summary: C++11 libraries which augment the C++ stdlib
License: Apache-2.0
URL: https://abseil.io/
Source0: https://github.com/abseil/abseil-cpp/releases/download/%{version}/%{name}-%{version}.tar.gz
Source0: https://github.com/abseil/abseil-cpp/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
Source1: baselibs.conf
%if 0%{?suse_version} < 1500
BuildRequires: gcc7
BuildRequires: gcc7-c++
%else
BuildRequires: gcc >= 7
BuildRequires: gcc-c++ >= 7
%endif
BuildRequires: cmake
BuildRequires: fdupes
BuildRequires: gcc%{?with_gcc}
BuildRequires: gcc%{?with_gcc}-c++
BuildRequires: pkgconfig
# PATCH-FIX-OPENSUSE options-{old,cxx17}.patch Ensure ABI stability regardless of compiler options
%if 0%{?suse_version} && 0%{?suse_version} < 1550
%if 0%{?suse_version} < 1550
Patch0: options-old.patch
Patch1: cmake.patch
%else
@@ -48,33 +48,19 @@ Abseil is a collection of C++11 libraries which augment the C++
standard library. It also provides features incorporated into C++14
and C++17 standards.
%package -n libabsl_lite_%{lname_suffix}
Summary: C++11 libraries which augment the C++ stdlib - lite
%package -n %{lname}
Summary: C++11 libraries which augment the C++ stdlib
Obsoletes: abseil-cpp < %{version}-%{release}
Provides: abseil-cpp = %{version}-%{release}
%description -n libabsl_lite_%{lname_suffix}
Abseil is a collection of C++11 libraries which augment the C++
standard library. It also provides features incorporated into C++14
and C++17 standards.
This package provides the subset needed by protobuf-lite.
%package -n libabsl_%{lname_suffix}
Summary: C++11 libraries which augment the C++ stdlib - others
Obsoletes: abseil-cpp < %{version}-%{release}
Obsoletes: libabsl2401_0_0 < %{version}-%{release}
Provides: abseil-cpp = %{version}-%{release}
%description -n libabsl_%{lname_suffix}
%description -n %{lname}
Abseil is a collection of C++11 libraries which augment the C++
standard library. It also provides features incorporated into C++14
and C++17 standards.
%package devel
Summary: Header files for Abseil
Requires: libabsl_%{lname_suffix}
Requires: libabsl_lite_%{lname_suffix}
Requires: %{lname} = %{version}
%description devel
Abseil is a collection of C++11 libraries which augment the C++
@@ -85,9 +71,9 @@ This package contains headers and build system files for it.
%autosetup -p1
%build
%if 0%{?with_gcc}
export CC="gcc-%{with_gcc}"
export CXX="g++-%{with_gcc}"
%if 0%{?suse_version} < 1500
export CC="gcc-7"
export CXX="g++-7"
%endif
%cmake
%cmake_build
@@ -96,120 +82,14 @@ export CXX="g++-%{with_gcc}"
%cmake_install
%fdupes %{buildroot}/%{_prefix}
%check
%ctest
%post -n %{lname} -p /sbin/ldconfig
%postun -n %{lname} -p /sbin/ldconfig
# SLE12 doed not define this macro
%if %{undefined ldconfig_scriptlets}
%post -n libabsl_lite_%{lname_suffix} -p /sbin/ldconfig
%postun -n libabsl_lite_%{lname_suffix} -p /sbin/ldconfig
%post -n libabsl_%{lname_suffix} -p /sbin/ldconfig
%postun -n libabsl_%{lname_suffix} -p /sbin/ldconfig
%else
%ldconfig_scriptlets -n libabsl_lite_%{lname_suffix}
%ldconfig_scriptlets -n libabsl_%{lname_suffix}
%endif
%files -n libabsl_lite_%{lname_suffix}
%files -n %{lname}
%license LICENSE
%{_libdir}/libabsl_base.%{soversion}
%{_libdir}/libabsl_city.%{soversion}
%{_libdir}/libabsl_cord.%{soversion}
%{_libdir}/libabsl_cord_internal.%{soversion}
%{_libdir}/libabsl_cordz_functions.%{soversion}
%{_libdir}/libabsl_cordz_handle.%{soversion}
%{_libdir}/libabsl_cordz_info.%{soversion}
%{_libdir}/libabsl_crc32c.%{soversion}
%{_libdir}/libabsl_crc_cord_state.%{soversion}
%{_libdir}/libabsl_crc_internal.%{soversion}
%{_libdir}/libabsl_debugging_internal.%{soversion}
%{_libdir}/libabsl_demangle_internal.%{soversion}
%{_libdir}/libabsl_examine_stack.%{soversion}
%{_libdir}/libabsl_exponential_biased.%{soversion}
%{_libdir}/libabsl_hash.%{soversion}
%{_libdir}/libabsl_int128.%{soversion}
%{_libdir}/libabsl_kernel_timeout_internal.%{soversion}
%{_libdir}/libabsl_log_globals.%{soversion}
%{_libdir}/libabsl_log_internal_check_op.%{soversion}
%{_libdir}/libabsl_log_internal_format.%{soversion}
%{_libdir}/libabsl_log_internal_globals.%{soversion}
%{_libdir}/libabsl_log_internal_log_sink_set.%{soversion}
%{_libdir}/libabsl_log_internal_message.%{soversion}
%{_libdir}/libabsl_log_internal_nullguard.%{soversion}
%{_libdir}/libabsl_log_internal_proto.%{soversion}
%{_libdir}/libabsl_log_sink.%{soversion}
%{_libdir}/libabsl_low_level_hash.%{soversion}
%{_libdir}/libabsl_malloc_internal.%{soversion}
%{_libdir}/libabsl_raw_hash_set.%{soversion}
%{_libdir}/libabsl_raw_logging_internal.%{soversion}
%{_libdir}/libabsl_spinlock_wait.%{soversion}
%{_libdir}/libabsl_stacktrace.%{soversion}
%{_libdir}/libabsl_str_format_internal.%{soversion}
%{_libdir}/libabsl_strerror.%{soversion}
%{_libdir}/libabsl_string_view.%{soversion}
%{_libdir}/libabsl_strings.%{soversion}
%{_libdir}/libabsl_strings_internal.%{soversion}
%{_libdir}/libabsl_symbolize.%{soversion}
%{_libdir}/libabsl_synchronization.%{soversion}
%{_libdir}/libabsl_throw_delegate.%{soversion}
%{_libdir}/libabsl_time.%{soversion}
%{_libdir}/libabsl_time_zone.%{soversion}
%files -n libabsl_%{lname_suffix}
%license LICENSE
%{_libdir}/libabsl_bad_any_cast_impl.%{soversion}
%{_libdir}/libabsl_bad_optional_access.%{soversion}
%{_libdir}/libabsl_bad_variant_access.%{soversion}
%{_libdir}/libabsl_civil_time.%{soversion}
%{_libdir}/libabsl_cordz_sample_token.%{soversion}
%{_libdir}/libabsl_crc_cpu_detect.%{soversion}
%{_libdir}/libabsl_decode_rust_punycode.%{soversion}
%{_libdir}/libabsl_demangle_rust.%{soversion}
%{_libdir}/libabsl_die_if_null.%{soversion}
%{_libdir}/libabsl_failure_signal_handler.%{soversion}
%{_libdir}/libabsl_flags_commandlineflag_internal.%{soversion}
%{_libdir}/libabsl_flags_commandlineflag.%{soversion}
%{_libdir}/libabsl_flags_config.%{soversion}
%{_libdir}/libabsl_flags_internal.%{soversion}
%{_libdir}/libabsl_flags_marshalling.%{soversion}
%{_libdir}/libabsl_flags_parse.%{soversion}
%{_libdir}/libabsl_flags_private_handle_accessor.%{soversion}
%{_libdir}/libabsl_flags_program_name.%{soversion}
%{_libdir}/libabsl_flags_reflection.%{soversion}
%{_libdir}/libabsl_flags_usage_internal.%{soversion}
%{_libdir}/libabsl_flags_usage.%{soversion}
%{_libdir}/libabsl_graphcycles_internal.%{soversion}
%{_libdir}/libabsl_hashtablez_sampler.%{soversion}
%{_libdir}/libabsl_leak_check.%{soversion}
%{_libdir}/libabsl_log_entry.%{soversion}
%{_libdir}/libabsl_log_flags.%{soversion}
%{_libdir}/libabsl_log_initialize.%{soversion}
%{_libdir}/libabsl_log_internal_conditions.%{soversion}
%{_libdir}/libabsl_log_internal_fnmatch.%{soversion}
%{_libdir}/libabsl_log_severity.%{soversion}
%{_libdir}/libabsl_periodic_sampler.%{soversion}
%{_libdir}/libabsl_poison.%{soversion}
%{_libdir}/libabsl_random_distributions.%{soversion}
%{_libdir}/libabsl_random_internal_distribution_test_util.%{soversion}
%{_libdir}/libabsl_random_internal_platform.%{soversion}
%{_libdir}/libabsl_random_internal_pool_urbg.%{soversion}
%{_libdir}/libabsl_random_internal_randen_hwaes_impl.%{soversion}
%{_libdir}/libabsl_random_internal_randen_hwaes.%{soversion}
%{_libdir}/libabsl_random_internal_randen_slow.%{soversion}
%{_libdir}/libabsl_random_internal_randen.%{soversion}
%{_libdir}/libabsl_random_internal_seed_material.%{soversion}
%{_libdir}/libabsl_random_seed_gen_exception.%{soversion}
%{_libdir}/libabsl_random_seed_sequences.%{soversion}
%{_libdir}/libabsl_scoped_set_env.%{soversion}
%{_libdir}/libabsl_statusor.%{soversion}
%{_libdir}/libabsl_status.%{soversion}
%{_libdir}/libabsl_utf8_for_code_point.%{soversion}
%{_libdir}/libabsl_vlog_config_internal.%{soversion}
%{_libdir}/libabsl_*.so.*
%files devel
%license LICENSE
%doc README.md
%{_includedir}/absl
%{_libdir}/cmake/absl

View File

@@ -1,2 +1 @@
libabsl_lite_2407_0_0
libabsl_2407_0_0
libabsl2308_0_0

View File

@@ -1,13 +1,11 @@
Index: abseil-cpp-20240722.0/CMakeLists.txt
===================================================================
--- abseil-cpp-20240722.0.orig/CMakeLists.txt
+++ abseil-cpp-20240722.0/CMakeLists.txt
--- abseil-cpp-20230125.3/CMakeLists.txt 2023-08-08 13:05:37.796998429 +0200
+++ abseil-cpp-20230125.3/CMakeLists.txt 2023-08-08 13:06:11.263885421 +0200
@@ -16,7 +16,7 @@
# https://github.com/google/oss-policies-info/blob/main/foundational-cxx-support-matrix.md
# As of 2024-07-01, CMake 3.16 is the minimum supported version.
-cmake_minimum_required(VERSION 3.16)
# As of 2022-09-06, CMake 3.10 is the minimum supported version.
-cmake_minimum_required(VERSION 3.10)
+cmake_minimum_required(VERSION 3.5)
# Allow the user to specify the CMAKE_MSVC_DEBUG_INFORMATION_FORMAT
if (POLICY CMP0141)
# Compiler id for Apple Clang is now AppleClang.
if (POLICY CMP0025)

View File

@@ -3,10 +3,10 @@ to avoid mysterious linker errors when using wrong C++ version in compiler.
This version of patch is for new systems (Tumbleweed) where Abseil is built with C++17 support.
For more information, see “notice for package managers” in options.h
Index: abseil-cpp-20240116.1/absl/base/options.h
Index: abseil-cpp-20230125.2/absl/base/options.h
===================================================================
--- abseil-cpp-20240116.1.orig/absl/base/options.h
+++ abseil-cpp-20240116.1/absl/base/options.h
--- abseil-cpp-20230125.2.orig/absl/base/options.h
+++ abseil-cpp-20230125.2/absl/base/options.h
@@ -94,7 +94,7 @@
// User code should not inspect this macro. To check in the preprocessor if
// absl::any is a typedef of std::any, use the feature macro ABSL_USES_STD_ANY.
@@ -41,14 +41,5 @@ Index: abseil-cpp-20240116.1/absl/base/options.h
-#define ABSL_OPTION_USE_STD_VARIANT 2
+#define ABSL_OPTION_USE_STD_VARIANT 1
// ABSL_OPTION_USE_STD_ORDERING
//
@@ -201,7 +201,7 @@
// the ordering types are aliases of std:: ordering types, use the feature macro
// ABSL_USES_STD_ORDERING.
-#define ABSL_OPTION_USE_STD_ORDERING 2
+#define ABSL_OPTION_USE_STD_ORDERING 0
// ABSL_OPTION_USE_INLINE_NAMESPACE
// ABSL_OPTION_INLINE_NAMESPACE_NAME

View File

@@ -3,11 +3,9 @@ to avoid mysterious linker errors when using wrong C++ version in compiler.
This version of the patch is for old systems where the system compiler does not use C++17.
For more information, see “notice for package managers” in options.h
Index: abseil-cpp-20240116.1/absl/base/options.h
===================================================================
--- abseil-cpp-20240116.1.orig/absl/base/options.h
+++ abseil-cpp-20240116.1/absl/base/options.h
@@ -94,7 +94,7 @@
--- a/absl/base/options.h 2021-11-03 16:26:14.000000000 +0100
+++ b/absl/base/options.h 2022-06-28 22:49:52.830727200 +0200
@@ -100,7 +100,7 @@
// User code should not inspect this macro. To check in the preprocessor if
// absl::any is a typedef of std::any, use the feature macro ABSL_USES_STD_ANY.
@@ -16,7 +14,7 @@ Index: abseil-cpp-20240116.1/absl/base/options.h
// ABSL_OPTION_USE_STD_OPTIONAL
@@ -121,7 +121,7 @@
@@ -127,7 +127,7 @@
// absl::optional is a typedef of std::optional, use the feature macro
// ABSL_USES_STD_OPTIONAL.
@@ -25,7 +23,7 @@ Index: abseil-cpp-20240116.1/absl/base/options.h
// ABSL_OPTION_USE_STD_STRING_VIEW
@@ -148,7 +148,7 @@
@@ -154,7 +154,7 @@
// absl::string_view is a typedef of std::string_view, use the feature macro
// ABSL_USES_STD_STRING_VIEW.
@@ -34,21 +32,12 @@ Index: abseil-cpp-20240116.1/absl/base/options.h
// ABSL_OPTION_USE_STD_VARIANT
//
@@ -174,7 +174,7 @@
@@ -180,7 +180,7 @@
// absl::variant is a typedef of std::variant, use the feature macro
// ABSL_USES_STD_VARIANT.
-#define ABSL_OPTION_USE_STD_VARIANT 2
+#define ABSL_OPTION_USE_STD_VARIANT 0
// ABSL_OPTION_USE_STD_ORDERING
//
@@ -201,7 +201,7 @@
// the ordering types are aliases of std:: ordering types, use the feature macro
// ABSL_USES_STD_ORDERING.
-#define ABSL_OPTION_USE_STD_ORDERING 2
+#define ABSL_OPTION_USE_STD_ORDERING 0
// ABSL_OPTION_USE_INLINE_NAMESPACE
// ABSL_OPTION_INLINE_NAMESPACE_NAME