diff --git a/flake.nix b/flake.nix index 9a3087c4b..440320afa 100644 --- a/flake.nix +++ b/flake.nix @@ -283,6 +283,10 @@ "address" "undefined" ]; + # it is very hard to make *every* CI build use this option such + # that we don't wind up building Lix twice, so we do it here where + # we are already doing so. + werror = true; }; # Make sure that nix-env still produces the exact same result diff --git a/package.nix b/package.nix index 0807ec1de..9f983f66b 100644 --- a/package.nix +++ b/package.nix @@ -60,6 +60,8 @@ # List of Meson sanitize options. Accepts values of b_sanitize, e.g. # "address", "undefined", "thread". sanitize ? null, + # Turn compiler warnings into errors. + werror ? false, # Not a real argument, just the only way to approximate let-binding some # stuff for argument defaults. @@ -191,6 +193,7 @@ stdenv.mkDerivation (finalAttrs: { (lib.mesonEnable "internal-api-docs" internalApiDocs) (lib.mesonBool "enable-tests" finalAttrs.finalPackage.doCheck) (lib.mesonBool "enable-docs" canRunInstalled) + (lib.mesonBool "werror" werror) ] ++ lib.optional (hostPlatform != buildPlatform) "--cross-file=${mesonCrossFile}" ++ sanitizeOpts;