Package: grpc / 1.59.5-1

Metadata

Package Version Patches format
grpc 1.59.5-1 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
unversion_sphinx.patch | (download)

setup.py | 2 1 1 - 0 !
1 file changed, 1 insertion( ), 1 deletion(-)

 all sphinx version build docs
 .
no_embedded_abseil.patch | (download)

Makefile | 7 5 2 - 0 !
1 file changed, 5 insertions( ), 2 deletions(-)

 don't statically link with abseil
 Use dynamic linking.
link_external_abseil.patch | (download)

setup.py | 1 1 0 - 0 !
src/python/grpcio/grpc_core_dependencies.py | 124 0 124 - 0 !
2 files changed, 1 insertion( ), 124 deletions(-)

 link with external abseil
 It's not embedded in source.
no boringssl.patch | (download)

src/python/grpcio/grpc_core_dependencies.py | 264 0 264 - 0 !
1 file changed, 264 deletions(-)

 no boringssl source
 As boringssl is not packaged, can't use it.
no opencensus.patch | (download)

CMakeLists.txt | 2 2 0 - 0 !
1 file changed, 2 insertions( )

 disable opencensus forced download, not seems to be used
 Just don't download it.
no embed libs.patch | (download)

src/ruby/ext/grpc/extconf.rb | 4 3 1 - 0 !
1 file changed, 3 insertions( ), 1 deletion(-)

---
remove missing files in gemspec.patch | (download)

grpc.gemspec | 1208 0 1208 - 0 !
1 file changed, 1208 deletions(-)

---
no make in extconf.patch | (download)

src/ruby/ext/grpc/extconf.rb | 29 1 28 - 0 !
1 file changed, 1 insertion( ), 28 deletions(-)

---
use system grpc.patch | (download)

src/ruby/spec/spec_helper.rb | 1 0 1 - 0 !
1 file changed, 1 deletion(-)

---
fix protoc path.patch | (download)

src/ruby/end2end/package_with_underscore_test.rb | 2 2 0 - 0 !
src/ruby/tools/bin/grpc_tools_ruby_protoc | 1 1 0 - 0 !
2 files changed, 3 insertions( )

---
add_grpc_libdir.patch | (download)

src/ruby/ext/grpc/extconf.rb | 2 2 0 - 0 !
1 file changed, 2 insertions( )

 add local libdir to link with grpc
 d/rules set TOPDIR to installed library directory.
link_python_all_absl.patch | (download)

setup.py | 2 1 1 - 0 !
1 file changed, 1 insertion( ), 1 deletion(-)

 link python grpc module with all needed abseil libraries
 Add the needed libraries to link with.
fix run_poll_channels_loop FTBFS.patch | (download)

src/ruby/ext/grpc/rb_channel.c | 16 11 5 - 0 !
src/ruby/ext/grpc/rb_event_thread.c | 12 9 3 - 0 !
2 files changed, 20 insertions( ), 8 deletions(-)

 [patch] [ruby] fix compilation errors on clang 16

As announced in
https://discourse.llvm.org/t/clang-16-notice-of-potentially-breaking-changes/65562,
clang 16 defaults `-Wincompatible-function-pointer-types` to be
on. This causes a number of hard errors due to implicit conversions
between `void *` and `void`, such as:

```
../../../../src/ruby/ext/grpc/rb_channel.c:770:47: error: incompatible function pointer types passing 'VALUE (VALUE)' (aka 'unsigned long (unsigned long)') to parameter of type 'VALUE (*)(void *)' (aka 'unsigned long (*)(void *)') [-Wincompatible-function-pointer-types]
  g_channel_polling_thread = rb_thread_create(run_poll_channels_loop, NULL);
                                              ^~~~~~~~~~~~~~~~~~~~~~
/root/.rbenv/versions/3.1.4/include/ruby-3.1.0/ruby/internal/intern/thread.h:190:32: note: passing argument to parameter 'f' here
VALUE rb_thread_create(VALUE (*f)(void *g), void *g);
                               ^
../../../../src/ruby/ext/grpc/rb_channel.c:780:41: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes]
void grpc_rb_channel_polling_thread_stop() {
                                        ^
                                         void
../../../../src/ruby/ext/grpc/rb_channel.c:786:30: error: incompatible function pointer types passing 'void (void *)' to parameter of type 'void *(*)(void *)' [-Wincompatible-function-pointer-types]
  rb_thread_call_without_gvl(run_poll_channels_loop_unblocking_func, NULL, NULL,
```

This commit fixes these pointer types using wrapper functions where
necessary.

This issue was also raised on the FreeBSD port of the grpc gem:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271540

ruby_no incompatible pointer types.patch | (download)

src/ruby/ext/grpc/extconf.rb | 1 1 0 - 0 !
1 file changed, 1 insertion( )

 fix ftbfs with gcc 14 with a special grpc null value
 It contains a struct with should have a dimension / value, but a NULL value
 can't have that.