forked from mirrors/nixpkgs
Merge pull request #200961 from atorres1985-contrib/refactor-elisp-manual-packages
Refactor elisp manual packages
This commit is contained in:
commit
bfdb43a1f1
|
@ -2,260 +2,94 @@
|
|||
|
||||
self: with self; {
|
||||
|
||||
elisp-ffi = let
|
||||
rev = "da37c516a0e59bdce63fb2dc006a231dee62a1d9";
|
||||
in melpaBuild {
|
||||
pname = "elisp-ffi";
|
||||
version = "20170518.0";
|
||||
agda-input = callPackage ./manual-packages/agda-input { };
|
||||
|
||||
commit = rev;
|
||||
agda2-mode = callPackage ./manual-packages/agda2-mode { };
|
||||
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "skeeto";
|
||||
repo = "elisp-ffi";
|
||||
inherit rev;
|
||||
sha256 = "sha256-StOezQEnNTjRmjY02ub5FRh59aL6gWfw+qgboz0wF94=";
|
||||
};
|
||||
bqn-mode = callPackage ./manual-packages/bqn-mode { };
|
||||
|
||||
nativeBuildInputs = [ pkgs.pkg-config ];
|
||||
cask = callPackage ./manual-packages/cask { };
|
||||
|
||||
buildInputs = [ pkgs.libffi ];
|
||||
control-lock = callPackage ./manual-packages/control-lock { };
|
||||
|
||||
preBuild = ''
|
||||
mv ffi.el elisp-ffi.el
|
||||
make
|
||||
'';
|
||||
ebuild-mode = callPackage ./manual-packages/ebuild-mode { };
|
||||
|
||||
recipe = pkgs.writeText "recipe" ''
|
||||
(elisp-ffi
|
||||
:repo "skeeto/elisp-ffi"
|
||||
:fetcher github)
|
||||
'';
|
||||
elisp-ffi = callPackage ./manual-packages/elisp-ffi { };
|
||||
|
||||
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 = lib.licenses.publicDomain;
|
||||
};
|
||||
emacspeak = callPackage ./manual-packages/emacspeak { };
|
||||
|
||||
ement = callPackage ./manual-packages/ement { };
|
||||
|
||||
ess-R-object-popup = callPackage ./manual-packages/ess-R-object-popup { };
|
||||
|
||||
evil-markdown = callPackage ./manual-packages/evil-markdown { };
|
||||
|
||||
font-lock-plus = callPackage ./manual-packages/font-lock-plus { };
|
||||
|
||||
ghc-mod = callPackage ./manual-packages/elisp-ffi { };
|
||||
|
||||
git-undo = callPackage ./manual-packages/git-undo { };
|
||||
|
||||
haskell-unicode-input-method = callPackage ./manual-packages/haskell-unicode-input-method { };
|
||||
|
||||
header-file-mode = callPackage ./manual-packages/header-file-mode { };
|
||||
|
||||
helm-words = callPackage ./manual-packages/helm-words { };
|
||||
|
||||
idris2-mode = callPackage ./manual-packages/idris2-mode { };
|
||||
|
||||
isearch-plus = callPackage ./manual-packages/isearch-plus { };
|
||||
|
||||
isearch-prop = callPackage ./manual-packages/isearch-prop { };
|
||||
|
||||
jam-mode = callPackage ./manual-packages/jam-mode { };
|
||||
|
||||
llvm-mode = callPackage ./manual-packages/llvm-mode { };
|
||||
|
||||
matrix-client = callPackage ./manual-packages/matrix-client {
|
||||
_map = self.map;
|
||||
};
|
||||
|
||||
ghc-mod = melpaBuild {
|
||||
pname = "ghc";
|
||||
version = pkgs.haskellPackages.ghc-mod.version;
|
||||
nano-theme = callPackage ./manual-packages/nano-theme { };
|
||||
|
||||
src = pkgs.haskellPackages.ghc-mod.src;
|
||||
ott-mode = callPackage ./manual-packages/ott-mode { };
|
||||
|
||||
packageRequires = [ haskell-mode ];
|
||||
perl-completion = callPackage ./manual-packages/perl-completion { };
|
||||
|
||||
propagatedUserEnvPkgs = [ pkgs.haskellPackages.ghc-mod ];
|
||||
pod-mode = callPackage ./manual-packages/pod-mode { };
|
||||
|
||||
recipe = pkgs.writeText "recipe" ''
|
||||
(ghc-mod :repo "DanielG/ghc-mod" :fetcher github :files ("elisp/*.el"))
|
||||
'';
|
||||
power-mode = callPackage ./manual-packages/power-mode { };
|
||||
|
||||
fileSpecs = [ "elisp/*.el" ];
|
||||
|
||||
meta = {
|
||||
description = "An extension of haskell-mode that provides completion of symbols and documentation browsing";
|
||||
license = lib.licenses.bsd3;
|
||||
};
|
||||
};
|
||||
|
||||
haskell-unicode-input-method = let
|
||||
rev = "d8d168148c187ed19350bb7a1a190217c2915a63";
|
||||
in melpaBuild {
|
||||
pname = "haskell-unicode-input-method";
|
||||
version = "20110905.2307";
|
||||
|
||||
commit = rev;
|
||||
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "roelvandijk";
|
||||
repo = "emacs-haskell-unicode-input-method";
|
||||
inherit rev;
|
||||
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;
|
||||
};
|
||||
};
|
||||
|
||||
matrix-client = let
|
||||
rev = "d2ac55293c96d4c95971ed8e2a3f6f354565c5ed";
|
||||
in melpaBuild
|
||||
{
|
||||
pname = "matrix-client";
|
||||
version = "0.3.0";
|
||||
|
||||
commit = rev;
|
||||
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "alphapapa";
|
||||
repo = "matrix-client.el";
|
||||
inherit rev;
|
||||
sha256 = "1scfv1502yg7x4bsl253cpr6plml1j4d437vci2ggs764sh3rcqq";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix: avatar loading when imagemagick support is not available
|
||||
(pkgs.fetchpatch {
|
||||
url = "https://github.com/alphapapa/matrix-client.el/commit/5f49e615c7cf2872f48882d3ee5c4a2bff117d07.patch";
|
||||
sha256 = "07bvid7s1nv1377p5n61q46yww3m1w6bw4vnd4iyayw3fby1lxbm";
|
||||
})
|
||||
];
|
||||
|
||||
packageRequires = [
|
||||
anaphora
|
||||
cl-lib
|
||||
self.map
|
||||
dash-functional
|
||||
esxml
|
||||
f
|
||||
ov
|
||||
tracking
|
||||
rainbow-identifiers
|
||||
dash
|
||||
s
|
||||
request
|
||||
frame-purpose
|
||||
a
|
||||
ht
|
||||
];
|
||||
|
||||
recipe = pkgs.writeText "recipe" ''
|
||||
(matrix-client
|
||||
:repo "alphapapa/matrix-client.el"
|
||||
:fetcher github)
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "A chat client and API wrapper for Matrix.org";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
prisma-mode = let
|
||||
rev = "5283ca7403bcb21ca0cac8ecb063600752dfd9d4";
|
||||
in melpaBuild {
|
||||
pname = "prisma-mode";
|
||||
version = "20211207.0";
|
||||
|
||||
commit = rev;
|
||||
|
||||
packageRequires = [ js2-mode ];
|
||||
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "pimeys";
|
||||
repo = "emacs-prisma-mode";
|
||||
inherit rev;
|
||||
sha256 = "sha256-DJJfjbu27Gi7Nzsa1cdi8nIQowKH8ZxgQBwfXLB0Q/I=";
|
||||
};
|
||||
|
||||
recipe = pkgs.writeText "recipe" ''
|
||||
(prisma-mode
|
||||
:repo "pimeys/emacs-prisma-mode"
|
||||
:fetcher github)
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Major mode for Prisma Schema Language";
|
||||
license = lib.licenses.gpl2Only;
|
||||
};
|
||||
};
|
||||
|
||||
agda-input = callPackage ./agda-input { };
|
||||
|
||||
agda2-mode = callPackage ./agda2-mode { };
|
||||
|
||||
bqn-mode = callPackage ./bqn-mode { };
|
||||
|
||||
cask = callPackage ./cask { };
|
||||
|
||||
control-lock = callPackage ./control-lock { };
|
||||
|
||||
ebuild-mode = callPackage ./ebuild-mode { };
|
||||
|
||||
emacspeak = callPackage ./emacspeak { };
|
||||
|
||||
ement = callPackage ./ement { };
|
||||
|
||||
ess-R-object-popup = callPackage ./ess-R-object-popup { };
|
||||
|
||||
evil-markdown = callPackage ./evil-markdown { };
|
||||
|
||||
font-lock-plus = callPackage ./font-lock-plus { };
|
||||
|
||||
git-undo = callPackage ./git-undo { };
|
||||
|
||||
header-file-mode = callPackage ./header-file-mode { };
|
||||
|
||||
helm-words = callPackage ./helm-words { };
|
||||
|
||||
idris2-mode = callPackage ./idris2-mode { };
|
||||
|
||||
isearch-plus = callPackage ./isearch-plus { };
|
||||
|
||||
isearch-prop = callPackage ./isearch-prop { };
|
||||
|
||||
jam-mode = callPackage ./jam-mode { };
|
||||
|
||||
llvm-mode = callPackage ./llvm-mode { };
|
||||
|
||||
nano-theme = callPackage ./nano-theme { };
|
||||
|
||||
ott-mode = callPackage ./ott-mode { };
|
||||
|
||||
perl-completion = callPackage ./perl-completion { };
|
||||
|
||||
pod-mode = callPackage ./pod-mode { };
|
||||
|
||||
power-mode = callPackage ./power-mode { };
|
||||
prisma-mode = callPackage ./manual-packages/prisma-mode { };
|
||||
|
||||
structured-haskell-mode = self.shm;
|
||||
|
||||
sv-kalender = callPackage ./sv-kalender { };
|
||||
sv-kalender = callPackage ./manual-packages/sv-kalender { };
|
||||
|
||||
tree-sitter-langs = callPackage ./tree-sitter-langs { final = self; };
|
||||
tree-sitter-langs = callPackage ./manual-packages/tree-sitter-langs { final = self; };
|
||||
|
||||
tsc = callPackage ./tsc { };
|
||||
tsc = callPackage ./manual-packages/tsc { };
|
||||
|
||||
urweb-mode = callPackage ./urweb-mode { };
|
||||
urweb-mode = callPackage ./manual-packages/urweb-mode { };
|
||||
|
||||
voicemacs = callPackage ./voicemacs { };
|
||||
voicemacs = callPackage ./manual-packages/voicemacs { };
|
||||
|
||||
yes-no = callPackage ./yes-no { };
|
||||
yes-no = callPackage ./manual-packages/yes-no { };
|
||||
|
||||
youtube-dl = callPackage ./youtube-dl { };
|
||||
youtube-dl = callPackage ./manual-packages/youtube-dl { };
|
||||
|
||||
# From old emacsPackages (pre emacsPackagesNg)
|
||||
cedille = callPackage ./cedille { cedille = pkgs.cedille; };
|
||||
color-theme-solarized = callPackage ./color-theme-solarized { };
|
||||
session-management-for-emacs = callPackage ./session-management-for-emacs { };
|
||||
hsc3-mode = callPackage ./hsc3 { };
|
||||
prolog-mode = callPackage ./prolog { };
|
||||
rect-mark = callPackage ./rect-mark { };
|
||||
sunrise-commander = callPackage ./sunrise-commander { };
|
||||
cedille = callPackage ./manual-packages/cedille { inherit (pkgs) cedille; };
|
||||
color-theme-solarized = callPackage ./manual-packages/color-theme-solarized { };
|
||||
hsc3-mode = callPackage ./manual-packages/hsc3 { };
|
||||
prolog-mode = callPackage ./manual-packages/prolog { };
|
||||
rect-mark = callPackage ./manual-packages/rect-mark { };
|
||||
session-management-for-emacs = callPackage ./manual-packages/session-management-for-emacs { };
|
||||
sunrise-commander = callPackage ./manual-packages/sunrise-commander { };
|
||||
|
||||
# camelCase aliases for some of the kebab-case expressions above
|
||||
colorThemeSolarized = color-theme-solarized;
|
||||
emacsSessionManagement = session-management-for-emacs;
|
||||
rectMark = rect-mark;
|
||||
sunriseCommander = sunrise-commander;
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,47 @@
|
|||
{ lib
|
||||
, melpaBuild
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, libffi
|
||||
, writeText
|
||||
}:
|
||||
|
||||
let
|
||||
rev = "da37c516a0e59bdce63fb2dc006a231dee62a1d9";
|
||||
in melpaBuild {
|
||||
pname = "elisp-ffi";
|
||||
version = "20170518.0";
|
||||
|
||||
commit = rev;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "skeeto";
|
||||
repo = "elisp-ffi";
|
||||
inherit rev;
|
||||
sha256 = "sha256-StOezQEnNTjRmjY02ub5FRh59aL6gWfw+qgboz0wF94=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
buildInputs = [ libffi ];
|
||||
|
||||
preBuild = ''
|
||||
mv ffi.el elisp-ffi.el
|
||||
make
|
||||
'';
|
||||
|
||||
recipe = writeText "recipe" ''
|
||||
(elisp-ffi :repo "skeeto/elisp-ffi" :fetcher github)
|
||||
'';
|
||||
|
||||
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 = lib.licenses.publicDomain;
|
||||
};
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
{ lib
|
||||
, pkgs
|
||||
, melpaBuild
|
||||
, haskellPackages
|
||||
, writeText
|
||||
}:
|
||||
|
||||
melpaBuild {
|
||||
pname = "ghc";
|
||||
|
||||
inherit (haskellPackages.ghc-mod) version src;
|
||||
|
||||
packageRequires = [ haskell-mode ];
|
||||
|
||||
propagatedUserEnvPkgs = [ haskellPackages.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 = lib.licenses.bsd3;
|
||||
};
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
{ lib
|
||||
, melpaBuild
|
||||
, fetchFromGitHub
|
||||
, writeText
|
||||
}:
|
||||
|
||||
let
|
||||
rev = "d8d168148c187ed19350bb7a1a190217c2915a63";
|
||||
in melpaBuild {
|
||||
pname = "haskell-unicode-input-method";
|
||||
version = "20110905.2307";
|
||||
|
||||
commit = rev;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "roelvandijk";
|
||||
repo = "emacs-haskell-unicode-input-method";
|
||||
inherit rev;
|
||||
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;
|
||||
};
|
||||
}
|
|
@ -0,0 +1,73 @@
|
|||
{ lib
|
||||
, melpaBuild
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, writeText
|
||||
# Emacs packages
|
||||
, _map
|
||||
, a
|
||||
, anaphora
|
||||
, cl-lib
|
||||
, dash
|
||||
, dash-functional
|
||||
, esxml
|
||||
, f
|
||||
, frame-purpose
|
||||
, ht
|
||||
, ov
|
||||
, rainbow-identifiers
|
||||
, request
|
||||
, s
|
||||
, tracking
|
||||
}:
|
||||
|
||||
let
|
||||
rev = "d2ac55293c96d4c95971ed8e2a3f6f354565c5ed";
|
||||
in melpaBuild {
|
||||
pname = "matrix-client";
|
||||
version = "0.3.0";
|
||||
|
||||
commit = rev;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "alphapapa";
|
||||
repo = "matrix-client.el";
|
||||
inherit rev;
|
||||
sha256 = "1scfv1502yg7x4bsl253cpr6plml1j4d437vci2ggs764sh3rcqq";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix: avatar loading when imagemagick support is not available
|
||||
(fetchpatch {
|
||||
url = "https://github.com/alphapapa/matrix-client.el/commit/5f49e615c7cf2872f48882d3ee5c4a2bff117d07.patch";
|
||||
sha256 = "07bvid7s1nv1377p5n61q46yww3m1w6bw4vnd4iyayw3fby1lxbm";
|
||||
})
|
||||
];
|
||||
|
||||
packageRequires = [
|
||||
_map
|
||||
a
|
||||
anaphora
|
||||
cl-lib
|
||||
dash
|
||||
dash-functional
|
||||
esxml
|
||||
f
|
||||
frame-purpose
|
||||
ht
|
||||
ov
|
||||
rainbow-identifiers
|
||||
request
|
||||
s
|
||||
tracking
|
||||
];
|
||||
|
||||
recipe = writeText "recipe" ''
|
||||
(matrix-client :repo "alphapapa/matrix-client.el" :fetcher github)
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "A chat client and API wrapper for Matrix.org";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
};
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
{ lib
|
||||
, fetchFromGitHub
|
||||
, melpaBuild
|
||||
, js2-mode
|
||||
, writeText
|
||||
}:
|
||||
|
||||
let
|
||||
rev = "5283ca7403bcb21ca0cac8ecb063600752dfd9d4";
|
||||
in melpaBuild {
|
||||
pname = "prisma-mode";
|
||||
version = "20211207.0";
|
||||
|
||||
commit = rev;
|
||||
|
||||
packageRequires = [ js2-mode ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pimeys";
|
||||
repo = "emacs-prisma-mode";
|
||||
inherit rev;
|
||||
sha256 = "sha256-DJJfjbu27Gi7Nzsa1cdi8nIQowKH8ZxgQBwfXLB0Q/I=";
|
||||
};
|
||||
|
||||
recipe = writeText "recipe" ''
|
||||
(prisma-mode :repo "pimeys/emacs-prisma-mode" :fetcher github)
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Major mode for Prisma Schema Language";
|
||||
license = lib.licenses.gpl2Only;
|
||||
};
|
||||
}
|
|
@ -1,5 +1,6 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#! nix-shell ../../../../../../. -i python3 -p python3 -p nix
|
||||
#! nix-shell ../../../../../../../. -i python3 -p python3 -p nix
|
||||
|
||||
from os.path import (
|
||||
dirname,
|
||||
abspath,
|
Loading…
Reference in a new issue