0e56639342
The `project` package bundled with Emacs 28 is newer than the one provided by GNU ELPA. This may or may not change in the future. For now it is definitely the case and since the package is under heavy development a lot of features are missing in the one on GNU ELPA which in turn is newer than the one that comes bundled with Emacs 27.
66 lines
1.5 KiB
Nix
66 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. `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 { }
|