nixpkgs/pkgs/applications/editors/emacs-modes/elpa-packages.nix
2020-05-11 15:51:46 +03:00

62 lines
1.4 KiB
Nix

/*
# Updating
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`
## Update from overlay
Alternatively, run the following command:
./update-from-overlay
It will update both melpa and elpa packages using
https://github.com/nix-community/emacs-overlay. It's almost
instantenous and formats commits for you.
*/
{ lib, stdenv, texinfo }:
self: let
markBroken = pkg: pkg.override {
elpaBuild = args: self.elpaBuild (args // {
meta = (args.meta or {}) // { broken = true; };
});
};
elpaBuild = import ../../../build-support/emacs/elpa.nix {
inherit lib stdenv texinfo;
inherit (self) emacs;
};
generateElpa = lib.makeOverridable ({
generated ? ./elpa-generated.nix
}: let
imported = import generated {
inherit (self) callPackage;
};
super = removeAttrs imported [ "dash" ];
overrides = {
rcirc-menu = markBroken super.rcirc-menu; # Missing file header
cl-lib = null; # builtin
tle = null; # builtin
advice = null; # builtin
seq = if lib.versionAtLeast self.emacs.version "27"
then null
else super.seq;
};
elpaPackages = super // overrides;
in elpaPackages // { inherit elpaBuild; });
in generateElpa { }