3
0
Fork 0
forked from mirrors/nixpkgs
nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix
2021-05-21 00:41:12 -03:00

67 lines
1.5 KiB
Nix

/*
# Updating
To update the list of packages from MELPA,
1. Run `./update-elpa`.
2. Check for evaluation errors:
`nix-instantiate ../../../../../ -A emacs.pkgs.elpaPackages`.
3. Run `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, writeText }:
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 writeText;
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;
project = if lib.versionAtLeast self.emacs.version "28"
then null
else super.project;
};
elpaPackages = super // overrides;
in elpaPackages // { inherit elpaBuild; });
in generateElpa { }