wv: fix build with clang 16 and on Darwin

- Clang 16 makes implicit int conversions and incompatible function pointer types errors by default. Turn these into warnings; and
- Work around and issue with case-insensitive filesystems that prevents building on Darwin.
This commit is contained in:
Randy Eckenrode 2024-07-20 00:31:33 -04:00
parent ce5160509e
commit 37a736fb85
No known key found for this signature in database
GPG Key ID: 64C1CD4EC2A600D9

View File

@ -22,13 +22,19 @@ stdenv.mkDerivation (finalAttrs: {
"PKG_CONFIG=${buildPackages.pkg-config}/bin/${buildPackages.pkg-config.targetPrefix}pkg-config"
];
env.NIX_CFLAGS_COMPILE =
# Suppress incompatible function pointer and int conversion errors when building with newer versions of clang 16.
lib.optionalString stdenv.cc.isClang "-Wno-error=incompatible-function-pointer-types -Wno-error=int-conversion";
hardeningDisable = [ "format" ];
enableParallelBuilding = true;
# autoreconfHook fails hard if these two files do not exist
# autoreconfHook fails hard if these two files do not exist.
# The extra move is to work around case-insensitive filesystems.
postPatch = ''
touch AUTHORS ChangeLog
touch AUTHORS
mv CHANGELOG ChangeLog~ && mv ChangeLog~ ChangeLog
'';
meta = {