diff --git a/net-libs/grpc/grpc-1.41.0.recipe b/net-libs/grpc/grpc-1.41.0.recipe index 6ab01b5f0..079df4911 100644 --- a/net-libs/grpc/grpc-1.41.0.recipe +++ b/net-libs/grpc/grpc-1.41.0.recipe @@ -9,6 +9,10 @@ LICENSE="Apache v2" REVISION="3" SOURCE_URI="https://github.com/grpc/grpc/archive/v$portVersion/grpc-$portVersion.tar.gz" CHECKSUM_SHA256="e5fb30aae1fa1cffa4ce00aa0bbfab908c0b899fcf0bbc30e268367d660d8656" +gtestCommit="c9ccac7cb7345901884aabf5d1a786cfa6e2f397" +SOURCE_URI_2="https://github.com/google/googletest/archive/$gtestCommit/googletest-$gtestCommit.tar.gz" +CHECKSUM_SHA256_2="443d383db648ebb8e391382c0ab63263b7091d03197f304390baac10f178a468" +SOURCE_DIR_2="googletest-$gtestCommit" PATCHES="grpc-$portVersion.patchset" ARCHITECTURES="all !x86_gcc2" @@ -84,6 +88,7 @@ BUILD_REQUIRES=" devel:libabsl_strings$secondaryArchSuffix devel:libabsl_synchronization$secondaryArchSuffix devel:libabsl_time$secondaryArchSuffix + devel:libbenchmark$secondaryArchSuffix devel:libcares$secondaryArchSuffix devel:libprotobuf$secondaryArchSuffix devel:libre2$secondaryArchSuffix @@ -97,13 +102,21 @@ BUILD_PREREQUIRES=" cmd:ninja cmd:pkg_config$secondaryArchSuffix " +TEST_REQUIRES=" + cmd:python2 + cmd:python3 + six_python3 + " BUILD() { + ln -sf $sourceDir2/googlemock $sourceDir2/googletest \ + third_party/googletest cmake -Bbuild -S . \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=$prefix \ -DCMAKE_CXX_STANDARD=17 \ + -DCMAKE_POSITION_INDEPENDENT_CODE=NO \ -DBUILD_SHARED_LIBS=ON \ -DgRPC_INSTALL_BINDIR=$relativeBinDir \ -DgRPC_INSTALL_INCLUDEDIR=$relativeIncludeDir \ @@ -111,6 +124,7 @@ BUILD() -DgRPC_INSTALL_CMAKEDIR=$relativeLibDir/cmake/grpc \ -DgRPC_INSTALL_SHAREDIR=$relativeDataDir/grpc \ -DgRPC_ABSL_PROVIDER='package' \ + -DgRPC_BENCHMARK_PROVIDER='package' \ -DgRPC_CARES_PROVIDER='package' \ -DgRPC_ZLIB_PROVIDER='package' \ -DgRPC_PROTOBUF_PROVIDER='package' \ @@ -126,9 +140,9 @@ BUILD() -DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF \ -DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF \ -DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF \ + -DgRPC_BUILD_TESTS=ON \ -GNinja - unset -f cmake - cmake --build build $jobArgs + cmake --build build -v $jobArgs } INSTALL() @@ -145,3 +159,8 @@ INSTALL() "$developDir" \ "$libDir"/cmake } + +TEST() +{ + python3 tools/run_tests/run_tests.py -l c++ +} diff --git a/net-libs/grpc/patches/grpc-1.41.0.patchset b/net-libs/grpc/patches/grpc-1.41.0.patchset index cb5045be3..37615679c 100644 --- a/net-libs/grpc/patches/grpc-1.41.0.patchset +++ b/net-libs/grpc/patches/grpc-1.41.0.patchset @@ -1,4 +1,4 @@ -From 38c91c597e37f36c9a36bf9894f3bfaae2db9ea4 Mon Sep 17 00:00:00 2001 +From 6054b5cad9f9015e23cd1577d1e9c362ede5b9e6 Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Sat, 16 Oct 2021 21:33:26 +0200 Subject: Haiku: port @@ -17,14 +17,6 @@ index 0e8fbde..832a49c 100644 set(_gRPC_ALLTARGETS_LIBRARIES ${CMAKE_DL_LIBS} rt m pthread) endif() -@@ -11654,6 +11654,7 @@ if(gRPC_BUILD_CODEGEN AND gRPC_BUILD_GRPC_CPP_PLUGIN) - add_executable(grpc_cpp_plugin - src/compiler/cpp_plugin.cc - ) -+set_property(TARGET grpc_cpp_plugin PROPERTY POSITION_INDEPENDENT_CODE FALSE) - - target_include_directories(grpc_cpp_plugin - PRIVATE diff --git a/include/grpc/event_engine/port.h b/include/grpc/event_engine/port.h index 9424586..5ee5327 100644 --- a/include/grpc/event_engine/port.h @@ -110,3 +102,72 @@ index 3e32429..28e9b11 100644 -- 2.30.2 + +From 1757df9f3cb61536ac1864fa10c88f79a050b9a4 Mon Sep 17 00:00:00 2001 +From: Jerome Duval +Date: Fri, 22 Oct 2021 14:54:43 +0200 +Subject: patch needed to help build and run tests on Haiku + + +diff --git a/src/core/lib/promise/detail/basic_seq.h b/src/core/lib/promise/detail/basic_seq.h +index 72b91f9..a7be768 100644 +--- a/src/core/lib/promise/detail/basic_seq.h ++++ b/src/core/lib/promise/detail/basic_seq.h +@@ -16,6 +16,7 @@ + #define GRPC_CORE_LIB_PROMISE_DETAIL_BASIC_SEQ_H + + #include ++#include + + #include "absl/types/variant.h" + #include "absl/utility/utility.h" +diff --git a/tools/run_tests/python_utils/jobset.py b/tools/run_tests/python_utils/jobset.py +index a8bbf65..ed97564 100755 +--- a/tools/run_tests/python_utils/jobset.py ++++ b/tools/run_tests/python_utils/jobset.py +@@ -58,6 +58,8 @@ def platform_string(): + return 'mac' + elif platform.system() == 'Linux': + return 'linux' ++ elif platform.system() == 'Haiku': ++ return 'haiku' + else: + return 'posix' + +diff --git a/tools/run_tests/python_utils/port_server.py b/tools/run_tests/python_utils/port_server.py +index db1d755..8bcfb36 100755 +--- a/tools/run_tests/python_utils/port_server.py ++++ b/tools/run_tests/python_utils/port_server.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python2.7 ++#!/usr/bin/env python3 + # Copyright 2015 gRPC authors. + # + # Licensed under the Apache License, Version 2.0 (the "License"); +diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py +index baee928..62c9a29 100755 +--- a/tools/run_tests/run_tests.py ++++ b/tools/run_tests/run_tests.py +@@ -273,6 +273,19 @@ class CLanguage(object): + # see https://github.com/grpc/grpc/blob/b5b8578b3f8b4a9ce61ed6677e19d546e43c5c68/tools/run_tests/artifacts/artifact_targets.py#L253 + self._cmake_configure_extra_args.append('-DOPENSSL_NO_ASM=ON') + ++ if self.platform == 'haiku': ++ self._cmake_configure_extra_args.append('-DCMAKE_CXX_STANDARD=17') ++ self._cmake_configure_extra_args.append('-DCMAKE_POSITION_INDEPENDENT_CODE=NO') ++ self._cmake_configure_extra_args.append('-DgRPC_ABSL_PROVIDER=package') ++ self._cmake_configure_extra_args.append('-DgRPC_BENCHMARK_PROVIDER=package') ++ self._cmake_configure_extra_args.append('-DgRPC_CARES_PROVIDER=package') ++ self._cmake_configure_extra_args.append('-DgRPC_ZLIB_PROVIDER=package') ++ self._cmake_configure_extra_args.append('-DgRPC_PROTOBUF_PROVIDER=package') ++ self._cmake_configure_extra_args.append('-DgRPC_PROTOBUF_PACKAGE_TYPE=MODULE') ++ self._cmake_configure_extra_args.append('-DgRPC_RE2_PROVIDER=package') ++ self._cmake_configure_extra_args.append('-DgRPC_SSL_PROVIDER=package') ++ self._cmake_configure_extra_args.append('-DgRPC_ZLIB_PROVIDER=package') ++ + def test_specs(self): + out = [] + binaries = get_c_tests(self.args.travis, self.test_lang) +-- +2.30.2 +