diff --git a/.files b/.files index 750fcf3..33311e8 100644 Binary files a/.files and b/.files differ diff --git a/.meta b/.meta index 8fdb124..ee165e0 100644 --- a/.meta +++ b/.meta @@ -1,6 +1,6 @@ abseil-cpp C++11 compliant libraries which augment the C++ stdlib - + https://abseil.io/ diff --git a/.rev b/.rev index 88cd6ef..023311d 100644 --- a/.rev +++ b/.rev @@ -193,4 +193,15 @@ 966833 + + 36d4b6d83e328b040b7dd67c10ac383c + 20211102.0 + + dimstar_suse + - Remove obsolete 0%{suse_version} < 1500 conditions + +- Add options-old.patch, options-cxx17.patch + * Ensure ABI stability regardless of compiler settings per instruction in the header. + 985793 + diff --git a/abseil-cpp.changes b/abseil-cpp.changes index 2714655..c334019 100644 --- a/abseil-cpp.changes +++ b/abseil-cpp.changes @@ -1,4 +1,15 @@ ------------------------------------------------------------------- +Wed Jun 29 12:49:20 UTC 2022 - Fabian Vogt + +- Remove obsolete 0%{suse_version} < 1500 conditions + +------------------------------------------------------------------- +Wed Jun 29 12:04:22 UTC 2022 - Bruno Pitrus + +- 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 - Implement shlib packaging policy diff --git a/abseil-cpp.spec b/abseil-cpp.spec index 3c79bc8..747568c 100644 --- a/abseil-cpp.spec +++ b/abseil-cpp.spec @@ -24,13 +24,16 @@ 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 +# PATCH-FIX-OPENSUSE options-{old,cxx17}.patch Ensure ABI stability regardless of compiler options +%if %{suse_version} < 1550 +Patch0: options-old.patch +%else +Patch0: options-cxx17.patch +%endif BuildRequires: c++_compiler BuildRequires: cmake BuildRequires: fdupes BuildRequires: pkgconfig -%if 0%{suse_version} < 1500 -BuildRequires: gcc11-c++ -%endif %description Abseil is a collection of C++11 libraries which augment the C++ @@ -60,9 +63,6 @@ This package contains headers and build system files for it. %autosetup -p1 %build -%if 0%{suse_version} < 1500 -export CXX=g++-11 -%endif %cmake %cmake_build diff --git a/options-cxx17.patch b/options-cxx17.patch new file mode 100644 index 0000000..161868a --- /dev/null +++ b/options-cxx17.patch @@ -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 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 + +--- 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 1 + + + // 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 1 + + + // 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 1 + + // 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 1 + + + // ABSL_OPTION_USE_INLINE_NAMESPACE diff --git a/options-old.patch b/options-old.patch new file mode 100644 index 0000000..5637925 --- /dev/null +++ b/options-old.patch @@ -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