diff options
Diffstat (limited to 'overlays/patches/emacs/overlay/packreq.nix')
-rw-r--r-- | overlays/patches/emacs/overlay/packreq.nix | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/overlays/patches/emacs/overlay/packreq.nix b/overlays/patches/emacs/overlay/packreq.nix index a18aedb13c81..5602ffed446e 100644 --- a/overlays/patches/emacs/overlay/packreq.nix +++ b/overlays/patches/emacs/overlay/packreq.nix @@ -10,17 +10,21 @@ in { packageElisp , extraEmacsPackages ? epkgs: [ ] , package ? pkgs.emacs -, override ? (epkgs: epkgs) +, override ? (self: super: { }) }: let packages = parse.parsePackagesFromPackageRequires packageElisp; - emacsPackages = pkgs.emacsPackagesFor package; + emacsPackages = (pkgs.emacsPackagesFor package).overrideScope' (self: super: + # for backward compatibility: override was a function with one parameter + if builtins.isFunction (override super) + then override self super + else override super + ); emacsWithPackages = emacsPackages.emacsWithPackages; in emacsWithPackages (epkgs: let - overriden = override epkgs; - usePkgs = builtins.map (name: overriden.${name}) packages; - extraPkgs = extraEmacsPackages overriden; + usePkgs = builtins.map (name: epkgs.${name}) packages; + extraPkgs = extraEmacsPackages epkgs; in - [ overriden.use-package ] ++ usePkgs ++ extraPkgs) + [ epkgs.use-package ] ++ usePkgs ++ extraPkgs) |