3
0
Fork 0
forked from mirrors/nixpkgs

Merge pull request #200961 from atorres1985-contrib/refactor-elisp-manual-packages

Refactor elisp manual packages
This commit is contained in:
Anderson Torres 2022-11-13 11:15:07 -03:00 committed by GitHub
commit bfdb43a1f1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
50 changed files with 275 additions and 226 deletions

View file

@ -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;
}

View file

@ -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;
};
}

View file

@ -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;
};
}

View file

@ -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;
};
}

View file

@ -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;
};
}

View file

@ -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;
};
}

View file

@ -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,