diff options
Diffstat (limited to 'pkgs/top-level/emacs-packages.nix')
-rw-r--r-- | pkgs/top-level/emacs-packages.nix | 79 |
1 files changed, 57 insertions, 22 deletions
diff --git a/pkgs/top-level/emacs-packages.nix b/pkgs/top-level/emacs-packages.nix index c4c264c811ad..f6c992d5bd5f 100644 --- a/pkgs/top-level/emacs-packages.nix +++ b/pkgs/top-level/emacs-packages.nix @@ -32,7 +32,7 @@ # `meta` with `platforms` and `homepage` set to something you are # unlikely to want to override for most packages -{ lib, newScope, stdenv, fetchurl, fetchgit, fetchFromGitHub, fetchhg, fetchpatch, runCommand +{ lib, newScope, stdenv, fetchurl, fetchgit, fetchFromGitHub, fetchhg, fetchpatch, runCommand, writeText , emacs, texinfo, lndir, makeWrapper , trivialBuild @@ -50,7 +50,7 @@ let }; melpaStablePackages = import ../applications/editors/emacs-modes/melpa-stable-packages.nix { - inherit lib; + inherit external lib; }; melpaPackages = import ../applications/editors/emacs-modes/melpa-packages.nix { @@ -99,7 +99,11 @@ let nativeBuildInputs = [ external.pkgconfig ]; buildInputs = with external; [ autoconf automake libpng zlib poppler ]; preBuild = "make server/epdfinfo"; - fileSpecs = [ "lisp/pdf-*.el" "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"; @@ -118,7 +122,12 @@ let }; buildInputs = [ external.libffi ]; preBuild = "make"; - files = [ "ffi-glue" "ffi.el" ]; + recipe = writeText "recipe" '' + (elisp-ffi + :repo "skeeto/elisp-ffi" + :fetcher github + :files ("ffi-glue" "ffi.el")) + ''; meta = { description = "Emacs Lisp Foreign Function Interface"; longDescription = '' @@ -163,6 +172,9 @@ let rev = "39ea47c73f040ce8dcc1c2d2639ebc0eb57ab8c8"; sha256 = "0q3av1qv4m6aj4bil608f688hjpr5px8zqnnrdqx784nz98rpjrs"; }; + recipe = writeText "recipe" '' + (elpy :repo "jorgenschaefer/elpy" :fetcher github) + ''; patchPhase = '' for file in elpy.el elpy-pkg.el; do @@ -203,6 +215,9 @@ let 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"; @@ -222,6 +237,11 @@ let rev = "53a8d8174f915d9dcf5ac6954b1c0cae61266177"; sha256 = "0wky8vqg08iw34prbz04bqmhfhj82y93swb8zkz6la2vf9da0gmd"; }; + recipe = writeText "recipe" '' + (find-file-in-project + :repo "technomancy/find-file-in-project" + :fetcher github) + ''; meta = { description = "Quick access to project files in Emacs"; longDescription = '' @@ -243,6 +263,9 @@ let 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"; @@ -259,6 +282,11 @@ let 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/"; @@ -278,7 +306,11 @@ let src = external.hindent.src; packageRequires = [ haskell-mode ]; propagatedUserEnvPkgs = [ external.hindent ]; - fileSpecs = [ "elisp/*.el" ]; + recipe = writeText "recipe" '' + (hindent + :repo "commercialhaskell/hindent" :fetcher github + :files ("elisp/*.el")) + ''; meta = { description = "Indent haskell code using the \"hindent\" program"; license = bsd3; @@ -297,7 +329,11 @@ let configurePhase = ":"; propagatedUserEnvPkgs = [ external.rtags ]; - fileSpecs = [ "src/*.el" ]; + recipe = writeText "recipe" '' + (rtags + :repo "andersbakken/rtags" :fetcher github + :files ("src/*.el")) + ''; inherit (external.rtags) meta; }; @@ -305,7 +341,9 @@ let pname = "lcs"; version = circe.version; src = circe.src; - fileSpecs = [ "lcs.el" ]; + recipe = writeText "recipe" '' + (lcs :repo "jorgenschaefer/circe" :fetcher github :files ("lcs.el")) + ''; meta = { description = "Longest Common Sequence (LCS) library for Emacs"; license = gpl3Plus; @@ -320,7 +358,9 @@ let version = circe.version; src = circe.src; packageRequires = [ tracking ]; - fileSpecs = [ "lui*.el" ]; + recipe = writeText "recipe" '' + (lcs :repo "jorgenschaefer/circe" :fetcher github :files ("lui*.el")) + ''; meta = { description = "User interface library for Emacs"; license = gpl3Plus; @@ -345,7 +385,9 @@ let pname = "shorten"; version = circe.version; src = circe.src; - fileSpecs = [ "shorten.el" ]; + recipe = writeText "recipe" '' + (shorten :repo "jorgenschaefer/circe" :fetcher github :files ("shorten.el")) + ''; meta = { description = "String shortening to unique prefix library for Emacs"; license = gpl3Plus; @@ -354,20 +396,10 @@ let stgit = callPackage ../applications/editors/emacs-modes/stgit { }; - structured-haskell-mode = melpaBuild rec { - pname = "shm"; - version = external.structured-haskell-mode.version; - src = external.structured-haskell-mode.src; - packageRequires = [ haskell-mode ]; - fileSpecs = [ "elisp/*.el" ]; + structured-haskell-mode = self.shm; + shm = (melpaPackages self).shm.overrideAttrs (attrs: { propagatedUserEnvPkgs = [ external.structured-haskell-mode ]; - - meta = { - description = "Structured editing Emacs mode for Haskell"; - license = bsd3; - platforms = external.structured-haskell-mode.meta.platforms; - }; - }; + }); thingatpt-plus = callPackage ../applications/editors/emacs-modes/thingatpt-plus { }; @@ -386,6 +418,9 @@ let rm weechat-sauron.el weechat-secrets.el ''; packageRequires = [ s ]; + recipe = writeText "recipe" '' + (weechat :repo "the-kenny/weechat" :fetcher github) + ''; meta = { description = "A weechat IRC client frontend for Emacs"; license = gpl3Plus; |