Unverified Commit 94db461e authored by Vladimír Čunát's avatar Vladimír Čunát
Browse files

Merge #328573: emacs: add two parameters to genericBuild to control errors

...into staging-next
parents 3f0fd423 45f2e588
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -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
@@ -82,8 +86,13 @@ stdenv.mkDerivation (finalAttrs: ({
    addEmacsVars "$out"

    find $out/share/emacs -type f -name '*.el' -print0 \
      | xargs -0 -I {} -n 1 -P $NIX_BUILD_CORES sh -c \
          "emacs --batch --eval '(setq large-file-warning-threshold nil)' -f batch-native-compile {} || true"
      | xargs --verbose -0 -I {} -n 1 -P $NIX_BUILD_CORES sh -c \
          "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 {} \
           || exit ${if finalAttrs.ignoreCompilationError then "0" else "\\$?"}"
  '';
}