summaryrefslogtreecommitdiff
path: root/gnu/packages/emacs.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/emacs.scm')
-rw-r--r--gnu/packages/emacs.scm283
1 files changed, 266 insertions, 17 deletions
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 50cea76855..b361fcc4a5 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -1,10 +1,10 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
-;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015, 2016, 2017 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
-;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2015, 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 humanitiesNerd <catonano@gmail.com>
@@ -12,11 +12,14 @@
;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
-;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
+;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
-;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2016, 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2016 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
+;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -46,6 +49,7 @@
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
+ #:use-module (gnu packages code)
#:use-module (gnu packages guile)
#:use-module (gnu packages gtk)
#:use-module (gnu packages gnome)
@@ -106,7 +110,18 @@
(find-files "." "loaddefs\\.el$")
;; This is the only "autoloads" file that
;; does not have "*loaddefs.el" name.
- '("eshell/esh-groups.el")))))))
+ '("eshell/esh-groups.el")))
+
+ ;; Make sure Tramp looks for binaries in the right places on
+ ;; remote GuixSD machines, where 'getconf PATH' returns
+ ;; something bogus.
+ (substitute* "net/tramp-sh.el"
+ ;; Patch the line after "(defcustom tramp-remote-path".
+ (("\\(tramp-default-remote-path")
+ (format #f "(tramp-default-remote-path ~s ~s ~s ~s "
+ "~/.guix-profile/bin" "~/.guix-profile/sbin"
+ "/run/current-system/profile/bin"
+ "/run/current-system/profile/sbin")))))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:phases
@@ -398,7 +413,7 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.")
(define-public emacs-with-editor
(package
(name "emacs-with-editor")
- (version "2.5.9")
+ (version "2.5.10")
(source (origin
(method url-fetch)
(uri (string-append
@@ -407,7 +422,7 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0znfznyqr360ryi7za9szbz1l5236v2cig25s4k7kkw0w8828xzh"))))
+ "0lsxa1hghybkzvqhqvvym3hxbyp9vjcnnpb9j800z0vyhbnlka67"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)))
@@ -423,7 +438,7 @@ on stdout instead of using a socket as the Emacsclient does.")
(define-public magit
(package
(name "magit")
- (version "2.10.0")
+ (version "2.10.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -431,7 +446,7 @@ on stdout instead of using a socket as the Emacsclient does.")
version "/" name "-" version ".tar.gz"))
(sha256
(base32
- "1w74vy46z922kfs7gjkrng7wjpi481calpasqmjzpn3hqvgsd5d1"))))
+ "1a3gsarl0zrk1dydqn93kx7pnwm7pb7av7g17pj5m7b7kc66k7jv"))))
(build-system gnu-build-system)
(native-inputs `(("texinfo" ,texinfo)
("emacs" ,emacs-minimal)))
@@ -967,6 +982,7 @@ provides an optional IDE-like error list.")
("mpg321" ,mpg321)
("taglib" ,taglib)
("mp3info" ,mp3info)))
+ (properties '((upstream-name . "emms")))
(synopsis "Emacs Multimedia System")
(description
"EMMS is the Emacs Multimedia System. It is a small front-end which
@@ -1066,6 +1082,44 @@ like. It can be linked with various Emacs mail clients (Message and Mail
mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.")
(license license:gpl3+)))
+(define-public emacs-ag
+ (package
+ (name "emacs-ag")
+ (version "0.47")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/Wilfred/ag.el/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1rlmp6wnyhqfg86dbz17r914msp58favn4kd4yrdwyia265a4lar"))))
+ (build-system emacs-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'install 'patch-exec-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (emacs-substitute-variables "ag.el"
+ ("ag-executable"
+ (string-append (assoc-ref inputs "the-silver-searcher")
+ "/bin/ag")))
+ #t)))))
+ (inputs
+ `(("the-silver-searcher" ,the-silver-searcher)))
+ (propagated-inputs
+ `(("dash" ,emacs-dash)
+ ("s" ,emacs-s)))
+ (home-page "https://github.com/Wilfred/ag.el")
+ (synopsis "Front-end for ag (the-silver-searcher) for Emacs")
+ (description "This package provides the ability to use the silver
+searcher, a code searching tool, sometimes abbreviated to @code{ag}. Features
+include version control system awareness, use of Perl compatible regular
+expressions, editing the search results directly and searching file names
+rather than the contents of files.")
+ (license license:gpl3+)))
+
(define-public emacs-async
(package
(name "emacs-async")
@@ -1090,7 +1144,7 @@ as a library for other Emacs packages.")
(define-public emacs-auctex
(package
(name "emacs-auctex")
- (version "11.88.6")
+ (version "11.90.0")
(source
(origin
(method url-fetch)
@@ -1100,7 +1154,7 @@ as a library for other Emacs packages.")
".tar"))
(sha256
(base32
- "1pmki8hdjjikxlvip3pzi350bln3gcimr27yjf0xfwjvnp5hh9nc"))))
+ "04nsndwcf0dimgc2p1yzzrymc36amzdnjg0158nxplmjkzdp28gy"))))
(build-system emacs-build-system)
;; We use 'emacs' because AUCTeX requires dbus at compile time
;; ('emacs-minimal' does not provide dbus).
@@ -1391,6 +1445,29 @@ allows easily move between them.")
strings.")
(license license:gpl3+)))
+(define-public emacs-sx
+ (package
+ (name "emacs-sx")
+ (version "0.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/vermiculus/sx.el/"
+ "archive/v" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1w0xghfljqg31axcnv8gzlrd8pw25nji6idnrhflq0af9qh1dw03"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-markdown-mode" ,emacs-markdown-mode)
+ ("let-alist" ,let-alist)))
+ (home-page "https://github.com/vermiculus/sx.el/")
+ (synopsis "Emacs StackExchange client")
+ (description
+ "Emacs StackExchange client. Ask and answer questions on
+Stack Overflow, Super User, and other StackExchange sites.")
+ (license license:gpl3+)))
+
(define-public emacs-f
(package
(name "emacs-f")
@@ -1440,6 +1517,26 @@ Git, Mercurial, Subversion and Bazaar are supported, and many parts of the
display and behaviour is easily customisable.")
(license license:gpl3+)))
+(define-public emacs-git-timemachine
+ (package
+ (name "emacs-git-timemachine")
+ (version "3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/pidu/git-timemachine/"
+ "archive/" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1l4g0r69wfrnjsywv03v4bpdd53byg6zdx6mzabfxyymss3kvisa"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/pidu/git-timemachine")
+ (synopsis "Step through historic versions of Git-controlled files")
+ (description "This package enables you to step through historic versions
+of files under Git version control from within Emacs.")
+ (license license:gpl3+)))
+
(define-public emacs-el-mock
(package
(name "emacs-el-mock")
@@ -1714,6 +1811,27 @@ evaluated in the browser, just like Emacs does with an inferior Lisp process
in Lisp modes.")
(license license:unlicense)))
+(define-public emacs-stripe-buffer
+ (package
+ (name "emacs-stripe-buffer")
+ (version "0.2.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/sabof/stripe-buffer/"
+ "archive/" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1p515dq7raly5hw94kiwm3vzsfih0d8af622q4ipvvljsm98aiik"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/sabof/stripe-buffer/")
+ (synopsis "Add stripes to list buffers")
+ (description
+ "This Emacs package adds faces to add stripes to list buffers and org
+tables.")
+ (license license:gpl2+)))
+
(define-public emacs-rich-minority
(package
(name "emacs-rich-minority")
@@ -2703,14 +2821,14 @@ be removed from the front. This type of data structure is sometimes called an
(define-public emacs-spinner
(package
(name "emacs-spinner")
- (version "1.7.1")
+ (version "1.7.3")
(source (origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/spinner-"
version ".el"))
(sha256
(base32
- "1fmwzdih0kbyvs8bn38mpm4sbs2mikqy2vdykfy9g20wpa8vb681"))))
+ "19kp1mmndbmw11sgvv2ggfjl4pyf5zrsbh3871f0965pw9z8vahd"))))
(build-system emacs-build-system)
(home-page "https://github.com/Malabarba/spinner.el")
(synopsis "Emacs mode-line spinner for operations in progress")
@@ -2722,14 +2840,14 @@ ongoing operations.")
(define-public emacs-seq
(package
(name "emacs-seq")
- (version "2.15")
+ (version "2.19")
(source (origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/seq-"
version ".tar"))
(sha256
(base32
- "09wi1765bmn7i8fg6ajjfaxgs4ipc42d58zx2fdqpidrdg9c7q73"))))
+ "11hb7is6a4h1lscjcfrzh576j0g3m5yjydn16s6x5bxp5gsr6zha"))))
(build-system emacs-build-system)
(home-page "https://elpa.gnu.org/packages/seq.html")
(synopsis "Sequence manipulation functions for Emacs")
@@ -3292,14 +3410,14 @@ passive voice.")
(define-public emacs-org
(package
(name "emacs-org")
- (version "20161224")
+ (version "20170124")
(source (origin
(method url-fetch)
(uri (string-append "http://elpa.gnu.org/packages/org-"
version ".tar"))
(sha256
(base32
- "0b10bjypn0w5ja776f8sxl1qpvb61iyz1n3c74jx6fqwypv7dmgi"))))
+ "0mcnjwvily0xv1xl11dj18lg38llvrxja2j9mwn6vql8n5y1srxi"))))
(build-system emacs-build-system)
(home-page "http://orgmode.org/")
(synopsis "Outline-based notes management and organizer")
@@ -3541,3 +3659,134 @@ Streams are implemented as delayed evaluation of cons cells.")
(description "This package provides expression based interactive search
procedures for emacs-lisp-mode.")
(license license:gpl3+))))
+
+(define-public emacs-ht
+ (package
+ (name "emacs-ht")
+ (version "2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/Wilfred/ht.el/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1lpba36kzxcc966fvsbrfpy8ah9gnvay0yk26gbyjil0rggrbqzj"))))
+ (build-system emacs-build-system)
+ (propagated-inputs `(("emacs-dash" ,emacs-dash)))
+ (home-page "https://github.com/Wilfred/ht.el")
+ (synopsis "Hash table library for Emacs")
+ (description
+ "This package simplifies the use of hash tables in elisp. It also
+provides functions to convert hash tables from and to alists and plists.")
+ (license license:gpl3+)))
+
+(define-public emacs-log4e
+ (package
+ (name "emacs-log4e")
+ (version "0.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/aki2o/log4e/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0nbdpbw353snda3v19l9hsm6gimppwnpxj18amm350bm81lyim2g"))))
+ (build-system emacs-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-tests
+ ;; Guile builder complains about null characters in some
+ ;; strings of test files. Remove "test" directory (it is not
+ ;; needed anyway).
+ (lambda _
+ (delete-file-recursively "test"))))))
+ (home-page "https://github.com/aki2o/log4e")
+ (synopsis "Logging framework for elisp")
+ (description
+ "This package provides a logging framework for elisp. It allows
+you to deal with multiple log levels.")
+ (license license:gpl3+)))
+
+(define-public emacs-gntp
+ (package
+ (name "emacs-gntp")
+ (version "0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/tekai/gntp.el/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "16c1dfkia9yhl206bdhjr3b8kfvqcqr38jl5lq8qsyrrzsnmghny"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/tekai/gntp.el")
+ (synopsis "Growl Notification Protocol for Emacs")
+ (description
+ "This package implements the Growl Notification Protocol GNTP
+described at @uref{http://www.growlforwindows.com/gfw/help/gntp.aspx}.
+It is incomplete as it only lets you send but not receive
+notifications.")
+ (license license:bsd-3)))
+
+(define-public emacs-alert
+ (package
+ (name "emacs-alert")
+ (version "1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/jwiegley/alert/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1693kck3k2iz5zhpmxwqyafxm68hr6gzs60lkxd3j1wlp2c9fwyr"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-gntp" ,emacs-gntp)
+ ("emacs-log4e" ,emacs-log4e)))
+ (home-page "https://github.com/jwiegley/alert")
+ (synopsis "Growl-style notification system for Emacs")
+ (description
+ "Alert is a Growl-workalike for Emacs which uses a common notification
+interface and multiple, selectable \"styles\", whose use is fully
+customizable by the user.")
+ (license license:gpl2+)))
+
+(define-public emacs-mu4e-alert
+ (package
+ (name "emacs-mu4e-alert")
+ (version "0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/iqbalansari/mu4e-alert/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1m63vyb2v5r9swmqv56q80jca8172nk5vaxl7bcm5zbfs8zsvr4b"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-alert" ,emacs-alert)
+ ("emacs-s" ,emacs-s)
+ ("emacs-ht" ,emacs-ht)))
+ (home-page "https://github.com/iqbalansari/mu4e-alert")
+ (synopsis "Desktop notification for mu4e")
+ (description
+ "This package provides desktop notifications for mu4e.
+Additionally it can display the number of unread emails in the
+mode-line.")
+ (license license:gpl3+)))