[Bug 271531] devel/py-ruamel.yaml.clib: fix build with clang 16

From: <bugzilla-noreply_at_freebsd.org>
Date: Sat, 20 May 2023 14:35:24 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271531

            Bug ID: 271531
           Summary: devel/py-ruamel.yaml.clib: fix build with clang 16
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: sunpoet@FreeBSD.org
          Reporter: dim@FreeBSD.org
          Assignee: sunpoet@FreeBSD.org
             Flags: maintainer-feedback?(sunpoet@FreeBSD.org)

Clang 16 has a new error about incompatible function types, which shows
up when building devel/py-ruamel.yaml.clib:

  _ruamel_yaml.c:3590:52: error: incompatible function pointer types passing
'int (void *, char *, int, int *)' to parameter of type 'yaml_read_handler_t *'
(aka 'int (*)(void *, unsigned char *, unsigned long, unsigned long *)')
[-Wincompatible-function-pointer-types]
      yaml_parser_set_input((&__pyx_v_self->parser),
__pyx_f_12_ruamel_yaml_input_handler, ((void *)__pyx_v_self));
                                                    
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  _ruamel_yaml.c:15301:53: error: incompatible function pointer types passing
'int (void *, char *, int)' to parameter of type 'yaml_write_handler_t *' (aka
'int (*)(void *, unsigned char *, unsigned long)')
[-Wincompatible-function-pointer-types]
    yaml_emitter_set_output((&__pyx_v_self->emitter),
__pyx_f_12_ruamel_yaml_output_handler, ((void *)__pyx_v_self));
                                                     
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

It seems that _ruamel_yaml.c was originally generated from a rather old
yaml.h interface header. I have looked upstream but it has not been
updated there either, so for now patch the function signatures to match
what is in our textproc/libyaml port.

-- 
You are receiving this mail because:
You are the assignee for the bug.