about summary refs log tree commit diff
path: root/pkgs/applications/editors/emacs-modes/elpa-packages.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/editors/emacs-modes/elpa-packages.nix')
-rw-r--r--pkgs/applications/editors/emacs-modes/elpa-packages.nix42
1 files changed, 22 insertions, 20 deletions
diff --git a/pkgs/applications/editors/emacs-modes/elpa-packages.nix b/pkgs/applications/editors/emacs-modes/elpa-packages.nix
index e7ed5a32b652e..5f0c863b58617 100644
--- a/pkgs/applications/editors/emacs-modes/elpa-packages.nix
+++ b/pkgs/applications/editors/emacs-modes/elpa-packages.nix
@@ -4,36 +4,36 @@
 
 To update the list of packages from MELPA,
 
-1. Clone https://github.com/ttuegel/emacs2nix.
-2. Run `./elpa-packages.sh` from emacs2nix.
-3. Copy the new `elpa-generated.nix` file into Nixpkgs.
-4. Check for evaluation errors: `nix-instantiate ./. -A emacsPackagesNg.elpaPackages`.
-5. `git add pkgs/applications/editors/emacs-modes/elpa-generated.nix && git commit -m "elpa-packages $(date -Idate)"`
+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`
 
 */
 
 { 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
@@ -50,4 +50,6 @@ self:
 
     elpaPackages = super // overrides;
 
-  in elpaPackages // { inherit elpaBuild; }
+  in elpaPackages // { inherit elpaBuild; });
+
+in generateElpa { }