diff options
author | Eric Seidel <gridaphobe@gmail.com> | 2015-03-05 13:22:45 -0800 |
---|---|---|
committer | Eric Seidel <gridaphobe@gmail.com> | 2015-03-05 13:22:45 -0800 |
commit | 6b60f3dcad95e441c7860b27739600ef8ffdae02 (patch) | |
tree | 7b93f1a415f06f5bc1091c6d8830435cf3bb031d /pkgs/top-level | |
parent | b6a3fd396e318d3f687b719a0e6994c115dcd9b5 (diff) | |
parent | 6e59fa4941f9067bdaaf7aa63658aefb56b7f575 (diff) | |
download | nixlib-6b60f3dcad95e441c7860b27739600ef8ffdae02.tar nixlib-6b60f3dcad95e441c7860b27739600ef8ffdae02.tar.gz nixlib-6b60f3dcad95e441c7860b27739600ef8ffdae02.tar.bz2 nixlib-6b60f3dcad95e441c7860b27739600ef8ffdae02.tar.lz nixlib-6b60f3dcad95e441c7860b27739600ef8ffdae02.tar.xz nixlib-6b60f3dcad95e441c7860b27739600ef8ffdae02.tar.zst nixlib-6b60f3dcad95e441c7860b27739600ef8ffdae02.zip |
Merge pull request #6641 from oxij/emacs-ng
Somewhat more generic emacs packages' builder and a bunch of new emacs packages and metas
Diffstat (limited to 'pkgs/top-level')
-rw-r--r-- | pkgs/top-level/all-packages.nix | 34 | ||||
-rw-r--r-- | pkgs/top-level/emacs-packages.nix (renamed from pkgs/top-level/emacs-melpa-packages.nix) | 244 |
2 files changed, 243 insertions, 35 deletions
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index aa91dbd48c05..975a4d4cf8f7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9995,6 +9995,9 @@ let elvis = callPackage ../applications/editors/elvis { }; emacs = emacs24; + emacsPackages = emacs24Packages; + emacsPackagesNg = emacs24PackagesNg; + emacsMelpa = emacs24PackagesNg; # for backward compatibility emacs24 = callPackage ../applications/editors/emacs-24 { # use override to enable additional features @@ -10017,14 +10020,7 @@ let }); emacs24Macport = self.emacs24Macport_24_4; - emacsMelpa = import ./emacs-melpa-packages.nix { - inherit stdenv pkgs fetchurl fetchgit fetchFromGitHub emacs texinfo; - external = { - inherit (haskellngPackages) ghc-mod structured-haskell-mode; - }; - }; - - emacsPackages = emacs: self: let callPackage = newScope self; in rec { + emacsPackagesGen = emacs: self: let callPackage = newScope self; in rec { inherit emacs; autoComplete = callPackage ../applications/editors/emacs-modes/auto-complete { }; @@ -10179,7 +10175,27 @@ let cask = callPackage ../applications/editors/emacs-modes/cask { }; }; - emacs24Packages = recurseIntoAttrs (emacsPackages emacs24 pkgs.emacs24Packages); + emacs24Packages = recurseIntoAttrs (emacsPackagesGen emacs24 pkgs.emacs24Packages); + + emacsPackagesNgGen = emacs: import ./emacs-packages.nix { + overrides = (config.emacsPackageOverrides or (p: {})) pkgs; + + inherit lib stdenv fetchurl fetchgit fetchFromGitHub emacs; + + trivialBuild = import ../build-support/emacs/trivial.nix { + inherit lib stdenv emacs texinfo; + }; + + melpaBuild = import ../build-support/emacs/melpa.nix { + inherit lib stdenv fetchurl emacs texinfo; + }; + + external = { + inherit (haskellngPackages) ghc-mod structured-haskell-mode Agda; + }; + }; + + emacs24PackagesNg = emacsPackagesNgGen emacs24; inherit (gnome3) empathy; diff --git a/pkgs/top-level/emacs-melpa-packages.nix b/pkgs/top-level/emacs-packages.nix index e8f965a784a4..680ec72ed5c4 100644 --- a/pkgs/top-level/emacs-melpa-packages.nix +++ b/pkgs/top-level/emacs-packages.nix @@ -1,27 +1,37 @@ -{ pkgs, stdenv, fetchurl, fetchFromGitHub, fetchgit -, emacs, texinfo - -# non-emacs packages -, external -}: - # package.el-based emacs packages - -## init.el +# +## add this at the start your init.el: # (require 'package) -# (setq package-archives nil -# package-user-dir "~/.nix-profile/share/emacs/site-lisp/elpa") +# +# ;; optional. makes unpure packages archives unavailable +# (setq package-archives nil) +# +# (add-to-list 'package-directory-list "/run/current-system/sw/share/emacs/site-lisp/elpa") +# +# ;; optional. use this if you install emacs packages to user profiles (with nix-env) +# (add-to-list 'package-directory-list "~/.nix-profile/share/emacs/site-lisp/elpa") +# # (package-initialize) -with stdenv.lib.licences; +{ overrides -let - melpaBuild = import ../build-support/melpa { - inherit stdenv fetchurl emacs texinfo; - }; -in +, lib, stdenv, fetchurl, fetchgit, fetchFromGitHub + +, emacs +, trivialBuild +, melpaBuild + +, external +}@args: + +with lib.licences; + +let self = _self // overrides; + callPackage = lib.callPackageWith (self // removeAttrs args ["overrides" "external"]); + _self = with self; { + + ## START HERE -rec { ac-haskell-process = melpaBuild rec { pname = "ac-haskell-process"; version = "0.5"; @@ -44,7 +54,10 @@ rec { rev = "8351e2df4fbbeb2a4003f2fb39f46d33803f3dac"; sha256 = "17axrgd99glnl6ma4ls3k01ysdqmiqr581wnrbsn3s4gp53mm2x6"; }; - meta = { licence = gpl3Plus; }; + meta = { + description = "Advanced cursor movements mode for Emacs"; + licence = gpl3Plus; + }; }; ag = melpaBuild rec { @@ -60,6 +73,73 @@ rec { meta = { licence = gpl3Plus; }; }; + 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; + }; + }; + + anzu = melpaBuild rec { + pname = "anzu"; + version = "0.52"; + src = fetchFromGitHub { + owner = "syohex"; + repo = "emacs-anzu"; + rev = "f41db6225d8fb983324765aa42c94d3ee379a49f"; + sha256 = "1mn20swasrl8kr557r1850vr1q0gcnwlxxafnc6lq5g01kjfcdxd"; + }; + meta = { + description = "Show number of matches in Emacs mode-line while searching"; + longDescription = '' + anzu.el is an Emacs port of anzu.vim. anzu.el provides a minor + mode which displays current match and total matches information + in the mode-line in various search mode. + ''; + homepage = https://github.com/syohex/emacs-anzu/; + license = gpl3Plus; + }; + }; + + apel = melpaBuild rec { + pname = "apel"; + version = "10.8"; + src = fetchFromGitHub { + owner = "wanderlust"; + repo = pname; + rev = "8402e59eadb580f59969114557b331b4d9364f95"; + sha256 = "0sdxnf4b8rqs1cbjxh23wvxmj7ll3zddv8yfdgif6zmgyy8xhc9m"; + }; + files = [ + "alist.el" "apel-ver.el" "broken.el" "calist.el" + "emu.el" "filename.el" "install.el" "inv-23.el" "invisible.el" + "mcharset.el" "mcs-20.el" "mcs-e20.el" "mule-caesar.el" + "path-util.el" "pccl-20.el" "pccl.el" "pces-20.el" "pces-e20.el" + "pces.el" "pcustom.el" "poe.el" "poem-e20.el" "poem-e20_3.el" + "poem.el" "product.el" "pym.el" "richtext.el" "static.el" + ]; + meta = { + description = "A Portable Emacs Library"; + license = gpl3Plus; # probably + }; + }; + async = melpaBuild rec { pname = "async"; version = "1.2"; @@ -95,12 +175,11 @@ rec { sha256 = "050lb8qjq7ra35mqp6j6qkwbvq5zj3yhz73aym5kf1vjd42rmjcw"; }; packageRequires = [ popup ]; - meta = { description = "Auto-complete extension for Emacs"; homepage = http://cx4a.org/software/auto-complete/; license = gpl3Plus; - platforms = stdenv.lib.platforms.all; + platforms = lib.platforms.all; }; }; @@ -117,6 +196,22 @@ rec { meta = { licence = gpl3Plus; }; }; + browse-kill-ring = melpaBuild rec { + pname = "browse-kill-ring"; + version = "20140104"; + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = "f81ca5f14479fa9e938f89bf8f6baa3c4bdfb755"; + sha256 = "149g4qs5dqy6yzdj5smb39id5f72bz64qfv5bjf3ssvhwl2rfba8"; + }; + meta = { + description = "Interactively insert items from Emacs kill-ring"; + homepage = https://github.com/browse-kill-ring/browse-kill-ring/; + license = gpl2Plus; + }; + }; + change-inner = melpaBuild rec { pname = "change-inner"; version = "20130208"; @@ -215,7 +310,10 @@ rec { sha256 = "0wrmlmgr4mwxlmmh8blplddri2lpk4g8k3l1vpb5c6a975420qvn"; }; packageRequires = [ evil ]; - meta = { licence = gpl3Plus; }; + meta = { + description = "surround.vim emulation for Emacs evil mode"; + licence = gpl3Plus; + }; }; evil = melpaBuild { @@ -227,7 +325,10 @@ rec { sha256 = "0yiqpzsm5sr7xdkixdvfg312dk9vsdcmj69gizk744d334yn8rsz"; }; packageRequires = [ goto-chg undo-tree ]; - meta = { licence = gpl3Plus; }; + meta = { + description = "Extensible vi layer for Emacs"; + licence = gpl3Plus; + }; }; exec-path-from-shell = melpaBuild rec { @@ -251,7 +352,26 @@ rec { rev = "fa413e07c97997d950c92d6012f5442b5c3cee78"; sha256 = "04k0518wfy72wpzsswmncnhd372fxa0r8nbfhmbyfmns8n7sr045"; }; - meta = { licence = gpl3Plus; }; + meta = { + description = "Increases the selected region by semantic units in Emacs"; + licence = gpl3Plus; + }; + }; + + flim = melpaBuild rec { + pname = "flim"; + version = "1.14.9"; # 20141216 + src = fetchFromGitHub { + owner = "wanderlust"; + repo = pname; + rev = "488a4d70fb4ae57bdd30dc75c2d75579894e28a2"; + sha256 = "178fhpbyffksr4v3m8jmx4rx2vqyz23qhbyvic5afabxi6lahjfs"; + }; + packageRequires = [ apel ]; + meta = { + description = "Email message encoding library for Emacs"; + license = gpl3Plus; # probably + }; }; flycheck-pos-tip = melpaBuild rec { @@ -442,6 +562,22 @@ rec { meta = { licence = gpl3Plus; }; }; + ido-ubiquitous = melpaBuild rec { + pname = "ido-ubiquitous"; + version = "2.17"; + src = fetchFromGitHub { + owner = "DarwinAwardWinner"; + repo = pname; + rev = "323e4cddc05d5a4546c1b64132b2b1e9f8896452"; + sha256 = "0wdjz3cqzrxhrk68g5gyvc9j2rb6f4yw00xbjgw9ldwlhmkwy5ja"; + }; + meta = { + description = "Does what you expected ido-everywhere to do in Emacs"; + homepage = https://github.com/DarwinAwardWinner/ido-ubiquitous/; + license = gpl3Plus; + }; + }; + idris-mode = melpaBuild rec { pname = "idris-mode"; version = "0.9.15"; @@ -507,6 +643,8 @@ rec { meta = { licence = gpl3Plus; }; }; + nyan-mode = callPackage ../applications/editors/emacs-modes/nyan-mode {}; + org-plus-contrib = melpaBuild rec { pname = "org-plus-contrib"; version = "20141020"; @@ -583,6 +721,22 @@ rec { meta = { licence = gpl3Plus; }; }; + semi = melpaBuild rec { + pname = "semi"; + version = "1.14.7"; # 20150203 + src = fetchFromGitHub { + owner = "wanderlust"; + repo = pname; + rev = "9976269556c5bcc021e4edf1b0e1accd39929528"; + sha256 = "1g1xg57pz4msd3f998af5gq28qhmvi410faygzspra6y6ygaka68"; + }; + packageRequires = [ apel flim ]; + meta = { + description = "MIME library for Emacs"; + license = gpl3Plus; # probably + }; + }; + shorten = melpaBuild rec { pname = "shorten"; version = "1.5"; @@ -622,6 +776,22 @@ rec { meta = { licence = gpl3Plus; }; }; + smex = melpaBuild rec { + pname = "smex"; + version = "20141210"; + src = fetchFromGitHub { + owner = "nonsequitur"; + repo = pname; + rev = "aff8d4485139ac28f1c7e62912c0d0d480995831"; + sha256 = "0017f1ji7rxad2n49dhn5g0pmw6lmw80cqk6dynszizj46xpbqfp"; + }; + meta = { + description = "M-x enhancement for Emacs build on top of Ido"; + homepage = https://github.com/nonsequitur/smex/; + license = emacs.meta.license; # should be "same as Emacs" + }; + }; + structured-haskell-mode = melpaBuild rec { pname = "shm"; version = external.structured-haskell-mode.version; @@ -700,6 +870,27 @@ rec { meta = { licence = gpl3Plus; }; }; + wanderlust = melpaBuild rec { + pname = "wanderlust"; + version = "2.15.9"; # 20150301 + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = "13fb4f6519490d4ac7138f3bcf76707654348071"; + sha256 = "1l48xfcwkm205prspa1rns6lqfizik5gpdwmlfgyb5mabm9x53zn"; + }; + packageRequires = [ apel flim semi ]; + fileSpecs = [ + "doc/wl.texi" "doc/wl-ja.texi" + "elmo/*.el" "wl/*.el" + "etc/icons" + ]; + meta = { + description = "E-Mail client for Emacs"; + license = gpl3Plus; # probably + }; + }; + weechat = melpaBuild rec { pname = "weechat.el"; version = "20141016"; @@ -709,7 +900,7 @@ rec { rev = "4cb2ced1eda5167ce774e04657d2cd077b63c706"; sha256 = "003sihp7irm0qqba778dx0gf8xhkxd1xk7ig5kgkryvl2jyirk28"; }; - postPatch = stdenv.lib.optionalString (!stdenv.isLinux) '' + postPatch = lib.optionalString (!stdenv.isLinux) '' rm weechat-sauron.el weechat-secrets.el ''; packageRequires = [ s ]; @@ -727,4 +918,5 @@ rec { }; meta = { licence = gpl3Plus; }; }; -} + +}; in self |