diff --git a/net/rubygem-grpc/Makefile b/net/rubygem-grpc/Makefile index 9da655372c1e..2d2d585564ea 100644 --- a/net/rubygem-grpc/Makefile +++ b/net/rubygem-grpc/Makefile @@ -1,29 +1,30 @@ PORTNAME= grpc PORTVERSION= 1.54.0 +PORTREVISION= 1 CATEGORIES= net rubygems MASTER_SITES= RG MAINTAINER= sunpoet@FreeBSD.org COMMENT= Ruby implementation of gRPC WWW= https://github.com/grpc/grpc/tree/master/src/ruby LICENSE= BSD3CLAUSE LIB_DEPENDS= libcares.so:dns/c-ares \ libgrpc.so:devel/grpc RUN_DEPENDS= ca_root_nss>=0:security/ca_root_nss \ rubygem-google-protobuf>=3.21<4:devel/rubygem-google-protobuf \ rubygem-googleapis-common-protos-types>=1.0<2:devel/rubygem-googleapis-common-protos-types USES= cpe gem gmake pkgconfig MAKE_JOBS_UNSAFE= yes post-patch: @${RM} ${WRKSRC}/Makefile ${WRKSRC}/.yardopts @${RM} -r ${WRKSRC}/etc ${WRKSRC}/include ${WRKSRC}/third_party ${WRKSRC}/src/boringssl ${WRKSRC}/src/core @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' ${WRKSRC}/src/ruby/lib/grpc.rb @${REINPLACE_CMD} -Ee '/s\.files = /s;, "(Makefile|etc|include|third_party|src/boringssl|src/core)[^"]*"\.freeze;;g' ${WRKSRC}/${GEMSPEC} @${REINPLACE_CMD} -e '/s\.files = /s|"\.yardopts"\.freeze, ||' ${WRKSRC}/${GEMSPEC} .include diff --git a/net/rubygem-grpc/files/patch-clang16 b/net/rubygem-grpc/files/patch-clang16 new file mode 100644 index 000000000000..9a16799fd3f6 --- /dev/null +++ b/net/rubygem-grpc/files/patch-clang16 @@ -0,0 +1,22 @@ +--- src/ruby/ext/grpc/rb_channel.c.orig 2023-05-20 19:48:13 UTC ++++ src/ruby/ext/grpc/rb_channel.c +@@ -694,7 +694,7 @@ static void run_poll_channels_loop_unblocking_func(voi + } + + // Poll channel connectivity states in background thread without the GIL. +-static VALUE run_poll_channels_loop(VALUE arg) { ++static VALUE run_poll_channels_loop(void *arg) { + (void)arg; + gpr_log( + GPR_DEBUG, +--- src/ruby/ext/grpc/rb_event_thread.c.orig 2023-05-20 19:51:52 UTC ++++ src/ruby/ext/grpc/rb_event_thread.c +@@ -114,7 +114,7 @@ static void grpc_rb_event_unblocking_func(void* arg) { + + /* This is the implementation of the thread that handles auth metadata plugin + * events */ +-static VALUE grpc_rb_event_thread(VALUE arg) { ++static VALUE grpc_rb_event_thread(void *arg) { + grpc_rb_event* event; + (void)arg; + grpc_ruby_init();