melpa-packages: Add ability to ovveride melpa JSON archive location
This enables using the melpa json generator in an overlay
This commit is contained in:
parent
8911226971
commit
47d3b98b4b
@ -12,124 +12,115 @@ env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPac
|
|||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
{ lib, external }:
|
{ lib, external }: variant: self: let
|
||||||
|
|
||||||
self:
|
dontConfigure = pkg: if pkg != null then pkg.override (args: {
|
||||||
|
melpaBuild = drv: args.melpaBuild (drv // {
|
||||||
|
configureScript = "true";
|
||||||
|
});
|
||||||
|
}) else null;
|
||||||
|
|
||||||
|
markBroken = pkg: if pkg != null then pkg.override (args: {
|
||||||
|
melpaBuild = drv: args.melpaBuild (drv // {
|
||||||
|
meta = (drv.meta or {}) // { broken = true; };
|
||||||
|
});
|
||||||
|
}) else null;
|
||||||
|
|
||||||
|
generateMelpa = lib.makeOverridable ({
|
||||||
|
archiveJson ? ./recipes-archive-melpa.json
|
||||||
|
}: let
|
||||||
|
|
||||||
let
|
|
||||||
inherit (import ./libgenerated.nix lib self) melpaDerivation;
|
inherit (import ./libgenerated.nix lib self) melpaDerivation;
|
||||||
imported = lib.listToAttrs (map (melpaDerivation "unstable")
|
super = lib.listToAttrs (map (melpaDerivation variant) (lib.importJSON archiveJson));
|
||||||
(lib.importJSON ./recipes-archive-melpa.json));
|
|
||||||
super = builtins.removeAttrs imported [
|
|
||||||
"swbuff-x" # required dependency swbuff is missing
|
|
||||||
];
|
|
||||||
|
|
||||||
dontConfigure = pkg: pkg.override (args: {
|
generic = import ./melpa-generic.nix;
|
||||||
melpaBuild = drv: args.melpaBuild (drv // {
|
|
||||||
configureScript = "true";
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
markBroken = pkg: pkg.override (args: {
|
overrides = rec {
|
||||||
melpaBuild = drv: args.melpaBuild (drv // {
|
shared = {
|
||||||
meta = (drv.meta or {}) // { broken = true; };
|
# Expects bash to be at /bin/bash
|
||||||
});
|
ac-rtags = markBroken super.ac-rtags;
|
||||||
});
|
|
||||||
|
|
||||||
overrides = {
|
airline-themes = super.airline-themes.override {
|
||||||
# Expects bash to be at /bin/bash
|
inherit (self.melpaPackages) powerline;
|
||||||
ac-rtags = markBroken super.ac-rtags;
|
};
|
||||||
|
|
||||||
# upstream issue: mismatched filename
|
# upstream issue: missing file header
|
||||||
ack-menu = markBroken super.ack-menu;
|
bufshow = markBroken super.bufshow;
|
||||||
|
|
||||||
airline-themes = super.airline-themes.override {
|
# part of a larger package
|
||||||
inherit (self.melpaPackages) powerline;
|
caml = dontConfigure super.caml;
|
||||||
};
|
|
||||||
|
|
||||||
# upstream issue: missing file header
|
# Expects bash to be at /bin/bash
|
||||||
bufshow = markBroken super.bufshow;
|
company-rtags = markBroken super.company-rtags;
|
||||||
|
|
||||||
# part of a larger package
|
easy-kill-extras = super.easy-kill-extras.override {
|
||||||
caml = dontConfigure super.caml;
|
inherit (self.melpaPackages) easy-kill;
|
||||||
|
};
|
||||||
|
|
||||||
# Expects bash to be at /bin/bash
|
# upstream issue: missing file header
|
||||||
company-rtags = markBroken super.company-rtags;
|
elmine = markBroken super.elmine;
|
||||||
|
|
||||||
easy-kill-extras = super.easy-kill-extras.override {
|
evil-magit = super.evil-magit.overrideAttrs (attrs: {
|
||||||
inherit (self.melpaPackages) easy-kill;
|
# searches for Git at build time
|
||||||
};
|
nativeBuildInputs =
|
||||||
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
||||||
|
});
|
||||||
|
|
||||||
editorconfig = super.editorconfig.overrideAttrs (attrs: {
|
ess-R-data-view = super.ess-R-data-view.override {
|
||||||
propagatedUserEnvPkgs = [ external.editorconfig-core-c ];
|
inherit (self.melpaPackages) ess ctable popup;
|
||||||
});
|
};
|
||||||
|
|
||||||
egg = super.egg.overrideAttrs (attrs: {
|
# Expects bash to be at /bin/bash
|
||||||
# searches for Git at build time
|
flycheck-rtags = markBroken super.flycheck-rtags;
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
# upstream issue: missing file header
|
# build timeout
|
||||||
elmine = markBroken super.elmine;
|
graphene = markBroken super.graphene;
|
||||||
|
|
||||||
ess-R-data-view = super.ess-R-data-view.override {
|
# Build same version as Haskell package
|
||||||
inherit (self.melpaPackages) ess ctable popup;
|
hindent = super.hindent.overrideAttrs (attrs: {
|
||||||
};
|
version = external.hindent.version;
|
||||||
|
src = external.hindent.src;
|
||||||
|
packageRequires = [ self.haskell-mode ];
|
||||||
|
propagatedUserEnvPkgs = [ external.hindent ];
|
||||||
|
});
|
||||||
|
|
||||||
evil-magit = super.evil-magit.overrideAttrs (attrs: {
|
# upstream issue: missing file header
|
||||||
# searches for Git at build time
|
ido-complete-space-or-hyphen = markBroken super.ido-complete-space-or-hyphen;
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
# missing dependencies
|
# upstream issue: missing file header
|
||||||
evil-search-highlight-persist = super.evil-search-highlight-persist.overrideAttrs (attrs: {
|
initsplit = markBroken super.initsplit;
|
||||||
packageRequires = with self; [ evil highlight ];
|
|
||||||
});
|
|
||||||
|
|
||||||
# Expects bash to be at /bin/bash
|
# tries to write a log file to $HOME
|
||||||
flycheck-rtags = markBroken super.flycheck-rtags;
|
insert-shebang = super.insert-shebang.overrideAttrs (attrs: {
|
||||||
|
HOME = "/tmp";
|
||||||
|
});
|
||||||
|
|
||||||
forge = super.forge.overrideAttrs (attrs: {
|
# Expects bash to be at /bin/bash
|
||||||
# searches for Git at build time
|
ivy-rtags = markBroken super.ivy-rtags;
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
# build timeout
|
# upstream issue: missing file header
|
||||||
graphene = markBroken super.graphene;
|
jsfmt = markBroken super.jsfmt;
|
||||||
|
|
||||||
# upstream issue: mismatched filename
|
# upstream issue: missing file header
|
||||||
helm-lobsters = markBroken super.helm-lobsters;
|
maxframe = markBroken super.maxframe;
|
||||||
|
|
||||||
# Expects bash to be at /bin/bash
|
magit = super.magit.overrideAttrs (attrs: {
|
||||||
helm-rtags = markBroken super.helm-rtags;
|
# searches for Git at build time
|
||||||
|
nativeBuildInputs =
|
||||||
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
||||||
|
});
|
||||||
|
|
||||||
# Build same version as Haskell package
|
magit-todos = super.magit-todos.overrideAttrs (attrs: {
|
||||||
hindent = super.hindent.overrideAttrs (attrs: {
|
# searches for Git at build time
|
||||||
version = external.hindent.version;
|
nativeBuildInputs =
|
||||||
src = external.hindent.src;
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
||||||
packageRequires = [ self.haskell-mode ];
|
});
|
||||||
propagatedUserEnvPkgs = [ external.hindent ];
|
|
||||||
});
|
|
||||||
|
|
||||||
# upstream issue: missing file header
|
magit-filenotify = super.magit-filenotify.overrideAttrs (attrs: {
|
||||||
ido-complete-space-or-hyphen = markBroken super.ido-complete-space-or-hyphen;
|
# searches for Git at build time
|
||||||
|
nativeBuildInputs =
|
||||||
# upstream issue: missing file header
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
||||||
initsplit = super.initsplit;
|
});
|
||||||
|
|
||||||
# tries to write a log file to $HOME
|
|
||||||
insert-shebang = super.insert-shebang.overrideAttrs (attrs: {
|
|
||||||
HOME = "/tmp";
|
|
||||||
});
|
|
||||||
|
|
||||||
# Expects bash to be at /bin/bash
|
|
||||||
ivy-rtags = markBroken super.ivy-rtags;
|
|
||||||
|
|
||||||
# upstream issue: missing file header
|
|
||||||
jsfmt = markBroken super.jsfmt;
|
|
||||||
|
|
||||||
kubernetes = super.kubernetes.overrideAttrs (attrs: {
|
kubernetes = super.kubernetes.overrideAttrs (attrs: {
|
||||||
# searches for Git at build time
|
# searches for Git at build time
|
||||||
@ -138,169 +129,224 @@ self:
|
|||||||
});
|
});
|
||||||
|
|
||||||
# upstream issue: missing file header
|
# upstream issue: missing file header
|
||||||
maxframe = markBroken super.maxframe;
|
mhc = super.mhc.override {
|
||||||
|
inherit (self.melpaPackages) calfw;
|
||||||
|
};
|
||||||
|
|
||||||
magit =
|
# missing .NET
|
||||||
super.magit.overrideAttrs (attrs: {
|
nemerle = markBroken super.nemerle;
|
||||||
|
|
||||||
|
# part of a larger package
|
||||||
|
notmuch = dontConfigure super.notmuch;
|
||||||
|
|
||||||
|
# missing OCaml
|
||||||
|
ocp-indent = markBroken super.ocp-indent;
|
||||||
|
|
||||||
|
# upstream issue: missing file header
|
||||||
|
qiita = markBroken super.qiita;
|
||||||
|
|
||||||
|
# upstream issue: missing file header
|
||||||
|
speech-tagger = markBroken super.speech-tagger;
|
||||||
|
|
||||||
|
# upstream issue: missing file header
|
||||||
|
stgit = markBroken super.stgit;
|
||||||
|
|
||||||
|
# upstream issue: missing file header
|
||||||
|
tawny-mode = markBroken super.tawny-mode;
|
||||||
|
|
||||||
|
# upstream issue: missing file header
|
||||||
|
textmate = markBroken super.textmate;
|
||||||
|
|
||||||
|
# missing OCaml
|
||||||
|
utop = markBroken super.utop;
|
||||||
|
|
||||||
|
vdiff-magit = super.vdiff-magit.overrideAttrs (attrs: {
|
||||||
|
nativeBuildInputs =
|
||||||
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
||||||
|
});
|
||||||
|
|
||||||
|
# upstream issue: missing file header
|
||||||
|
voca-builder = markBroken super.voca-builder;
|
||||||
|
|
||||||
|
# upstream issue: missing file header
|
||||||
|
window-numbering = markBroken super.window-numbering;
|
||||||
|
|
||||||
|
# Map legacy renames from emacs2nix since code generation was ported to emacs lisp
|
||||||
|
_0blayout = super."0blayout";
|
||||||
|
_0xc = super."0xc";
|
||||||
|
_2048-game = super."2048-game";
|
||||||
|
_4clojure = super."4clojure";
|
||||||
|
at = super."@";
|
||||||
|
desktop-plus = super."desktop+";
|
||||||
|
ghub-plus = super."ghub+";
|
||||||
|
git-gutter-plus = super."git-gutter+";
|
||||||
|
git-gutter-fringe-plus = super."git-gutter-fringe+";
|
||||||
|
ido-completing-read-plus = super."ido-completing-read+";
|
||||||
|
image-plus = super."image+";
|
||||||
|
image-dired-plus = super."image-dired+";
|
||||||
|
markdown-mode-plus = super."markdown-mode+";
|
||||||
|
package-plus = super."package+";
|
||||||
|
rect-plus = super."rect+";
|
||||||
|
term-plus = super."term+";
|
||||||
|
term-plus-key-intercept = super."term+key-intercept";
|
||||||
|
term-plus-mux = super."term+mux";
|
||||||
|
xml-plus = super."xml+";
|
||||||
|
};
|
||||||
|
|
||||||
|
stable = {
|
||||||
|
# part of a larger package
|
||||||
|
# upstream issue: missing package version
|
||||||
|
cmake-mode = markBroken (dontConfigure super.cmake-mode);
|
||||||
|
|
||||||
|
# upstream issue: missing file header
|
||||||
|
connection = markBroken super.connection;
|
||||||
|
|
||||||
|
# upstream issue: missing file header
|
||||||
|
dictionary = markBroken super.dictionary;
|
||||||
|
|
||||||
|
# missing git
|
||||||
|
egg = markBroken super.egg;
|
||||||
|
|
||||||
|
# upstream issue: missing dependency redshank
|
||||||
|
emr = markBroken super.emr;
|
||||||
|
|
||||||
|
# upstream issue: doesn't build
|
||||||
|
eterm-256color = markBroken super.eterm-256color;
|
||||||
|
|
||||||
|
# upstream issue: missing dependency highlight
|
||||||
|
evil-search-highlight-persist = markBroken super.evil-search-highlight-persist;
|
||||||
|
|
||||||
|
# upstream issue: missing dependency highlight
|
||||||
|
floobits = markBroken super.floobits;
|
||||||
|
|
||||||
|
# missing OCaml
|
||||||
|
flycheck-ocaml = markBroken super.flycheck-ocaml;
|
||||||
|
|
||||||
|
# upstream issue: missing dependency
|
||||||
|
fold-dwim-org = markBroken super.fold-dwim-org;
|
||||||
|
|
||||||
|
# build timeout
|
||||||
|
graphene = markBroken super.graphene;
|
||||||
|
|
||||||
|
# Expects bash to be at /bin/bash
|
||||||
|
helm-rtags = markBroken super.helm-rtags;
|
||||||
|
|
||||||
|
# upstream issue: missing file header
|
||||||
|
link = markBroken super.link;
|
||||||
|
|
||||||
|
# missing OCaml
|
||||||
|
merlin = markBroken super.merlin;
|
||||||
|
|
||||||
|
# upstream issue: missing file header
|
||||||
|
po-mode = markBroken super.po-mode;
|
||||||
|
|
||||||
|
# upstream issue: truncated file
|
||||||
|
powershell = markBroken super.powershell;
|
||||||
|
};
|
||||||
|
|
||||||
|
unstable = shared // {
|
||||||
|
# upstream issue: mismatched filename
|
||||||
|
ack-menu = markBroken super.ack-menu;
|
||||||
|
|
||||||
|
editorconfig = super.editorconfig.overrideAttrs (attrs: {
|
||||||
|
propagatedUserEnvPkgs = [ external.editorconfig-core-c ];
|
||||||
|
});
|
||||||
|
|
||||||
|
egg = super.egg.overrideAttrs (attrs: {
|
||||||
# searches for Git at build time
|
# searches for Git at build time
|
||||||
nativeBuildInputs =
|
nativeBuildInputs =
|
||||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
||||||
});
|
});
|
||||||
|
|
||||||
magit-annex = super.magit-annex.overrideAttrs (attrs: {
|
# missing dependencies
|
||||||
# searches for Git at build time
|
evil-search-highlight-persist = super.evil-search-highlight-persist.overrideAttrs (attrs: {
|
||||||
nativeBuildInputs =
|
packageRequires = with self; [ evil highlight ];
|
||||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
});
|
||||||
});
|
|
||||||
|
|
||||||
magit-gitflow = super.magit-gitflow.overrideAttrs (attrs: {
|
forge = super.forge.overrideAttrs (attrs: {
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
magithub = super.magithub.overrideAttrs (attrs: {
|
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
magit-svn = super.magit-svn.overrideAttrs (attrs: {
|
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
magit-todos = super.magit-todos.overrideAttrs (attrs: {
|
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
magit-filenotify = super.magit-filenotify.overrideAttrs (attrs: {
|
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
mhc = super.mhc.override {
|
|
||||||
inherit (self.melpaPackages) calfw;
|
|
||||||
};
|
|
||||||
|
|
||||||
# missing .NET
|
|
||||||
nemerle = markBroken super.nemerle;
|
|
||||||
|
|
||||||
# part of a larger package
|
|
||||||
notmuch = dontConfigure super.notmuch;
|
|
||||||
|
|
||||||
# missing OCaml
|
|
||||||
ocp-indent = markBroken super.ocp-indent;
|
|
||||||
|
|
||||||
orgit =
|
|
||||||
(super.orgit.overrideAttrs (attrs: {
|
|
||||||
# searches for Git at build time
|
# searches for Git at build time
|
||||||
nativeBuildInputs =
|
nativeBuildInputs =
|
||||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
||||||
}));
|
});
|
||||||
|
|
||||||
# tries to write to $HOME
|
# upstream issue: mismatched filename
|
||||||
php-auto-yasnippets = super.php-auto-yasnippets.overrideAttrs (attrs: {
|
helm-lobsters = markBroken super.helm-lobsters;
|
||||||
HOME = "/tmp";
|
|
||||||
});
|
|
||||||
|
|
||||||
# upstream issue: mismatched filename
|
# Expects bash to be at /bin/bash
|
||||||
processing-snippets = markBroken super.processing-snippets;
|
helm-rtags = markBroken super.helm-rtags;
|
||||||
|
|
||||||
# upstream issue: missing file header
|
magit-annex = super.magit-annex.overrideAttrs (attrs: {
|
||||||
qiita = markBroken super.qiita;
|
# searches for Git at build time
|
||||||
|
|
||||||
racer = super.racer.overrideAttrs (attrs: {
|
|
||||||
postPatch = attrs.postPatch or "" + ''
|
|
||||||
substituteInPlace racer.el \
|
|
||||||
--replace /usr/local/src/rust/src ${external.rustPlatform.rustcSrc}
|
|
||||||
'';
|
|
||||||
});
|
|
||||||
|
|
||||||
# upstream issue: missing file footer
|
|
||||||
seoul256-theme = markBroken super.seoul256-theme;
|
|
||||||
|
|
||||||
spaceline = super.spaceline.override {
|
|
||||||
inherit (self.melpaPackages) powerline;
|
|
||||||
};
|
|
||||||
|
|
||||||
# upstream issue: missing file header
|
|
||||||
speech-tagger = markBroken super.speech-tagger;
|
|
||||||
|
|
||||||
# upstream issue: missing file header
|
|
||||||
stgit = markBroken super.stgit;
|
|
||||||
|
|
||||||
# upstream issue: missing file header
|
|
||||||
tawny-mode = markBroken super.tawny-mode;
|
|
||||||
|
|
||||||
# upstream issue: missing file header
|
|
||||||
textmate = markBroken super.textmate;
|
|
||||||
|
|
||||||
treemacs-magit = super.treemacs-magit.overrideAttrs (attrs: {
|
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
# missing OCaml
|
|
||||||
utop = markBroken super.utop;
|
|
||||||
|
|
||||||
vdiff-magit =
|
|
||||||
(super.vdiff-magit.overrideAttrs (attrs: {
|
|
||||||
nativeBuildInputs =
|
nativeBuildInputs =
|
||||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
||||||
}));
|
|
||||||
|
|
||||||
# upstream issue: missing file header
|
|
||||||
voca-builder = markBroken super.voca-builder;
|
|
||||||
|
|
||||||
# upstream issue: missing file header
|
|
||||||
window-numbering = markBroken super.window-numbering;
|
|
||||||
|
|
||||||
w3m = super.w3m.override (args: {
|
|
||||||
melpaBuild = drv: args.melpaBuild (drv // {
|
|
||||||
prePatch =
|
|
||||||
let w3m = "${lib.getBin external.w3m}/bin/w3m"; in ''
|
|
||||||
substituteInPlace w3m.el \
|
|
||||||
--replace 'defcustom w3m-command nil' \
|
|
||||||
'defcustom w3m-command "${w3m}"'
|
|
||||||
'';
|
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
|
||||||
# Map legacy renames from emacs2nix since code generation was ported to emacs lisp
|
magit-gitflow = super.magit-gitflow.overrideAttrs (attrs: {
|
||||||
_0blayout = super."0blayout";
|
# searches for Git at build time
|
||||||
_0xc = super."0xc";
|
nativeBuildInputs =
|
||||||
_2048-game = super."2048-game";
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
||||||
_4clojure = super."4clojure";
|
});
|
||||||
at = super."@";
|
|
||||||
desktop-plus = super."desktop+";
|
|
||||||
# filesets-plus = super."filesets+";
|
|
||||||
ghub-plus = super."ghub+";
|
|
||||||
git-gutter-plus = super."git-gutter+";
|
|
||||||
git-gutter-fringe-plus = super."git-gutter-fringe+";
|
|
||||||
ido-completing-read-plus = super."ido-completing-read+";
|
|
||||||
image-plus = super."image+";
|
|
||||||
image-dired-plus = super."image-dired+";
|
|
||||||
markdown-mode-plus = super."markdown-mode+";
|
|
||||||
package-plus = super."package+";
|
|
||||||
rect-plus = super."rect+";
|
|
||||||
term-plus = super."term+";
|
|
||||||
term-plus-key-intercept = super."term+key-intercept";
|
|
||||||
term-plus-mux = super."term+mux";
|
|
||||||
xml-plus = super."xml+";
|
|
||||||
|
|
||||||
|
magithub = super.magithub.overrideAttrs (attrs: {
|
||||||
|
# searches for Git at build time
|
||||||
|
nativeBuildInputs =
|
||||||
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
||||||
|
});
|
||||||
|
|
||||||
|
magit-svn = super.magit-svn.overrideAttrs (attrs: {
|
||||||
|
# searches for Git at build time
|
||||||
|
nativeBuildInputs =
|
||||||
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
||||||
|
});
|
||||||
|
|
||||||
|
orgit =
|
||||||
|
(super.orgit.overrideAttrs (attrs: {
|
||||||
|
# searches for Git at build time
|
||||||
|
nativeBuildInputs =
|
||||||
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
||||||
|
}));
|
||||||
|
|
||||||
|
# tries to write to $HOME
|
||||||
|
php-auto-yasnippets = super.php-auto-yasnippets.overrideAttrs (attrs: {
|
||||||
|
HOME = "/tmp";
|
||||||
|
});
|
||||||
|
|
||||||
|
# upstream issue: mismatched filename
|
||||||
|
processing-snippets = markBroken super.processing-snippets;
|
||||||
|
|
||||||
|
racer = super.racer.overrideAttrs (attrs: {
|
||||||
|
postPatch = attrs.postPatch or "" + ''
|
||||||
|
substituteInPlace racer.el \
|
||||||
|
--replace /usr/local/src/rust/src ${external.rustPlatform.rustcSrc}
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
|
||||||
|
# upstream issue: missing file footer
|
||||||
|
seoul256-theme = markBroken super.seoul256-theme;
|
||||||
|
|
||||||
|
spaceline = super.spaceline.override {
|
||||||
|
inherit (self.melpaPackages) powerline;
|
||||||
|
};
|
||||||
|
|
||||||
|
treemacs-magit = super.treemacs-magit.overrideAttrs (attrs: {
|
||||||
|
# searches for Git at build time
|
||||||
|
nativeBuildInputs =
|
||||||
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
||||||
|
});
|
||||||
|
|
||||||
|
w3m = super.w3m.override (args: {
|
||||||
|
melpaBuild = drv: args.melpaBuild (drv // {
|
||||||
|
prePatch =
|
||||||
|
let w3m = "${lib.getBin external.w3m}/bin/w3m"; in ''
|
||||||
|
substituteInPlace w3m.el \
|
||||||
|
--replace 'defcustom w3m-command nil' \
|
||||||
|
'defcustom w3m-command "${w3m}"'
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
melpaPackages =
|
in super // overrides."${variant}");
|
||||||
removeAttrs (super // overrides)
|
|
||||||
[
|
in generateMelpa { }
|
||||||
"show-marks" # missing dependency: fm
|
|
||||||
"lenlen-theme" # missing dependency: color-theme-solarized
|
|
||||||
];
|
|
||||||
in
|
|
||||||
melpaPackages // { inherit melpaPackages; }
|
|
||||||
|
@ -1,235 +0,0 @@
|
|||||||
/*
|
|
||||||
|
|
||||||
# Updating
|
|
||||||
|
|
||||||
To update the list of packages from MELPA,
|
|
||||||
|
|
||||||
|
|
||||||
1. Run ./update-melpa
|
|
||||||
2. Check for evaluation errors:
|
|
||||||
env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPackagesNg.melpaStablePackages
|
|
||||||
env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPackagesNg.melpaPackages
|
|
||||||
3. `git commit -m "melpa-packages: $(date -Idate)" recipes-archive-melpa.json`
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
{ lib, external }:
|
|
||||||
|
|
||||||
self:
|
|
||||||
|
|
||||||
let
|
|
||||||
inherit (import ./libgenerated.nix lib self) melpaDerivation;
|
|
||||||
imported = lib.listToAttrs (map (melpaDerivation "stable")
|
|
||||||
(lib.importJSON ./recipes-archive-melpa.json));
|
|
||||||
super = imported;
|
|
||||||
|
|
||||||
dontConfigure = pkg: pkg.override (args: {
|
|
||||||
melpaBuild = drv: args.melpaBuild (drv // {
|
|
||||||
configureScript = "true";
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
markBroken = pkg: if pkg != null then pkg.override (args: {
|
|
||||||
melpaBuild = drv: args.melpaBuild (drv // {
|
|
||||||
meta = (drv.meta or {}) // { broken = true; };
|
|
||||||
});
|
|
||||||
}) else null;
|
|
||||||
|
|
||||||
overrides = {
|
|
||||||
# Expects bash to be at /bin/bash
|
|
||||||
ac-rtags = markBroken super.ac-rtags;
|
|
||||||
|
|
||||||
airline-themes = super.airline-themes.override {
|
|
||||||
inherit (self.melpaPackages) powerline;
|
|
||||||
};
|
|
||||||
|
|
||||||
# upstream issue: missing file header
|
|
||||||
bufshow = markBroken super.bufshow;
|
|
||||||
|
|
||||||
# part of a larger package
|
|
||||||
caml = dontConfigure super.caml;
|
|
||||||
|
|
||||||
# part of a larger package
|
|
||||||
# upstream issue: missing package version
|
|
||||||
cmake-mode = markBroken (dontConfigure super.cmake-mode);
|
|
||||||
|
|
||||||
# Expects bash to be at /bin/bash
|
|
||||||
company-rtags = markBroken super.company-rtags;
|
|
||||||
|
|
||||||
# upstream issue: missing file header
|
|
||||||
connection = markBroken super.connection;
|
|
||||||
|
|
||||||
# upstream issue: missing file header
|
|
||||||
dictionary = markBroken super.dictionary;
|
|
||||||
|
|
||||||
easy-kill-extras = super.easy-kill-extras.override {
|
|
||||||
inherit (self.melpaPackages) easy-kill;
|
|
||||||
};
|
|
||||||
|
|
||||||
# missing git
|
|
||||||
egg = markBroken super.egg;
|
|
||||||
|
|
||||||
# upstream issue: missing file header
|
|
||||||
elmine = markBroken super.elmine;
|
|
||||||
|
|
||||||
# upstream issue: missing dependency redshank
|
|
||||||
emr = markBroken super.emr;
|
|
||||||
|
|
||||||
ess-R-data-view = super.ess-R-data-view.override {
|
|
||||||
inherit (self.melpaPackages) ess ctable popup;
|
|
||||||
};
|
|
||||||
|
|
||||||
# upstream issue: doesn't build
|
|
||||||
eterm-256color = markBroken super.eterm-256color;
|
|
||||||
|
|
||||||
# upstream issue: missing dependency highlight
|
|
||||||
evil-search-highlight-persist = markBroken super.evil-search-highlight-persist;
|
|
||||||
|
|
||||||
# upstream issue: missing dependency highlight
|
|
||||||
floobits = markBroken super.floobits;
|
|
||||||
|
|
||||||
# missing OCaml
|
|
||||||
flycheck-ocaml = markBroken super.flycheck-ocaml;
|
|
||||||
|
|
||||||
# Expects bash to be at /bin/bash
|
|
||||||
flycheck-rtags = markBroken super.flycheck-rtags;
|
|
||||||
|
|
||||||
# upstream issue: missing dependency
|
|
||||||
fold-dwim-org = markBroken super.fold-dwim-org;
|
|
||||||
|
|
||||||
# build timeout
|
|
||||||
graphene = markBroken super.graphene;
|
|
||||||
|
|
||||||
# Expects bash to be at /bin/bash
|
|
||||||
helm-rtags = markBroken super.helm-rtags;
|
|
||||||
|
|
||||||
# Build same version as Haskell package
|
|
||||||
hindent = super.hindent.overrideAttrs (attrs: {
|
|
||||||
version = external.hindent.version;
|
|
||||||
src = external.hindent.src;
|
|
||||||
packageRequires = [ self.haskell-mode ];
|
|
||||||
propagatedUserEnvPkgs = [ external.hindent ];
|
|
||||||
});
|
|
||||||
|
|
||||||
# upstream issue: missing file header
|
|
||||||
ido-complete-space-or-hyphen = markBroken super.ido-complete-space-or-hyphen;
|
|
||||||
|
|
||||||
# upstream issue: missing file header
|
|
||||||
initsplit = markBroken super.initsplit;
|
|
||||||
|
|
||||||
# upstream issue: recipe fails
|
|
||||||
insert-shebang = markBroken super.insert-shebang;
|
|
||||||
|
|
||||||
# Expects bash to be at /bin/bash
|
|
||||||
ivy-rtags = markBroken super.ivy-rtags;
|
|
||||||
|
|
||||||
# upstream issue: missing file header
|
|
||||||
jsfmt = markBroken super.jsfmt;
|
|
||||||
|
|
||||||
# upstream issue: missing file header
|
|
||||||
link = markBroken super.link;
|
|
||||||
|
|
||||||
# upstream issue: missing file header
|
|
||||||
maxframe = markBroken super.maxframe;
|
|
||||||
|
|
||||||
magit =
|
|
||||||
(super.magit.override {
|
|
||||||
# version of magit-popup needs to match magit
|
|
||||||
# https://github.com/magit/magit/issues/3286
|
|
||||||
inherit (self.melpaStablePackages) magit-popup;
|
|
||||||
}).overrideAttrs (attrs: {
|
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
magit-todos = super.magit-todos.overrideAttrs (attrs: {
|
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
magit-filenotify = super.magit-filenotify.overrideAttrs (attrs: {
|
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
# missing OCaml
|
|
||||||
merlin = markBroken super.merlin;
|
|
||||||
|
|
||||||
mhc = super.mhc.override {
|
|
||||||
inherit (self.melpaPackages) calfw;
|
|
||||||
};
|
|
||||||
|
|
||||||
# missing .NET
|
|
||||||
nemerle = markBroken super.nemerle;
|
|
||||||
|
|
||||||
# part of a larger package
|
|
||||||
notmuch = dontConfigure super.notmuch;
|
|
||||||
|
|
||||||
# missing OCaml
|
|
||||||
ocp-indent = markBroken super.ocp-indent;
|
|
||||||
|
|
||||||
# upstream issue: missing file header
|
|
||||||
po-mode = markBroken super.po-mode;
|
|
||||||
|
|
||||||
# upstream issue: truncated file
|
|
||||||
powershell = markBroken super.powershell;
|
|
||||||
|
|
||||||
# upstream issue: missing file header
|
|
||||||
qiita = markBroken super.qiita;
|
|
||||||
|
|
||||||
# upstream issue: missing file header
|
|
||||||
speech-tagger = markBroken super.speech-tagger;
|
|
||||||
|
|
||||||
# upstream issue: missing file header
|
|
||||||
stgit = markBroken super.stgit;
|
|
||||||
|
|
||||||
# upstream issue: missing file header
|
|
||||||
tawny-mode = markBroken super.tawny-mode;
|
|
||||||
|
|
||||||
# upstream issue: missing file header
|
|
||||||
textmate = markBroken super.textmate;
|
|
||||||
|
|
||||||
# missing OCaml
|
|
||||||
utop = markBroken super.utop;
|
|
||||||
|
|
||||||
vdiff-magit =
|
|
||||||
(super.vdiff-magit.overrideAttrs (attrs: {
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
|
||||||
}));
|
|
||||||
|
|
||||||
# upstream issue: missing file header
|
|
||||||
voca-builder = markBroken super.voca-builder;
|
|
||||||
|
|
||||||
# upstream issue: missing file header
|
|
||||||
window-numbering = markBroken super.window-numbering;
|
|
||||||
|
|
||||||
# Map legacy renames from emacs2nix since code generation was ported to emacs lisp
|
|
||||||
_0blayout = super."0blayout";
|
|
||||||
_0xc = super."0xc";
|
|
||||||
_2048-game = super."2048-game";
|
|
||||||
_4clojure = super."4clojure";
|
|
||||||
at = super."@";
|
|
||||||
desktop-plus = super."desktop+";
|
|
||||||
ghub-plus = super."ghub+";
|
|
||||||
git-gutter-plus = super."git-gutter+";
|
|
||||||
git-gutter-fringe-plus = super."git-gutter-fringe+";
|
|
||||||
ido-completing-read-plus = super."ido-completing-read+";
|
|
||||||
image-plus = super."image+";
|
|
||||||
image-dired-plus = super."image-dired+";
|
|
||||||
markdown-mode-plus = super."markdown-mode+";
|
|
||||||
package-plus = super."package+";
|
|
||||||
rect-plus = super."rect+";
|
|
||||||
term-plus = super."term+";
|
|
||||||
term-plus-key-intercept = super."term+key-intercept";
|
|
||||||
term-plus-mux = super."term+mux";
|
|
||||||
xml-plus = super."xml+";
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
melpaStablePackages = super // overrides;
|
|
||||||
in
|
|
||||||
melpaStablePackages // { inherit melpaStablePackages; }
|
|
@ -49,13 +49,18 @@ let
|
|||||||
inherit lib stdenv texinfo;
|
inherit lib stdenv texinfo;
|
||||||
};
|
};
|
||||||
|
|
||||||
melpaStablePackages = import ../applications/editors/emacs-modes/melpa-stable-packages.nix {
|
# Contains both melpa stable & unstable
|
||||||
|
melpaGeneric = import ../applications/editors/emacs-modes/melpa-packages.nix {
|
||||||
inherit external lib;
|
inherit external lib;
|
||||||
};
|
};
|
||||||
|
|
||||||
melpaPackages = import ../applications/editors/emacs-modes/melpa-packages.nix {
|
melpaStablePackages = self: let
|
||||||
inherit external lib;
|
m = melpaGeneric "stable" self;
|
||||||
};
|
in {melpaStablePackages = m;} // m;
|
||||||
|
|
||||||
|
melpaPackages = self: let
|
||||||
|
m = melpaGeneric "unstable" self;
|
||||||
|
in {melpaPackages = m;} // m;
|
||||||
|
|
||||||
orgPackages = import ../applications/editors/emacs-modes/org-packages.nix { };
|
orgPackages = import ../applications/editors/emacs-modes/org-packages.nix { };
|
||||||
|
|
||||||
@ -455,12 +460,11 @@ let
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
in
|
in lib.makeScope newScope (self:
|
||||||
lib.makeScope newScope (self:
|
removeAttrs ({}
|
||||||
{}
|
// elpaPackages self
|
||||||
// elpaPackages self
|
// melpaStablePackages self
|
||||||
// melpaStablePackages self
|
// melpaPackages self
|
||||||
// melpaPackages self
|
// orgPackages self
|
||||||
// orgPackages self
|
// packagesFun self) [ "override" "overrideDerivation" ]
|
||||||
// packagesFun self
|
)
|
||||||
)
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user