Extend options-cxx17.patch and options-old.patch

to avoid race-condition (boo#1235867)

OBS-URL: https://build.opensuse.org/package/show/devel:microos/abseil-cpp?expand=0&rev=41
This commit is contained in:
Fridrich Strba 2025-01-15 07:31:14 +00:00 committed by Git OBS Bridge
commit 4ed05860d0
11 changed files with 826 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

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

View File

@ -0,0 +1,26 @@
From 779a3565ac6c5b69dd1ab9183e500a27633117d5 Mon Sep 17 00:00:00 2001
From: Derek Mauro <dmauro@google.com>
Date: Tue, 30 Jan 2024 10:13:25 -0800
Subject: [PATCH] Avoid export of testonly target absl::test_allocator in CMake
builds
Closes #1536
PiperOrigin-RevId: 602764437
Change-Id: Ia5c20a3874262a2ddb8797f608af17d7e86dd6d6
---
absl/container/CMakeLists.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/absl/container/CMakeLists.txt b/absl/container/CMakeLists.txt
index 449a2cad17e..ee9ca9c3c4a 100644
--- a/absl/container/CMakeLists.txt
+++ b/absl/container/CMakeLists.txt
@@ -213,6 +213,7 @@ absl_cc_library(
DEPS
absl::config
GTest::gmock
+ TESTONLY
)
absl_cc_test(

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:733726b8c3a6d39a4120d7e45ea8b41a434cdacde401cba500f14236c49b39dc
size 2151288

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f50e5ac311a81382da7fa75b97310e4b9006474f9560ac46f54a9967f07d4ae3
size 2242861

428
abseil-cpp.changes Normal file
View File

@ -0,0 +1,428 @@
-------------------------------------------------------------------
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>
- 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 (boo#1203379)
-------------------------------------------------------------------
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 (boo#1203378)
* 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)

219
abseil-cpp.spec Normal file
View File

@ -0,0 +1,219 @@
#
# spec file for package abseil-cpp
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2024 Andreas Stieger <Andreas.Stieger@gmx.de>
#
# 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/
#
%global soversion so.2407.0.0
%global lname_suffix 2407_0_0
%if 0%{?gcc_version} < 7
%global with_gcc 7
%endif
Name: abseil-cpp
Version: 20240722.0
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
Source1: baselibs.conf
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
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 libabsl_lite_%{lname_suffix}
Summary: C++11 libraries which augment the C++ stdlib - lite
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}
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}
%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%{?with_gcc}
export CC="gcc-%{with_gcc}"
export CXX="g++-%{with_gcc}"
%endif
%cmake
%cmake_build
%install
%cmake_install
%fdupes %{buildroot}/%{_prefix}
%check
%ctest
# 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}
%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}
%files devel
%license LICENSE
%doc README.md
%{_includedir}/absl
%{_libdir}/cmake/absl
%{_libdir}/libabsl_*.so
%{_libdir}/pkgconfig/absl_*.pc
%changelog

2
baselibs.conf Normal file
View File

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

13
cmake.patch Normal file
View File

@ -0,0 +1,13 @@
Index: abseil-cpp-20240722.0/CMakeLists.txt
===================================================================
--- abseil-cpp-20240722.0.orig/CMakeLists.txt
+++ abseil-cpp-20240722.0/CMakeLists.txt
@@ -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)
+cmake_minimum_required(VERSION 3.5)
# Allow the user to specify the CMAKE_MSVC_DEBUG_INFORMATION_FORMAT
if (POLICY CMP0141)

54
options-cxx17.patch Normal file
View File

@ -0,0 +1,54 @@
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-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 @@
// 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_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

54
options-old.patch Normal file
View File

@ -0,0 +1,54 @@
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
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 @@
// 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
@@ -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 0
// 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 0
// 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 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