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.scm587
1 files changed, 522 insertions, 65 deletions
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index de0ee358d6..e2b901cd3a 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -21,7 +21,7 @@
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
-;;; Copyright © 2017 Kyle Meyer <kyle@kyleam.com>
+;;; Copyright © 2017, 2018 Kyle Meyer <kyle@kyleam.com>
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 George Clemmer <myglc2@gmail.com>
;;; Copyright © 2017 Feng Shu <tumashu@163.com>
@@ -29,9 +29,11 @@
;;; Copyright © 2017, 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org>
;;; Copyright © 2017, 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2018 Sohom Bhattacharjee <soham.bhattacharjee15@gmail.com>
+;;; Copyright © 2018 Mathieu Lirzin <mthl@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -64,6 +66,7 @@
#:use-module (gnu packages audio)
#:use-module (gnu packages bash)
#:use-module (gnu packages code)
+ #:use-module (gnu packages databases)
#:use-module (gnu packages guile)
#:use-module (gnu packages gtk)
#:use-module (gnu packages gnome)
@@ -88,6 +91,7 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages glib)
#:use-module (gnu packages acl)
+ #:use-module (gnu packages mail)
#:use-module (gnu packages package-management)
#:use-module (gnu packages perl)
#:use-module (gnu packages pdf)
@@ -99,6 +103,7 @@
#:use-module (gnu packages fribidi)
#:use-module (gnu packages gd)
#:use-module (gnu packages fontutils)
+ #:use-module (gnu packages password-utils)
#:use-module (guix utils)
#:use-module (srfi srfi-1)
#:use-module (ice-9 match))
@@ -381,7 +386,7 @@ when typing parentheses directly or commenting out code line by line.")
(define-public git-modes
(package
(name "emacs-git-modes")
- (version "1.2.6")
+ (version "1.2.7")
(source (origin
(method url-fetch)
(uri (string-append
@@ -390,7 +395,7 @@ when typing parentheses directly or commenting out code line by line.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "18z04wn5ird9l0h6n6x97v0kyzdj73832bj9qakm3fjjl7vcn0pw"))))
+ "1mzl70s0xyysnjq1j10mc5vn9i022n5vd82kxsgp4xxqq7gc4qnx"))))
(build-system emacs-build-system)
(home-page "https://github.com/magit/git-modes")
(synopsis "Emacs major modes for Git configuration files")
@@ -489,7 +494,7 @@ operations.")
(define-public magit-svn
(package
(name "magit-svn")
- (version "2.1.1")
+ (version "2.2.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -498,12 +503,13 @@ operations.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "04y88j7q9h8xjbx5dbick6n5nr1522sn9i1znp0qwk3vjb4b5mzz"))))
+ "1c3n377v436zaxamlsz04y1ahdhp96x1vd43zaryv4y10m02ba47"))))
(build-system trivial-build-system)
(native-inputs `(("emacs" ,emacs-minimal)
("tar" ,tar)
("gzip" ,gzip)))
(propagated-inputs `(("dash" ,emacs-dash)
+ ("with-editor" ,emacs-with-editor)
("magit" ,magit)))
(arguments
`(#:modules ((guix build utils)
@@ -525,6 +531,9 @@ operations.")
(dash (string-append (assoc-ref %build-inputs "dash")
"/share/emacs/site-lisp/guix.d/dash-"
,(package-version emacs-dash)))
+ (with-editor (string-append (assoc-ref %build-inputs "with-editor")
+ "/share/emacs/site-lisp/guix.d/with-editor-"
+ ,(package-version emacs-with-editor)))
(source (assoc-ref %build-inputs "source"))
(lisp-dir (string-append %output "/share/emacs/site-lisp")))
(setenv "PATH" PATH)
@@ -537,7 +546,7 @@ operations.")
(parameterize ((%emacs emacs))
(emacs-generate-autoloads ,name lisp-dir)
(setenv "EMACSLOADPATH"
- (string-append ":" magit ":" dash))
+ (string-append ":" magit ":" dash ":" with-editor))
(emacs-batch-eval '(byte-compile-file "magit-svn.el"))))))))
(home-page "https://github.com/magit/magit-svn")
(synopsis "Git-SVN extension to Magit")
@@ -670,7 +679,7 @@ programs.")
(define-public flycheck
(package
(name "emacs-flycheck")
- (version "30")
+ (version "31")
(source (origin
(method url-fetch)
(uri (string-append
@@ -678,7 +687,7 @@ programs.")
version "/flycheck-" version ".tar"))
(sha256
(base32
- "1rxzkaqsj48z3nska5wsgwafvwkam014dzqd32baycmxjl0jxvy7"))))
+ "01rnwan16m7cyyrfca3c5c60mbj2r3knkpzbhji2fczsf0wns240"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)))
@@ -1366,7 +1375,7 @@ diagrams.")
(define-public emacs-mmm-mode
(package
(name "emacs-mmm-mode")
- (version "0.5.4")
+ (version "0.5.5")
(source
(origin
(method url-fetch)
@@ -1376,7 +1385,7 @@ diagrams.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "10kwslnflbjqm62wkrq420crqzdqalzfflp9pqk1i12zm6dm4mfv"))))
+ "0c5ing3hcr74k78hqhrfwiv6m3n8hqfrw89j2x34vf60f4iyqzqc"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -1824,34 +1833,36 @@ of files under Git version control from within Emacs.")
(license license:gpl3+)))
(define-public emacs-minitest
- (package
- (name "emacs-minitest")
- (version "0.8.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/arthurnn/minitest-emacs/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "1dsb7kzvs1x6g4sgqmq73jqacb7wzm0wfkiq5m9dqdzq8mppgiqs"))))
- (build-system emacs-build-system)
- (arguments
- '(#:include (cons "^snippets\\/minitest-mode\\/" %default-include)
- #:exclude (delete "^[^/]*tests?\\.el$" %default-exclude)))
- (propagated-inputs
- `(("emacs-dash" ,emacs-dash)
- ("emacs-f" ,emacs-f)))
- (home-page "https://github.com/arthurnn/minitest-emacs")
- (synopsis "Emacs minitest mode")
- (description
- "The minitest mode provides commands to run the tests for the current
+ (let ((commit "1aadb7865c1dc69c201cecee275751ecec33a182")
+ (revision "1"))
+ (package
+ (name "emacs-minitest")
+ (version (git-version "0.8.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/arthurnn/minitest-emacs")
+ (commit commit)))
+ (file-name (git-file-name name commit))
+ (sha256
+ (base32
+ "1l18zqpdzbnqj2qawq8hj7z7pl8hr8z9d8ihy8jaiqma915hmhj1"))))
+ (build-system emacs-build-system)
+ (arguments
+ '(#:include (cons "^snippets\\/minitest-mode\\/" %default-include)
+ #:exclude (delete "^[^/]*tests?\\.el$" %default-exclude)))
+ (propagated-inputs
+ `(("emacs-dash" ,emacs-dash)
+ ("emacs-f" ,emacs-f)))
+ (home-page "https://github.com/arthurnn/minitest-emacs")
+ (synopsis "Emacs minitest mode")
+ (description
+ "The minitest mode provides commands to run the tests for the current
file or line, as well as rerunning the previous tests, or all the tests for a
project.
This package also includes relevant snippets for yasnippet.")
- (license license:expat)))
+ (license license:expat))))
(define-public emacs-el-mock
(package
@@ -1899,10 +1910,35 @@ Expectations, but it can be used in other contexts.")
definitions for testing with the Ecukes framework.")
(license license:gpl3+)))
+(define-public emacs-spark
+ (let ((version "20160503") ; no proper tag, use date of commit
+ (commit "0bf148c3ede3b31d56fd75f347cdd0b0eae60025")
+ (revision "1"))
+ (package
+ (name "emacs-spark")
+ (version (git-version version revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alvinfrancis/spark.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1ykqr86j17mi95s08d9fp02d7ych1331b04dcqxzxnmpkhwngyj1"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/alvinfrancis/spark")
+ (synopsis "Sparkline generation library for Emacs Lisp")
+ (description "@code{emacs-spark} is a sparkline generation library for
+Emacs Lisp. It generates a sparkline string given a list of numbers. It is a
+port of @code{cl-spark} to Emacs Lisp.")
+ (license license:expat))))
+
(define-public emacs-es-mode
(package
(name "emacs-es-mode")
- (version "4.2.0")
+ (version "4.3.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1911,12 +1947,14 @@ definitions for testing with the Ecukes framework.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "02as82clm553yss7jfjac888308zr1h2229cch4z1yij70j25c8y"))))
+ "0y86qdcb3g7fkcb4pzsjh3syzql6w3314hg1wqxq4a8bbk3y0cgr"))))
(build-system emacs-build-system)
(propagated-inputs
;; The version of org in Emacs 24.5 is not sufficient, and causes tables
;; to be rendered incorrectly
- `(("emacs-org" ,emacs-org)))
+ `(("emacs-dash" ,emacs-dash)
+ ("emacs-org" ,emacs-org)
+ ("emacs-spark" ,emacs-spark)))
(home-page "https://github.com/dakrone/es-mode")
(synopsis "Major mode for editing Elasticsearch queries")
(description "@code{es-mode} includes highlighting, completion and
@@ -2264,6 +2302,8 @@ mode-line.")
(base32
"1vp45y99fwj88z04ah4yppz4z568qcib646az6m9az5ar0f203br"))))
(build-system emacs-build-system)
+ (arguments
+ '(#:include (cons "^lib\\/" %default-include)))
(propagated-inputs
`(("emacs-inf-ruby" ,emacs-inf-ruby)))
(home-page "https://github.com/dgutov/robe")
@@ -2421,6 +2461,24 @@ A minor mode @code{debbugs-browse-mode} let you browse URLs to the GNU Bug
Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.")
(license license:gpl3+)))
+(define-public emacs-ert-expectations
+ (package
+ (name "emacs-ert-expectations")
+ (version "0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri "https://www.emacswiki.org/emacs/download/ert-expectations.el")
+ (sha256
+ (base32
+ "0cwy3ilsid90abzzjb7ha2blq9kmv3gfp3icwwfcz6qczgirq6g7"))))
+ (build-system emacs-build-system)
+ (home-page "https://www.emacswiki.org/emacs/ert-expectations.el")
+ (synopsis "Simple unit test framework for Emacs Lisp")
+ (description "@code{emacs-ert-expectations} is a simple unit test
+framework for Emacs Lisp to be used with @code{ert}.")
+ (license license:gpl3+)))
+
(define-public emacs-deferred
(package
(name "emacs-deferred")
@@ -2921,7 +2979,7 @@ started with 20 minutes. All values are customizable.")
(define-public emacs-org-trello
(package
(name "emacs-org-trello")
- (version "0.7.9")
+ (version "0.8.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -2930,12 +2988,14 @@ started with 20 minutes. All values are customizable.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "074dka8g673bj1ck5vavbjaij5jyniygdlw51mdds005wd2br9wf"))))
+ "0549mnf5cgwn8b8jbl38fljbaxmh1605sv9j8f3lsa95jhs1zpa0"))))
(build-system emacs-build-system)
(propagated-inputs
- `(("emacs-deferred" ,emacs-deferred)
+ `(("emacs-dash" ,emacs-dash)
+ ("emacs-deferred" ,emacs-deferred)
+ ("emacs-f" ,emacs-f)
+ ("emacs-helm" ,emacs-helm)
("emacs-request" ,emacs-request)
- ("emacs-dash" ,emacs-dash)
("emacs-s" ,emacs-s)))
(home-page "https://org-trello.github.io")
(synopsis "Emacs minor mode for interacting with Trello")
@@ -3063,7 +3123,9 @@ single theme but a set of guidelines with numerous implementations.")
(base32
"0q5as813xs8y29i3v2rm97phd6m7xsmmw6hwbvx57gwmi8i1c409"))))
(build-system emacs-build-system)
- (propagated-inputs `(("emacs-dash" ,emacs-dash)))
+ (propagated-inputs
+ `(("emacs-dash" ,emacs-dash)
+ ("emacs-markdown-mode" ,emacs-markdown-mode)))
(home-page "https://github.com/Fuco1/smartparens")
(synopsis "Paredit-like insertion, wrapping and navigation with user
defined pairs")
@@ -3296,6 +3358,8 @@ parallel.")
(base32
"0wyxqbb35yqf6ci47531lk32d6fppamx9d8826kdz983vm87him7"))))
(build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-deferred" ,emacs-deferred)))
(home-page "https://github.com/tkf/emacs-request")
(synopsis "Package for speaking HTTP in Emacs Lisp")
(description "This package provides a HTTP request library with multiple
@@ -3894,7 +3958,7 @@ If you want to mark a folder manually as a project just create an empty
(define-public emacs-elfeed
(package
(name "emacs-elfeed")
- (version "2.2.0")
+ (version "2.3.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/skeeto/elfeed/archive/"
@@ -3902,7 +3966,7 @@ If you want to mark a folder manually as a project just create an empty
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0d7i93l3b0ck3iad9ddqp7sqa8w16hnamrby8bwvl316rqk4lzlf"))))
+ "1fd1mx0q1qb9vgdzls5ppxfriyid48blg8smgjspiazp7kxakzxv"))))
(build-system emacs-build-system)
(arguments
`(#:phases
@@ -4147,7 +4211,7 @@ the file buffer.")
(define-public emacs-helm
(package
(name "emacs-helm")
- (version "2.8.5")
+ (version "2.9.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -4156,7 +4220,7 @@ the file buffer.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "15xlnjm9rsbn0xq7xc09y52h2kn41zwn7ldryammf6i46wl02kq3"))))
+ "1798gn0za11cxdbi436javfczv4abniccxcl0jppl463r8lzb8is"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-async" ,emacs-async)
@@ -4176,7 +4240,7 @@ not tied in the trap of backward compatibility.")
(define-public emacs-helm-swoop
(package
(name "emacs-helm-swoop")
- (version "1.7.2")
+ (version "1.7.4")
(source (origin
(method url-fetch)
(uri (string-append
@@ -4186,7 +4250,7 @@ not tied in the trap of backward compatibility.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1z34pfi0gsk054pxr906ilaalaw0xz3s536163gf9ykkwmc2356d"))))
+ "1ssivsjzlnkg049cg993l8fp09l5nhpz6asj7w5c91zp5kpc6fh7"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-helm" ,emacs-helm)))
@@ -4494,14 +4558,14 @@ passive voice.")
(name "emacs-org")
;; emacs-org-contrib inherits from this package. Please update its sha256
;; checksum as well.
- (version "20180226")
+ (version "9.1.9")
(source (origin
(method url-fetch)
- (uri (string-append "https://orgmode.org/elpa/org-"
+ (uri (string-append "http://elpa.gnu.org/packages/org-"
version ".tar"))
(sha256
(base32
- "0jqvry6gah1bwnryha4asynj13jyds3qim0xcy7s01rxk99m2ziy"))))
+ "16yr0srfzsrzv2b1f2wjk8gb2pyhsgj2hxbscixirkxqz674c5cl"))))
(build-system emacs-build-system)
(home-page "https://orgmode.org/")
(synopsis "Outline-based notes management and organizer")
@@ -4515,13 +4579,14 @@ reproducible research.")
(package
(inherit emacs-org)
(name "emacs-org-contrib")
+ (version "20180327")
(source (origin
(method url-fetch)
(uri (string-append "https://orgmode.org/elpa/org-plus-contrib-"
- (package-version emacs-org) ".tar"))
+ version ".tar"))
(sha256
(base32
- "034wp70hcqnpidji5k1k80mj35iyyy098nbvc2sl7i2aca4m03zc"))))
+ "1y1nn0bxnh9y4a3zrqng8n639j5da5387q2314sr3a8ggy1nb93s"))))
(arguments
`(#:modules ((guix build emacs-build-system)
(guix build utils)
@@ -4542,8 +4607,7 @@ reproducible research.")
string=? contrib-files org+contrib-files)))
(with-directory-excursion
(string-append
- out "/share/emacs/site-lisp/guix.d/org-contrib-"
- ,(package-version emacs-org))
+ out "/share/emacs/site-lisp/guix.d/org-contrib-" ,version)
(for-each delete-file duplicates))
#t))))))
(propagated-inputs
@@ -4934,7 +4998,8 @@ customizable by the user.")
(propagated-inputs
`(("emacs-alert" ,emacs-alert)
("emacs-s" ,emacs-s)
- ("emacs-ht" ,emacs-ht)))
+ ("emacs-ht" ,emacs-ht)
+ ("mu" ,mu)))
(home-page "https://github.com/iqbalansari/mu4e-alert")
(synopsis "Desktop notification for mu4e")
(description
@@ -5503,6 +5568,8 @@ conversion for Emacs Lisp.")
(base32
"0pivapphmykc6vhvpx7hdyl55ls37vc4jcrxpvs4yk7jzcmwa9xp"))))
(build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-auctex" ,emacs-auctex)))
(home-page "https://github.com/cdominik/cdlatex")
(synopsis "Fast Emacs input methods for LaTeX environments and
math")
@@ -5703,14 +5770,14 @@ which code derived from Kelvin H's org-page.")
(define-public emacs-xelb
(package
(name "emacs-xelb")
- (version "0.12")
+ (version "0.14")
(source (origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/xelb-"
version ".tar"))
(sha256
(base32
- "0i9n0f3ibj4a5pwcsvwrah9m0fz32m0x6a9wsmjn3li20v8pcb81"))))
+ "09flnbjy9ck784kprz036rwg9qk45hpv0w5hz3pz3zhwyk57fv74"))))
(build-system emacs-build-system)
;; The following functions and variables needed by emacs-xelb are
;; not included in emacs-minimal:
@@ -5742,7 +5809,7 @@ It should enable you to implement low-level X11 applications.")
(define-public emacs-exwm
(package
(name "emacs-exwm")
- (version "0.16")
+ (version "0.18")
(synopsis "Emacs X window manager")
(source (origin
(method url-fetch)
@@ -5750,7 +5817,7 @@ It should enable you to implement low-level X11 applications.")
version ".tar"))
(sha256
(base32
- "0c4w5k9lzqj8yzhdqipdb4fs7ld2qklc6s137104jnfdvmrwcv2i"))))
+ "1shz5bf4v4gg3arjaaldics5qkg3aiiaf3ngys8lb6qyxhcpvh6q"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-xelb" ,emacs-xelb)))
@@ -5833,7 +5900,7 @@ other operations.")
(define-public emacs-exwm-x
(package
(name "emacs-exwm-x")
- (version "1.7.2")
+ (version "1.8.1")
(synopsis "Derivative window manager based on EXWM")
(source (origin
(method url-fetch)
@@ -5843,7 +5910,7 @@ other operations.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1ny13i82fb72917jgl0ndwjg1x6l9f8gfhcx7cwlwhh5saq23mvy"))))
+ "0ali1100aacq4zbvcck80h51pvw204jlxhn4aikkqq4ngbx03kkr"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-exwm" ,emacs-exwm)
@@ -6280,6 +6347,45 @@ from within Emacs. Restclient runs queries from a plan-text query sheet,
displays results pretty-printed in XML or JSON with @code{restclient-mode}")
(license license:public-domain))))
+(define-public emacs-eimp
+ (let ((version "1.4.0")
+ (commit "2e7536fe6d8f7faf1bad7a8ae37faba0162c3b4f")
+ (revision "1"))
+ (package
+ (name "emacs-eimp")
+ (version (git-version version revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nicferrier/eimp.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "154d57yafxbcf39r89n5j43c86rp2fki3lw3gwy7ww2g6qkclcra"))))
+ (build-system emacs-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'configure
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((imagemagick (assoc-ref inputs "imagemagick")))
+ ;; eimp.el is read-only in git.
+ (chmod "eimp.el" #o644)
+ (emacs-substitute-variables "eimp.el"
+ ("eimp-mogrify-program"
+ (string-append imagemagick "/bin/mogrify"))))
+ #t)))))
+ (inputs
+ `(("imagemagick" ,imagemagick)))
+ (home-page "https://github.com/nicferrier/eimp")
+ (synopsis "Interactive image manipulation utility for Emacs")
+ (description "@code{emacs-eimp} allows interactive image manipulation
+from within Emacs. It uses the code@{mogrify} utility from ImageMagick to do
+the actual transformations.")
+ (license license:gpl2+))))
+
(define-public emacs-dired-hacks
(let ((commit "eda68006ce73bbf6b9b995bfd70d08bec8cade36")
(revision "1"))
@@ -6299,6 +6405,7 @@ displays results pretty-printed in XML or JSON with @code{restclient-mode}")
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)
+ ("emacs-eimp" ,emacs-eimp)
("emacs-f" ,emacs-f)
("emacs-s" ,emacs-s)))
(home-page "https://github.com/Fuco1/dired-hacks")
@@ -6935,6 +7042,15 @@ contexts.
(base32
"057cybkq3cy07n5s332k071sjiky3mziy003lza4rh75mgqkwhmh"))))
(build-system emacs-build-system)
+ (arguments
+ `(#:include (cons* "^modes/.*\\.el$" %default-include)
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'set-emacs-load-path 'add-modes-subdir-to-load-path
+ (lambda _
+ (setenv "EMACSLOADPATH"
+ (string-append (getenv "EMACSLOADPATH")
+ ":" (getcwd) "/modes" ":")))))))
(home-page "https://github.com/vspinu/polymode")
(synopsis "Framework for multiple Emacs modes based on indirect buffers")
(description "Polymode is an Emacs package that offers generic support
@@ -7005,7 +7121,7 @@ Feautures:
(define-public emacs-evil-matchit
(package
(name "emacs-evil-matchit")
- (version "2.2.5")
+ (version "2.2.6")
(source
(origin
(method url-fetch)
@@ -7015,8 +7131,10 @@ Feautures:
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1hm0k53m7d8zv2pk4p93k5mmilsv1mz7y2z6dqf7r6f0zmncs31a"))))
+ "1yp9sl6542317mn1060ri90zyf6bs6qylagndhqy02p368q31rhi"))))
(build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-evil" ,emacs-evil)))
(home-page "https://github.com/redguardtoo/evil-matchit")
(synopsis "Vim matchit ported into Emacs")
(description
@@ -7406,3 +7524,342 @@ the same values you get in a terminal.")
"Deft is an Emacs mode for quickly browsing, filtering, and editing
directories of plain text notes, inspired by Notational Velocity.")
(license license:bsd-3)))
+
+(define-public emacs-anzu
+ (package
+ (name "emacs-anzu")
+ (version "0.62")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/syohex/emacs-anzu/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "16cg3897x5znbmgk7sdy0qyd0fbic9dmmz0dchq2vz5z29yhg4cz"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/syohex/emacs-anzu")
+ (synopsis "Show number of matches in mode-line while searching")
+ (description
+ "Anzu provides a minor mode which displays \"current match/total
+matches\" in the mode line in various search modes. This is an Emacs port of
+Anzu.zim.")
+ (license license:gpl3+)))
+
+(define-public emacs-emmet-mode
+ (package
+ (name "emacs-emmet-mode")
+ (version "1.0.8")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/smihica/emmet-mode"
+ "/archive/" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0g3p22yabfcp98cfv9dgl9il2m2pd53isq2q11vb3s7qyn31f7zj"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/smihica/emmet-mode")
+ (synopsis "Unofficial Emmet's support for Emacs")
+ (description
+ "Unfold CSS-selector-like expressions to markup. It is intended to be
+used with SGML-like languages: XML, HTML, XHTML, XSL, etc.")
+ (license license:gpl3+)))
+
+(define-public emacs-password-store
+ (package
+ (name "emacs-password-store")
+ (version "1.7.1")
+ (source (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://git.zx2c4.com/password-store/snapshot/"
+ "password-store-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0scqkpll2q8jhzcgcsh9kqz0gwdpvynivqjmmbzax2irjfaiklpn"))))
+ (build-system emacs-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'extract-el-file
+ (lambda _
+ (copy-file "contrib/emacs/password-store.el" "password-store.el")
+ (delete-file-recursively "contrib")
+ (delete-file-recursively "man")
+ (delete-file-recursively "src")
+ (delete-file-recursively "tests"))))))
+ (propagated-inputs
+ `(("emacs-f" ,emacs-f)
+ ("emacs-s" ,emacs-s)
+ ("password-store" ,password-store)))
+ (home-page "https://git.zx2c4.com/password-store/tree/contrib/emacs")
+ (synopsis "Password store (pass) support for Emacs")
+ (description
+ "This package provides functions for working with pass (\"the
+standard Unix password manager\").")
+ (license license:gpl2+)))
+
+(define-public emacs-pass
+ (package
+ (name "emacs-pass")
+ (version "1.7")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/NicolasPetton/pass/archive/"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0zlx9v6z0q3w9qhq9bq6vb7sli4c9x7qccm2wq55j0nw7bwy2yvj"))
+ (file-name (string-append name "-" version ".tar.gz"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-password-store" ,emacs-password-store)
+ ("emacs-f" ,emacs-f)))
+ (home-page "https://github.com/NicolasPetton/pass")
+ (synopsis "Major mode for @file{password-store.el}")
+ (description "This is a major mode for managing password-store (pass)
+keychains. The keychain entries are displayed in a directory-like structure
+and can be consulted and modified.")
+ (license license:gpl3+)))
+
+(define-public emacs-evil-anzu
+ (package
+ (name "emacs-evil-anzu")
+ (version "0.03")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/syohex/emacs-evil-anzu"
+ "/archive/" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "032hh2946z529cizqsg8pm6cpn5qdj8lfk3qskmx6xv3g2ra56ns"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-evil" ,emacs-evil)
+ ("emacs-anzu" ,emacs-anzu)))
+ (home-page "https://github.com/syohex/emacs-evil-anzu")
+ (synopsis "Anzu for evil-mode")
+ (description "@code{anzu} provides a minor mode that displays the current
+match and total match information in the mode-line in various search modes.")
+ (license license:gpl3+)))
+
+(define-public emacs-pg
+ (let ((commit "4f6516ec3946d95dcef49abb6703cc89ecb5183d"))
+ (package
+ (name "emacs-pg")
+ (version (git-version "0.1" "1" commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference (url "https://github.com/cbbrowne/pg.el")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1zh7v4nnpzvbi8yj1ynlqlawk5bmlxi6s80b5f2y7hkdqb5q26k0"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/cbbrowne/pg.el")
+ (synopsis "Emacs Lisp interface for PostgreSQL")
+ (description
+ "This package provides an Emacs Lisp interface for PostgreSQL.")
+ (license license:gpl3+))))
+
+(define-public emacs-cl-generic
+ (package
+ (name "emacs-cl-generic")
+ (version "0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://elpa.gnu.org/packages/cl-generic-"
+ version ".el"))
+ (sha256
+ (base32
+ "0vb338bhjpsnrf60qgxny4z5rjrnifahnrv9axd4shay89d894zq"))))
+ (build-system emacs-build-system)
+ (home-page "https://elpa.gnu.org/packages/seq.html")
+ (synopsis
+ "Forward @code{cl-generic} compatibility for Emacs before version 25")
+ (description "This package provides a subset of the features of the
+@code{cl-generic} package introduced in Emacs-25, for use on previous
+@code{emacsen}.")
+ (license license:gpl3+)))
+
+(define-public emacs-finalize
+ (package
+ (name "emacs-finalize")
+ (version "2.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/skeeto/elisp-finalize/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "077fycy3i5f0kjw5z3rhf4kld5lbk2idz690nkwhkz04vppk4q4x"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-cl-generic" ,emacs-cl-generic)))
+ (home-page "https://github.com/skeeto/elisp-finalize")
+ (synopsis "Finalizers for Emacs Lisp")
+ (description
+ "This package will allows to immediately run a callback (a finalizer)
+after its registered lisp object has been garbage collected. This allows for
+extra resources, such as buffers and processes, to be cleaned up after the
+object has been freed.")
+ (license license:unlicense)))
+
+(define-public emacs-emacsql
+ (package
+ (name "emacs-emacsql")
+ (version "2.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/skeeto/emacsql/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "04hfjdgl1zc7jysgjc7d7d3xqpr7q1q9gsmzffjd91ii3hpqjgx6"))))
+ (build-system emacs-build-system)
+ (arguments
+ `(#:modules ((guix build emacs-build-system)
+ (guix build utils)
+ (guix build emacs-utils)
+ (srfi srfi-26))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'build) ;‘build-emacsql-sqlite’ compiles ‘*.el’ files.
+ (add-before 'install 'patch-elisp-shell-shebangs
+ (lambda _
+ (substitute* (find-files "." "\\.el")
+ (("/bin/sh") (which "sh")))
+ #t))
+ (add-after 'patch-elisp-shell-shebangs 'setenv-shell
+ (lambda _
+ (setenv "SHELL" "sh")))
+ (add-after 'setenv-shell 'build-emacsql-sqlite
+ (lambda _
+ (invoke "make" "binary" "CC=gcc")))
+ (add-after 'build-emacsql-sqlite 'install-emacsql-sqlite
+ ;; This build phase installs emacs-emacsql binary.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (install-file "sqlite/emacsql-sqlite"
+ (string-append (assoc-ref outputs "out")
+ "/bin"))
+ #t))
+ (add-after 'install-emacsql-sqlite 'patch-emacsql-sqlite.el
+ ;; This build phase removes interactive prompts
+ ;; and makes sure Emacs look for binaries in the right places.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((file "emacsql-sqlite.el"))
+ (chmod file #o644)
+ (emacs-substitute-sexps file
+ ;; Avoid interactive prompts.
+ ("(defvar emacsql-sqlite-user-prompted" 't)
+ ;; Make sure Emacs looks for ‘GCC’ binary in the right place.
+ ("(executable-find" (which "gcc"))
+ ;; Make sure Emacs looks for ‘emacsql-sqlite’ binary
+ ;; in the right place.
+ ("(defvar emacsql-sqlite-executable"
+ (string-append (assoc-ref outputs "out")
+ "/bin/emacsql-sqlite"))))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out")))
+ (install-file "sqlite/emacsql-sqlite"
+ (string-append out "/bin"))
+ (for-each (cut install-file <>
+ (string-append out "/share/emacs/site-lisp/guix.d/"
+ "emacsql" "-" ,version))
+ (find-files "." "\\.elc*$")))
+ #t)))))
+ (inputs
+ `(("emacs-minimal" ,emacs-minimal)
+ ("mysql" ,mysql)
+ ("postgresql" ,postgresql)))
+ (propagated-inputs
+ `(("emacs-finalize" ,emacs-finalize)
+ ("emacs-pg" ,emacs-pg)))
+ (home-page "https://github.com/skeeto/emacsql")
+ (synopsis "Emacs high-level SQL database front-end")
+ (description "Any readable Lisp value can be stored as a value in EmacSQL,
+including numbers, strings, symbols, lists, vectors, and closures. EmacSQL
+has no concept of @code{TEXT} values; it's all just Lisp objects. The Lisp
+object @code{nil} corresponds 1:1 with @code{NULL} in the database.")
+ (license license:gpl3+)))
+
+(define-public emacs-closql
+ (package
+ (name "emacs-closql")
+ (version "0.5.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/emacscollective/closql/archive/"
+ "v" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0wa6r0kgbb7f19039p5f3di4dvrvxfgpd8bkam94fca7jvzj536c"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-emacsql" ,emacs-emacsql)))
+ (home-page "https://github.com/emacscollective/closql")
+ (synopsis "Store EIEIO objects using EmacSQL")
+ (description
+ "This package allows to store uniform EIEIO objects in an EmacSQL
+database. SQLite is used as backend. This library imposes some restrictions
+on what kind of objects can be stored; it isn't intended to store arbitrary
+objects. All objects have to share a common superclass and subclasses cannot
+add any additional instance slots.")
+ (license license:gpl3)))
+
+(define-public emacs-epkg
+ ;; The release version is to old for the current database scheme.
+ (let ((commit "432312b9583ed7b88ad9644fd1bf2183765a892e"))
+ (package
+ (name "emacs-epkg")
+ (version (git-version "3.0.0" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/emacscollective/epkg.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0d882kahn7a0vri7a9r15lvmfx1zn2hsga6jfcc6jv0hqbswlb2k"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-closql" ,emacs-closql)
+ ("emacs-dash" ,emacs-dash)))
+ (home-page "https://emacsmirror.net")
+ (synopsis "Browse the Emacsmirror package database")
+ (description "This package provides access to a local copy of the
+Emacsmirror package database. It provides low-level functions for querying
+the database and a @file{package.el} user interface for browsing the database.
+Epkg itself is not a package manager.
+
+Getting a local copy:
+
+@example
+git clone https://github.com/emacsmirror/epkgs.git ~/.emacs.d/epkgs
+cd ~/.emacs.d/epkgs
+git submodule init
+git config --global url.https://github.com/.insteadOf git@@github.com:
+git submodule update
+@end example
+
+Some submodule may be missing. In this case Git will prompt for a GitHub user
+name and password. To skip it press a @key{Return} key.
+
+You could get a Epkg package list by invoking @code{epkg-list-packages} in
+Emacs.")
+ (license license:gpl3+))))