mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-01-03 03:23:17 +00:00
94423c0910
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.
25 lines
862 B
Bash
25 lines
862 B
Bash
make_vala_find_vapi_files() {
|
|
# XDG_DATA_DIRS: required for finding .vapi files
|
|
if [ -d "$1/share/vala/vapi" -o -d "$1/share/vala-@apiVersion@/vapi" ]; then
|
|
addToSearchPath XDG_DATA_DIRS $1/share
|
|
fi
|
|
}
|
|
|
|
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}"
|
|
}
|
|
|
|
preFixupHooks+=(_multioutMoveVapiDirs)
|