;;; Copyright © 2019 Amin Bandali <bandali@gnu.org>
;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
+;;; Copyright © 2019 Stephen Webber <montokapro@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages bash)
#:use-module (gnu packages cmake)
#:use-module (gnu packages code)
+ #:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages dictionaries)
#:use-module (gnu packages emacs)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages node)
#:use-module (gnu packages xml)
#:use-module (gnu packages glib)
#:use-module (gnu packages acl)
(sha256
(base32
"16qx0404l05q1m6w7y5j8ck1z5nfmpinm00w0p2yh1hn5zzwy6dd"))
+ ;; FIXME: emacs-forge uses a function defined in this patch,
+ ;; which is newer than the current commit.
+ (patches
+ (search-patches
+ "emacs-magit-log-format-author-margin.patch"))
(modules '((guix build utils)))
(snippet
'(begin
(define-public emacs-ghub
;; We need a newer commit to avoid problems in emacs-forge.
- (let ((commit "cf0b13aeba4df3798e49c205cac2d8fefd53a137")
- (revision "1"))
+ (let ((commit "e19cd86ca4768a6d89285123933baa3f1460d696")
+ (revision "2"))
(package
(name "emacs-ghub")
(version (git-version "3.2.0" revision commit))
(file-name (git-file-name name version))
(sha256
(base32
- "0fzayvcysk80vv4q332axcjf80x6gsnpcbl0svmpb017ii6wxhid"))))
+ "1d6f8sxlsl0fpkzwbpnaw77d1a5pkg63zfvf6a2fxir357lbdizx"))))
(build-system emacs-build-system)
(arguments
`(#:phases
`(("texinfo" ,texinfo)))
(propagated-inputs
`(("dash" ,emacs-dash)
+ ("emacs-let-alist" ,emacs-let-alist)
("treepy" ,emacs-treepy)))
(home-page "https://github.com/magit/ghub")
(synopsis "Emacs client libraries for the APIs of various Git forges")
(license license:gpl3+)))
(define-public emacs-unpackaged-el
- (let ((commit "c0d58cf81e531b2b6fa1bd5dd612dc1b93d4d186")
- (revision "2"))
+ (let ((commit "746801a677ada6cd6fa076e423aa0953779f3fad")
+ (revision "3"))
(package
(name "emacs-unpackaged-el")
(version (git-version "0" revision commit))
(file-name (git-file-name name version))
(sha256
(base32
- "0y3sgvd51l4pb3acps92bazfk49da6nim1f1hyxzy1ravg4kbw83"))))
+ "0jvb2ci0h0lj368qhbff3pzkxj3nhlligpbkjzi525k9rkjgm7l8"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)
(define-public emacs-ag
(package
(name "emacs-ag")
- (version "0.47")
+ (version "0.48")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "15kp99vwyi7hb1jkq3lwvqzw3v62ycixsq6y4pd1x0nn2v5p5m5r"))))
+ "1p918y24vcn2pdliaymd210xp9fvhd4a1srqbv2lfiqrh59yjidx"))))
(build-system emacs-build-system)
(arguments
`(#:phases
files and directories.")
(license license:gpl3+)))
+(define-public emacs-fringe-helper
+ (let ((commit "ef4a9c023bae18ec1ddd7265f1f2d6d2e775efdd")
+ (revision "1"))
+ (package
+ (name "emacs-fringe-helper")
+ (version (git-version "1.0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nschum/fringe-helper.el.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ra9rc53l1gvkqank8apasl3r7wz2yfjrcvmfk3wpxhh24ppxv9d"))))
+ (build-system emacs-build-system)
+ (arguments
+ `(#:tests? #t
+ #:test-command '("emacs" "--batch"
+ "-l" "tests.el"
+ "-f" "ert-run-tests-batch-and-exit")))
+ (home-page "https://github.com/nschum/fringe-helper.el")
+ (synopsis "Helper functions for fringe bitmaps")
+ (description
+ "This package allows fringe bitmaps to be defined with a visual string
+representation.")
+ (license license:gpl2+))))
+
(define-public emacs-git-gutter
(package
(name "emacs-git-gutter")
display and behaviour is easily customisable.")
(license license:gpl3+)))
+(define-public emacs-git-gutter-fringe
+ (let ((commit "16226caab44174301f1659f7bf8cc67a76153445")
+ (revision "1"))
+ (package
+ (name "emacs-git-gutter-fringe")
+ (version (git-version "0.23" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/syohex/git-gutter-fringe.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1y77gjl0yznamdj0f55d418zb75k22izisjg7ikvrfsl2yfqf3pm"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-git-gutter" ,emacs-git-gutter)
+ ("emacs-fringe-helper" ,emacs-fringe-helper)))
+ (home-page "https://github.com/syohex/git-gutter-fringe")
+ (synopsis "See and manage hunks of text in a version control system")
+ (description
+ "This package extends @code{git-gutter} to use the fringe area of a
+window.")
+ (license license:gpl3+))))
+
+(define-public emacs-git-link
+ (package
+ (name "emacs-git-link")
+ (version "0.7.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sshaw/git-link.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "04xa6lp8wkjb6zs096bf4sz124grcjj15xv1h009bmn2j95rggj6"))))
+ (build-system emacs-build-system)
+ (arguments
+ `(#:tests? #t
+ #:test-command '("make" "test")))
+ (home-page "https://github.com/sshaw/git-link")
+ (synopsis "Create links for files and commits in GitHub/GitLab/etc. repos")
+ (description
+ "@code{git-link} returns the URL for the current buffer's file location
+at the current line number or active region. @code{git-link-commit} returns
+the URL for a commit. URLs are added to the kill ring.")
+ (license license:gpl3+)))
+
+(define-public emacs-apheleia
+ (package
+ (name "emacs-apheleia")
+ (version "1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/raxod502/apheleia.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "04pls7zahy4jfkikv6fvd9vfpm4glhyanmmkx79hgi9pwdv966rf"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/raxod502/apheleia")
+ (synopsis "Reformat buffer stably")
+ (description
+ "This package allows for a buffer to be reformatted without moving point,
+so that running a formatting tool like @code{Prettier} or @code{Black} upon
+saving won't move point back to the beginning of the buffer.")
+ (license license:gpl3+)))
+
(define-public emacs-git-timemachine
(package
(name "emacs-git-timemachine")
(license license:expat)))
(define-public emacs-prescient
- (package
- (name "emacs-prescient")
- (version "3.3")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/raxod502/prescient.el/")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1wqk1g8fjpcbpiz32k7arnisncd4n9zs84dn3qn9y8ggjzldqy91"))))
- (build-system emacs-build-system)
- (propagated-inputs
- `(("emacs-company" ,emacs-company)
- ("emacs-ivy" ,emacs-ivy)))
- (home-page "https://github.com/raxod502/prescient.el/")
- (synopsis "Library that sorts and filters lists of candidates")
- (description
- "This package provides a library for sorting and filtering, as well as
+ ;; XXX: emacs-ivy introduced a commit that disables sorting for counsel-M-x
+ ;; by default, so we use a non-release version ahead by one commit
+ (let ((commit "95056580ed743da92b05aaf86f943ee05600c28d")
+ (revision "1"))
+ (package
+ (name "emacs-prescient")
+ (version (git-version "3.3" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/raxod502/prescient.el/")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "06qxs8p66jr4gg9m1gd27v5may32f3n28la56cv4f4prinqyyfj7"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-company" ,emacs-company)
+ ("emacs-ivy" ,emacs-ivy)))
+ (home-page "https://github.com/raxod502/prescient.el/")
+ (synopsis "Library that sorts and filters lists of candidates")
+ (description
+ "This package provides a library for sorting and filtering, as well as
extensions for @code{ivy-mode} and @code{company-mode} that make use of the
library.")
- (license license:gpl3+)))
+ (license license:gpl3+))))
(define-public emacs-smartparens
(package
(license license:gpl3+)))
(define-public emacs-ivy
- ;; The latest release version introduced a new feature, swiper-isearch, that
- ;; generally works well but had some noticeable bugs; this later commit
- ;; includes fixes for several of them.
- (let ((commit "79333e9edfee38ec3b367c33711a68bdf7783259")
- (revision "2"))
+ (package
+ (name "emacs-ivy")
+ (version "0.13.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/abo-abo/swiper.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0ghcwrg8a6r5q6fw2x8s08cwlmnz2d8qjhisnjwbnc2l4cgqpd9p"))))
+ (build-system emacs-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'install-doc
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (info (string-append out "/share/info")))
+ (with-directory-excursion "doc"
+ (invoke "makeinfo" "ivy.texi")
+ (install-file "ivy.info" info)
+ #t))))
+ (add-before 'check 'make-dummy-git-directory
+ (lambda _
+ (mkdir-p ".git")))
+ (add-after 'check 'delete-dummy-git-directory
+ (lambda _
+ (delete-file-recursively ".git"))))
+ #:tests? #t
+ #:test-command '("make" "test")))
+ (propagated-inputs
+ `(("emacs-hydra" ,emacs-hydra)))
+ (native-inputs
+ `(("texinfo" ,texinfo)
+ ("emacs-wgrep" ,emacs-wgrep)))
+ (home-page "http://oremacs.com/swiper/")
+ (synopsis "Incremental vertical completion for Emacs")
+ (description
+ "This package provides @code{ivy-read} as an alternative to
+@code{completing-read} and similar functions. No attempt is made to determine
+the best candidate. Instead, the user can navigate candidates with
+@code{ivy-next-line} and @code{ivy-previous-line}. The matching is done by
+splitting the input text by spaces and re-building it into a regular
+expression.")
+ (license license:gpl3+)))
+
+(define-public emacs-ivy-xref
+ (let ((commit "1a35fc0f070388701b05b0a455cbe262e924d547")
+ (revision "1"))
(package
- (name "emacs-ivy")
- (version (git-version "0.12.0" revision commit))
+ (name "emacs-ivy-xref")
+ (version (git-version "0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/abo-abo/swiper.git")
+ (url "https://github.com/alexmurray/ivy-xref.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
- "0dyclc51sprhmr5fi4lylhwsrn8v1jgyblwk9ly60jj84lj6278z"))))
+ "0d71nm9d9ajp5i6dnl8h1hw9jqp8gd1ajgninb1h13i80rplzl9k"))))
(build-system emacs-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'install 'install-doc
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (info (string-append out "/share/info")))
- (with-directory-excursion "doc"
- (invoke "makeinfo" "ivy.texi")
- (install-file "ivy.info" info)
- #t))))
- (add-before 'check 'make-dummy-git-directory
- (lambda _
- (mkdir-p ".git")))
- (add-after 'check 'delete-dummy-git-directory
- (lambda _
- (delete-file-recursively ".git"))))
- #:tests? #t
- #:test-command '("make" "test")))
(propagated-inputs
- `(("emacs-hydra" ,emacs-hydra)))
- (native-inputs
- `(("texinfo" ,texinfo)
- ("emacs-wgrep" ,emacs-wgrep)))
- (home-page "http://oremacs.com/swiper/")
- (synopsis "Incremental vertical completion for Emacs")
- (description
- "This package provides @code{ivy-read} as an alternative to
-@code{completing-read} and similar functions. No attempt is made to determine
-the best candidate. Instead, the user can navigate candidates with
-@code{ivy-next-line} and @code{ivy-previous-line}. The matching is done by
-splitting the input text by spaces and re-building it into a regular
-expression.")
- (license license:gpl3+))))
+ `(("emacs-ivy" ,emacs-ivy)))
+ (home-page "https://github.com/alexmurray/ivy-xref")
+ (synopsis "Ivy interface for @code{xref}")
+ (description "This package provides an Ivy interface for selecting from
+@code{xref} results.")
+ (license license:gpl3))))
(define-public emacs-ivy-pass
(let ((commit "5b523de1151f2109fdd6a8114d0af12eef83d3c5")
(define-public emacs-ivy-rich
;; The latest release version has a small mistake that has since been fixed,
;; so we use a more recent commit.
- (let ((commit "f6bfa293c6df0b43cc411876b665816ec3f03d08")
- (version "0.1.4")
- (revision "1"))
+ (let ((commit "7a667b135983a1f3ad33d6db8514638e2a3bdfb3")
+ (revision "2"))
(package
(name "emacs-ivy-rich")
- (version (git-version version revision commit))
+ (version (git-version "0.1.4" revision commit))
(source
(origin
(method git-fetch)
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "1s8nwwb1z6lkc58g02pi8w99qms948k8d02lw8k8cq47dw87i219"))))
+ (base32 "1v5j6pak2j1wjw19y7rx9rhxif0bj2h47xyl2knfcl6fi4qiqm9y"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-ivy" ,emacs-ivy)))
(license license:gpl3+))))
(define-public emacs-lpy
- (let ((commit "dfd9a0fc8f84674fc669eab2942cfa038d7dc590")
- (revision "2"))
+ (let ((commit "43b401fe15f0f0d01edb189378b9498121e9f766")
+ (revision "3"))
(package
(name "emacs-lpy")
(version (git-version "0.1.0" revision commit))
(commit commit)))
(sha256
(base32
- "15y1fvn1sjngpiqlq090hxqhmxp32f88rspfapwcisxa3hcg5r5a"))
+ "0xj1r7cn1rivaxhvawvmgx9fg3xilpfw4lkf2x2aqplr4s85ijas"))
(file-name (git-file-name name version))))
(propagated-inputs
`(("emacs-zoutline" ,emacs-zoutline)
(base32
"1kkj888k9x5n0i7xkia177gzsa84my3g8n0n7v65281cc4f1yhk5"))))
(build-system emacs-build-system)
+ (inputs
+ `(("node" ,node)))
+ (native-inputs
+ `(("emacs-ert-expectations" ,emacs-ert-expectations)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'set-shell
+ ;; Setting the SHELL environment variable is required for the tests
+ ;; to find sh.
+ (lambda _
+ (setenv "SHELL" (which "sh"))
+ #t))
+ (add-after 'unpack 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((node (assoc-ref inputs "node")))
+ ;; Specify the absolute file names of the various
+ ;; programs so that everything works out-of-the-box.
+ (make-file-writable "nodejs-repl.el")
+ (emacs-substitute-variables
+ "nodejs-repl.el"
+ ("nodejs-repl-command"
+ (string-append node "/bin/node")))))))
+ #:tests? #t
+ #:test-command '("emacs" "-Q" "--batch"
+ "-L" "."
+ "-l" "test/test.el"
+ "-f" "ert-run-tests-batch-and-exit")))
(home-page "https://github.com/abicky/nodejs-repl.el")
(synopsis "Node.js REPL inside Emacs")
(description
in Emacs.")
(license license:gpl3+)))
+(define-public emacs-evil-markdown
+ (let ((commit "46cd81b37991c4325fc24015a610f832b0ff995d")
+ (revision "1"))
+ (package
+ (name "emacs-evil-markdown")
+ (version (git-version "0.0.2" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Somelauw/evil-markdown.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0mad8sp5y9vyk28595qygspnyh8bfmb1fbxjlw70qwc1kdn822n4"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-markdown-mode" ,emacs-markdown-mode)
+ ("emacs-evil" ,emacs-evil)))
+ (home-page "http://jblevins.org/projects/evil-markdown/")
+ (synopsis "Evil keybindings for @code{markdown-mode}")
+ (description
+ "This package provides custom text objects and bindings for
+@code{markdown-mode}.")
+ (license license:gpl3+))))
+
(define-public emacs-edit-indirect
(package
(name "emacs-edit-indirect")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/Fanael/edit-indirect")
- (commit version)))
+ (url "https://github.com/Fanael/edit-indirect")
+ (commit version)))
(file-name (git-file-name name version))
(sha256
(base32
as well as features for editing search results.")
(license license:gpl3+))))
+;; There hasn't been a tag or release since 2016, so we take the latest
+;; commit.
(define-public emacs-helm-projectile
- (package
- (name "emacs-helm-projectile")
- (version "0.14.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/bbatsov/helm-projectile.git")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0lph38p112fridighqcizpsyzjbv7qr3d8prbfj6w6q6gfl6cna4"))))
- (build-system emacs-build-system)
- (propagated-inputs
- `(("emacs-dash" ,emacs-dash)
- ("emacs-helm" ,emacs-helm)
- ("emacs-projectile" ,emacs-projectile)))
- (home-page "https://github.com/bbatsov/helm-projectile")
- (synopsis "Helm integration for Projectile")
- (description
- "This Emacs library provides a Helm interface for Projectile.")
- (license license:gpl3+)))
+ (let ((commit "5328b74dddcee8d1913803ca8167868831a07463")
+ (version "0.14.0")
+ (revision "1"))
+ (package
+ (name "emacs-helm-projectile")
+ (version (git-version version revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bbatsov/helm-projectile.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0a811cblrvc8llpv771b8dppgxs6bwjyvjy3qn2xns4nigvn93s0"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-helm" ,emacs-helm)
+ ("emacs-projectile" ,emacs-projectile)))
+ (home-page "https://github.com/bbatsov/helm-projectile")
+ (synopsis "Helm integration for Projectile")
+ (description
+ "This Emacs library provides a Helm interface for Projectile.")
+ (license license:gpl3+))))
(define-public emacs-taskrunner
(let ((commit "3afd4a546d42339543d3d4e51b175fc3e82b3358")
;; There hasn't been a tag or release since 2016, so we take the latest
;; commit.
(define-public emacs-sly
- (let ((commit "29dccc0735283897a6dbd97e0b6828a45c2985e2")
- (revision "2"))
+ (let ((commit "0a3b81770e46b93b9ffd8b9ac5254e0b88d1b13d")
+ (revision "3"))
(package
(name "emacs-sly")
(version (git-version "1.0.0" revision commit))
(file-name (git-file-name name version))
(sha256
(base32
- "0d0skgyqn422130xn8lrdp04m5cjk3sl18w6lf2wrmrndc1crqxk"))))
+ "1q5ga4mxa0ffa4zb2y0zfwmgzjggx4fn1y4bl2x7ac6ynvb32zkj"))))
(build-system emacs-build-system)
(native-inputs
`(("texinfo" ,texinfo)))
(license license:gpl3+))))
(define-public emacs-sly-asdf
- (let ((commit "355739e42c91b9b2339f84453292b938b6d17b0d")
- (revision "1"))
+ (let ((commit "4e323bc28da2f07fd799b6a31b94fd93848b5f3c")
+ (revision "2"))
(package
(name "emacs-sly-asdf")
(version (git-version "0.1.0" revision commit))
(file-name (git-file-name name version))
(sha256
(base32
- "1plkqh4dj35c3cf8ykan8fcvqmxcdqragh4j6xg0sls27mjjz1bq"))))
+ "16sc33jhc6ik4ilsyqc3cjpi6v0wdmwjlwrzjwd6yym11bscsmad"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-sly" ,emacs-sly)))
(arguments
- `(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-autoload
- ;; TODO: Reported upstream: https://github.com/mmgeorge/sly-asdf/pull/11
- (lambda _
- (substitute* "sly-asdf.el"
- (("\\(add-to-list 'sly-contribs 'sly-asdf 'append\\)")
- "(with-eval-after-load 'sly
- (add-to-list 'sly-contribs 'sly-asdf 'append))")))))))
+ '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)))
(synopsis "ASDF contrib for SLY")
(description
"@command{sly-asdf} is an external contrib for SLY that provides
additional support for working with ASDF projects.")
(license license:gpl3+))))
+(define-public emacs-sly-named-readtables
+ (let ((commit "a5a42674ccffa97ccd5e4e9742beaf3ea719931f")
+ (revision "1"))
+ (package
+ (name "emacs-sly-named-readtables")
+ (version (git-version "0.1" revision commit))
+ (home-page "https://github.com/joaotavora/sly-named-readtables")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "16asd119rzqrlclps2q6yrkis8jy5an5xgzzqvb7jdyq39zxg54q"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-sly" ,emacs-sly)))
+ (arguments
+ '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)))
+ (synopsis "Named-readtables support for SLY")
+ (description
+ "@command{sly-named-readtables} is an external contrib for SLY that
+enables different readtables to be active in different parts of the same
+file.")
+ (license license:gpl3+))))
+
+(define-public emacs-sly-macrostep
+ (let ((commit "be2d24545092d164be1a91031d8881afd29c9ec0")
+ (revision "1"))
+ (package
+ (name "emacs-sly-macrostep")
+ (version (git-version "0.1" revision commit))
+ (home-page "https://github.com/joaotavora/sly-macrostep")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0v8m3zkccpqd2l8m9340y672l2mm3mrry8422nva5kfvpcwdayqb"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-sly" ,emacs-sly)
+ ("emacs-macrostep" ,emacs-macrostep)))
+ (arguments
+ '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
+ #:phases
+ ;; The package provides autoloads.
+ (modify-phases %standard-phases
+ (delete 'make-autoloads))))
+ (synopsis "Expand Common Lisp macros inside source files with SLY")
+ (description
+ "@command{sly-macrostep} is a SLY contrib for expanding CL macros right
+inside the source file.")
+ (license license:gpl3+))))
+
+(define-public emacs-sly-package-inferred
+ (let ((commit "800e71e2be631422277e2ec77e6d6f6ea20e95ef")
+ (revision "1"))
+ (package
+ (name "emacs-sly-package-inferred")
+ (version (git-version "0.1" revision commit))
+ (home-page "https://github.com/40ants/sly-package-inferred")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1216idyp034nkqddhw4p53jkhhdxa6xnjjmsvijpf4rxqnfqvapg"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-sly" ,emacs-sly)))
+ (arguments
+ '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
+ #:phases
+ ;; The package provides autoloads.
+ (modify-phases %standard-phases
+ (delete 'make-autoloads))))
+ (synopsis "Improved package inferred systems support for SLY")
+ (description
+ "@command{sly-package-inferred} is an external contrib for SLY that
+replaces its completion with a function which is better suited for systems
+using package inferred style.")
+ (license license:gpl3+))))
+
(define-public emacs-lua-mode
(let ((commit "95c64bb5634035630e8c59d10d4a1d1003265743")
(revision "2"))
(sha256
(base32
"1833w397xhac5g3pp25szr2gyvclxy91aw27azvbmsx94pyk2a3q"))))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'fix-test-helpers
+ (lambda _
+ (substitute* "evil-test-helpers.el"
+ (("\\(undo-tree-mode 1\\)") ""))
+ #t)))))
(build-system emacs-build-system)
- (propagated-inputs
- `(("emacs-undo-tree" ,emacs-undo-tree)
- ("emacs-goto-chg" ,emacs-goto-chg)))
(home-page "https://github.com/emacs-evil/evil")
(synopsis "Extensible Vi layer for Emacs")
(description
(license license:gpl3+)))
(define-public emacs-evil-collection
- (let ((commit "bf4200a57c81c2302a3bf5b2058d74c6f90a3e6c")
- (revision "11"))
+ (let ((commit "38e916d5d56b391f1ad4c72ad3909491e86cda3c")
+ (revision "12"))
(package
(name "emacs-evil-collection")
(version (git-version "0.0.3" revision commit))
(file-name (git-file-name name version))
(sha256
(base32
- "01xw0m5gj14ly42y8ikvldpab5my28sylf6l9gvwd5cf909bd445"))))
+ "00a1ya3c92ymhfj4ai1ygljnxa147d4cgi6jmvccngicphn99782"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-evil" ,emacs-evil)
a popup window for previewing candidates.")
(license license:gpl3+))))
+(define-public emacs-evil-args
+ (let ((commit "758ad5ae54ad34202064fec192c88151c08cb387")
+ (revision "1"))
+ (package
+ (name "emacs-evil-args")
+ (version (git-version "1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/wcsmith/evil-args.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0k35glgsirc3cph8v5hhjrqfh4ndwh8a28qbr03y3jl8s453xcj7"))))
+ (build-system emacs-build-system)
+ (propagated-inputs `(("emacs-evil" ,emacs-evil)))
+ (home-page "https://github.com/wcsmith/evil-args")
+ (synopsis "Motions and text objects for delimited arguments in Evil")
+ (description
+ "This package provides motions and text objects for delimited
+arguments, such as arguments separated by commas and semicolons.")
+ (license license:expat))))
+
(define-public emacs-evil-exchange
(let ((commit "47691537815150715e64e6f6ec79be7746c96120")
(version "0.41")
(name "emacs-yasnippet")
(version "0.13.0")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/joaotavora/yasnippet/"
- "archive/" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/joaotavora/yasnippet.git")
+ (commit version)))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "12ls2x17agzbrj1xynjbmfa11igqxia4hj4fv6fpr66yci2r1plc"))
+ "0fkkplycrw8f8r30hjjxl1wm7p2irq2ipzzc1g7cc52abaal796p"))
(modules '((guix build utils)))
(snippet
'(begin
"))\n"))
#t))))
(build-system emacs-build-system)
+ (arguments
+ `(#:tests? #t
+ #:test-command '("emacs" "--batch"
+ "-l" "yasnippet-tests.el"
+ "-f" "ert-run-tests-batch-and-exit")
+ ;; FIXME: one failing test
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'make-tests-writable
+ (lambda _
+ (make-file-writable "yasnippet-tests.el")
+ #t))
+ (add-before 'check 'delete-rebinding-test
+ (lambda _
+ (emacs-batch-edit-file "yasnippet-tests.el"
+ `(progn (progn (goto-char (point-min))
+ (re-search-forward
+ "ert-deftest test-rebindings")
+ (beginning-of-line)
+ (kill-sexp))
+ (basic-save-buffer)))
+ #t)))))
(home-page "https://github.com/joaotavora/yasnippet")
(synopsis "Yet another snippet extension for Emacs")
(description
(define-public emacs-csv-mode
(package
(name "emacs-csv-mode")
- (version "1.9")
+ (version "1.10")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/csv-mode-"
version ".el"))
(sha256
- (base32 "0sdnyi9in904k49yy5imapypnmk75lv14k9c1yyjhjpalvvh6br1"))))
+ (base32 "0q7j2cmj7vs6hz8cnf7j7lmlcjmig3jn2p6az345z96agl8a5xsq"))))
(build-system emacs-build-system)
(home-page "https://elpa.gnu.org/packages/csv-mode.html")
(synopsis "Major mode for editing comma/char separated values")
standard Unix password manager\").")
(license license:gpl2+)))
+(define-public emacs-auth-source-pass
+ (let ((commit "847a1f54ed48856b4dfaaa184583ef2c84173edf")
+ (revision "1"))
+ (package
+ (name "emacs-auth-source-pass")
+ (version (git-version "5.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/NicolasPetton/auth-password-store.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0g48z5w6n3c54zqfpx65dfyl9jqbl15idvbb1hhw2pd9f9r8fykk"))))
+ (build-system emacs-build-system)
+ (arguments
+ `(#:tests? #t
+ #:test-command '("emacs" "--batch"
+ "-L" "."
+ "-l" "test/auth-source-pass-tests.el"
+ "-f" "ert-run-tests-batch-and-exit")))
+ (home-page "https://github.com/NicolasPetton/auth-password-store")
+ (synopsis "Integrate @code{auth-source} with @code{password-store}")
+ (description "This package helps Emacs integrate with the Unix
+@code{password-store} application.")
+ (license license:gpl3+))))
+
(define-public emacs-pass
(package
(name "emacs-pass")
#t)))))
(inputs
`(("emacs-minimal" ,emacs-minimal)
- ("mariadb" ,mariadb)
+ ("mariadb" ,mariadb "lib")
+ ("mariadb-dev" ,mariadb "dev")
("postgresql" ,postgresql)))
(propagated-inputs
`(("emacs-finalize" ,emacs-finalize)
(license license:gpl3+)))
(define-public emacs-org-ql
- (let ((commit "949a06c3ab50482b749fd2d4350837a197660d96")
- (revision "3"))
- (package
- (name "emacs-org-ql")
- (version (git-version "0.3.1" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/alphapapa/org-ql")
- (commit commit)))
- (sha256
- (base32
- "0apcg63xm0242mjgsgw0jrcda4p4iqj7fy3sgh0p7khi4hrs5ch0"))
- (file-name (git-file-name name version))))
- (build-system emacs-build-system)
- (propagated-inputs
- `(("emacs-s" ,emacs-s)
- ("emacs-f" ,emacs-f)
- ("emacs-ov" ,emacs-ov)
- ("emacs-peg" ,emacs-peg)
- ("emacs-org-super-agenda" ,emacs-org-super-agenda)
- ("emacs-ts" ,emacs-ts)
- ("emacs-org" ,emacs-org)
- ("emacs-helm" ,emacs-helm)
- ("emacs-helm-org" ,emacs-helm-org)
- ("emacs-dash" ,emacs-dash)))
- (native-inputs
- `(("emacs-buttercup" ,emacs-buttercup)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'require-helm
- (lambda _
- (substitute* "helm-org-ql.el"
- (("^;;;; Requirements")
- ";;;; Requirements\n(require 'helm)\n(require 'helm-org)"))
- #t)))
- #:tests? #t
- #:test-command '("buttercup" "-L" ".")))
- (home-page "https://github.com/alphapapa/org-ql/")
- (synopsis "Query language for Org buffers")
- (description "This package provides a Lispy query language for Org
+ (package
+ (name "emacs-org-ql")
+ (version "0.3.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alphapapa/org-ql")
+ (commit version)))
+ (sha256
+ (base32
+ "11bhpi2l28vp8mm9nx18jljbqdnh9vxpv9kp1dn9lpsgivcdbc34"))
+ (file-name (git-file-name name version))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-s" ,emacs-s)
+ ("emacs-f" ,emacs-f)
+ ("emacs-ov" ,emacs-ov)
+ ("emacs-peg" ,emacs-peg)
+ ("emacs-org-super-agenda" ,emacs-org-super-agenda)
+ ("emacs-ts" ,emacs-ts)
+ ("emacs-org" ,emacs-org)
+ ("emacs-helm" ,emacs-helm)
+ ("emacs-helm-org" ,emacs-helm-org)
+ ("emacs-dash" ,emacs-dash)))
+ (native-inputs
+ `(("emacs-buttercup" ,emacs-buttercup)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'require-helm
+ (lambda _
+ (substitute* "helm-org-ql.el"
+ (("^;;;; Requirements")
+ ";;;; Requirements\n(require 'helm)\n(require 'helm-org)"))
+ #t)))
+ #:tests? #t
+ #:test-command '("buttercup" "-L" ".")))
+ (home-page "https://github.com/alphapapa/org-ql/")
+ (synopsis "Query language for Org buffers")
+ (description "This package provides a Lispy query language for Org
files, allowing for actions to be performed based on search criteria.")
- (license license:gpl3+))))
+ (license license:gpl3+)))
(define-public emacs-org-auto-expand
(let ((commit "4938d5f6460e2f8f051ba9ac000b291bfa43ef62")
(sha256
(base32 "1kykbb1sil5cycfa5aj8dhsxc5yrx1641i2np5kwdjid6ahdlz5r"))))
(build-system emacs-build-system)
+ (native-inputs
+ `(("emacs-buttercup" ,emacs-buttercup)))
+ (arguments
+ `(#:tests? #t
+ #:test-command '("buttercup" "-L" ".")))
(home-page "https://github.com/DamienCassou/hierarchy")
(synopsis "Library to create and display hierarchy structures")
(description "This package provides an Emacs library to create, query,
(license license:gpl3+))))
(define-public emacs-ibuffer-projectile
- (let ((commit "c18ac540ee46cb759fc5df18747f6e8d23563011")
- (revision "1"))
+ (let ((commit "76496214144687cee0b5139be2e61b1e400cac87")
+ (revision "2"))
(package
(name "emacs-ibuffer-projectile")
- (version (string-append "0.2" "-" revision "."
- (string-take commit 7)))
+ (version (git-version "0.2" revision commit))
(source
(origin
(method git-fetch)
(file-name (git-file-name name version))
(sha256
(base32
- "1nd26cwwdpnwj0g4w393rd59klpyr6wqrnyr6scmwb5d06bsm44n"))))
+ "0vv9xwb1qd5x8zhqmmsn1nrpd11cql9hxb7483nsdhcfwl4apqav"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-projectile" ,emacs-projectile)))
(method git-fetch)
(uri (git-reference (url home-page)
(commit (string-append "v" version))))
- (file-name (string-append name "-" version ".tar.gz"))
+ (file-name (git-file-name name version))
(sha256
(base32
"1wi70r56pd5z0x4dp4m58p9asq03j74kdm4fi9vai83vsl2z9amq"))))
(define-public emacs-editorconfig
(package
(name "emacs-editorconfig")
- (version "0.8.0")
+ (version "0.8.1")
(source
(origin
(method git-fetch)
(file-name (git-file-name name version))
(sha256
(base32
- "1b2cpqz75pivl323bs60j5rszwi787x6vy68csycikqz9mhpmjn9"))))
+ "1djlhkap7zddknzvjsjz0agpfsms1ih05zcpg1bikid2vs4gddyr"))))
(build-system emacs-build-system)
(home-page "https://github.com/editorconfig/editorconfig-emacs")
(synopsis "Define and maintain consistent coding styles between different
@end itemize\n")
(license license:gpl3+)))
+(define-public emacs-helm-sly
+ (package
+ (name "emacs-helm-sly")
+ (version "0.4.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/emacs-helm/helm-sly")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0b2dx9nzh5233lkix3lz81c9cv626lk2hjpcjiikwvyp6y0q92ys"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-helm" ,emacs-helm)
+ ("emacs-sly" ,emacs-sly)))
+ (home-page "https://github.com/emacs-helm/helm-sly")
+ (synopsis "Helm for SLY, a Common Lisp interaction mode for Emacs")
+ (description "Helm-SLY defines a few new commands:
+
+@itemize
+@item helm-sly-list-connections: Yet another Lisp connection list with Helm.
+@item: helm-sly-apropos: Yet another @command{apropos} with Helm.
+@item helm-sly-mini: Like @command{helm-sly-list-connections}, but include an
+extra source of Lisp-related buffers, like the events buffer or the scratch
+buffer.
+@end itemize\n")
+ (license license:gpl3+)))
+
(define-public emacs-gtk-look
(package
(name "emacs-gtk-look")
(license license:gpl3+)))
(define-public emacs-lsp-ivy
- (let ((commit "6fd55316dd62d290429c25ea9b0c1f66069b2f37")
- (revision "1"))
+ (let ((commit "caf1e1d7e22ed0b5fe18dd508d1a6f83dd163288")
+ (revision "2"))
(package
(name "emacs-lsp-ivy")
(version (git-version "0.1" revision commit))
(file-name (git-file-name name version))
(sha256
(base32
- "0hx9rs66ahl2rqgnmyiyrwk12v7iv8c6gnn7b66985mxjqyyh94r"))))
+ "084ds4qhzhivfnicy3h7z4mblxgcqx8pfnkbjr9qjrfng7cisy4z"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-ivy" ,emacs-ivy)
(license license:gpl3+))))
(define-public emacs-forge
- (let ((commit "a6721c071226ae8da6852e9330f2bdcba92a4577"))
+ (let ((commit "63cbf81f166fc71861d8e3d246df8e5ccedcb9bb"))
(package
(name "emacs-forge")
- (version (git-version "0.1.0" "1" commit))
+ (version (git-version "0.1.0" "2" commit))
(source
(origin
(method git-fetch)
(file-name (git-file-name name version))
(sha256
(base32
- "1gzr1di29a9szkzm6kjznq7c8md71cm5761pznf08nmmk63dl3zm"))))
+ "1yf2xjx3459py6rji740jm8bmh2pv66ghnbjxsvjd4jf9kcdav83"))))
(build-system gnu-build-system)
(native-inputs
`(("texinfo" ,texinfo)
(define-public emacs-web-server
(let ((commit "cafa5b7582c57252a0884b2c33da9b18fb678713")
- (version "0.1.1")
(revision "1"))
(package
(name "emacs-web-server")
- (version (git-version version revision commit))
+ (version (git-version "0.1.0" revision commit))
(source
(origin
(method git-fetch)
(base32
"1c0lfqmbs5hvz3fh3c8wgp6ipwmxrwx9xj264bjpj3phixd5419y"))))
(build-system emacs-build-system)
+ (native-inputs
+ `(("curl" ,curl)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'set-shell
+ ;; Setting the SHELL environment variable is required for the tests
+ ;; to find sh.
+ (lambda _
+ (setenv "SHELL" (which "sh"))
+ #t)))
+ #:tests? #t
+ #:test-command '("make" "check")))
(home-page "https://github.com/eschulte/emacs-web-server/")
(synopsis "Web server with handlers in Emacs Lisp")
(description "This package supports HTTP GET and POST requests with
("emacs-web-server" ,emacs-web-server)))
(arguments '(#:include '("\\.el$" "\\.html$")))
(home-page "https://github.com/ancane/markdown-preview-mode")
- (synopsis "Live web development in Emacs")
+ (synopsis "Preview Markdown files")
(description "This package provides a minor mode for preview of Markdown
files, and sends rendered Markdown to a web browser.")
(license license:gpl3+)))
(license license:gpl3+))))
(define-public emacs-counsel-dash
- (let ((commit "24d370be9e94e90d045c49967e19484b9903fce9")
- (revision "2"))
+ (let ((commit "7027868d483b51d949b9f20fb8f34b122ca61520")
+ (revision "3"))
(package
(name "emacs-counsel-dash")
(version (git-version "0.1.3" revision commit))
(file-name (git-file-name name version))
(sha256
(base32
- "18gp7hhgng271c7bh06k9p24zqic0f64j5cicivljmyk9c3nh7an"))))
+ "0h3f5pxnmb21pq4hh7k4w8jzflz1k2ap7nwpjc222w0q6x6jrbjp"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash-docs" ,emacs-dash-docs)
("emacs-ivy" ,emacs-ivy)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'require-ivy
+ (lambda _
+ (substitute* "counsel-dash.el"
+ (("^\\(require 'cl-lib\\)")
+ "(require 'cl-lib)\n(require 'ivy)\n(require 'subr-x)"))
+ #t)))))
(home-page "https://github.com/dash-docs-el/counsel-dash")
(synopsis "Offline documentation browser for APIs using Dash docsets")
(description "This package uses @code{ivy-mode} to install and navigate
(define-public emacs-nhexl-mode
(package
(name "emacs-nhexl-mode")
- (version "1.3")
+ (version "1.4")
(source
(origin
(method url-fetch)
"https://elpa.gnu.org/packages/nhexl-mode-"
version ".el"))
(sha256
- (base32 "1fcy4ybr12dvswmzaqkv4798snb1x1y7ldxwrsgjv5sx7bb5j60z"))))
+ (base32 "1c2q4w6hkvc7z4026hiqdcsm2scd6q35x7b0dk80h8qicsbi14c8"))))
(build-system emacs-build-system)
(home-page "https://elpa.gnu.org/packages/nhexl-mode.html")
(synopsis "Minor mode to edit files via hex-dump format")
"Elixir-Mode Provides font-locking, indentation and navigation support
for the Elixir programming language.")
(license license:gpl3+)))
+
+(define-public emacs-dimmer
+ (package
+ (name "emacs-dimmer")
+ (version "0.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gonewest818/dimmer.el.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1jv9rrv15nb5hpwcaqlpjj932gyisrkwbv11czkg3v0bn7qn6yif"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/gonewest818/dimmer.el")
+ (synopsis "Visually highlights the selected buffer in Emacs")
+ (description "Dimmer provides a minor mode that indicates which buffer is
+currently active by dimming the faces in the other buffers. It does this
+nondestructively, and computes the dimmed faces dynamically such that your
+overall color scheme is shown in a muted form without requiring you to define
+what is a \"dim\" version of every face.")
+ (license license:gpl3+)))
+
+(define-public emacs-minibuffer-line
+ (package
+ (name "emacs-minibuffer-line")
+ (version "0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://elpa.gnu.org/packages/minibuffer-line-"
+ version
+ ".el"))
+ (sha256
+ (base32 "1ny4iirp26na5118wfgxlv6fxlrdclzdbd9m0lkrv51w0qw7spil"))))
+ (build-system emacs-build-system)
+ (home-page "https://elpa.gnu.org/packages/minibuffer-line.html")
+ (synopsis "Display status info in the minibuffer window")
+ (description
+ "This package lets you display various status information in the
+minibuffer window instead of the mode-line. Of course, this is only displayed
+when the minibuffer window is not already used for other things (e.g. a
+minibuffer or an each area message).
+
+The contents and aspect is controlled by the @code{minibuffer-line-format}
+variable and the @code{minibuffer-line} face.")
+ (license license:gpl3+)))