summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2025-01-16 09:52:58 +0000
committerCoprDistGit <infra@openeuler.org>2025-01-16 09:52:58 +0000
commit77c9c0e875d847dce55a9e942fce92c77d94d243 (patch)
treef1c8a2de03b3b758e2636e0c2da8f6d9d3da826f
parentfd602fedf208baa24de08213f6108e16fcea8e3e (diff)
automatic import of Ros-jazzy-abseil-cppopeneuler24.03_LTS
-rw-r--r--.gitignore1
-rw-r--r--0001-add-loongarch-suopport-for-abseil-cpp.patch37
-rw-r--r--abseil-cpp-20210324.2-sw.patch12
-rw-r--r--abseil-cpp.spec229
-rw-r--r--sources1
5 files changed, 280 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..fee6347 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/abseil-cpp-20240722.0.tar.gz
diff --git a/0001-add-loongarch-suopport-for-abseil-cpp.patch b/0001-add-loongarch-suopport-for-abseil-cpp.patch
new file mode 100644
index 0000000..2a90469
--- /dev/null
+++ b/0001-add-loongarch-suopport-for-abseil-cpp.patch
@@ -0,0 +1,37 @@
+From 560380189ff29687e011eada93774af59452f2c5 Mon Sep 17 00:00:00 2001
+From: Wenlong Zhang <zhangwenlong@loongson.cn>
+Date: Wed, 6 Mar 2024 03:28:59 +0000
+Subject: [PATCH] add loongarch suopport for abseil-cpp
+
+---
+ absl/base/internal/direct_mmap.h | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/absl/base/internal/direct_mmap.h b/absl/base/internal/direct_mmap.h
+index 1beb2ee..80fcbbb 100644
+--- a/absl/base/internal/direct_mmap.h
++++ b/absl/base/internal/direct_mmap.h
+@@ -80,7 +80,8 @@ inline void* DirectMmap(void* start, size_t length, int prot, int flags, int fd,
+ (defined(__PPC__) && !defined(__PPC64__)) || \
+ (defined(__riscv) && __riscv_xlen == 32) || \
+ (defined(__s390__) && !defined(__s390x__)) || \
+- (defined(__sparc__) && !defined(__arch64__))
++ (defined(__sparc__) && !defined(__arch64__)) || \
++ defined(__loongarch64)
+ // On these architectures, implement mmap with mmap2.
+ static int pagesize = 0;
+ if (pagesize == 0) {
+@@ -99,6 +100,10 @@ inline void* DirectMmap(void* start, size_t length, int prot, int flags, int fd,
+ // Workaround by invoking __mmap2() instead.
+ return __mmap2(start, length, prot, flags, fd,
+ static_cast<size_t>(offset / pagesize));
++#elif defined(__loongarch64)
++ return reinterpret_cast<void*>(
++ syscall(SYS_mmap, start, length, prot, flags, fd,
++ static_cast<unsigned long>(offset / pagesize))); // NOLINT
+ #else
+ return reinterpret_cast<void*>(
+ syscall(SYS_mmap2, start, length, prot, flags, fd,
+--
+2.43.0
+
diff --git a/abseil-cpp-20210324.2-sw.patch b/abseil-cpp-20210324.2-sw.patch
new file mode 100644
index 0000000..a58aefd
--- /dev/null
+++ b/abseil-cpp-20210324.2-sw.patch
@@ -0,0 +1,12 @@
+diff -Naur abseil-cpp-20210324.2.org/absl/debugging/internal/examine_stack.cc abseil-cpp-20210324.2.sw/absl/debugging/internal/examine_stack.cc
+--- abseil-cpp-20210324.2.org/absl/debugging/internal/examine_stack.cc 2022-03-10 01:13:54.492357080 +0000
++++ abseil-cpp-20210324.2.sw/absl/debugging/internal/examine_stack.cc 2022-03-10 01:15:26.202357080 +0000
+@@ -46,7 +46,7 @@
+ ucontext_t* context = reinterpret_cast<ucontext_t*>(vuc);
+ #if defined(__aarch64__)
+ return reinterpret_cast<void*>(context->uc_mcontext.pc);
+-#elif defined(__alpha__)
++#elif defined(__alpha__) || defined(__sw_64__)
+ return reinterpret_cast<void*>(context->uc_mcontext.sc_pc);
+ #elif defined(__arm__)
+ return reinterpret_cast<void*>(context->uc_mcontext.arm_pc);
diff --git a/abseil-cpp.spec b/abseil-cpp.spec
new file mode 100644
index 0000000..895bd63
--- /dev/null
+++ b/abseil-cpp.spec
@@ -0,0 +1,229 @@
+# Force out of source build
+%undefine __cmake_in_source_build
+
+# Installed library version
+%global lib_version 2407.0.0
+
+Name: abseil-cpp
+Version: 20240722.0
+Release: 2
+Summary: C++ Common Libraries
+
+License: Apache-2.0
+URL: https://abseil.io
+Source0: https://github.com/abseil/abseil-cpp/archive/%{version}/%{name}-%{version}.tar.gz
+
+Patch1: abseil-cpp-20210324.2-sw.patch
+Patch100: 0001-add-loongarch-suopport-for-abseil-cpp.patch
+
+BuildRequires: cmake ninja-build
+BuildRequires: gcc-c++
+BuildRequires: make
+
+%description
+Abseil is an open-source collection of C++ library code designed to augment
+the C++ standard library. The Abseil library code is collected from
+Google's own C++ code base, has been extensively tested and used in
+production, and is the same code we depend on in our daily coding lives.
+
+In some cases, Abseil provides pieces missing from the C++ standard; in
+others, Abseil provides alternatives to the standard for special needs we've
+found through usage in the Google code base. We denote those cases clearly
+within the library code we provide you.
+
+Abseil is not meant to be a competitor to the standard library; we've just
+found that many of these utilities serve a purpose within our code base,
+and we now want to provide those resources to the C++ community as a whole.
+
+%package devel
+Summary: Development files for %{name}
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Conflicts: grpc < 1.31.0-5
+
+%description devel
+Development headers for %{name}
+
+%prep
+%autosetup -p1
+
+%build
+%cmake -GNinja \
+ -DCMAKE_BUILD_TYPE:STRING=None \
+ -DCMAKE_CXX_STANDARD:STRING=17 \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo
+%cmake_build
+
+%install
+%cmake_install
+
+%files
+%license LICENSE
+%doc FAQ.md README.md UPGRADES.md
+# All shared libraries except installed TESTONLY libraries; see the %%files
+# list for the -testing subpackage for those.
+%{_libdir}/libabsl_bad_any_cast_impl.so.%{lib_version}
+%{_libdir}/libabsl_bad_optional_access.so.%{lib_version}
+%{_libdir}/libabsl_bad_variant_access.so.%{lib_version}
+%{_libdir}/libabsl_base.so.%{lib_version}
+%{_libdir}/libabsl_city.so.%{lib_version}
+%{_libdir}/libabsl_civil_time.so.%{lib_version}
+%{_libdir}/libabsl_cord.so.%{lib_version}
+%{_libdir}/libabsl_cord_internal.so.%{lib_version}
+%{_libdir}/libabsl_cordz_functions.so.%{lib_version}
+%{_libdir}/libabsl_cordz_handle.so.%{lib_version}
+%{_libdir}/libabsl_cordz_info.so.%{lib_version}
+%{_libdir}/libabsl_cordz_sample_token.so.%{lib_version}
+%{_libdir}/libabsl_crc32c.so.%{lib_version}
+%{_libdir}/libabsl_crc_cord_state.so.%{lib_version}
+%{_libdir}/libabsl_crc_cpu_detect.so.%{lib_version}
+%{_libdir}/libabsl_crc_internal.so.%{lib_version}
+%{_libdir}/libabsl_debugging_internal.so.%{lib_version}
+%{_libdir}/libabsl_decode_rust_punycode.so.%{lib_version}
+%{_libdir}/libabsl_demangle_internal.so.%{lib_version}
+%{_libdir}/libabsl_demangle_rust.so.%{lib_version}
+%{_libdir}/libabsl_die_if_null.so.%{lib_version}
+%{_libdir}/libabsl_examine_stack.so.%{lib_version}
+%{_libdir}/libabsl_exponential_biased.so.%{lib_version}
+%{_libdir}/libabsl_failure_signal_handler.so.%{lib_version}
+%{_libdir}/libabsl_flags_commandlineflag.so.%{lib_version}
+%{_libdir}/libabsl_flags_commandlineflag_internal.so.%{lib_version}
+%{_libdir}/libabsl_flags_config.so.%{lib_version}
+%{_libdir}/libabsl_flags_internal.so.%{lib_version}
+%{_libdir}/libabsl_flags_marshalling.so.%{lib_version}
+%{_libdir}/libabsl_flags_parse.so.%{lib_version}
+%{_libdir}/libabsl_flags_private_handle_accessor.so.%{lib_version}
+%{_libdir}/libabsl_flags_program_name.so.%{lib_version}
+%{_libdir}/libabsl_flags_reflection.so.%{lib_version}
+%{_libdir}/libabsl_flags_usage.so.%{lib_version}
+%{_libdir}/libabsl_flags_usage_internal.so.%{lib_version}
+%{_libdir}/libabsl_graphcycles_internal.so.%{lib_version}
+%{_libdir}/libabsl_hash.so.%{lib_version}
+%{_libdir}/libabsl_hashtablez_sampler.so.%{lib_version}
+%{_libdir}/libabsl_int128.so.%{lib_version}
+%{_libdir}/libabsl_kernel_timeout_internal.so.%{lib_version}
+%{_libdir}/libabsl_leak_check.so.%{lib_version}
+%{_libdir}/libabsl_log_entry.so.%{lib_version}
+%{_libdir}/libabsl_log_flags.so.%{lib_version}
+%{_libdir}/libabsl_log_globals.so.%{lib_version}
+%{_libdir}/libabsl_log_initialize.so.%{lib_version}
+%{_libdir}/libabsl_log_internal_check_op.so.%{lib_version}
+%{_libdir}/libabsl_log_internal_conditions.so.%{lib_version}
+%{_libdir}/libabsl_log_internal_fnmatch.so.%{lib_version}
+%{_libdir}/libabsl_log_internal_format.so.%{lib_version}
+%{_libdir}/libabsl_log_internal_globals.so.%{lib_version}
+%{_libdir}/libabsl_log_internal_log_sink_set.so.%{lib_version}
+%{_libdir}/libabsl_log_internal_message.so.%{lib_version}
+%{_libdir}/libabsl_log_internal_nullguard.so.%{lib_version}
+%{_libdir}/libabsl_log_internal_proto.so.%{lib_version}
+%{_libdir}/libabsl_log_severity.so.%{lib_version}
+%{_libdir}/libabsl_log_sink.so.%{lib_version}
+%{_libdir}/libabsl_low_level_hash.so.%{lib_version}
+%{_libdir}/libabsl_malloc_internal.so.%{lib_version}
+%{_libdir}/libabsl_periodic_sampler.so.%{lib_version}
+%{_libdir}/libabsl_poison.so.%{lib_version}
+%{_libdir}/libabsl_random_distributions.so.%{lib_version}
+%{_libdir}/libabsl_random_internal_distribution_test_util.so.%{lib_version}
+%{_libdir}/libabsl_random_internal_platform.so.%{lib_version}
+%{_libdir}/libabsl_random_internal_pool_urbg.so.%{lib_version}
+%{_libdir}/libabsl_random_internal_randen.so.%{lib_version}
+%{_libdir}/libabsl_random_internal_randen_hwaes.so.%{lib_version}
+%{_libdir}/libabsl_random_internal_randen_hwaes_impl.so.%{lib_version}
+%{_libdir}/libabsl_random_internal_randen_slow.so.%{lib_version}
+%{_libdir}/libabsl_random_internal_seed_material.so.%{lib_version}
+%{_libdir}/libabsl_random_seed_gen_exception.so.%{lib_version}
+%{_libdir}/libabsl_random_seed_sequences.so.%{lib_version}
+%{_libdir}/libabsl_raw_hash_set.so.%{lib_version}
+%{_libdir}/libabsl_raw_logging_internal.so.%{lib_version}
+%{_libdir}/libabsl_scoped_set_env.so.%{lib_version}
+%{_libdir}/libabsl_spinlock_wait.so.%{lib_version}
+%{_libdir}/libabsl_stacktrace.so.%{lib_version}
+%{_libdir}/libabsl_status.so.%{lib_version}
+%{_libdir}/libabsl_statusor.so.%{lib_version}
+%{_libdir}/libabsl_str_format_internal.so.%{lib_version}
+%{_libdir}/libabsl_strerror.so.%{lib_version}
+%{_libdir}/libabsl_strings.so.%{lib_version}
+%{_libdir}/libabsl_strings_internal.so.%{lib_version}
+%{_libdir}/libabsl_string_view.so.%{lib_version}
+%{_libdir}/libabsl_symbolize.so.%{lib_version}
+%{_libdir}/libabsl_synchronization.so.%{lib_version}
+%{_libdir}/libabsl_throw_delegate.so.%{lib_version}
+%{_libdir}/libabsl_time.so.%{lib_version}
+%{_libdir}/libabsl_time_zone.so.%{lib_version}
+%{_libdir}/libabsl_utf8_for_code_point.so.%{lib_version}
+%{_libdir}/libabsl_vlog_config_internal.so.%{lib_version}
+
+%files devel
+%{_includedir}/absl
+%{_libdir}/cmake/absl
+%{_libdir}/libabsl_*.so
+%{_libdir}/pkgconfig/*.pc
+
+%changelog
+* Thu Nov 14 2024 Funda Wang <fundawang@yeah.net> - 20240722.0-2
+- adopt to new cmake macro
+
+* Thu Sep 5 2024 dillon chen <dillon.chen@gmail.com> - 20240722.0-1
+- Type:requirement
+- ID:NA
+- SUG:NA
+- DESC:update to 20240722.0
+
+* Thu Aug 01 2024 xinghe <xinghe2@h-partners.com> - 20240116.2-2
+- Type:bugfix
+- ID:NA
+- SUG:NA
+- DESC:fix license
+
+* Tue Jul 9 2024 dillon chen <dillon.chen@gmail.com> - 20240116.2-1
+- Type:requirement
+- ID:NA
+- SUG:NA
+- DESC:update to 20240116.2
+
+* Fri May 31 2024 laokz <zhangkai@iscas.ac.cn> - 20230802.1-4
+- Type:bugfix
+- CVE:NA
+- SUG:NA
+- DESC:Fix riscv64 'rdcycle' illegal instructor error
+
+* Wed Mar 6 2024 Wenlong Zhang <zhangwenlong@loongson.cn> - 20230802.1-3
+- Type:bugfix
+- CVE:NA
+- SUG:NA
+- DESC:Fix build error for loongarch64
+
+* Tue Jan 23 2024 xinghe <xinghe2@h-partners.com> - 20230802.1-2
+- Type:bugfix
+- ID:NA
+- SUG:NA
+- DESC:optimize redundant dependence
+
+* Mon Dec 25 2023 xinghe <xinghe2@h-partners.com> - 20230802.1-1
+- Type:requirement
+- ID:NA
+- SUG:NA
+- DESC:update to 20230802.1
+
+* Thu Jul 27 2023 gaihuiying <eaglegai@163.com> - 20230125.3-1
+- Type:requirement
+- ID:NA
+- SUG:NA
+- DESC:update to 20230125.3
+
+* Mon Nov 14 2022 Wenlong Zhang <zhangwenlong@loongson.cn> - 20220623.1-3
+- add loongarch support for abseil-cpp
+
+* Fri Nov 11 2022 wuzx<wuzx1226@qq.com> - 20220623.1-2
+- Type:feature
+- CVE:NA
+- SUG:NA
+- DESC:Add sw64 architecture
+
+* Wed Nov 02 2022 xinghe <xinghe2@h-partners.com> - 20220623.1-1
+- Type:enhancement
+- ID:NA
+- SUG:NA
+- DESC: update to 20220623.1
+
+* Wed Jun 23 2021 gaihuiying <gaihuiying1@huawei.com> - 20210324.2-1
+- package init
diff --git a/sources b/sources
new file mode 100644
index 0000000..7603d88
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+740fb8f35ebdf82740c294bde408b9c0 abseil-cpp-20240722.0.tar.gz