Skip to content

Commit

Permalink
net/rubygem-ovirt-engine-sdk: Fix build with Clang 16 and remove the …
Browse files Browse the repository at this point in the history
…workaround

ov_http_client.c:1001:47: error: incompatible function pointer types passing 'int (VALUE, VALUE, struct curl_slist **)' (aka 'int (unsigned long, unsigned long, struct curl_slist **)') to parameter of type 'int (*)(VALUE, VALUE, VALUE)' (aka 'int (*)(unsigned long, unsigned long, unsigned long)') [-Wincompatible-function-pointer-types]
        rb_hash_foreach(request_ptr->headers, ov_http_client_add_header, (VALUE) headers);
                                              ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/ruby-3.1/ruby/internal/intern/hash.h:83:40: note: passing argument to parameter 'func' here
void rb_hash_foreach(VALUE hash, int (*func)(VALUE key, VALUE val, VALUE arg), VALUE arg);
                                       ^
9 warnings and 1 error generated.
  • Loading branch information
sunpoet committed Jun 30, 2023
1 parent b370f0a commit 463e93c
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 6 deletions.
6 changes: 0 additions & 6 deletions net/rubygem-ovirt-engine-sdk/Makefile
Expand Up @@ -17,10 +17,4 @@ RUN_DEPENDS= rubygem-json>=1<3:devel/rubygem-json
USES= gem gnome
USE_GNOME= libxml2

.include <bsd.port.options.mk>

.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1400091
CONFIGURE_ARGS+= --with-cflags="-Wno-error=incompatible-function-pointer-types"
.endif

.include <bsd.port.mk>
11 changes: 11 additions & 0 deletions net/rubygem-ovirt-engine-sdk/files/patch-clang16
@@ -0,0 +1,11 @@
--- ext/ovirtsdk4c/ov_http_client.c.orig 2023-06-24 11:23:37 UTC
+++ ext/ovirtsdk4c/ov_http_client.c
@@ -998,7 +998,7 @@ static void ov_http_client_prepare_handle(ov_http_clie

/* Set the headers: */
if (!NIL_P(request_ptr->headers)) {
- rb_hash_foreach(request_ptr->headers, ov_http_client_add_header, (VALUE) headers);
+ rb_hash_foreach(request_ptr->headers, (int (*)(VALUE, VALUE, VALUE)) ov_http_client_add_header, (VALUE) headers);
}
curl_easy_setopt(handle, CURLOPT_HTTPHEADER, *headers);

0 comments on commit 463e93c

Please sign in to comment.