summary refs log tree commit diff
diff options
context:
space:
mode:
authoradisbladis <adisbladis@gmail.com>2021-08-04 09:13:46 -0500
committeradisbladis <adisbladis@gmail.com>2021-08-04 09:31:23 -0500
commit9bd54f586e162749c4c12a454b101987cb16de5c (patch)
tree7698fbce19fc7312421e735a8a354da1d31dca71
parent1cc8723f0e5f56615f3d63cd97906afc77feacbe (diff)
downloadnixpkgs-9bd54f586e162749c4c12a454b101987cb16de5c.tar
nixpkgs-9bd54f586e162749c4c12a454b101987cb16de5c.tar.gz
nixpkgs-9bd54f586e162749c4c12a454b101987cb16de5c.tar.bz2
nixpkgs-9bd54f586e162749c4c12a454b101987cb16de5c.tar.lz
nixpkgs-9bd54f586e162749c4c12a454b101987cb16de5c.tar.xz
nixpkgs-9bd54f586e162749c4c12a454b101987cb16de5c.tar.zst
nixpkgs-9bd54f586e162749c4c12a454b101987cb16de5c.zip
emacs.pkgs: Propagate overriden scope to emacs package in set
This is the true fix for https://github.com/NixOS/nixpkgs/issues/130020.
-rw-r--r--pkgs/top-level/all-packages.nix4
-rw-r--r--pkgs/top-level/emacs-packages.nix16
2 files changed, 15 insertions, 5 deletions
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 05e18dd0b91..f5912a2e700 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -23951,8 +23951,8 @@ in
   };
 
   emacsPackagesFor = emacs: import ./emacs-packages.nix {
-    inherit (lib) makeScope makeOverridable;
-    inherit emacs;
+    inherit (lib) makeScope makeOverridable dontRecurseIntoAttrs;
+    emacs' = emacs;
     pkgs' = pkgs;  # default pkgs used for bootstrapping the emacs package set
   };
 
diff --git a/pkgs/top-level/emacs-packages.nix b/pkgs/top-level/emacs-packages.nix
index 3fa2d2ea5dc..9b4d700a355 100644
--- a/pkgs/top-level/emacs-packages.nix
+++ b/pkgs/top-level/emacs-packages.nix
@@ -21,7 +21,12 @@
   (package-initialize)
 */
 
-{ pkgs', makeScope, makeOverridable, emacs }:
+{ pkgs'
+, emacs'
+, makeScope
+, makeOverridable
+, dontRecurseIntoAttrs
+}:
 
 let
 
@@ -71,7 +76,12 @@ in makeScope pkgs'.newScope (self: makeOverridable ({
   // manualPackages // { inherit manualPackages; }
   // {
 
-    inherit emacs;
+    # Propagate overriden scope
+    emacs = emacs'.overrideAttrs(old: {
+      passthru = old.passthru // {
+        pkgs = dontRecurseIntoAttrs self;
+      };
+    });
 
     trivialBuild = pkgs.callPackage ../build-support/emacs/trivial.nix {
       inherit (self) emacs;
@@ -84,7 +94,7 @@ in makeScope pkgs'.newScope (self: makeOverridable ({
     emacsWithPackages = emacsWithPackages { inherit pkgs lib; } self;
     withPackages = emacsWithPackages { inherit pkgs lib; } self;
 
-  }// {
+  } // {
 
     # Package specific priority overrides goes here