vala: work around clang 16 function pointer errors

Clang 16 makes casting function pointers between incompatible types an
error, which causes Vala to fail to build things using glib-2.0.vapi.

`-Wno-incompatible-function-pointer-types` is set unconditionally
because it is supported by all versions of clang and GCC in nixpkgs.

See https://gitlab.gnome.org/GNOME/vala/-/issues/1413.
This commit is contained in:
Randy Eckenrode 2023-08-30 21:56:30 -04:00
parent dba6d77ad2
commit 94423c0910
No known key found for this signature in database
GPG Key ID: 64C1CD4EC2A600D9

View File

@ -7,6 +7,15 @@ make_vala_find_vapi_files() {
addEnvHooks "$hostOffset" make_vala_find_vapi_files
disable_incompabile_pointer_conversion_warning() {
# Work around incompatible function pointer conversion errors with clang 16
# by setting ``-Wno-incompatible-function-pointer-types` in an env hook.
# See https://gitlab.gnome.org/GNOME/vala/-/issues/1413.
NIX_CFLAGS_COMPILE+=" -Wno-incompatible-function-pointer-types"
}
addEnvHooks "$hostOffset" disable_incompabile_pointer_conversion_warning
_multioutMoveVapiDirs() {
moveToOutput share/vala/vapi "${!outputDev}"
moveToOutput share/vala-@apiVersion@/vapi "${!outputDev}"