Sync from SUSE:SLFO:Main abseil-cpp revision 7af5197487b66a7f2985d0cdc8f24611

This commit is contained in:
Adrian Schröter 2024-05-03 10:50:03 +02:00
commit a3e2805dc1
8 changed files with 568 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

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

Binary file not shown.

343
abseil-cpp.changes Normal file
View File

@ -0,0 +1,343 @@
-------------------------------------------------------------------
Fri Oct 6 17:44:18 UTC 2023 - Andreas Stieger <andreas.stieger@gmx.de>
- update to 20230802.1:
* Add StdcppWaiter to the end of the list of waiter
implementations
-------------------------------------------------------------------
Thu Sep 7 06:49:51 UTC 2023 - Adrian Schröter <adrian@suse.de>
- update to 20230802.0
What's New:
* Added the nullability library for designating the expected
nullability of pointers. Currently these serve as annotations
only, but it is expected that compilers will one day be able
to use these annotations for diagnostic purposes.
* Added the prefetch library as a portable layer for moving data
into caches before it is read.
* Abseil's hash tables now detect many more programming errors
in debug and sanitizer builds.
* Abseil's synchronization objects now differentiate absolute
waits (when passed an absl::Time) from relative waits (when
passed an absl::Duration) when the underlying platform supports
differentiating these cases. This only makes a difference when
system clocks are adjusted.
* Abseil's flag parsing library includes additional methods that
make it easier to use when another library also expects to be
able to parse flags.
* absl::string_view is now available as a smaller target,
@com_google_absl//absl/strings:string_view, so that users may
use this library without depending on the much larger
@com_google_absl//absl/strings target.
-------------------------------------------------------------------
Wed Aug 9 15:18:16 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- Fix build on older systems by requiring C++17 compliant compiler
- Added patch:
* cmake.patch
+ lower the cmake requirement to 3.5 in order to be able to
build on SLE12SP5
-------------------------------------------------------------------
Thu Jun 29 09:52:24 UTC 2023 - Fabian Vogt <fvogt@suse.com>
- Add baselibs.conf to make protobuf happy. Hopefully temporary.
-------------------------------------------------------------------
Thu May 25 07:40:01 UTC 2023 - Adrian Schröter <adrian@suse.de>
- update to 20230125.3
Details can be found on:
https://github.com/abseil/abseil-cpp/releases/tag/20230125.3
-------------------------------------------------------------------
Mon Apr 24 12:12:45 UTC 2023 - Adrian Schröter <adrian@suse.de>
- update to 20230125.2
What's New:
The Abseil logging library has been released. This library
provides facilities for writing short text messages about the
status of a program to stderr, disk files, or other sinks
(via an extension API). See the logging library documentation
for more information.
An extension point, AbslStringify(), allows user-defined types
to seamlessly work with Abseil's string formatting functions
like absl::StrCat() and absl::StrFormat().
A library for computing CRC32C checksums has been added.
Floating-point parsing now uses the Eisel-Lemire algorithm,
which provides a significant speed improvement.
The flags library now provides suggestions for the closest
flag(s) in the case of misspelled flags.
Using CMake to install Abseil now makes the installed artifacts
(in particular absl/base/options.h) reflect the compiled ABI.
Breaking Changes:
Abseil now requires at least C++14 and follows Google's Foundational
C++ Support Policy. See this table for a list of currently supported
versions compilers, platforms, and build tools.
The legacy spellings of the thread annotation macros/functions
(e.g. GUARDED_BY()) have been removed by default in favor of the
ABSL_ prefixed versions (e.g. ABSL_GUARDED_BY()) due to clashes with
other libraries. The compatibility macro ABSL_LEGACY_THREAD_ANNOTATIONS
can be defined on the compile command-line to temporarily restore these
spellings, but this compatibility macro will be removed in the future.
Known Issues
The Abseil logging library in this release is not a feature-complete
replacement for glog yet. VLOG and DFATAL are examples of features
that have not yet been released.
- obsolete Fix-maes-msse41-leaking-into-pkgconfig.patch
-------------------------------------------------------------------
Sat Sep 24 13:47:49 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 20220623.1:
* minor warning fix
-------------------------------------------------------------------
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.
-------------------------------------------------------------------
Sun Jul 3 21:25:15 UTC 2022 - Matthias Eliasson <elimat@opensuse.org>
- Update to version 20220623.0
What's New:
* Added absl::AnyInvocable, a move-only function type.
* Added absl::CordBuffer, a type for buffering data for eventual inclusion an
absl::Cord, which is useful for writing zero-copy code.
* Added support for command-line flags of type absl::optional<T>.
Breaking Changes:
* CMake builds now use the flag ABSL_BUILD_TESTING (default: OFF) to control
whether or not unit tests are built.
* The ABSL_DEPRECATED macro now works with the GCC compiler. GCC users that
are experiencing new warnings can use -Wno-deprecated-declatations silence
the warnings or use -Wno-error=deprecated-declarations to see warnings but
not fail the build.
* ABSL_CONST_INIT uses the C++20 keyword constinit when available. Some
compilers are more strict about where this keyword must appear compared to
the pre-C++20 implementation.
* Bazel builds now depend on the bazelbuild/bazel-skylib repository.
See Abseil's WORKSPACE file for an example of how to add this dependency.
Other:
* This will be the last release to support C++11. Future releases will require at least C++14.
- run spec-cleaner
-------------------------------------------------------------------
Wed Jun 29 12:49:20 UTC 2022 - Fabian Vogt <fvogt@suse.com>
- Remove obsolete 0%{suse_version} < 1500 conditions
-------------------------------------------------------------------
Wed Jun 29 12:04:22 UTC 2022 - Bruno Pitrus <brunopitrus@hotmail.com>
- Add options-old.patch, options-cxx17.patch
* Ensure ABI stability regardless of compiler settings per instruction in the header.
-------------------------------------------------------------------
Mon Apr 4 11:37:33 UTC 2022 - Jan Engelhardt <jengelh@inai.de>
- Implement shlib packaging policy
-------------------------------------------------------------------
Fri Mar 4 09:42:26 UTC 2022 - Danilo Spinella <danilo.spinella@suse.com>
- Fix build on SLE-12-SP5
-------------------------------------------------------------------
Tue Jan 4 18:55:41 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 20211102.0:
* absl::Cord is now implemented as a b-tree. The new implementation offers
improved performance in most workloads.
* absl::SimpleHexAtoi() has been added to strings library for parsing
hexadecimal strings
-------------------------------------------------------------------
Wed Jun 30 11:18:51 UTC 2021 - Ferdinand Thiessen <rpm@fthiessen.de>
- Update to version 20210324.2 (LTS):
* No user visible changes, only build system related
-------------------------------------------------------------------
Sun Apr 25 05:42:19 UTC 2021 - Ferdinand Thiessen <rpm@fthiessen.de>
- Update to LTS version 20210324.1
* Fixed missing absl::Cleanup
* Fixed pkgconfig install path
- Dropped upstream merged Correctly-install-pkgconfig.patch
-------------------------------------------------------------------
Tue Apr 13 18:39:09 UTC 2021 - Ferdinand Thiessen <rpm@fthiessen.de>
- Update to LTS version 20210324.0
* Breaking: The empty absl::container target has been removed from
the CMake build. This target had no effect and references to
this target in user code can safely be removed.
* New: The cleanup library has been released. This library contains
the control-flow-construct-like type absl::Cleanup which is used
for executing a callback on scope exit.
* New: The numeric library now includes bits.h, a polyfill header
containing implementations of C++20's bitwise math functions.
* New: Abseil now installs pkg-config files to make it easier to
use Abseil with some other build systems.
* New: Abseil now respects the default CMake installation paths.
Standard CMake variables like CMAKE_INSTALL_PREFIX can be used
to change the installation path.
- Added Correctly-install-pkgconfig.patch from upstream to fix
installation of pkgconfig files
- Call ldconfig on post and postun
-------------------------------------------------------------------
Tue Dec 29 12:18:55 UTC 2020 - Matthias Eliasson <elimat@opensuse.org>
- Update to version 20200923.2
What's New:
* absl::StatusOr<T> has been released. See our blog
post for more information.
* Abseil Flags reflection interfaces have been released.
* Abseil Flags memory usage has been significantly optimized.
* Abseil now supports a "hardened" build mode. This build mode enables
runtime checks that guard against programming errors that may lead
to security vulnerabilities.
Notable Fixes:
* Sanitizer dynamic annotations like AnnotateRWLockCreate that are
also defined by the compiler sanitizer implementation are no longer
also defined by Abseil.
* Sanitizer macros are now prefixed with ABSL_ to avoid naming collisions.
* Sanitizer usage is now automatically detected and no longer requires
macros like ADDRESS_SANITIZER to be defined on the command line.
Breaking Changes:
* Abseil no longer contains a dynamic_annotations library. Users
using a supported build system (Bazel or CMake) are unaffected by
this, but users manually specifying link libraries may get an error
about a missing linker input.
-------------------------------------------------------------------
Fri Nov 6 08:31:58 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- Drop source package, was only used by grpc which was switched
over to use the shared library
-------------------------------------------------------------------
Tue Oct 27 09:16:46 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
- Build shared libraries of abseil for use by grpc
(related to https://github.com/grpc/grpc/issues/24476)
-------------------------------------------------------------------
Sat Sep 5 20:03:38 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
- Switch the package to noarch.
-------------------------------------------------------------------
Fri Jul 24 21:15:12 UTC 2020 - Matthias Eliasson <elimat@opensuse.org>
- Update to version 20200225.2
* This release fixes the list of dependencies of absl::Cord in the CMake build.
* bug fix for absl::Status::ErasePayload
-------------------------------------------------------------------
Thu Jan 16 14:50:51 UTC 2020 - Michał Rostecki <mrostecki@opensuse.org>
- Remove all packages except source.
-------------------------------------------------------------------
Tue Jan 14 11:54:55 UTC 2020 - Dominique Leuenberger <dimstar@opensuse.org>
- Set ExcludeArch: %ix86: bazel is required to build which in turn
is not supported on ix86.
-------------------------------------------------------------------
Wed Dec 18 23:12:35 UTC 2019 - Swaminathan Vasudevan <svasudevan@suse.com>
- Update to version 20190808
-------------------------------------------------------------------
Sat Nov 23 21:26:12 UTC 2019 - Bernhard Wiedemann <bwiedemann@suse.com>
- Sort find output to make build reproducible (boo#1041090)
-------------------------------------------------------------------
Thu Oct 17 12:49:40 UTC 2019 - Richard Brown <rbrown@suse.com>
- Remove obsolete Groups tag (fate#326485)
-------------------------------------------------------------------
Mon Sep 23 11:07:09 UTC 2019 - mrostecki@opensuse.org
- Update to version 20190605:
* avoid use of undefined ABSL_HAVE_ELF_MEM_IMAGE
* Avoid undefined behavior when nullptr is passed to memcpy with size 0
* CMake: Set correct flags for clang-cl
* Adding linking of CoreFoundation to CMakeLists in absl/time as
time_zone_lookup.cc includes CoreFoundation
* Implement Span::first and Span::last from C++20
* Changed HTTP URLs to HTTPS where possible
* Fix GCC8 warnings
* Fix library order for Conan package
* _umul128 is not available on Windows ARM64
* Add note at top that this is supported best-effort
* Update Conan author
* Add Conan topics
* Remove cctz as external dependency
* Add Conan recipe
-------------------------------------------------------------------
Thu Sep 19 17:14:48 UTC 2019 - Michał Rostecki <mrostecki@opensuse.org>
- Add source package.
-------------------------------------------------------------------
Wed Jul 24 11:22:19 UTC 2019 - Michał Rostecki <mrostecki@opensuse.org>
- Use bazel0.19 as build fails with the latest bazel (0.26)
-------------------------------------------------------------------
Thu Mar 7 13:00:12 UTC 2019 - Michal Rostecki <mrostecki@opensuse.org>
- Add soname to all *.so* files.
-------------------------------------------------------------------
Thu Feb 28 15:11:56 UTC 2019 - Michał Rostecki <mrostecki@opensuse.org>
- Fix build with Bazel 0.22.0.
- Add optflags.
-------------------------------------------------------------------
Fri Jan 18 10:34:06 UTC 2019 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Fix aarch64 and ppc64 builds
-------------------------------------------------------------------
Wed Dec 12 13:17:59 UTC 2018 - Jan Engelhardt <jengelh@inai.de>
- Trim redundancies from description.
-------------------------------------------------------------------
Thu Nov 29 15:19:39 UTC 2018 - Michał Rostecki <mrostecki@suse.de>
- Update to version 20181127:
* Export of internal Abseil changes. -- 15d7bcf28220750db46930f4d8c090b54e3ae5fe by Jon Cohen <cohenjon@google.com>:
* Export of internal Abseil changes. -- 5278e56bd7d322ecf161eaf29fd7fa3941d7431b by Greg Falcon <gfalcon@google.com>:
- Switch from CMake to Bazel
-------------------------------------------------------------------
Mon Nov 19 16:37:44 UTC 2018 - Michał Rostecki <mrostecki@suse.de>
- Update to version 20181116:
* Export of internal Abseil changes. -- da04b8cd21f6225d71397471474d34a77df0efd6 by Jon Cohen <cohenjon@google.com>:
* Export of internal Abseil changes. -- 5f1ab09522226336830d9ea6ef7276d37f536ac5 by Abseil Team <absl-team@google.com>:
* Export of internal Abseil changes. -- 07575526242a8e1275ac4223a3d2822795f46569 by CJ Johnson <johnsoncj@google.com>:
* Export of internal Abseil changes. -- 178e7a9a76fc8fcd6df6335b59139cbe644a16b9 by Jon Cohen <cohenjon@google.com>:
* Export of internal Abseil changes. -- ee19e203eca970ff88e8f25ce4e19c32e143b988 by Jon Cohen <cohenjon@google.com>:
* Export of internal Abseil changes. -- 4e224c85c3730398919fc5195cb1fc7a752e6e4f by Mark Barolak <mbar@google.com>:
* Export of internal Abseil changes. -- 9e8aa654630015ea8221703b0ea10dd1a47a848f by Abseil Team <absl-team@google.com>:
* Export of internal Abseil changes. -- ba4dd47492748bd630462eb68b7959037fc6a11a by Abseil Team <absl-team@google.com>:
* Fix compilation of generic byteswap routines
* Fix absl::container on VS2017 v15.8 (#192)

99
abseil-cpp.spec Normal file
View File

@ -0,0 +1,99 @@
#
# spec file for package abseil-cpp
#
# 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
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define lname libabsl2308_0_0
Name: abseil-cpp
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/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: pkgconfig
# PATCH-FIX-OPENSUSE options-{old,cxx17}.patch Ensure ABI stability regardless of compiler options
%if 0%{?suse_version} < 1550
Patch0: options-old.patch
Patch1: cmake.patch
%else
Patch0: options-cxx17.patch
%endif
%description
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 %{lname}
Summary: C++11 libraries which augment the C++ stdlib
Obsoletes: abseil-cpp < %{version}-%{release}
Provides: abseil-cpp = %{version}-%{release}
%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: %{lname} = %{version}
%description devel
Abseil is a collection of C++11 libraries which augment the C++
standard library.
This package contains headers and build system files for it.
%prep
%autosetup -p1
%build
%if 0%{?suse_version} < 1500
export CC="gcc-7"
export CXX="g++-7"
%endif
%cmake
%cmake_build
%install
%cmake_install
%fdupes %{buildroot}/%{_prefix}
%post -n %{lname} -p /sbin/ldconfig
%postun -n %{lname} -p /sbin/ldconfig
%files -n %{lname}
%license LICENSE
%{_libdir}/libabsl_*.so.*
%files devel
%doc README.md
%{_includedir}/absl
%{_libdir}/cmake/absl
%{_libdir}/libabsl_*.so
%{_libdir}/pkgconfig/absl_*.pc
%changelog

1
baselibs.conf Normal file
View File

@ -0,0 +1 @@
libabsl2308_0_0

11
cmake.patch Normal file
View File

@ -0,0 +1,11 @@
--- 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 2022-09-06, CMake 3.10 is the minimum supported version.
-cmake_minimum_required(VERSION 3.10)
+cmake_minimum_required(VERSION 3.5)
# Compiler id for Apple Clang is now AppleClang.
if (POLICY CMP0025)

45
options-cxx17.patch Normal file
View File

@ -0,0 +1,45 @@
Make the headers always tell the truth about the ABI of the compiled dll's
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-20230125.2/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.
-#define ABSL_OPTION_USE_STD_ANY 2
+#define ABSL_OPTION_USE_STD_ANY 1
// ABSL_OPTION_USE_STD_OPTIONAL
@@ -121,7 +121,7 @@
// absl::optional is a typedef of std::optional, use the feature macro
// ABSL_USES_STD_OPTIONAL.
-#define ABSL_OPTION_USE_STD_OPTIONAL 2
+#define ABSL_OPTION_USE_STD_OPTIONAL 1
// ABSL_OPTION_USE_STD_STRING_VIEW
@@ -148,7 +148,7 @@
// absl::string_view is a typedef of std::string_view, use the feature macro
// ABSL_USES_STD_STRING_VIEW.
-#define ABSL_OPTION_USE_STD_STRING_VIEW 2
+#define ABSL_OPTION_USE_STD_STRING_VIEW 1
// ABSL_OPTION_USE_STD_VARIANT
//
@@ -174,7 +174,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 1
// ABSL_OPTION_USE_INLINE_NAMESPACE

43
options-old.patch Normal file
View File

@ -0,0 +1,43 @@
Make the headers always tell the truth about the ABI of the compiled dll's
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
--- 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.
-#define ABSL_OPTION_USE_STD_ANY 2
+#define ABSL_OPTION_USE_STD_ANY 0
// ABSL_OPTION_USE_STD_OPTIONAL
@@ -127,7 +127,7 @@
// absl::optional is a typedef of std::optional, use the feature macro
// ABSL_USES_STD_OPTIONAL.
-#define ABSL_OPTION_USE_STD_OPTIONAL 2
+#define ABSL_OPTION_USE_STD_OPTIONAL 0
// ABSL_OPTION_USE_STD_STRING_VIEW
@@ -154,7 +154,7 @@
// absl::string_view is a typedef of std::string_view, use the feature macro
// ABSL_USES_STD_STRING_VIEW.
-#define ABSL_OPTION_USE_STD_STRING_VIEW 2
+#define ABSL_OPTION_USE_STD_STRING_VIEW 0
// ABSL_OPTION_USE_STD_VARIANT
//
@@ -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_INLINE_NAMESPACE