Merge pull request #65874 from adisbladis/emacs-melpa-overrides
emacs-packages: Clean up redundant packages & allow overriding attrsets
This commit is contained in:
commit
f20d403ab7
@ -50,4 +50,4 @@ self:
|
|||||||
|
|
||||||
elpaPackages = super // overrides;
|
elpaPackages = super // overrides;
|
||||||
|
|
||||||
in elpaPackages // { inherit elpaBuild elpaPackages; }
|
in elpaPackages // { inherit elpaBuild; }
|
||||||
|
@ -1,57 +0,0 @@
|
|||||||
{ stdenv, fetchFromGitHub, cmake, emacs, libvterm-neovim }:
|
|
||||||
|
|
||||||
let
|
|
||||||
emacsSources = stdenv.mkDerivation {
|
|
||||||
name = emacs.name + "-sources";
|
|
||||||
src = emacs.src;
|
|
||||||
|
|
||||||
dontConfigure = true;
|
|
||||||
dontBuild = true;
|
|
||||||
doCheck = false;
|
|
||||||
fixupPhase = ":";
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out
|
|
||||||
cp -a * $out
|
|
||||||
'';
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
libvterm = libvterm-neovim.overrideAttrs(old: rec {
|
|
||||||
pname = "libvterm-neovim";
|
|
||||||
version = "2019-04-27";
|
|
||||||
name = pname + "-" + version;
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "neovim";
|
|
||||||
repo = "libvterm";
|
|
||||||
rev = "89675ffdda615ffc3f29d1c47a933f4f44183364";
|
|
||||||
sha256 = "0l9ixbj516vl41v78fi302ws655xawl7s94gmx1kb3fmfgamqisy";
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
|
||||||
name = "emacs-libvterm-${version}";
|
|
||||||
version = "unstable-2019-07-22";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "akermu";
|
|
||||||
repo = "emacs-libvterm";
|
|
||||||
rev = "301fe9fdfd5fb2496c8428a11e0812fd8a4c0820";
|
|
||||||
sha256 = "0i1hn5gcxayqcbjrnpgczvbicq2vsyn59646ary3crs0mz9wlbpr";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
|
||||||
buildInputs = [ 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
|
|
||||||
'';
|
|
||||||
}
|
|
145
pkgs/applications/editors/emacs-modes/manual-packages.nix
Normal file
145
pkgs/applications/editors/emacs-modes/manual-packages.nix
Normal file
@ -0,0 +1,145 @@
|
|||||||
|
{ lib, external, pkgs }: self: with self; with lib.licenses; {
|
||||||
|
|
||||||
|
elisp-ffi = melpaBuild rec {
|
||||||
|
pname = "elisp-ffi";
|
||||||
|
version = "1.0.0";
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "skeeto";
|
||||||
|
repo = "elisp-ffi";
|
||||||
|
rev = "${version}";
|
||||||
|
sha256 = "0z2n3h5l5fj8wl8i1ilfzv11l3zba14sgph6gz7dx7q12cnp9j22";
|
||||||
|
};
|
||||||
|
buildInputs = [ external.libffi ];
|
||||||
|
preBuild = "make";
|
||||||
|
recipe = pkgs.writeText "recipe" ''
|
||||||
|
(elisp-ffi
|
||||||
|
:repo "skeeto/elisp-ffi"
|
||||||
|
:fetcher github
|
||||||
|
:files ("ffi-glue" "ffi.el"))
|
||||||
|
'';
|
||||||
|
meta = {
|
||||||
|
description = "Emacs Lisp Foreign Function Interface";
|
||||||
|
longDescription = ''
|
||||||
|
This library provides an FFI for Emacs Lisp so that Emacs
|
||||||
|
programs can invoke functions in native libraries. It works by
|
||||||
|
driving a subprocess to do the heavy lifting, passing result
|
||||||
|
values on to Emacs.
|
||||||
|
'';
|
||||||
|
license = publicDomain;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
agda2-mode = with external; trivialBuild {
|
||||||
|
pname = "agda-mode";
|
||||||
|
version = Agda.version;
|
||||||
|
|
||||||
|
phases = [ "buildPhase" "installPhase" ];
|
||||||
|
|
||||||
|
# already byte-compiled by Agda builder
|
||||||
|
buildPhase = ''
|
||||||
|
agda=`${Agda}/bin/agda-mode locate`
|
||||||
|
cp `dirname $agda`/*.el* .
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Agda2-mode for Emacs extracted from Agda package";
|
||||||
|
longDescription = ''
|
||||||
|
Wrapper packages that liberates init.el from `agda-mode locate` magic.
|
||||||
|
Simply add this to user profile or systemPackages and do `(require 'agda2)` in init.el.
|
||||||
|
'';
|
||||||
|
homepage = Agda.meta.homepage;
|
||||||
|
license = Agda.meta.license;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
ess-R-object-popup =
|
||||||
|
callPackage ./ess-R-object-popup { };
|
||||||
|
|
||||||
|
filesets-plus = callPackage ./filesets-plus { };
|
||||||
|
|
||||||
|
font-lock-plus = callPackage ./font-lock-plus { };
|
||||||
|
|
||||||
|
ghc-mod = melpaBuild rec {
|
||||||
|
pname = "ghc";
|
||||||
|
version = external.ghc-mod.version;
|
||||||
|
src = external.ghc-mod.src;
|
||||||
|
packageRequires = [ haskell-mode ];
|
||||||
|
propagatedUserEnvPkgs = [ external.ghc-mod ];
|
||||||
|
recipe = pkgs.writeText "recipe" ''
|
||||||
|
(ghc-mod :repo "DanielG/ghc-mod" :fetcher github :files ("elisp/*.el"))
|
||||||
|
'';
|
||||||
|
fileSpecs = [ "elisp/*.el" ];
|
||||||
|
meta = {
|
||||||
|
description = "An extension of haskell-mode that provides completion of symbols and documentation browsing";
|
||||||
|
license = bsd3;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
haskell-unicode-input-method = melpaBuild rec {
|
||||||
|
pname = "emacs-haskell-unicode-input-method";
|
||||||
|
version = "20110905.2307";
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "roelvandijk";
|
||||||
|
repo = "emacs-haskell-unicode-input-method";
|
||||||
|
rev = "d8d168148c187ed19350bb7a1a190217c2915a63";
|
||||||
|
sha256 = "09b7bg2s9aa4s8f2kdqs4xps3jxkq5wsvbi87ih8b6id38blhf78";
|
||||||
|
};
|
||||||
|
recipe = pkgs.writeText "recipe" ''
|
||||||
|
(haskell-unicode-input-method
|
||||||
|
:repo "roelvandijk/emacs-haskell-unicode-input-method"
|
||||||
|
:fetcher github)
|
||||||
|
'';
|
||||||
|
packageRequires = [];
|
||||||
|
meta = {
|
||||||
|
homepage = "https://melpa.org/#haskell-unicode-input-method/";
|
||||||
|
license = lib.licenses.free;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
hexrgb = callPackage ./hexrgb { };
|
||||||
|
|
||||||
|
header2 = callPackage ./header2 { };
|
||||||
|
|
||||||
|
helm-words = callPackage ./helm-words { };
|
||||||
|
|
||||||
|
icicles = callPackage ./icicles { };
|
||||||
|
|
||||||
|
rtags = melpaBuild rec {
|
||||||
|
inherit (external.rtags) version src meta;
|
||||||
|
|
||||||
|
pname = "rtags";
|
||||||
|
|
||||||
|
dontConfigure = true;
|
||||||
|
|
||||||
|
propagatedUserEnvPkgs = [ external.rtags ];
|
||||||
|
recipe = pkgs.writeText "recipe" ''
|
||||||
|
(rtags
|
||||||
|
:repo "andersbakken/rtags" :fetcher github
|
||||||
|
:files ("src/*.el"))
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
lib-requires =
|
||||||
|
callPackage ./lib-requires { };
|
||||||
|
|
||||||
|
org-mac-link =
|
||||||
|
callPackage ./org-mac-link { };
|
||||||
|
|
||||||
|
perl-completion =
|
||||||
|
callPackage ./perl-completion { };
|
||||||
|
|
||||||
|
railgun = callPackage ./railgun { };
|
||||||
|
|
||||||
|
gn = callPackage ./gn { };
|
||||||
|
|
||||||
|
structured-haskell-mode = self.shm;
|
||||||
|
|
||||||
|
thingatpt-plus = callPackage ./thingatpt-plus { };
|
||||||
|
|
||||||
|
tramp = callPackage ./tramp { };
|
||||||
|
|
||||||
|
yaoddmuse = callPackage ./yaoddmuse { };
|
||||||
|
|
||||||
|
zeitgeist = callPackage ./zeitgeist { };
|
||||||
|
|
||||||
|
}
|
@ -12,124 +12,151 @@ env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPac
|
|||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
{ lib, external }:
|
{ lib, external, pkgs }: 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 {
|
elpy = super.elpy.overrideAttrs(old: {
|
||||||
inherit (self.melpaPackages) easy-kill;
|
propagatedUserEnvPkgs = old.propagatedUserEnvPkgs ++ [ external.elpy ];
|
||||||
};
|
});
|
||||||
|
|
||||||
editorconfig = super.editorconfig.overrideAttrs (attrs: {
|
evil-magit = super.evil-magit.overrideAttrs (attrs: {
|
||||||
propagatedUserEnvPkgs = [ external.editorconfig-core-c ];
|
# searches for Git at build time
|
||||||
});
|
nativeBuildInputs =
|
||||||
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
||||||
|
});
|
||||||
|
|
||||||
egg = super.egg.overrideAttrs (attrs: {
|
ess-R-data-view = super.ess-R-data-view.override {
|
||||||
# searches for Git at build time
|
inherit (self.melpaPackages) ess ctable popup;
|
||||||
nativeBuildInputs =
|
};
|
||||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
# upstream issue: missing file header
|
# Expects bash to be at /bin/bash
|
||||||
elmine = markBroken super.elmine;
|
flycheck-rtags = markBroken super.flycheck-rtags;
|
||||||
|
|
||||||
ess-R-data-view = super.ess-R-data-view.override {
|
# build timeout
|
||||||
inherit (self.melpaPackages) ess ctable popup;
|
graphene = markBroken super.graphene;
|
||||||
};
|
|
||||||
|
|
||||||
evil-magit = super.evil-magit.overrideAttrs (attrs: {
|
pdf-tools = super.pdf-tools.overrideAttrs(old: {
|
||||||
# searches for Git at build time
|
nativeBuildInputs = [ external.pkgconfig ];
|
||||||
nativeBuildInputs =
|
buildInputs = with external; old.buildInputs ++ [ autoconf automake libpng zlib poppler ];
|
||||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
preBuild = "make server/epdfinfo";
|
||||||
});
|
recipe = pkgs.writeText "recipe" ''
|
||||||
|
(pdf-tools
|
||||||
|
:repo "politza/pdf-tools" :fetcher github
|
||||||
|
:files ("lisp/pdf-*.el" "server/epdfinfo"))
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
|
||||||
# missing dependencies
|
# Build same version as Haskell package
|
||||||
evil-search-highlight-persist = super.evil-search-highlight-persist.overrideAttrs (attrs: {
|
hindent = super.hindent.overrideAttrs (attrs: {
|
||||||
packageRequires = with self; [ evil highlight ];
|
version = external.hindent.version;
|
||||||
});
|
src = external.hindent.src;
|
||||||
|
packageRequires = [ self.haskell-mode ];
|
||||||
|
propagatedUserEnvPkgs = [ external.hindent ];
|
||||||
|
});
|
||||||
|
|
||||||
# Expects bash to be at /bin/bash
|
# upstream issue: missing file header
|
||||||
flycheck-rtags = markBroken super.flycheck-rtags;
|
ido-complete-space-or-hyphen = markBroken super.ido-complete-space-or-hyphen;
|
||||||
|
|
||||||
forge = super.forge.overrideAttrs (attrs: {
|
# upstream issue: missing file header
|
||||||
# searches for Git at build time
|
initsplit = markBroken super.initsplit;
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
# build timeout
|
irony = super.irony.overrideAttrs(old: {
|
||||||
graphene = markBroken super.graphene;
|
preConfigure = ''
|
||||||
|
cd server
|
||||||
|
'';
|
||||||
|
preBuild = ''
|
||||||
|
make
|
||||||
|
'';
|
||||||
|
postInstall = ''
|
||||||
|
mkdir -p $out
|
||||||
|
mv $out/share/emacs/site-lisp/elpa/*/server/bin $out
|
||||||
|
rm -rf $out/share/emacs/site-lisp/elpa/*/server
|
||||||
|
'';
|
||||||
|
preCheck = ''
|
||||||
|
cd source/server
|
||||||
|
'';
|
||||||
|
dontUseCmakeBuildDir = true;
|
||||||
|
doCheck = true;
|
||||||
|
packageRequires = [ self.emacs ];
|
||||||
|
nativeBuildInputs = [ external.cmake external.llvmPackages.llvm external.llvmPackages.clang ];
|
||||||
|
});
|
||||||
|
|
||||||
# upstream issue: mismatched filename
|
# tries to write a log file to $HOME
|
||||||
helm-lobsters = markBroken super.helm-lobsters;
|
insert-shebang = super.insert-shebang.overrideAttrs (attrs: {
|
||||||
|
HOME = "/tmp";
|
||||||
|
});
|
||||||
|
|
||||||
# Expects bash to be at /bin/bash
|
# Expects bash to be at /bin/bash
|
||||||
helm-rtags = markBroken super.helm-rtags;
|
ivy-rtags = markBroken super.ivy-rtags;
|
||||||
|
|
||||||
# Build same version as Haskell package
|
# upstream issue: missing file header
|
||||||
hindent = super.hindent.overrideAttrs (attrs: {
|
jsfmt = markBroken super.jsfmt;
|
||||||
version = external.hindent.version;
|
|
||||||
src = external.hindent.src;
|
|
||||||
packageRequires = [ self.haskell-mode ];
|
|
||||||
propagatedUserEnvPkgs = [ external.hindent ];
|
|
||||||
});
|
|
||||||
|
|
||||||
# upstream issue: missing file header
|
# upstream issue: missing file header
|
||||||
ido-complete-space-or-hyphen = markBroken super.ido-complete-space-or-hyphen;
|
maxframe = markBroken super.maxframe;
|
||||||
|
|
||||||
# upstream issue: missing file header
|
magit = super.magit.overrideAttrs (attrs: {
|
||||||
initsplit = super.initsplit;
|
# searches for Git at build time
|
||||||
|
nativeBuildInputs =
|
||||||
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
||||||
|
});
|
||||||
|
|
||||||
# tries to write a log file to $HOME
|
magit-todos = super.magit-todos.overrideAttrs (attrs: {
|
||||||
insert-shebang = super.insert-shebang.overrideAttrs (attrs: {
|
# searches for Git at build time
|
||||||
HOME = "/tmp";
|
nativeBuildInputs =
|
||||||
});
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
||||||
|
});
|
||||||
|
|
||||||
# Expects bash to be at /bin/bash
|
magit-filenotify = super.magit-filenotify.overrideAttrs (attrs: {
|
||||||
ivy-rtags = markBroken super.ivy-rtags;
|
# searches for Git at build time
|
||||||
|
nativeBuildInputs =
|
||||||
# upstream issue: missing file header
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
||||||
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 +165,297 @@ 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;
|
||||||
# searches for Git at build time
|
|
||||||
|
# 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;
|
||||||
|
|
||||||
|
shm = super.shm.overrideAttrs (attrs: {
|
||||||
|
propagatedUserEnvPkgs = [ external.structured-haskell-mode ];
|
||||||
|
});
|
||||||
|
|
||||||
|
# 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 =
|
nativeBuildInputs =
|
||||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
||||||
});
|
});
|
||||||
|
|
||||||
magit-annex = super.magit-annex.overrideAttrs (attrs: {
|
# upstream issue: missing file header
|
||||||
# searches for Git at build time
|
voca-builder = markBroken super.voca-builder;
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
magit-gitflow = super.magit-gitflow.overrideAttrs (attrs: {
|
# upstream issue: missing file header
|
||||||
# searches for Git at build time
|
window-numbering = markBroken super.window-numbering;
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
magithub = super.magithub.overrideAttrs (attrs: {
|
vterm = let
|
||||||
# searches for Git at build time
|
emacsSources = pkgs.stdenv.mkDerivation {
|
||||||
nativeBuildInputs =
|
name = self.emacs.name + "-sources";
|
||||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
src = self.emacs.src;
|
||||||
});
|
|
||||||
|
|
||||||
magit-svn = super.magit-svn.overrideAttrs (attrs: {
|
dontConfigure = true;
|
||||||
# searches for Git at build time
|
dontBuild = true;
|
||||||
nativeBuildInputs =
|
doCheck = false;
|
||||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
fixupPhase = ":";
|
||||||
});
|
|
||||||
|
|
||||||
magit-todos = super.magit-todos.overrideAttrs (attrs: {
|
installPhase = ''
|
||||||
# searches for Git at build time
|
mkdir -p $out
|
||||||
nativeBuildInputs =
|
cp -a * $out
|
||||||
(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
|
|
||||||
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;
|
|
||||||
|
|
||||||
# upstream issue: missing file header
|
|
||||||
qiita = markBroken super.qiita;
|
|
||||||
|
|
||||||
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 =
|
|
||||||
(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}"'
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
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";
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
in pkgs.stdenv.mkDerivation rec {
|
||||||
|
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 = shared.vterm;
|
||||||
|
|
||||||
|
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
|
||||||
|
'';
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
|
||||||
# Map legacy renames from emacs2nix since code generation was ported to emacs lisp
|
# Map legacy renames from emacs2nix since code generation was ported to emacs lisp
|
||||||
_0blayout = super."0blayout";
|
_0blayout = super."0blayout";
|
||||||
_0xc = super."0xc";
|
_0xc = super."0xc";
|
||||||
_2048-game = super."2048-game";
|
_2048-game = super."2048-game";
|
||||||
_4clojure = super."4clojure";
|
_4clojure = super."4clojure";
|
||||||
at = super."@";
|
at = super."@";
|
||||||
desktop-plus = super."desktop+";
|
desktop-plus = super."desktop+";
|
||||||
# filesets-plus = super."filesets+";
|
ghub-plus = super."ghub+";
|
||||||
ghub-plus = super."ghub+";
|
git-gutter-plus = super."git-gutter+";
|
||||||
git-gutter-plus = super."git-gutter+";
|
git-gutter-fringe-plus = super."git-gutter-fringe+";
|
||||||
git-gutter-fringe-plus = super."git-gutter-fringe+";
|
ido-completing-read-plus = super."ido-completing-read+";
|
||||||
ido-completing-read-plus = super."ido-completing-read+";
|
image-plus = super."image+";
|
||||||
image-plus = super."image+";
|
image-dired-plus = super."image-dired+";
|
||||||
image-dired-plus = super."image-dired+";
|
markdown-mode-plus = super."markdown-mode+";
|
||||||
markdown-mode-plus = super."markdown-mode+";
|
package-plus = super."package+";
|
||||||
package-plus = super."package+";
|
rect-plus = super."rect+";
|
||||||
rect-plus = super."rect+";
|
term-plus = super."term+";
|
||||||
term-plus = super."term+";
|
term-plus-key-intercept = super."term+key-intercept";
|
||||||
term-plus-key-intercept = super."term+key-intercept";
|
term-plus-mux = super."term+mux";
|
||||||
term-plus-mux = super."term+mux";
|
xml-plus = super."xml+";
|
||||||
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
|
||||||
|
nativeBuildInputs =
|
||||||
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
||||||
|
});
|
||||||
|
|
||||||
|
# missing dependencies
|
||||||
|
evil-search-highlight-persist = super.evil-search-highlight-persist.overrideAttrs (attrs: {
|
||||||
|
packageRequires = with self; [ evil highlight ];
|
||||||
|
});
|
||||||
|
|
||||||
|
forge = super.forge.overrideAttrs (attrs: {
|
||||||
|
# searches for Git at build time
|
||||||
|
nativeBuildInputs =
|
||||||
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
||||||
|
});
|
||||||
|
|
||||||
|
# upstream issue: mismatched filename
|
||||||
|
helm-lobsters = markBroken super.helm-lobsters;
|
||||||
|
|
||||||
|
# Expects bash to be at /bin/bash
|
||||||
|
helm-rtags = markBroken super.helm-rtags;
|
||||||
|
|
||||||
|
# Fails with "package does not untar cleanly into ..."
|
||||||
|
irony = shared.irony.overrideAttrs(old: {
|
||||||
|
meta = old.meta // {
|
||||||
|
broken = true;
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
magit-annex = super.magit-annex.overrideAttrs (attrs: {
|
||||||
|
# searches for Git at build time
|
||||||
|
nativeBuildInputs =
|
||||||
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
||||||
|
});
|
||||||
|
|
||||||
|
magit-gitflow = super.magit-gitflow.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 ];
|
||||||
|
});
|
||||||
|
|
||||||
|
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; }
|
|
@ -1,30 +0,0 @@
|
|||||||
{lib, trivialBuild, fetchFromGitHub}:
|
|
||||||
|
|
||||||
trivialBuild rec {
|
|
||||||
pname = "nyan-mode";
|
|
||||||
version = "20150128";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "TeMPOraL";
|
|
||||||
repo = pname;
|
|
||||||
rev = "41faa2c809da7b2cb3e6f8fadefae3f338ced3f2";
|
|
||||||
sha256 = "1idaac7sjc8hhbf5zif61ncg1pvg28c0qfihavdx61albww0ll7f";
|
|
||||||
};
|
|
||||||
|
|
||||||
patches = [ ./directory.patch ];
|
|
||||||
|
|
||||||
preBuild = ''
|
|
||||||
substituteInPlace nyan-mode.el \
|
|
||||||
--replace "@OUT@" "$out/"
|
|
||||||
'';
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
cp -r img $out
|
|
||||||
cp -r mus $out
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "An analog indicator of the position in the buffer";
|
|
||||||
license = lib.licenses.gpl3Plus;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,13 +0,0 @@
|
|||||||
diff --git a/nyan-mode.el b/nyan-mode.el
|
|
||||||
index 939a25a..3d0b983 100644
|
|
||||||
--- a/nyan-mode.el
|
|
||||||
+++ b/nyan-mode.el
|
|
||||||
@@ -106,7 +106,7 @@ This can be t or nil."
|
|
||||||
:group 'nyan)
|
|
||||||
|
|
||||||
|
|
||||||
-(defconst +nyan-directory+ (file-name-directory (or load-file-name buffer-file-name)))
|
|
||||||
+(defconst +nyan-directory+ "@OUT@")
|
|
||||||
|
|
||||||
(defconst +nyan-cat-size+ 3)
|
|
||||||
|
|
@ -28,4 +28,4 @@ self:
|
|||||||
|
|
||||||
orgPackages = super // overrides;
|
orgPackages = super // overrides;
|
||||||
|
|
||||||
in orgPackages // { inherit orgPackages; }
|
in orgPackages
|
||||||
|
@ -1,23 +0,0 @@
|
|||||||
{ stdenv, fetchgit }:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "redshank";
|
|
||||||
name = "${pname}-20120510";
|
|
||||||
|
|
||||||
src = fetchgit {
|
|
||||||
url = "http://www.foldr.org/~michaelw/projects/redshank.git";
|
|
||||||
rev = "f98e68f532e622bcd464292ca4a9cf5fbea14ebb";
|
|
||||||
sha256 = "1jdkgvd5xy9hl5q611jwah2n05abjp7qcy9sj4k1z11x0ii62b6p";
|
|
||||||
};
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/share/emacs/site-lisp
|
|
||||||
cp *.el *.elc $out/share/emacs/site-lisp/
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "Common Lisp Editing Extensions (for Emacs)";
|
|
||||||
homepage = http://www.foldr.org/~michaelw/emacs/redshank/;
|
|
||||||
platforms = stdenv.lib.platforms.all;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,25 +0,0 @@
|
|||||||
{ stdenv, fetchurl }:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "stgit";
|
|
||||||
name = "${pname}-2009-10-28";
|
|
||||||
|
|
||||||
dontUnpack = true;
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "https://raw.githubusercontent.com/miracle2k/stgit/master/contrib/stgit.el";
|
|
||||||
sha256 = "0pl8q480633vdkylr85s7cbd4653xpzwklnxrwm8xhsnvw9d501q";
|
|
||||||
name = "stgit.el";
|
|
||||||
};
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/share/emacs/site-lisp
|
|
||||||
cp $src $out/share/emacs/site-lisp/stgit.el
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "An emacs mode for Stgit";
|
|
||||||
homepage = http://procode.org/stgit/;
|
|
||||||
platforms = stdenv.lib.platforms.all;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,8 +1,6 @@
|
|||||||
#! /usr/bin/env nix-shell
|
#! /usr/bin/env nix-shell
|
||||||
#! nix-shell --show-trace -i sh -p git nix nix-prefetch-git nix-prefetch-hg "import ./updater-emacs.nix"
|
#! nix-shell --show-trace ./updater-emacs.nix -i bash
|
||||||
|
|
||||||
# "with import ../../../.. {}; emacsWithPackages (epkgs: with epkgs.melpaPackages; [ promise semaphore ])"
|
SCRIPT_DIR="$( cd "$(dirname "$0")" ; pwd -P )"
|
||||||
|
|
||||||
exec emacs --fg-daemon=updater --quick -l update-melpa.el -f run-updater "$@"
|
exec emacs --fg-daemon=updater --quick -l $SCRIPT_DIR/update-melpa.el -f run-updater "$@"
|
||||||
|
|
||||||
# exec emacs update-melpa.el "$@"
|
|
||||||
|
@ -1,29 +1,40 @@
|
|||||||
with import ../../../.. {};
|
let
|
||||||
(emacsPackagesNgFor emacs26).
|
pkgs = import ../../../.. {};
|
||||||
emacsWithPackages (epkgs: let
|
|
||||||
promise = epkgs.trivialBuild {
|
emacsEnv = (pkgs.emacsPackagesNgFor pkgs.emacs26).emacsWithPackages (epkgs: let
|
||||||
pname = "promise";
|
|
||||||
version = "1";
|
promise = epkgs.trivialBuild {
|
||||||
src = fetchFromGitHub {
|
pname = "promise";
|
||||||
owner = "bendlas";
|
version = "1";
|
||||||
repo = "emacs-promise";
|
src = pkgs.fetchFromGitHub {
|
||||||
rev = "4da97087c5babbd8429b5ce62a8323b9b03c6022";
|
owner = "bendlas";
|
||||||
sha256 = "0yin7kj69g4zxs30pvk47cnfygxlaw7jc7chr3b36lz51yqczjsy";
|
repo = "emacs-promise";
|
||||||
|
rev = "4da97087c5babbd8429b5ce62a8323b9b03c6022";
|
||||||
|
sha256 = "0yin7kj69g4zxs30pvk47cnfygxlaw7jc7chr3b36lz51yqczjsy";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
semaphore = epkgs.trivialBuild {
|
semaphore = epkgs.trivialBuild {
|
||||||
pname = "semaphore";
|
pname = "semaphore";
|
||||||
version = "1";
|
version = "1";
|
||||||
packageRequires = [ promise ];
|
packageRequires = [ promise ];
|
||||||
src = fetchFromGitHub {
|
src = pkgs.fetchFromGitHub {
|
||||||
owner = "webnf";
|
owner = "webnf";
|
||||||
repo = "semaphore.el";
|
repo = "semaphore.el";
|
||||||
rev = "93802cb093073bc6a6ccd797328dafffcef248e0";
|
rev = "93802cb093073bc6a6ccd797328dafffcef248e0";
|
||||||
sha256 = "09pfyp27m35sv340xarhld7xx2vv5fs5xj4418709iw6l6hpk853";
|
sha256 = "09pfyp27m35sv340xarhld7xx2vv5fs5xj4418709iw6l6hpk853";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
in [ promise semaphore ]
|
in [ promise semaphore ]);
|
||||||
# ++ (with epkgs.melpaPackages; [ smex rainbow-delimiters paredit ])
|
|
||||||
)
|
in pkgs.mkShell {
|
||||||
|
buildInputs = [
|
||||||
|
pkgs.git
|
||||||
|
pkgs.nix
|
||||||
|
pkgs.bash
|
||||||
|
pkgs.nix-prefetch-git
|
||||||
|
pkgs.nix-prefetch-hg
|
||||||
|
emacsEnv
|
||||||
|
];
|
||||||
|
}
|
||||||
|
@ -17928,7 +17928,7 @@ in
|
|||||||
emacs26Packages = dontRecurseIntoAttrs (emacsPackagesFor emacs26 pkgs.emacs26Packages);
|
emacs26Packages = dontRecurseIntoAttrs (emacsPackagesFor emacs26 pkgs.emacs26Packages);
|
||||||
|
|
||||||
emacsPackagesNgFor = emacs: import ./emacs-packages.nix {
|
emacsPackagesNgFor = emacs: import ./emacs-packages.nix {
|
||||||
inherit lib newScope stdenv;
|
inherit lib newScope stdenv pkgs;
|
||||||
inherit fetchFromGitHub fetchurl;
|
inherit fetchFromGitHub fetchurl;
|
||||||
inherit emacs texinfo makeWrapper runCommand writeText;
|
inherit emacs texinfo makeWrapper runCommand writeText;
|
||||||
inherit (xorg) lndir;
|
inherit (xorg) lndir;
|
||||||
|
@ -39,428 +39,46 @@
|
|||||||
, melpaBuild
|
, melpaBuild
|
||||||
|
|
||||||
, external
|
, external
|
||||||
|
, pkgs
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with lib.licenses;
|
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
elpaPackages = import ../applications/editors/emacs-modes/elpa-packages.nix {
|
mkElpaPackages = import ../applications/editors/emacs-modes/elpa-packages.nix {
|
||||||
inherit lib stdenv texinfo;
|
inherit lib stdenv texinfo;
|
||||||
};
|
};
|
||||||
|
|
||||||
melpaStablePackages = import ../applications/editors/emacs-modes/melpa-stable-packages.nix {
|
# Contains both melpa stable & unstable
|
||||||
inherit external lib;
|
melpaGeneric = import ../applications/editors/emacs-modes/melpa-packages.nix {
|
||||||
|
inherit external lib pkgs;
|
||||||
};
|
};
|
||||||
|
mkMelpaStablePackages = melpaGeneric "stable";
|
||||||
|
mkMelpaPackages = melpaGeneric "unstable";
|
||||||
|
|
||||||
melpaPackages = import ../applications/editors/emacs-modes/melpa-packages.nix {
|
mkOrgPackages = import ../applications/editors/emacs-modes/org-packages.nix { };
|
||||||
inherit external lib;
|
|
||||||
};
|
|
||||||
|
|
||||||
orgPackages = import ../applications/editors/emacs-modes/org-packages.nix { };
|
|
||||||
|
|
||||||
emacsWithPackages = import ../build-support/emacs/wrapper.nix {
|
emacsWithPackages = import ../build-support/emacs/wrapper.nix {
|
||||||
inherit lib lndir makeWrapper stdenv runCommand;
|
inherit lib lndir makeWrapper stdenv runCommand;
|
||||||
};
|
};
|
||||||
|
|
||||||
packagesFun = self: with self; {
|
mkManualPackages = import ../applications/editors/emacs-modes/manual-packages.nix {
|
||||||
|
inherit external lib pkgs;
|
||||||
inherit emacs melpaBuild trivialBuild;
|
|
||||||
|
|
||||||
emacsWithPackages = emacsWithPackages self;
|
|
||||||
|
|
||||||
## START HERE
|
|
||||||
|
|
||||||
pdf-tools = melpaBuild rec {
|
|
||||||
pname = "pdf-tools";
|
|
||||||
version = "0.90";
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "politza";
|
|
||||||
repo = "pdf-tools";
|
|
||||||
rev = "v${version}";
|
|
||||||
sha256 = "0iv2g5kd14zk3r5dzdw7b7hk4b5w7qpbilcqkja46jgxbb6xnpl9";
|
|
||||||
};
|
|
||||||
nativeBuildInputs = [ external.pkgconfig ];
|
|
||||||
buildInputs = with external; [ autoconf automake libpng zlib poppler ];
|
|
||||||
preBuild = "make server/epdfinfo";
|
|
||||||
recipe = writeText "recipe" ''
|
|
||||||
(pdf-tools
|
|
||||||
:repo "politza/pdf-tools" :fetcher github
|
|
||||||
:files ("lisp/pdf-*.el" "server/epdfinfo"))
|
|
||||||
'';
|
|
||||||
packageRequires = [ tablist let-alist ];
|
|
||||||
meta = {
|
|
||||||
description = "Emacs support library for PDF files";
|
|
||||||
license = gpl3;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
elisp-ffi = melpaBuild rec {
|
in lib.makeScope newScope (self: lib.makeOverridable ({
|
||||||
pname = "elisp-ffi";
|
elpaPackages ? mkElpaPackages self
|
||||||
version = "1.0.0";
|
, melpaStablePackages ? mkMelpaStablePackages self
|
||||||
src = fetchFromGitHub {
|
, melpaPackages ? mkMelpaPackages self
|
||||||
owner = "skeeto";
|
, orgPackages ? mkOrgPackages self
|
||||||
repo = "elisp-ffi";
|
, manualPackages ? mkManualPackages self
|
||||||
rev = "${version}";
|
}: ({}
|
||||||
sha256 = "0z2n3h5l5fj8wl8i1ilfzv11l3zba14sgph6gz7dx7q12cnp9j22";
|
// elpaPackages // { inherit elpaPackages; }
|
||||||
};
|
// melpaStablePackages // { inherit melpaStablePackages; }
|
||||||
buildInputs = [ external.libffi ];
|
// melpaPackages // { inherit melpaPackages; }
|
||||||
preBuild = "make";
|
// orgPackages // { inherit orgPackages; }
|
||||||
recipe = writeText "recipe" ''
|
// manualPackages
|
||||||
(elisp-ffi
|
// {
|
||||||
:repo "skeeto/elisp-ffi"
|
inherit emacs melpaBuild trivialBuild;
|
||||||
:fetcher github
|
emacsWithPackages = emacsWithPackages self;
|
||||||
:files ("ffi-glue" "ffi.el"))
|
})
|
||||||
'';
|
) {})
|
||||||
meta = {
|
|
||||||
description = "Emacs Lisp Foreign Function Interface";
|
|
||||||
longDescription = ''
|
|
||||||
This library provides an FFI for Emacs Lisp so that Emacs
|
|
||||||
programs can invoke functions in native libraries. It works by
|
|
||||||
driving a subprocess to do the heavy lifting, passing result
|
|
||||||
values on to Emacs.
|
|
||||||
'';
|
|
||||||
license = publicDomain;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
agda2-mode = with external; trivialBuild {
|
|
||||||
pname = "agda-mode";
|
|
||||||
version = Agda.version;
|
|
||||||
|
|
||||||
phases = [ "buildPhase" "installPhase" ];
|
|
||||||
|
|
||||||
# already byte-compiled by Agda builder
|
|
||||||
buildPhase = ''
|
|
||||||
agda=`${Agda}/bin/agda-mode locate`
|
|
||||||
cp `dirname $agda`/*.el* .
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "Agda2-mode for Emacs extracted from Agda package";
|
|
||||||
longDescription = ''
|
|
||||||
Wrapper packages that liberates init.el from `agda-mode locate` magic.
|
|
||||||
Simply add this to user profile or systemPackages and do `(require 'agda2)` in init.el.
|
|
||||||
'';
|
|
||||||
homepage = Agda.meta.homepage;
|
|
||||||
license = Agda.meta.license;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
emacsql-sqlite = melpaBuild rec {
|
|
||||||
pname = "emacsql-sqlite";
|
|
||||||
ename = "emacsql-sqlite";
|
|
||||||
version = "20180128.1252";
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "skeeto";
|
|
||||||
repo = "emacsql";
|
|
||||||
rev = "62d39157370219a1680265fa593f90ccd51457da";
|
|
||||||
sha256 = "0ghl3g8n8wlw8rnmgbivlrm99wcwn93bv8flyalzs0z9j7p7fdq9";
|
|
||||||
};
|
|
||||||
recipe = fetchurl {
|
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/3cfa28c7314fa57fa9a3aaaadf9ef83f8ae541a9/recipes/emacsql-sqlite";
|
|
||||||
sha256 = "1y81nabzzb9f7b8azb9giy23ckywcbrrg4b88gw5qyjizbb3h70x";
|
|
||||||
name = "recipe";
|
|
||||||
};
|
|
||||||
preBuild = ''
|
|
||||||
cd sqlite
|
|
||||||
make
|
|
||||||
'';
|
|
||||||
stripDebugList = [ "share" ];
|
|
||||||
packageRequires = [ emacs emacsql ];
|
|
||||||
meta = {
|
|
||||||
homepage = "https://melpa.org/#/emacsql-sqlite";
|
|
||||||
license = lib.licenses.free;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
elpy = melpaBuild rec {
|
|
||||||
pname = "elpy";
|
|
||||||
version = external.elpy.version;
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "jorgenschaefer";
|
|
||||||
repo = pname;
|
|
||||||
rev = "39ea47c73f040ce8dcc1c2d2639ebc0eb57ab8c8";
|
|
||||||
sha256 = "0q3av1qv4m6aj4bil608f688hjpr5px8zqnnrdqx784nz98rpjrs";
|
|
||||||
};
|
|
||||||
recipe = writeText "recipe" ''
|
|
||||||
(elpy :repo "jorgenschaefer/elpy" :fetcher github)
|
|
||||||
'';
|
|
||||||
|
|
||||||
patchPhase = ''
|
|
||||||
for file in elpy.el elpy-pkg.el; do
|
|
||||||
substituteInPlace $file \
|
|
||||||
--replace "company \"0.8.2\"" "company \"${company.version}\"" \
|
|
||||||
--replace "find-file-in-project \"3.3\"" "find-file-in-project \"${(melpaPackages self).find-file-in-project.version}\"" \
|
|
||||||
--replace "highlight-indentation \"0.5.0\"" "highlight-indentation \"${highlight-indentation.version}\"" \
|
|
||||||
--replace "pyvenv \"1.3\"" "pyvenv \"${pyvenv.version}\"" \
|
|
||||||
--replace "yasnippet \"0.8.0\"" "yasnippet \"${yasnippet.version}\""
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
|
|
||||||
packageRequires = [
|
|
||||||
company find-file-in-project highlight-indentation pyvenv yasnippet
|
|
||||||
];
|
|
||||||
|
|
||||||
propagatedUserEnvPkgs = [ external.elpy ] ++ packageRequires;
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "Emacs Python Development Environment";
|
|
||||||
longDescription = ''
|
|
||||||
Elpy is an Emacs package to bring powerful Python editing to Emacs.
|
|
||||||
It combines a number of other packages, both written in Emacs Lisp as
|
|
||||||
well as Python.
|
|
||||||
'';
|
|
||||||
license = gpl3Plus;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
emacs-libvterm = callPackage ../applications/editors/emacs-modes/emacs-libvterm { };
|
|
||||||
|
|
||||||
evil-jumper = melpaBuild rec {
|
|
||||||
pname = "evil-jumper";
|
|
||||||
version = "20151017";
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "bling";
|
|
||||||
repo = pname;
|
|
||||||
rev = "fcadf2d93aaea3ba88a2ae63a860b9c1f0568167";
|
|
||||||
sha256 = "0axx6cc9z9c1wh7qgm6ya54dsp3bn82bnb0cwj1rpv509qqmwgsj";
|
|
||||||
};
|
|
||||||
recipe = writeText "recipe" ''
|
|
||||||
(evil-jumper :repo "bling/evil-jumper" :fetcher github)
|
|
||||||
'';
|
|
||||||
packageRequires = [ evil ];
|
|
||||||
meta = {
|
|
||||||
description = "Jump across buffer boundaries and revive dead buffers if necessary";
|
|
||||||
license = gpl3Plus;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
ess-R-object-popup =
|
|
||||||
callPackage ../applications/editors/emacs-modes/ess-R-object-popup { };
|
|
||||||
|
|
||||||
filesets-plus = callPackage ../applications/editors/emacs-modes/filesets-plus { };
|
|
||||||
|
|
||||||
font-lock-plus = callPackage ../applications/editors/emacs-modes/font-lock-plus { };
|
|
||||||
|
|
||||||
ghc-mod = melpaBuild rec {
|
|
||||||
pname = "ghc";
|
|
||||||
version = external.ghc-mod.version;
|
|
||||||
src = external.ghc-mod.src;
|
|
||||||
packageRequires = [ haskell-mode ];
|
|
||||||
propagatedUserEnvPkgs = [ external.ghc-mod ];
|
|
||||||
recipe = writeText "recipe" ''
|
|
||||||
(ghc-mod :repo "DanielG/ghc-mod" :fetcher github :files ("elisp/*.el"))
|
|
||||||
'';
|
|
||||||
fileSpecs = [ "elisp/*.el" ];
|
|
||||||
meta = {
|
|
||||||
description = "An extension of haskell-mode that provides completion of symbols and documentation browsing";
|
|
||||||
license = bsd3;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
haskell-unicode-input-method = melpaBuild rec {
|
|
||||||
pname = "emacs-haskell-unicode-input-method";
|
|
||||||
version = "20110905.2307";
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "roelvandijk";
|
|
||||||
repo = "emacs-haskell-unicode-input-method";
|
|
||||||
rev = "d8d168148c187ed19350bb7a1a190217c2915a63";
|
|
||||||
sha256 = "09b7bg2s9aa4s8f2kdqs4xps3jxkq5wsvbi87ih8b6id38blhf78";
|
|
||||||
};
|
|
||||||
recipe = writeText "recipe" ''
|
|
||||||
(haskell-unicode-input-method
|
|
||||||
:repo "roelvandijk/emacs-haskell-unicode-input-method"
|
|
||||||
:fetcher github)
|
|
||||||
'';
|
|
||||||
packageRequires = [];
|
|
||||||
meta = {
|
|
||||||
homepage = "https://melpa.org/#haskell-unicode-input-method/";
|
|
||||||
license = lib.licenses.free;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
hexrgb = callPackage ../applications/editors/emacs-modes/hexrgb { };
|
|
||||||
|
|
||||||
header2 = callPackage ../applications/editors/emacs-modes/header2 { };
|
|
||||||
|
|
||||||
helm-words = callPackage ../applications/editors/emacs-modes/helm-words { };
|
|
||||||
|
|
||||||
icicles = callPackage ../applications/editors/emacs-modes/icicles { };
|
|
||||||
|
|
||||||
irony = melpaBuild rec {
|
|
||||||
pname = "irony";
|
|
||||||
ename = "irony";
|
|
||||||
version = "20190516";
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "Sarcasm";
|
|
||||||
repo = "irony-mode";
|
|
||||||
rev = "c3ae899b61124a747ebafc705086345e460ac08e";
|
|
||||||
sha256 = "06ld83vzyklfmrfi6pp893mvlnhacv9if75c9pbipjvy6nwfb63r";
|
|
||||||
};
|
|
||||||
recipe = fetchurl {
|
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/3cfa28c7314fa57fa9a3aaaadf9ef83f8ae541a9/recipes/irony";
|
|
||||||
sha256 = "1xcxrdrs7imi31nxpszgpaywq4ivni75hrdl4zzrf103xslqpl8a";
|
|
||||||
name = "recipe";
|
|
||||||
};
|
|
||||||
preConfigure = ''
|
|
||||||
cd server
|
|
||||||
'';
|
|
||||||
preBuild = ''
|
|
||||||
make
|
|
||||||
'';
|
|
||||||
postInstall = ''
|
|
||||||
mkdir -p $out
|
|
||||||
mv $out/share/emacs/site-lisp/elpa/*/server/bin $out
|
|
||||||
rm -rf $out/share/emacs/site-lisp/elpa/*/server
|
|
||||||
'';
|
|
||||||
preCheck = ''
|
|
||||||
cd source/server
|
|
||||||
'';
|
|
||||||
dontUseCmakeBuildDir = true;
|
|
||||||
doCheck = true;
|
|
||||||
packageRequires = [ emacs ];
|
|
||||||
nativeBuildInputs = [ external.cmake external.llvmPackages.llvm external.llvmPackages.clang ];
|
|
||||||
meta = {
|
|
||||||
homepage = "https://melpa.org/#/irony";
|
|
||||||
license = lib.licenses.gpl3;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
redshank = callPackage ../applications/editors/emacs-modes/redshank { };
|
|
||||||
|
|
||||||
rtags = melpaBuild rec {
|
|
||||||
pname = "rtags";
|
|
||||||
version = "2.12";
|
|
||||||
src = external.rtags.src;
|
|
||||||
|
|
||||||
dontConfigure = true;
|
|
||||||
|
|
||||||
propagatedUserEnvPkgs = [ external.rtags ];
|
|
||||||
recipe = writeText "recipe" ''
|
|
||||||
(rtags
|
|
||||||
:repo "andersbakken/rtags" :fetcher github
|
|
||||||
:files ("src/*.el"))
|
|
||||||
'';
|
|
||||||
inherit (external.rtags) meta;
|
|
||||||
};
|
|
||||||
|
|
||||||
lcs = melpaBuild rec {
|
|
||||||
pname = "lcs";
|
|
||||||
version = circe.version;
|
|
||||||
src = circe.src;
|
|
||||||
recipe = writeText "recipe" ''
|
|
||||||
(lcs :repo "jorgenschaefer/circe" :fetcher github :files ("lcs.el"))
|
|
||||||
'';
|
|
||||||
meta = {
|
|
||||||
description = "Longest Common Sequence (LCS) library for Emacs";
|
|
||||||
license = gpl3Plus;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
lib-requires =
|
|
||||||
callPackage ../applications/editors/emacs-modes/lib-requires { };
|
|
||||||
|
|
||||||
lui = melpaBuild rec {
|
|
||||||
pname = "lui";
|
|
||||||
version = circe.version;
|
|
||||||
src = circe.src;
|
|
||||||
packageRequires = [ tracking ];
|
|
||||||
recipe = writeText "recipe" ''
|
|
||||||
(lcs :repo "jorgenschaefer/circe" :fetcher github :files ("lui*.el"))
|
|
||||||
'';
|
|
||||||
meta = {
|
|
||||||
description = "User interface library for Emacs";
|
|
||||||
license = gpl3Plus;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
nyan-mode = callPackage ../applications/editors/emacs-modes/nyan-mode {
|
|
||||||
inherit lib;
|
|
||||||
};
|
|
||||||
|
|
||||||
org-mac-link =
|
|
||||||
callPackage ../applications/editors/emacs-modes/org-mac-link { };
|
|
||||||
|
|
||||||
perl-completion =
|
|
||||||
callPackage ../applications/editors/emacs-modes/perl-completion { };
|
|
||||||
|
|
||||||
railgun = callPackage ../applications/editors/emacs-modes/railgun { };
|
|
||||||
|
|
||||||
gn = callPackage ../applications/editors/emacs-modes/gn { };
|
|
||||||
|
|
||||||
shorten = melpaBuild rec {
|
|
||||||
pname = "shorten";
|
|
||||||
version = circe.version;
|
|
||||||
src = circe.src;
|
|
||||||
recipe = writeText "recipe" ''
|
|
||||||
(shorten :repo "jorgenschaefer/circe" :fetcher github :files ("shorten.el"))
|
|
||||||
'';
|
|
||||||
meta = {
|
|
||||||
description = "String shortening to unique prefix library for Emacs";
|
|
||||||
license = gpl3Plus;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
stgit = callPackage ../applications/editors/emacs-modes/stgit { };
|
|
||||||
|
|
||||||
structured-haskell-mode = self.shm;
|
|
||||||
shm = (melpaPackages self).shm.overrideAttrs (attrs: {
|
|
||||||
propagatedUserEnvPkgs = [ external.structured-haskell-mode ];
|
|
||||||
});
|
|
||||||
|
|
||||||
thingatpt-plus = callPackage ../applications/editors/emacs-modes/thingatpt-plus { };
|
|
||||||
|
|
||||||
tramp = callPackage ../applications/editors/emacs-modes/tramp { };
|
|
||||||
|
|
||||||
yaoddmuse = callPackage ../applications/editors/emacs-modes/yaoddmuse { };
|
|
||||||
|
|
||||||
zeitgeist = callPackage ../applications/editors/emacs-modes/zeitgeist { };
|
|
||||||
|
|
||||||
zmq = melpaBuild rec {
|
|
||||||
pname = "zmq";
|
|
||||||
ename = "zmq";
|
|
||||||
version = "0.10.10";
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "dzop";
|
|
||||||
repo = "emacs-zmq";
|
|
||||||
rev = "v0.10.10";
|
|
||||||
sha256 = "0ngxm5mm0kqgvn8977ryrngamx0khzlw86d8vz5s0jhm2kgwnqp8";
|
|
||||||
};
|
|
||||||
recipe = fetchurl {
|
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/72f4dcc2723de826bf1af7235ac6d9119a243c63/recipes/zmq";
|
|
||||||
sha256 = "14bbh00a58xgxyxl8zjxl57rf6351fnwsnk4cvvy341fvf86dklc";
|
|
||||||
name = "recipe";
|
|
||||||
};
|
|
||||||
stripDebugList = [ "share" ];
|
|
||||||
packageRequires = [ emacs ];
|
|
||||||
nativeBuildInputs = [
|
|
||||||
external.autoconf external.automake external.pkgconfig external.libtool
|
|
||||||
(external.zeromq.override { enableDrafts = true; })
|
|
||||||
];
|
|
||||||
preBuild = ''
|
|
||||||
make
|
|
||||||
'';
|
|
||||||
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
|
|
||||||
'';
|
|
||||||
meta = {
|
|
||||||
homepage = "https://melpa.org/#/zmq";
|
|
||||||
description = "Emacs bindings to ØMQ";
|
|
||||||
license = lib.licenses.gpl2;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
in
|
|
||||||
lib.makeScope newScope (self:
|
|
||||||
{}
|
|
||||||
// elpaPackages self
|
|
||||||
// melpaStablePackages self
|
|
||||||
// melpaPackages self
|
|
||||||
// orgPackages self
|
|
||||||
// packagesFun self
|
|
||||||
)
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user