about summary refs log tree commit diff
path: root/pkgs/applications/editors
diff options
context:
space:
mode:
authoradisbladis <adisbladis@gmail.com>2019-08-18 10:47:42 +0100
committeradisbladis <adisbladis@gmail.com>2019-08-18 11:10:02 +0100
commitee80e10a980ed0d7f111f54abff27d4909c16c76 (patch)
tree8013c1f9c238a6e63fa5d05b580fce472b17a60d /pkgs/applications/editors
parenteacc71a6b61e574c062d6bfa012ed0ffb2ec7f20 (diff)
emacs-packages: Make elpa generated file overrideable
Diffstat (limited to 'pkgs/applications/editors')
-rw-r--r--pkgs/applications/editors/emacs-modes/elpa-packages.nix36
1 files changed, 20 insertions, 16 deletions
diff --git a/pkgs/applications/editors/emacs-modes/elpa-packages.nix b/pkgs/applications/editors/emacs-modes/elpa-packages.nix
index 2312730ab0c12..5f0c863b58617 100644
--- a/pkgs/applications/editors/emacs-modes/elpa-packages.nix
+++ b/pkgs/applications/editors/emacs-modes/elpa-packages.nix
@@ -6,32 +6,34 @@ To update the list of packages from MELPA,
 
 1. Run `./update-elpa`.
 2. Check for evaluation errors: `nix-instantiate ../../../.. -A emacsPackagesNg.elpaPackages`.
-3. `git commit -m "elpa-packages $(date -Idate) -- elpa-generated.nix"`
+3. `git commit -m "elpa-packages $(date -Idate)" -- elpa-generated.nix`
 
 */
 
 { lib, stdenv, texinfo }:
 
-self:
+self: let
 
-  let
+  markBroken = pkg: pkg.override {
+    elpaBuild = args: self.elpaBuild (args // {
+      meta = (args.meta or {}) // { broken = true; };
+    });
+  };
 
-    imported = import ./elpa-generated.nix {
-      inherit (self) callPackage;
-    };
+  elpaBuild = import ../../../build-support/emacs/elpa.nix {
+    inherit lib stdenv texinfo;
+    inherit (self) emacs;
+  };
 
-    super = removeAttrs imported [ "dash" ];
+  generateElpa = lib.makeOverridable ({
+    generated ? ./elpa-generated.nix
+  }: let
 
-    elpaBuild = import ../../../build-support/emacs/elpa.nix {
-      inherit lib stdenv texinfo;
-      inherit (self) emacs;
+    imported = import generated {
+      inherit (self) callPackage;
     };
 
-    markBroken = pkg: pkg.override {
-      elpaBuild = args: self.elpaBuild (args // {
-        meta = (args.meta or {}) // { broken = true; };
-      });
-    };
+    super = removeAttrs imported [ "dash" ];
 
     overrides = {
       # upstream issue: missing footer
@@ -48,4 +50,6 @@ self:
 
     elpaPackages = super // overrides;
 
-  in elpaPackages // { inherit elpaBuild; }
+  in elpaPackages // { inherit elpaBuild; });
+
+in generateElpa { }