From e78debdfa7de0edbe97abf84c01b0a097055b3c5 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Tue, 4 Feb 2025 04:00:17 +0800 Subject: [PATCH] emacs: enable strictDeps for elisp packages This is a step towards the goal[1] of enabling strictDeps by default in Nixpkgs. This helps users write better buildInputs/nativeBuildinputs and checkInputs/nativeCheckInputs. It also makes the build faster because it reduces unnecessary runs of hooks added by addEnvHooks. Previously, emacs was only in nativeBuildInputs. After strictDeps is enabled, emacs has to be also in buildInputs to provide a header file needed[2] by dynamic modules from an elisp package. Only some elisp packages contain dynamic modules but we always add emacs to buildInputs since there is no harm. [1]: https://github.com/NixOS/nixpkgs/issues/178468 [2]: info "(elisp) Module Initialization" --- pkgs/applications/editors/emacs/build-support/generic.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/editors/emacs/build-support/generic.nix b/pkgs/applications/editors/emacs/build-support/generic.nix index 282d42d76284..94f791d8f6cd 100644 --- a/pkgs/applications/editors/emacs/build-support/generic.nix +++ b/pkgs/applications/editors/emacs/build-support/generic.nix @@ -67,7 +67,7 @@ libBuildHelper.extendMkDerivation' stdenv.mkDerivation ( ''; inherit packageRequires; - buildInputs = finalAttrs.packageRequires ++ buildInputs; + buildInputs = [ emacs ] ++ finalAttrs.packageRequires ++ buildInputs; nativeBuildInputs = [ emacs texinfo @@ -77,6 +77,8 @@ libBuildHelper.extendMkDerivation' stdenv.mkDerivation ( setupHook = args.setupHook or setupHook; + strictDeps = args.strictDeps or true; + inherit turnCompilationWarningToError ignoreCompilationError; meta =