diff --git a/pkgs/applications/editors/emacs/build-support/generic.nix b/pkgs/applications/editors/emacs/build-support/generic.nix index ec0ffa3ae9f8..b013dee9e017 100644 --- a/pkgs/applications/editors/emacs/build-support/generic.nix +++ b/pkgs/applications/editors/emacs/build-support/generic.nix @@ -27,6 +27,8 @@ in , buildInputs ? [] , packageRequires ? [] , meta ? {} +, turnCompilationWarningToError ? false +, ignoreCompilationError ? true , ... }@args: @@ -73,6 +75,8 @@ stdenv.mkDerivation (finalAttrs: ({ addEmacsNativeLoadPath = true; + inherit turnCompilationWarningToError ignoreCompilationError; + postInstall = '' # Besides adding the output directory to the native load path, make sure # the current package's elisp files are in the load path, otherwise @@ -86,8 +90,9 @@ stdenv.mkDerivation (finalAttrs: ({ "emacs \ --batch \ --eval '(setq large-file-warning-threshold nil)' \ + --eval '(setq byte-compile-error-on-warn ${if finalAttrs.turnCompilationWarningToError then "t" else "nil"})' \ -f batch-native-compile {} \ - || true" + || exit ${if finalAttrs.ignoreCompilationError then "0" else "\\$?"}" ''; }