diff --git a/common/shlibs b/common/shlibs index 603ad2d09ff..b0783e30ecb 100644 --- a/common/shlibs +++ b/common/shlibs @@ -3709,18 +3709,18 @@ liboblibs.so.0.0 oblibs-0.0.1.1_1 libaal-1.0.so.7 libaal-1.0.7_1 libaal-minimal.so.0 libaal-1.0.7_1 libcli.so.1.9 libcli-1.9.8.4_1 -libaddress_sorting.so.9 grpc-1.26.0_1 -libgpr.so.9 grpc-1.26.0_1 +libaddress_sorting.so.12 grpc-1.32.0_1 +libgpr.so.12 grpc-1.32.0_1 libgrpc++.so.1 grpc-1.19.1_1 -libgrpc++_cronet.so.1 grpc-1.19.1_1 +libgrpc++_alts.so.1 grpc-1.32.0_1 libgrpc++_error_details.so.1 grpc-1.19.1_1 libgrpc++_reflection.so.1 grpc-1.19.1_1 libgrpc++_unsecure.so.1 grpc-1.19.1_1 -libgrpc.so.9 grpc-1.26.0_1 -libgrpc_cronet.so.9 grpc-1.26.0_1 -libgrpc_unsecure.so.9 grpc-1.26.0_1 +libgrpc.so.12 grpc-1.32.0_1 +libgrpc_plugin_support.so.1 grpc-1.32.0_1 +libgrpc_unsecure.so.12 grpc-1.32.0_1 libgrpcpp_channelz.so.1 grpc-1.19.1_1 -libupb.so.9 grpc-1.26.0_1 +libupb.so.12 grpc-1.32.0_1 libircclient.so.1 libircclient-1.10_1 libFAudio.so.0 FAudio-19.05_1 libqaccessibilityclient-qt5.so.0 libqaccessibilityclient-0.4.0_1 diff --git a/srcpkgs/grpc/patches/google-sucks.patch b/srcpkgs/grpc/patches/google-sucks.patch index cec94afa90e..5dbfa9c3b43 100644 --- a/srcpkgs/grpc/patches/google-sucks.patch +++ b/srcpkgs/grpc/patches/google-sucks.patch @@ -1,6 +1,6 @@ An all-in-one patch that fixes several issues: -1) no sys/platform/ppc.h outside of glibc (disabled on musl) +1) UnscaledCycleClock not fully implemented for ppc*-musl (disabled on musl) 2) generic stacktrace implementation only works on glibc (disabled on musl) 3) powerpc stacktrace implementation only works on glibc (disabled on musl) 4) powerpc stacktrace implementation has ppc64 assumptions (fixed) @@ -14,10 +14,10 @@ An all-in-one patch that fixes several issues: -#if defined(__powerpc__) || defined(__ppc__) +#if (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__) + #ifdef __GLIBC__ #include - #endif - -@@ -54,7 +54,7 @@ double UnscaledCycleClock::Frequency() { + #elif defined(__FreeBSD__) +@@ -59,7 +59,7 @@ return base_internal::NominalCPUFrequency(); } @@ -25,7 +25,7 @@ An all-in-one patch that fixes several issues: +#elif (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__) int64_t UnscaledCycleClock::Now() { - return __ppc_get_timebase(); + #ifdef __GLIBC__ --- third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +++ third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h @@ -46,7 +46,7 @@ @@ -50,18 +50,18 @@ An all-in-one patch that fixes several issues: #include "absl/base/attributes.h" #include "absl/base/internal/raw_logging.h" #include "absl/base/macros.h" -@@ -51,8 +55,10 @@ void* GetProgramCounter(void* vuc) { +@@ -51,8 +55,10 @@ return reinterpret_cast(context->uc_mcontext.pc); #elif defined(__powerpc64__) return reinterpret_cast(context->uc_mcontext.gp_regs[32]); -#elif defined(__powerpc__) -+#elif defined(__powerpc64__) || (defined(__powerpc__) && defined(__GLIBC__)) ++#elif defined(__powerpc__) && defined(__GLIBC__) return reinterpret_cast(context->uc_mcontext.regs->nip); +#elif defined(__powerpc__) + return reinterpret_cast(((struct pt_regs *)context->uc_regs)->nip); + #elif defined(__riscv) + return reinterpret_cast(context->uc_mcontext.__gregs[REG_PC]); #elif defined(__s390__) && !defined(__s390x__) - return reinterpret_cast(context->uc_mcontext.psw.addr & 0x7fffffff); - #elif defined(__s390__) && defined(__s390x__) --- third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +++ third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h @@ -34,13 +34,13 @@ @@ -95,7 +95,7 @@ An all-in-one patch that fixes several issues: # else --- third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +++ third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc -@@ -130,8 +130,13 @@ static void **NextStackFrame(void **old_sp, const void *uc) { +@@ -130,8 +130,13 @@ StacktracePowerPCGetLR(new_sp) == kernel_sigtramp_rt64_address) { const ucontext_t* signal_context = reinterpret_cast(uc); diff --git a/srcpkgs/grpc/template b/srcpkgs/grpc/template index fbdbf527ea4..56d35d6aeec 100644 --- a/srcpkgs/grpc/template +++ b/srcpkgs/grpc/template @@ -1,26 +1,29 @@ # Template file for 'grpc' pkgname=grpc -version=1.27.3 -revision=4 -_abseilver=37dd2562ec830d547a1524bb306be313ac3f2556 +version=1.32.0 +revision=1 +_abseilver=df3ea785d8c30a9503321a3d35ee7d35808f190d build_style=cmake configure_args="-DBUILD_SHARED_LIBS=ON -DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package - -DgRPC_SSL_PROVIDER=package -DgRPC_ZLIB_PROVIDER=package" + -DgRPC_SSL_PROVIDER=package -DgRPC_ZLIB_PROVIDER=package + -D_gRPC_RE2_LIBRARIES=${XBPS_CROSS_BASE}/usr/lib/libre2.so + -D_gRPC_RE2_INCLUDE_DIR=${XBPS_CROSS_BASE}/usr/include" hostmakedepends="which protobuf" -makedepends="zlib-devel c-ares-devel libressl-devel libprotoc-devel - protobuf-devel gperftools-devel" +makedepends="zlib-devel c-ares-devel libressl-devel + libprotoc-devel protobuf-devel gperftools-devel re2-devel" short_desc="High performance, open source, general RPC framework" maintainer="Orphaned " license="Apache-2.0" homepage="https://github.com/grpc/grpc" -distfiles="https://github.com/${pkgname}/${pkgname}/archive/v${version}/${pkgname}-${version}.tar.gz +distfiles="${homepage}/archive/v${version}/${pkgname}-${version}.tar.gz https://github.com/abseil/abseil-cpp/archive/${_abseilver}/abseil-cpp-${_abseilver}.tar.gz" -checksum="c2ab8a42a0d673c1acb596d276055adcc074c1116e427f118415da3e79e52969 - 19391fb4882601a65cb648d638c11aa301ce5f525ef02da1a9eafd22f72d7c59" +checksum="f880ebeb2ccf0e47721526c10dd97469200e40b5f101a0d9774eb69efa0bd07a + f368a8476f4e2e0eccf8a7318b98dafbe30b2600f4e3cf52636e5eb145aba06a" if [ "$CROSS_BUILD" ]; then - hostmakedepends+=" grpc" # need host grpc_cpp_plugin + # need host grpc_cpp_plugin + hostmakedepends+=" grpc" fi if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then makedepends+=" libatomic-devel" @@ -32,12 +35,31 @@ post_extract() { mv ../abseil-cpp-${_abseilver} third_party/abseil-cpp } +post_patch() { + # re2 doesn't install CMake config modules; + # key variables are set in configure_args + vsed -i CMakeLists.txt -e '/include(cmake\/re2\.cmake)/d' + + # override building shared abseil libs + vsed -i third_party/abseil-cpp/CMakeLists.txt \ + -e "/project(absl CXX)/a set(BUILD_SHARED_LIBS OFF)" +} + +post_install() { + # CMake seems to install these no matter what. + # For now, they do not appear to be necessary, so scrub them. + rm ${DESTDIR}/usr/lib/libabsl*.a + + # Remove hard-coded absl linker args from pkgconfig files + sed -e 's/-labsl_[^[:space:]]\+[[:space:]]*//g' \ + -i ${DESTDIR}/usr/lib/pkgconfig/*.pc +} + grpc-devel_package() { short_desc+=" - development files" - depends="${sourcepkg}>=${version}_${revision}" + depends="${sourcepkg}>=${version}_${revision} c-ares-devel re2-devel zlib-devel" pkg_install() { vmove usr/include - vmove usr/lib/*.a vmove usr/lib/*.so vmove usr/lib/cmake vmove usr/lib/pkgconfig