2015-12-17 13:14:10 +00:00
|
|
|
/*
|
|
|
|
|
|
|
|
# Updating
|
|
|
|
|
|
|
|
To update the list of packages from MELPA,
|
|
|
|
|
2019-04-08 21:06:50 +01:00
|
|
|
1. Run ./update-melpa
|
|
|
|
2. Check for evaluation errors:
|
2019-08-07 23:52:22 +01:00
|
|
|
env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPackages.melpaStablePackages
|
|
|
|
env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPackages.melpaPackages
|
2019-04-08 21:06:50 +01:00
|
|
|
3. `git commit -m "melpa-packages: $(date -Idate)" recipes-archive-melpa.json`
|
2015-12-17 13:14:10 +00:00
|
|
|
|
|
|
|
*/
|
|
|
|
|
2019-08-04 17:55:15 +01:00
|
|
|
{ lib, external, pkgs }: variant: self: let
|
2015-12-15 01:48:13 +00:00
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
dontConfigure = pkg: if pkg != null then pkg.override (args: {
|
|
|
|
melpaBuild = drv: args.melpaBuild (drv // {
|
|
|
|
configureScript = "true";
|
2016-01-15 21:01:09 +00:00
|
|
|
});
|
2019-08-03 20:48:11 +01:00
|
|
|
}) else null;
|
2016-01-15 21:01:09 +00:00
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
markBroken = pkg: if pkg != null then pkg.override (args: {
|
|
|
|
melpaBuild = drv: args.melpaBuild (drv // {
|
|
|
|
meta = (drv.meta or {}) // { broken = true; };
|
2016-01-15 21:01:09 +00:00
|
|
|
});
|
2019-08-03 20:48:11 +01:00
|
|
|
}) else null;
|
2015-12-22 12:50:21 +00:00
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
generateMelpa = lib.makeOverridable ({
|
|
|
|
archiveJson ? ./recipes-archive-melpa.json
|
|
|
|
}: let
|
2017-12-18 18:44:36 +00:00
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
inherit (import ./libgenerated.nix lib self) melpaDerivation;
|
|
|
|
super = lib.listToAttrs (map (melpaDerivation variant) (lib.importJSON archiveJson));
|
2016-01-15 21:01:09 +00:00
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
overrides = rec {
|
2019-09-01 19:39:17 +01:00
|
|
|
shared = rec {
|
2019-08-03 20:48:11 +01:00
|
|
|
# Expects bash to be at /bin/bash
|
|
|
|
ac-rtags = markBroken super.ac-rtags;
|
2016-01-15 21:01:09 +00:00
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
airline-themes = super.airline-themes.override {
|
|
|
|
inherit (self.melpaPackages) powerline;
|
|
|
|
};
|
2017-12-11 08:52:48 +00:00
|
|
|
|
2019-09-01 19:39:17 +01:00
|
|
|
auto-complete-clang-async = super.auto-complete-clang-async.overrideAttrs(old: {
|
|
|
|
buildInputs = old.buildInputs ++ [ external.llvmPackages.llvm ];
|
|
|
|
CFLAGS = "-I${external.llvmPackages.clang}/include";
|
|
|
|
LDFLAGS = "-L${external.llvmPackages.clang}/lib";
|
|
|
|
});
|
|
|
|
emacsClangCompleteAsync = auto-complete-clang-async;
|
2017-12-18 18:44:36 +00:00
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
# part of a larger package
|
|
|
|
caml = dontConfigure super.caml;
|
2016-01-15 21:01:09 +00:00
|
|
|
|
2019-08-12 01:26:34 +01:00
|
|
|
cmake-mode = super.cmake-mode.overrideAttrs (attrs: {
|
|
|
|
buildInputs = (attrs.buildInputs or []) ++ [
|
|
|
|
external.openssl
|
|
|
|
];
|
|
|
|
nativeBuildInputs = (attrs.nativeBuildInputs or []) ++ [
|
|
|
|
external.pkgconfig
|
|
|
|
];
|
|
|
|
});
|
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
# Expects bash to be at /bin/bash
|
|
|
|
company-rtags = markBroken super.company-rtags;
|
2018-09-11 15:48:33 +01:00
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
easy-kill-extras = super.easy-kill-extras.override {
|
|
|
|
inherit (self.melpaPackages) easy-kill;
|
|
|
|
};
|
2016-01-15 21:01:09 +00:00
|
|
|
|
2019-08-04 19:36:57 +01:00
|
|
|
elpy = super.elpy.overrideAttrs(old: {
|
|
|
|
propagatedUserEnvPkgs = old.propagatedUserEnvPkgs ++ [ external.elpy ];
|
|
|
|
});
|
|
|
|
|
2019-08-14 21:42:01 +01:00
|
|
|
emacsql-sqlite = super.emacsql-sqlite.overrideAttrs(old: {
|
|
|
|
buildInputs = old.buildInputs ++ [ pkgs.sqlite ];
|
|
|
|
|
|
|
|
postBuild = ''
|
|
|
|
cd source/sqlite
|
|
|
|
make
|
|
|
|
cd -
|
|
|
|
'';
|
|
|
|
|
|
|
|
postInstall = ''
|
|
|
|
install -m=755 -D source/sqlite/emacsql-sqlite \
|
|
|
|
$out/share/emacs/site-lisp/elpa/emacsql-sqlite-${old.version}/sqlite/emacsql-sqlite
|
|
|
|
'';
|
|
|
|
|
|
|
|
stripDebugList = [ "share" ];
|
|
|
|
});
|
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
evil-magit = super.evil-magit.overrideAttrs (attrs: {
|
|
|
|
# searches for Git at build time
|
|
|
|
nativeBuildInputs =
|
|
|
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
|
|
|
});
|
2016-01-15 21:01:09 +00:00
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
ess-R-data-view = super.ess-R-data-view.override {
|
|
|
|
inherit (self.melpaPackages) ess ctable popup;
|
|
|
|
};
|
2018-08-02 06:46:07 +01:00
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
# Expects bash to be at /bin/bash
|
|
|
|
flycheck-rtags = markBroken super.flycheck-rtags;
|
2018-08-02 06:46:21 +01:00
|
|
|
|
2019-08-04 17:55:15 +01:00
|
|
|
pdf-tools = super.pdf-tools.overrideAttrs(old: {
|
|
|
|
nativeBuildInputs = [ external.pkgconfig ];
|
|
|
|
buildInputs = with external; old.buildInputs ++ [ autoconf automake libpng zlib poppler ];
|
|
|
|
preBuild = "make server/epdfinfo";
|
|
|
|
recipe = pkgs.writeText "recipe" ''
|
|
|
|
(pdf-tools
|
|
|
|
:repo "politza/pdf-tools" :fetcher github
|
|
|
|
:files ("lisp/pdf-*.el" "server/epdfinfo"))
|
|
|
|
'';
|
|
|
|
});
|
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
# 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 ];
|
|
|
|
});
|
2019-01-10 16:16:04 +00:00
|
|
|
|
2019-08-26 02:54:45 +01:00
|
|
|
irony = super.irony.overrideAttrs (old: {
|
|
|
|
cmakeFlags = old.cmakeFlags or [] ++ [ "-DCMAKE_INSTALL_BINDIR=bin" ];
|
2019-08-29 23:22:00 +01:00
|
|
|
NIX_CFLAGS_COMPILE = "-UCLANG_RESOURCE_DIR";
|
2019-08-04 20:53:10 +01:00
|
|
|
preConfigure = ''
|
|
|
|
cd server
|
|
|
|
'';
|
|
|
|
preBuild = ''
|
|
|
|
make
|
2019-08-26 02:54:45 +01:00
|
|
|
install -D bin/irony-server $out/bin/irony-server
|
|
|
|
cd ..
|
2019-08-04 20:53:10 +01:00
|
|
|
'';
|
2019-08-26 02:54:45 +01:00
|
|
|
checkPhase = ''
|
2019-08-04 20:53:10 +01:00
|
|
|
cd source/server
|
2019-08-26 02:54:45 +01:00
|
|
|
make check
|
|
|
|
cd ../..
|
2019-08-04 20:53:10 +01:00
|
|
|
'';
|
2019-08-29 23:22:00 +01:00
|
|
|
preFixup = ''
|
|
|
|
rm -rf $out/share/emacs/site-lisp/elpa/*/server
|
|
|
|
'';
|
2019-08-04 20:53:10 +01:00
|
|
|
dontUseCmakeBuildDir = true;
|
|
|
|
doCheck = true;
|
|
|
|
packageRequires = [ self.emacs ];
|
|
|
|
nativeBuildInputs = [ external.cmake external.llvmPackages.llvm external.llvmPackages.clang ];
|
|
|
|
});
|
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
# tries to write a log file to $HOME
|
|
|
|
insert-shebang = super.insert-shebang.overrideAttrs (attrs: {
|
|
|
|
HOME = "/tmp";
|
|
|
|
});
|
2017-12-18 18:44:36 +00:00
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
# Expects bash to be at /bin/bash
|
|
|
|
ivy-rtags = markBroken super.ivy-rtags;
|
2018-07-26 21:34:39 +01:00
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
magit = super.magit.overrideAttrs (attrs: {
|
|
|
|
# searches for Git at build time
|
|
|
|
nativeBuildInputs =
|
|
|
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
|
|
|
});
|
2018-08-02 06:46:43 +01:00
|
|
|
|
2019-08-09 05:51:34 +01:00
|
|
|
magit-annex = super.magit-annex.overrideAttrs (attrs: {
|
|
|
|
# searches for Git at build time
|
|
|
|
nativeBuildInputs =
|
|
|
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
|
|
|
});
|
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
magit-todos = super.magit-todos.overrideAttrs (attrs: {
|
|
|
|
# searches for Git at build time
|
|
|
|
nativeBuildInputs =
|
|
|
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
|
|
|
});
|
2017-12-18 18:44:36 +00:00
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
magit-filenotify = super.magit-filenotify.overrideAttrs (attrs: {
|
|
|
|
# searches for Git at build time
|
|
|
|
nativeBuildInputs =
|
|
|
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
|
|
|
});
|
2016-01-15 21:01:09 +00:00
|
|
|
|
2019-08-09 05:52:15 +01:00
|
|
|
magit-gitflow = super.magit-gitflow.overrideAttrs (attrs: {
|
|
|
|
# searches for Git at build time
|
|
|
|
nativeBuildInputs =
|
|
|
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
|
|
|
});
|
|
|
|
|
2019-08-09 05:52:38 +01:00
|
|
|
magithub = super.magithub.overrideAttrs (attrs: {
|
|
|
|
# searches for Git at build time
|
|
|
|
nativeBuildInputs =
|
|
|
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
|
|
|
});
|
|
|
|
|
2019-08-09 05:53:05 +01:00
|
|
|
magit-svn = super.magit-svn.overrideAttrs (attrs: {
|
|
|
|
# searches for Git at build time
|
|
|
|
nativeBuildInputs =
|
|
|
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
|
|
|
});
|
|
|
|
|
2019-09-01 19:16:05 +01:00
|
|
|
kubernetes = super.kubernetes.overrideAttrs (attrs: {
|
|
|
|
# searches for Git at build time
|
|
|
|
nativeBuildInputs =
|
|
|
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
|
|
|
});
|
2019-08-06 11:23:53 +01:00
|
|
|
|
2019-09-01 19:16:05 +01:00
|
|
|
# upstream issue: missing file header
|
2019-08-03 20:48:11 +01:00
|
|
|
mhc = super.mhc.override {
|
|
|
|
inherit (self.melpaPackages) calfw;
|
|
|
|
};
|
2016-01-15 21:01:09 +00:00
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
# missing .NET
|
|
|
|
nemerle = markBroken super.nemerle;
|
|
|
|
|
|
|
|
# part of a larger package
|
|
|
|
notmuch = dontConfigure super.notmuch;
|
|
|
|
|
2019-08-04 02:26:52 +01:00
|
|
|
shm = super.shm.overrideAttrs (attrs: {
|
|
|
|
propagatedUserEnvPkgs = [ external.structured-haskell-mode ];
|
|
|
|
});
|
|
|
|
|
2019-08-13 10:43:22 +01:00
|
|
|
# Telega has a server portion for it's network protocol
|
|
|
|
telega = super.telega.overrideAttrs(old: {
|
|
|
|
buildInputs = old.buildInputs ++ [ pkgs.tdlib ];
|
|
|
|
|
|
|
|
postBuild = ''
|
|
|
|
cd source/server
|
|
|
|
make
|
|
|
|
cd -
|
|
|
|
'';
|
|
|
|
|
|
|
|
postInstall = ''
|
|
|
|
mkdir -p $out/bin
|
|
|
|
install -m755 -Dt $out/bin ./source/server/telega-server
|
|
|
|
'';
|
|
|
|
});
|
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
vdiff-magit = super.vdiff-magit.overrideAttrs (attrs: {
|
2018-07-16 11:34:03 +01:00
|
|
|
nativeBuildInputs =
|
|
|
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
|
|
|
});
|
2017-12-29 23:28:25 +00:00
|
|
|
|
2019-08-04 19:08:35 +01:00
|
|
|
zmq = super.zmq.overrideAttrs(old: {
|
|
|
|
stripDebugList = [ "share" ];
|
|
|
|
preBuild = ''
|
|
|
|
make
|
|
|
|
'';
|
|
|
|
nativeBuildInputs = [
|
|
|
|
external.autoconf external.automake external.pkgconfig external.libtool
|
|
|
|
(external.zeromq.override { enableDrafts = true; })
|
|
|
|
];
|
|
|
|
postInstall = ''
|
|
|
|
mv $out/share/emacs/site-lisp/elpa/zmq-*/src/.libs/emacs-zmq.so $out/share/emacs/site-lisp/elpa/zmq-*
|
|
|
|
rm -r $out/share/emacs/site-lisp/elpa/zmq-*/src
|
|
|
|
rm $out/share/emacs/site-lisp/elpa/zmq-*/Makefile
|
|
|
|
'';
|
|
|
|
});
|
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
# 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+";
|
|
|
|
};
|
2018-08-06 10:09:26 +01:00
|
|
|
|
2019-08-09 05:53:30 +01:00
|
|
|
stable = shared // {
|
2019-08-31 23:44:41 +01:00
|
|
|
|
|
|
|
# upstream issue: missing file header
|
|
|
|
bufshow = markBroken super.bufshow;
|
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
# part of a larger package
|
|
|
|
# upstream issue: missing package version
|
2019-08-31 23:51:47 +01:00
|
|
|
cmake-mode = dontConfigure super.cmake-mode;
|
2018-08-02 06:47:12 +01:00
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
# upstream issue: missing file header
|
|
|
|
connection = markBroken super.connection;
|
2018-10-01 04:37:47 +01:00
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
# upstream issue: missing file header
|
|
|
|
dictionary = markBroken super.dictionary;
|
2018-10-01 04:37:47 +01:00
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
# missing git
|
|
|
|
egg = markBroken super.egg;
|
2018-09-03 22:42:57 +01:00
|
|
|
|
2019-08-31 23:45:23 +01:00
|
|
|
# upstream issue: missing file header
|
|
|
|
elmine = markBroken super.elmine;
|
2016-01-15 21:01:09 +00:00
|
|
|
|
2019-08-31 23:46:42 +01:00
|
|
|
# upstream issue: missing file header
|
|
|
|
ido-complete-space-or-hyphen = markBroken super.ido-complete-space-or-hyphen;
|
2016-01-15 21:01:09 +00:00
|
|
|
|
2019-08-31 23:47:08 +01:00
|
|
|
# upstream issue: missing file header
|
|
|
|
initsplit = markBroken super.initsplit;
|
2016-01-15 21:01:09 +00:00
|
|
|
|
2019-08-31 23:47:34 +01:00
|
|
|
# upstream issue: missing file header
|
|
|
|
jsfmt = markBroken super.jsfmt;
|
2016-01-15 21:01:09 +00:00
|
|
|
|
2019-08-31 23:48:02 +01:00
|
|
|
# upstream issue: missing file header
|
|
|
|
maxframe = markBroken super.maxframe;
|
2018-07-21 16:45:08 +01:00
|
|
|
|
2019-08-31 23:52:28 +01:00
|
|
|
# upstream issue: doesn't build
|
|
|
|
eterm-256color = markBroken super.eterm-256color;
|
2018-08-02 09:04:57 +01:00
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
# Expects bash to be at /bin/bash
|
|
|
|
helm-rtags = markBroken super.helm-rtags;
|
2016-01-15 21:01:09 +00:00
|
|
|
|
2019-08-31 23:48:53 +01:00
|
|
|
# upstream issue: missing file header
|
|
|
|
qiita = markBroken super.qiita;
|
|
|
|
|
2019-08-31 23:49:24 +01:00
|
|
|
# upstream issue: missing file header
|
|
|
|
speech-tagger = markBroken super.speech-tagger;
|
|
|
|
|
2019-08-31 23:50:11 +01:00
|
|
|
# upstream issue: missing file header
|
|
|
|
textmate = markBroken super.textmate;
|
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
# upstream issue: missing file header
|
|
|
|
link = markBroken super.link;
|
2016-01-15 21:01:09 +00:00
|
|
|
|
2019-08-31 23:50:54 +01:00
|
|
|
# upstream issue: missing file header
|
|
|
|
voca-builder = markBroken super.voca-builder;
|
2019-01-17 16:15:35 +00:00
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
# upstream issue: missing file header
|
2019-08-31 23:51:24 +01:00
|
|
|
window-numbering = markBroken super.window-numbering;
|
2016-01-15 21:01:09 +00:00
|
|
|
|
|
|
|
};
|
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
unstable = shared // {
|
|
|
|
editorconfig = super.editorconfig.overrideAttrs (attrs: {
|
|
|
|
propagatedUserEnvPkgs = [ external.editorconfig-core-c ];
|
|
|
|
});
|
2016-01-15 21:01:09 +00:00
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
egg = super.egg.overrideAttrs (attrs: {
|
|
|
|
# searches for Git at build time
|
|
|
|
nativeBuildInputs =
|
|
|
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
|
|
|
});
|
2017-12-18 18:45:27 +00:00
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
# missing dependencies
|
|
|
|
evil-search-highlight-persist = super.evil-search-highlight-persist.overrideAttrs (attrs: {
|
|
|
|
packageRequires = with self; [ evil highlight ];
|
|
|
|
});
|
2016-01-15 21:01:09 +00:00
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
forge = super.forge.overrideAttrs (attrs: {
|
|
|
|
# searches for Git at build time
|
|
|
|
nativeBuildInputs =
|
|
|
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
|
|
|
});
|
|
|
|
|
|
|
|
# Expects bash to be at /bin/bash
|
|
|
|
helm-rtags = markBroken super.helm-rtags;
|
2016-01-15 21:01:09 +00:00
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
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";
|
|
|
|
});
|
|
|
|
|
|
|
|
racer = super.racer.overrideAttrs (attrs: {
|
|
|
|
postPatch = attrs.postPatch or "" + ''
|
|
|
|
substituteInPlace racer.el \
|
|
|
|
--replace /usr/local/src/rust/src ${external.rustPlatform.rustcSrc}
|
|
|
|
'';
|
|
|
|
});
|
|
|
|
|
|
|
|
spaceline = super.spaceline.override {
|
|
|
|
inherit (self.melpaPackages) powerline;
|
|
|
|
};
|
2019-04-08 21:06:50 +01:00
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
treemacs-magit = super.treemacs-magit.overrideAttrs (attrs: {
|
|
|
|
# searches for Git at build time
|
|
|
|
nativeBuildInputs =
|
|
|
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
|
|
|
});
|
|
|
|
|
2019-08-13 11:20:23 +01:00
|
|
|
vterm = let
|
|
|
|
emacsSources = pkgs.stdenv.mkDerivation {
|
|
|
|
name = self.emacs.name + "-sources";
|
|
|
|
src = self.emacs.src;
|
|
|
|
|
|
|
|
dontConfigure = true;
|
|
|
|
dontBuild = true;
|
|
|
|
doCheck = false;
|
|
|
|
fixupPhase = ":";
|
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
mkdir -p $out
|
|
|
|
cp -a * $out
|
|
|
|
'';
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
libvterm = pkgs.libvterm-neovim.overrideAttrs(old: rec {
|
|
|
|
pname = "libvterm-neovim";
|
|
|
|
version = "2019-04-27";
|
|
|
|
name = pname + "-" + version;
|
|
|
|
src = pkgs.fetchFromGitHub {
|
|
|
|
owner = "neovim";
|
|
|
|
repo = "libvterm";
|
|
|
|
rev = "89675ffdda615ffc3f29d1c47a933f4f44183364";
|
|
|
|
sha256 = "0l9ixbj516vl41v78fi302ws655xawl7s94gmx1kb3fmfgamqisy";
|
|
|
|
};
|
|
|
|
});
|
|
|
|
|
2019-08-13 22:52:01 +01:00
|
|
|
in pkgs.stdenv.mkDerivation {
|
2019-08-13 11:20:23 +01:00
|
|
|
inherit (super.vterm) name version src;
|
|
|
|
|
|
|
|
nativeBuildInputs = [ pkgs.cmake ];
|
|
|
|
buildInputs = [ self.emacs libvterm ];
|
|
|
|
|
|
|
|
cmakeFlags = [
|
|
|
|
"-DEMACS_SOURCE=${emacsSources}"
|
|
|
|
"-DUSE_SYSTEM_LIBVTERM=True"
|
|
|
|
];
|
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
install -d $out/share/emacs/site-lisp
|
|
|
|
install ../*.el $out/share/emacs/site-lisp
|
|
|
|
install ../*.so $out/share/emacs/site-lisp
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
# Legacy alias
|
|
|
|
emacs-libvterm = unstable.vterm;
|
|
|
|
|
2019-08-03 20:48:11 +01:00
|
|
|
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}"'
|
|
|
|
'';
|
|
|
|
});
|
|
|
|
});
|
|
|
|
};
|
2015-12-22 12:50:21 +00:00
|
|
|
};
|
2016-01-15 21:01:09 +00:00
|
|
|
|
2019-08-13 22:52:01 +01:00
|
|
|
in super // overrides.${variant});
|
2019-08-03 20:48:11 +01:00
|
|
|
|
|
|
|
in generateMelpa { }
|