elpa-packages 2016-01-18
The ELPA package expressions are now generated as a single file to improve evaluation performance.
This commit is contained in:
parent
61d7fde27c
commit
93bd5a2c32
1822
pkgs/applications/editors/emacs-modes/elpa-generated.nix
Normal file
1822
pkgs/applications/editors/emacs-modes/elpa-generated.nix
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -13,44 +13,15 @@ To update the list of packages from ELPA,
|
|||||||
|
|
||||||
{ fetchurl, lib, stdenv, texinfo }:
|
{ fetchurl, lib, stdenv, texinfo }:
|
||||||
|
|
||||||
let
|
|
||||||
|
|
||||||
inherit (lib) makeScope mapAttrs;
|
|
||||||
|
|
||||||
json = builtins.readFile ./elpa-packages.json;
|
|
||||||
manifest = builtins.fromJSON json;
|
|
||||||
|
|
||||||
mkPackage = self: name: recipe:
|
|
||||||
let drv =
|
|
||||||
{ elpaBuild, stdenv, fetchurl }:
|
|
||||||
let
|
|
||||||
unknownFetcher =
|
|
||||||
abort "emacs-${name}: unknown fetcher '${recipe.fetch.tag}'";
|
|
||||||
fetch =
|
|
||||||
{ inherit fetchurl; }."${recipe.fetch.tag}"
|
|
||||||
or unknownFetcher;
|
|
||||||
args = builtins.removeAttrs recipe.fetch [ "tag" ];
|
|
||||||
src = fetch args;
|
|
||||||
in elpaBuild {
|
|
||||||
pname = name;
|
|
||||||
inherit (recipe) version;
|
|
||||||
inherit src;
|
|
||||||
packageRequires =
|
|
||||||
let lookupDep = d: self."${d}" or null;
|
|
||||||
in map lookupDep recipe.deps;
|
|
||||||
meta = {
|
|
||||||
homepage = "http://elpa.gnu.org/packages/${name}.html";
|
|
||||||
license = stdenv.lib.licenses.free;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in self.callPackage drv {};
|
|
||||||
|
|
||||||
in
|
|
||||||
|
|
||||||
self:
|
self:
|
||||||
|
|
||||||
let
|
let
|
||||||
super = removeAttrs (mapAttrs (mkPackage self) manifest) [ "dash" ];
|
|
||||||
|
imported = import ./elpa-generated.nix {
|
||||||
|
inherit (self) callPackage;
|
||||||
|
};
|
||||||
|
|
||||||
|
super = removeAttrs imported [ "dash" ];
|
||||||
|
|
||||||
elpaBuild = import ../../../build-support/emacs/melpa.nix {
|
elpaBuild = import ../../../build-support/emacs/melpa.nix {
|
||||||
inherit fetchurl lib stdenv texinfo;
|
inherit fetchurl lib stdenv texinfo;
|
||||||
@ -63,11 +34,14 @@ self:
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
elpaPackages = super // {
|
overrides = {
|
||||||
# These packages require emacs-25
|
# These packages require emacs-25
|
||||||
el-search = markBroken super.el-search;
|
el-search = markBroken super.el-search;
|
||||||
iterators = markBroken super.iterators;
|
iterators = markBroken super.iterators;
|
||||||
midi-kbd = markBroken super.midi-kbd;
|
midi-kbd = markBroken super.midi-kbd;
|
||||||
stream = markBroken super.stream;
|
stream = markBroken super.stream;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
elpaPackages = super // overrides;
|
||||||
|
|
||||||
in elpaPackages // { inherit elpaBuild elpaPackages; }
|
in elpaPackages // { inherit elpaBuild elpaPackages; }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user