emacs-packages: Move manually created packages to it's own file
And let emacs-packages.nix only aggregate the attrsets
This commit is contained in:
parent
97a069609f
commit
be74dec846
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 { };
|
||||||
|
|
||||||
|
}
|
@ -42,8 +42,6 @@
|
|||||||
, pkgs
|
, pkgs
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with lib.licenses;
|
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
mkElpaPackages = import ../applications/editors/emacs-modes/elpa-packages.nix {
|
mkElpaPackages = import ../applications/editors/emacs-modes/elpa-packages.nix {
|
||||||
@ -63,150 +61,8 @@ let
|
|||||||
inherit lib lndir makeWrapper stdenv runCommand;
|
inherit lib lndir makeWrapper stdenv runCommand;
|
||||||
};
|
};
|
||||||
|
|
||||||
mkManualPackages = self: with self; {
|
mkManualPackages = import ../applications/editors/emacs-modes/manual-packages.nix {
|
||||||
|
inherit external lib pkgs;
|
||||||
elisp-ffi = melpaBuild rec {
|
|
||||||
pname = "elisp-ffi";
|
|
||||||
version = "1.0.0";
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "skeeto";
|
|
||||||
repo = "elisp-ffi";
|
|
||||||
rev = "${version}";
|
|
||||||
sha256 = "0z2n3h5l5fj8wl8i1ilfzv11l3zba14sgph6gz7dx7q12cnp9j22";
|
|
||||||
};
|
|
||||||
buildInputs = [ external.libffi ];
|
|
||||||
preBuild = "make";
|
|
||||||
recipe = 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 ../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 { };
|
|
||||||
|
|
||||||
rtags = melpaBuild rec {
|
|
||||||
inherit (external.rtags) version src meta;
|
|
||||||
|
|
||||||
pname = "rtags";
|
|
||||||
|
|
||||||
dontConfigure = true;
|
|
||||||
|
|
||||||
propagatedUserEnvPkgs = [ external.rtags ];
|
|
||||||
recipe = writeText "recipe" ''
|
|
||||||
(rtags
|
|
||||||
:repo "andersbakken/rtags" :fetcher github
|
|
||||||
:files ("src/*.el"))
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
lib-requires =
|
|
||||||
callPackage ../applications/editors/emacs-modes/lib-requires { };
|
|
||||||
|
|
||||||
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 { };
|
|
||||||
|
|
||||||
structured-haskell-mode = self.shm;
|
|
||||||
|
|
||||||
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 { };
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
in lib.makeScope newScope (self: lib.makeOverridable ({
|
in lib.makeScope newScope (self: lib.makeOverridable ({
|
||||||
|
Loading…
x
Reference in New Issue
Block a user