diff --git a/common/shlibs b/common/shlibs index 26410ed4f6f..af64d332708 100644 --- a/common/shlibs +++ b/common/shlibs @@ -4164,3 +4164,23 @@ libsunpinyin.so.3 libsunpinyin-3.0.0rc2_1 libtpm2-totp.so.0 libtpm2-totp-0.3.0_1 libmujs.so.1.2.0 mujs-1.2.0_2 libiir.so.1 libiir1-1.9.3_1 +libabsl_statusor.so.2206.0.0 abseil-cpp-20220623.1_1 +libabsl_hash.so.2206.0.0 abseil-cpp-20220623.1_1 +libabsl_raw_hash_set.so.2206.0.0 abseil-cpp-20220623.1_1 +libabsl_bad_variant_access.so.2206.0.0 abseil-cpp-20220623.1_1 +libabsl_status.so.2206.0.0 abseil-cpp-20220623.1_1 +libabsl_random_internal_pool_urbg.so.2206.0.0 abseil-cpp-20220623.1_1 +libabsl_random_internal_randen.so.2206.0.0 abseil-cpp-20220623.1_1 +libabsl_random_internal_randen_hwaes_impl.so.2206.0.0 abseil-cpp-20220623.1_1 +libabsl_random_internal_randen_slow.so.2206.0.0 abseil-cpp-20220623.1_1 +libabsl_cord.so.2206.0.0 abseil-cpp-20220623.1_1 +libabsl_city.so.2206.0.0 abseil-cpp-20220623.1_1 +libabsl_bad_optional_access.so.2206.0.0 abseil-cpp-20220623.1_1 +libabsl_cordz_info.so.2206.0.0 abseil-cpp-20220623.1_1 +libabsl_str_format_internal.so.2206.0.0 abseil-cpp-20220623.1_1 +libabsl_synchronization.so.2206.0.0 abseil-cpp-20220623.1_1 +libabsl_time.so.2206.0.0 abseil-cpp-20220623.1_1 +libabsl_strings.so.2206.0.0 abseil-cpp-20220623.1_1 +libabsl_throw_delegate.so.2206.0.0 abseil-cpp-20220623.1_1 +libabsl_time_zone.so.2206.0.0 abseil-cpp-20220623.1_1 +libabsl_spinlock_wait.so.2206.0.0 abseil-cpp-20220623.1_1 diff --git a/srcpkgs/abseil-cpp-devel b/srcpkgs/abseil-cpp-devel new file mode 120000 index 00000000000..21b48b7ea52 --- /dev/null +++ b/srcpkgs/abseil-cpp-devel @@ -0,0 +1 @@ +abseil-cpp \ No newline at end of file diff --git a/srcpkgs/abseil-cpp/patches/google-sucks.patch b/srcpkgs/abseil-cpp/patches/google-sucks.patch new file mode 100644 index 00000000000..511bae84710 --- /dev/null +++ b/srcpkgs/abseil-cpp/patches/google-sucks.patch @@ -0,0 +1,77 @@ +commit 1fbfea71fb42b2e79f9e342c1843bd26a8703536 +Author: Daniel Kolesa +Date: Thu Aug 25 01:20:58 2022 +0200 + + An all-in-one patch that fixes several issues: + + 1) UnscaledCycleClock not fully implemented for ppc*-musl (disabled on musl) + 2) powerpc stacktrace implementation only works on glibc (disabled on musl) + 3) powerpc stacktrace implementation has ppc64 assumptions (fixed) + 4) examine_stack.cpp makes glibc assumptions on powerpc (fixed) + +diff --git a/absl/base/internal/unscaledcycleclock.cc b/absl/base/internal/unscaledcycleclock.cc +index b1c396c..d62bfd6 100644 +--- a/absl/base/internal/unscaledcycleclock.cc ++++ b/absl/base/internal/unscaledcycleclock.cc +@@ -20,7 +20,7 @@ + #include + #endif + +-#if defined(__powerpc__) || defined(__ppc__) ++#if (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__) + #ifdef __GLIBC__ + #include + #elif defined(__FreeBSD__) +@@ -58,7 +58,7 @@ double UnscaledCycleClock::Frequency() { + return base_internal::NominalCPUFrequency(); + } + +-#elif defined(__powerpc__) || defined(__ppc__) ++#elif (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__) + + int64_t UnscaledCycleClock::Now() { + #ifdef __GLIBC__ +diff --git a/absl/base/internal/unscaledcycleclock.h b/absl/base/internal/unscaledcycleclock.h +index 2cbeae3..83d8c98 100644 +--- a/absl/base/internal/unscaledcycleclock.h ++++ b/absl/base/internal/unscaledcycleclock.h +@@ -46,8 +46,8 @@ + + // The following platforms have an implementation of a hardware counter. + #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \ +- defined(__powerpc__) || defined(__ppc__) || defined(__riscv) || \ +- defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC)) ++ ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \ ++ defined(__riscv) || defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC)) + #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1 + #else + #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 0 +diff --git a/absl/debugging/internal/examine_stack.cc b/absl/debugging/internal/examine_stack.cc +index 5bdd341..a42a3c4 100644 +--- a/absl/debugging/internal/examine_stack.cc ++++ b/absl/debugging/internal/examine_stack.cc +@@ -174,8 +174,10 @@ void* GetProgramCounter(void* const vuc) { + return reinterpret_cast(context->uc_mcontext.pc); + #elif defined(__powerpc64__) + return reinterpret_cast(context->uc_mcontext.gp_regs[32]); +-#elif defined(__powerpc__) ++#elif defined(__powerpc__) && defined(__GLIBC__) + return reinterpret_cast(context->uc_mcontext.uc_regs->gregs[32]); ++#elif defined(__powerpc__) ++ return reinterpret_cast(context->uc_mcontext.gregs[32]); + #elif defined(__riscv) + return reinterpret_cast(context->uc_mcontext.__gregs[REG_PC]); + #elif defined(__s390__) && !defined(__s390x__) +diff --git a/absl/debugging/internal/stacktrace_config.h b/absl/debugging/internal/stacktrace_config.h +index 3929b1b..23d5e50 100644 +--- a/absl/debugging/internal/stacktrace_config.h ++++ b/absl/debugging/internal/stacktrace_config.h +@@ -60,7 +60,7 @@ + #elif defined(__i386__) || defined(__x86_64__) + #define ABSL_STACKTRACE_INL_HEADER \ + "absl/debugging/internal/stacktrace_x86-inl.inc" +-#elif defined(__ppc__) || defined(__PPC__) ++#elif (defined(__ppc__) || defined(__PPC__)) && defined(__GLIBC__) + #define ABSL_STACKTRACE_INL_HEADER \ + "absl/debugging/internal/stacktrace_powerpc-inl.inc" + #elif defined(__aarch64__) diff --git a/srcpkgs/abseil-cpp/template b/srcpkgs/abseil-cpp/template new file mode 100644 index 00000000000..8640d248940 --- /dev/null +++ b/srcpkgs/abseil-cpp/template @@ -0,0 +1,25 @@ +# Template file for 'abseil-cpp' +pkgname=abseil-cpp +version=20220623.1 +revision=1 +build_style=cmake +configure_args="-DBUILD_SHARED_LIBS=ON -DABSL_PROPAGATE_CXX_STD=ON" +hostmakedepends="pkg-config" +short_desc="Abseil common libraries" +maintainer="Andrew J. Hesford " +license="Apache-2.0" +homepage="https://abseil.io" +distfiles="https://github.com/abseil/abseil-cpp/archive/${version}.tar.gz" +checksum=91ac87d30cc6d79f9ab974c51874a704de9c2647c40f6932597329a282217ba8 + +abseil-cpp-devel_package() { + short_desc+=" (development files)" + depends="${sourcepkg}>=${version}_${revision}" + + pkg_install() { + vmove usr/include + vmove usr/lib/pkgconfig + vmove usr/lib/cmake + vmove "usr/lib/*.so" + } +}