summaryrefslogtreecommitdiff
path: root/gnu/packages/emacs-xyz.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/emacs-xyz.scm')
-rw-r--r--gnu/packages/emacs-xyz.scm434
1 files changed, 374 insertions, 60 deletions
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 22d723c879..4bc5e10624 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -94,7 +94,7 @@
;;; Copyright © 2021 Yurii Kholodkov <urist.mckorobochka@gmail.com>
;;; Copyright © 2021 Alexey Abramov <levenson@mmer.org>
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
-;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
+;;; Copyright © 2021, 2022 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2021 Eugene Klimov <lipklim@mailbox.org>
;;; Copyright © 2021 Zheng Junjie <873216071@qq.com>
@@ -109,6 +109,10 @@
;;; Copyright © 2022 Brandon Lucas <br@ndon.dk>
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
;;; Copyright © 2022 jgart <jgart@dismail.de>
+;;; Copyright © 2022 Dominic Martinez <dom@dominicm.dev>
+;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
+;;; Copyright © 2022 Luis Felipe López Acevedo <luis.felipe.la@protonmail.com>
+;;; Copyright © 2022 Thomas Albers Raviola <thomas@thomaslabs.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1936,6 +1940,28 @@ can be referred to during the expression. This technique can improve clarity
in certain cases. It also enables recursion for anonymous functions.")
(license license:public-domain)))
+(define-public emacs-xah-fly-keys
+ (package
+ (name "emacs-xah-fly-keys")
+ (version "17.13.20220526011611")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/xahlee/xah-fly-keys")
+ (commit "b1b1ea62c3f1a329376d9125592175cf2027ebc7")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1gv8d9zgmhzjg6zk2a7y76dz30a3l91xb1p15vldka95faz197wn"))))
+ (build-system emacs-build-system)
+ (home-page "http://xahlee.info/emacs/misc/ergoemacs_vi_mode.html")
+ (synopsis "Modal keybinding system for Emacs, based on command frequency and
+ergonomics")
+ (description "xah-fly-keys.el is a modal editing mode for Emacs, like Vi,
+but the design of key/command choice is based on command frequency statistics
+and ease-of-key score. Most frequently used commands have most easy keys.")
+ (license license:gpl3)))
+
(define-public emacs-xr
(package
(name "emacs-xr")
@@ -3109,7 +3135,7 @@ of bibliographic references.")
(define-public emacs-corfu
(package
(name "emacs-corfu")
- (version "0.22")
+ (version "0.25")
(source
(origin
(method git-fetch)
@@ -3118,13 +3144,13 @@ of bibliographic references.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "062lxyqh7nfaixmgfgmqfbkainxc8ypdkj6qjq38xigk55s7c5wk"))))
+ (base32 "1brq8dfn4mx5mxyqqikmhwpwlqdrfq1z0wprm6awxr89xk506g77"))))
(build-system emacs-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
- ;; Move the extensions source files to the top level, which is included in
- ;; the EMACSLOADPATH.
+ ;; Move the extensions source files to the top level, which is included
+ ;; in the EMACSLOADPATH.
(add-after 'unpack 'move-source-files
(lambda _
(let ((el-files (find-files "./extensions" ".*\\.el$")))
@@ -3133,12 +3159,36 @@ of bibliographic references.")
el-files)))))))
(home-page "https://github.com/minad/corfu")
(synopsis "Completion overlay region function")
- (description "Corfu enhances the default completion in region function
-with a completion overlay. The current candidates are shown in a popup
-overlay below or above the point. Corfu can be considered the minimalistic
+ (description
+ "Corfu enhances the default completion in region function with a completion
+overlay. The current candidates are shown in a popup overlay below or above
+the point. Corfu can be considered the minimalistic
@code{completion-in-region} counterpart of the Vertico minibuffer UI.")
(license license:gpl3+)))
+(define-public emacs-corfu-doc
+ (package
+ (name "emacs-corfu-doc")
+ (version "0.6.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/galeo/corfu-doc")
+ (commit "f9566cf13f6730a45b2f3c12e491a3fa2097e5d5")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "098yf29yv1b11p7kvdc7n4ra7f5vcmf6nlvhl85jgwqrsdz1795b"))))
+ (build-system emacs-build-system)
+ (propagated-inputs (list emacs-corfu))
+ (home-page "https://github.com/galeo/corfu-doc")
+ (synopsis "Documentation popup for Corfu")
+ (description
+ "The @code{corfu-doc} package provides a way to display a documentation
+popup for completion candidates when using @code{emacs-corfu}. It can
+be regarded as @code{emacs-company-quickhelp} for @code{emacs-corfu}.")
+ (license license:gpl3+)))
+
(define-public emacs-cape
(package
(name "emacs-cape")
@@ -8463,6 +8513,30 @@ transparent background. If you load it from a GUI, it will default to a
dark background.")
(license license:gpl3+)))
+(define-public emacs-color-theme-modern
+ ;; No release since October 2019
+ (let ((commit "74ad69bbca6fcfff3c0960d888c7c9c1f9f3e2e8")
+ (revision "1"))
+ (package
+ (name "emacs-color-theme-modern")
+ (version (git-version "0.0.3" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/emacs-jp/replace-colorthemes.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "13ff4s372wsl5x13vh4vywhi6qcc54gybhp6rxl0r1l4wxidanwn"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/emacs-jp/replace-colorthemes")
+ (synopsis "Emacs color themes implemented via built-in customization")
+ (description "This package contains several themes that were originally
+implemented with the venerable @code{color-themes} package, ported to Emacs'
+built-in custom themes.")
+ (license license:gpl3+))))
+
(define-public emacs-gruvbox-theme
(package
(name "emacs-gruvbox-theme")
@@ -12174,7 +12248,7 @@ extensions.")
(define-public emacs-evil-collection
(package
(name "emacs-evil-collection")
- (version "0.0.7")
+ (version "0.0.8")
(source
(origin
(method git-fetch)
@@ -12183,7 +12257,7 @@ extensions.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1f5mbg2k527brn6b7njdjizpbzj252c53crzl8sf2564czcprqj0"))))
+ (base32 "159i3qvjnp7jiffwpr517nnxcy3w3g40302vyzxvz6mb6qay6f2c"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-evil emacs-annalist))
@@ -12964,6 +13038,30 @@ properties are set on a heading, and when it is changing from a TODO state to
a DONE state.")
(license license:gpl3+)))
+(define-public emacs-toodoo
+ ;; Package has no release. Version is extracted from "Version:" keyword in
+ ;; main file, and commit below matches version bump.
+ (package
+ (name "emacs-toodoo")
+ (version "0.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ChanderG/toodoo.el")
+ (commit "149a563863c2f728c5f903475dbce50547c51000")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "00q7aym0kl03j9m66pivgy0snxcjjg402049b2wdy18kgyypfvx8"))))
+ (build-system emacs-build-system)
+ (propagated-inputs (list emacs-transient emacs-evil))
+ (home-page "https://github.com/ChanderG/toodoo.el")
+ (synopsis "Magit-like interface for a Todo workflow built on top of Org")
+ (description "This package provides a minor mode for fast and easy management of Todos
+using Org mode and transients.")
+ (license license:asl2.0)))
+
(define-public emacs-flx
(package
(name "emacs-flx")
@@ -15731,6 +15829,30 @@ of commands is displayed in a handy popup.")
characters from end of lines.")
(license license:gpl3+)))
+(define-public emacs-opencl-mode
+ ;; Upstream never makes any formal releases, there is only v1.0.
+ ;; Use the latest commit instead.
+ (let ((commit "15091eff92c33ee0d1ece40eb99299ef79fee92d")
+ (revision "1"))
+ (package
+ (name "emacs-opencl-mode")
+ (version (git-version "1.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/salmanebah/opencl-mode")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1zn6rr48w0ai0sn51zzyp546va6flfgf9lm12vfrdb6kkiiiq403"))))
+ (build-system emacs-build-system)
+ (synopsis "Emacs major mode for editing OpenCL kernels")
+ (description "This Emacs package provides the @code{opencl-mode} major
+mode for editing OpenCL kernels. It supports syntax highlighting and online
+access to the OpenCL documentation through the @code{opencl-lookup} function.")
+ (home-page "https://github.com/salmanebah/opencl-mode")
+ (license license:gpl3+))))
+
(define-public emacs-openwith
;; There is no release tag. Version is extracted from main file.
(let ((version "20120531")
@@ -15809,29 +15931,26 @@ multiplexer.")
(license license:gpl3+)))
(define-public emacs-plz
- (let ((commit "7e456638a651bab3a814e3ea81742dd917509cbb")
- (revision "1"))
- (package
- (name "emacs-plz")
- (version (git-version "0.1-pre" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/alphapapa/plz.el")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "05kgxrps1s20im5hhq799nrs3615bvssm4r0ysgmwm203mmzsjgj"))))
- (build-system emacs-build-system)
- (inputs (list curl))
- (home-page "https://github.com/alphapapa/plz.el")
- (synopsis "HTTP library for Emacs")
- (description
- "This package provides HTTP library for Emacs. It uses curl as
-a backend, which avoids some of the issues with using Emacs’s built-in url
-library.")
- (license license:gpl3+))))
+ (package
+ (name "emacs-plz")
+ (version "0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alphapapa/plz.el")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0psdjmj1r4g57vhm6c4hajmma72jk893fk820fbjgjwqihr1bxx9"))))
+ (build-system emacs-build-system)
+ (inputs (list curl))
+ (home-page "https://github.com/alphapapa/plz.el")
+ (synopsis "HTTP library for Emacs")
+ (description
+ "This package provides HTTP library for Emacs. It uses Curl as a backend,
+which avoids some of the issues with using Emacs’s built-in Url library.")
+ (license license:gpl3+)))
(define-public emacs-ement
(let ((commit "c951737dc855604aba389166bb0e7366afadc533")
@@ -19699,7 +19818,7 @@ by the status of listed files.")
(define-public emacs-elm-mode
(package
(name "emacs-elm-mode")
- (version "0.21.0")
+ (version "0.22.0")
(source
(origin
(method git-fetch)
@@ -19709,7 +19828,7 @@ by the status of listed files.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0iwk4fmw8hq3ry4ky1zc7lgl4cpbnrjyk74c2xzddfspi3ks41fd"))))
+ (base32 "1gnr61ibzcznfqy5f8capmbz75rcfikwy106rjdmp45qz2jwp4di"))))
(propagated-inputs
(list emacs-dash emacs-f emacs-reformatter emacs-s))
(build-system emacs-build-system)
@@ -20229,24 +20348,26 @@ functions.")
(license license:gpl3+)))
(define-public emacs-benchmark-init
- (package
- (name "emacs-benchmark-init")
- (version "1.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/dholm/benchmark-init-el")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1kyn1izm5sbqbp9whnhk9dn3yc7zy8bz5san5w3ivi3rpx15fh94"))))
- (build-system emacs-build-system)
- (home-page "https://github.com/dholm/benchmark-init-el")
- (synopsis "Benchmark Emacs @code{require} and @code{load} calls")
- (description "@code{benchmark-init} provides a way to keep track of where
+ (let ((commit "02435560415bbadbcf5051fb7042880549170e7e")
+ (revision "1"))
+ (package
+ (name "emacs-benchmark-init")
+ (version (git-version "1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dholm/benchmark-init-el")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "19375vamhld4xm2qrdmhlp2nczfvalmz9x6ahl23zwkilr8n1nbw"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/dholm/benchmark-init-el")
+ (synopsis "Benchmark Emacs @code{require} and @code{load} calls")
+ (description "@code{benchmark-init} provides a way to keep track of where
time is being spent during Emacs startup in order to optimize startup time.")
- (license license:gpl3+)))
+ (license license:gpl3+))))
(define-public emacs-magit-gerrit
(package
@@ -24824,6 +24945,34 @@ debug server. It is similar to the LSP but provides integration with
Debug server.")
(license license:gpl3+)))
+(define-public emacs-bfuture
+ (package
+ (name "emacs-bfuture")
+ (version "1.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~plattfot/bfuture")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "1m4v4xbsvg26z7nvg2c8q7x1nvv7v4ajm56l0nbkwcbdbrgahpva"))
+ (file-name (git-file-name name version))))
+ (build-system emacs-build-system)
+ (arguments
+ (list #:tests? (not (%current-target-system))
+ #:test-command #~'("ert-runner")))
+ (native-inputs (list emacs-ert-runner))
+ (home-page "https://github.com/plattfot/bfuture.el")
+ (synopsis "Basic future concept for Emacs with Tramp support")
+ (description
+ "This package provides basic functions for spawning processes asynchronous in
+Emacs and retrieving the output. It is similar to @code{emacs-pfuture} except
+that this works over Tramp but the feature set is more limited. For example,
+it cannot tell stdout and stderr apart.")
+ (license license:gpl3+)))
+
(define-public emacs-pfuture
(package
(name "emacs-pfuture")
@@ -27131,8 +27280,8 @@ zip utility (default is @code{zip}).")
(define-public emacs-ox-gemini
;; No releases yet
- (let ((commit "d88c10bcb10fc463fa5a2f6e29c8c94b75a314c0")
- (revision "0"))
+ (let ((commit "168f820ea401fb813435a3a55af295873a4c110b")
+ (revision "1"))
(package
(name "emacs-ox-gemini")
(version (git-version "0" revision commit))
@@ -27144,7 +27293,7 @@ zip utility (default is @code{zip}).")
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "1f8kbg5vjd1k7fak3v56b77yk612j6vmzx4xzx3m2vq3f0nyxq29"))))
+ (base32 "0jmiya3f9vv4v64p5kxla6wiiyv4wg4w7f4a6zmdrjcn11hflqmm"))))
(build-system emacs-build-system)
(home-page "https://sr.ht/~abrahms/ox-gemini")
(synopsis "Export Org files in Gemini format")
@@ -27178,7 +27327,7 @@ producing output appropriate for Haunt's @code{html-reader}.")
(define-public emacs-ox-hugo
(package
(name "emacs-ox-hugo")
- (version "0.8")
+ (version "0.12.1")
(source
(origin
(method git-fetch)
@@ -27188,8 +27337,10 @@ producing output appropriate for Haunt's @code{html-reader}.")
(file-name (git-file-name name version))
(sha256
(base32
- "11h464cyc28ld0b0zridgm4drydc1qjxbm1y24zrwlkyqqjk6yr7"))))
+ "0q4gyjzvxzw6a0phw2x2v9n43i28n3g9m7szwbhzch4j6ggxzcw4"))))
(build-system emacs-build-system)
+ (propagated-inputs
+ (list emacs-tomelr))
(home-page "https://ox-hugo.scripter.co")
(synopsis "Hugo markdown back-end for Org export engine")
(description
@@ -27662,7 +27813,9 @@ contrast and few colors.")
;; EMACSLOADPATH.
(for-each (lambda (f)
(rename-file f (basename f)))
- (find-files "./themes" ".*\\.el$"))
+ (append
+ (find-files "./themes" ".*\\.el$")
+ (find-files "./extensions" ".*\\.el$")))
#t)))))
(synopsis "Wide collection of color themes for Emacs")
(description "Emacs-doom-themes contains numerous popular color themes for
@@ -27673,7 +27826,7 @@ Emacs that integrate with major modes like Org-mode.")
(define-public emacs-modus-themes
(package
(name "emacs-modus-themes")
- (version "2.3.3")
+ (version "2.4.0")
(source
(origin
(method git-fetch)
@@ -27682,7 +27835,7 @@ Emacs that integrate with major modes like Org-mode.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "14nfb94y9vcnpmwj9acwl6h5v0h1c6swqf33ch4zimxxqgx9zrm4"))))
+ (base32 "0ia6r68fqbv64r9jm92vmqypq15nl8yy07n18hqrfbp1fy47zds1"))))
(native-inputs (list texinfo))
(build-system emacs-build-system)
(arguments
@@ -30353,6 +30506,62 @@ built-in generator package. It provides @code{iter2-defun} and
original package.")
(license license:gpl3+)))
+(define-public emacs-bind-map
+ (let ((commit "510a24138d8de3b8df0783f1ac493a551fc9bd74")
+ (revision "0"))
+ (package
+ (name "emacs-bind-map")
+ (version (git-version "1.1.2" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/justbur/emacs-bind-map")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0crxjy1ykgb429z8ikjv5iy8vg5i0qn8n86p2lgri4glx45sxxx0"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/justbur/emacs-bind-map")
+ (synopsis "Bind personal keymaps in multiple locations")
+ (description
+ "@code{emacs-bind-map} provides a macro bind-map which can be used to
+make a keymap available across different leader keys including ones
+tied to evil states. It is essentially a generalization of the idea
+of a leader key as used in Vim or the @code{emacs-evil-leader} package,
+and allows for an arbitrary number of leader keys.")
+ (license license:gpl3+))))
+
+(define-public emacs-spaceleader
+ (let ((commit "35368b03c094399c487cce93ab5b7ac725bd04f5")
+ (revision "0"))
+ (package
+ (name "emacs-spaceleader")
+ (version (git-version "0.0.3" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mohkale/spaceleader")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1lg51y59z6igqjw3vgyjc5zw32j11xhzw8y0svlx3ry415b0lnls"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ (list emacs-dash
+ emacs-general
+ emacs-which-key
+ emacs-use-package
+ emacs-bind-map))
+ (home-page "https://github.com/mohkale/spaceleader")
+ (synopsis "Emacs leader key implementation from Spacemacs")
+ (description
+ "@code{emacs-spaceleader} replicates Spacemacs' leader key features,
+without requiring all of Spacemacs. The @code{<Leader>} key, inspired by Vim,
+provides an easy way to bind keys under a configurable prefix key.")
+ (license license:gpl3+))))
+
(define-public emacs-promise
(package
(name "emacs-promise")
@@ -31084,6 +31293,25 @@ wraps GNU Global calls and integration to editor using this API with
project.el and xref.el.")
(license license:gpl3+))))
+(define-public emacs-seq
+ (package
+ (name "emacs-seq")
+ (version "2.23")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://elpa.gnu.org/packages/seq-" version ".tar"))
+ (sha256
+ (base32 "1lbxnrzq88z8k9dyylg2636pg9vc8bzfprs1hxwp9ah0zkvsn52p"))))
+ (build-system emacs-build-system)
+ (home-page "https://elpa.gnu.org/packages/seq.html")
+ (synopsis "Sequence manipulation functions")
+ (description
+ "This Emacs package provides sequence manipulation functions that
+complement basic functions provided by @file{subr.el}. All its functions
+are prefixed with @code{seq-} and work on lists, strings, and vectors.")
+ (license license:gpl3+)))
+
(define-public emacs-setup
(package
(name "emacs-setup")
@@ -31107,6 +31335,28 @@ extended by the user via @code{setup-define}. A list of currently known
local macros are documented in the docstring for @code{setup}.")
(license license:gpl3+)))
+(define-public emacs-tomelr
+ (package
+ (name "emacs-tomelr")
+ (version "0.4.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kaushalmodi/tomelr/")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32 "03iih7arjlfg8gdp4v2xglas9z519q1s11l28igr8l0m5y0pdrnk"))
+ (file-name (git-file-name name version))))
+ (build-system emacs-build-system)
+ (propagated-inputs (list emacs-map emacs-seq))
+ (home-page "https://github.com/kaushalmodi/tomelr/")
+ (synopsis "Emacs-Lisp library for converting S-expressions to TOML")
+ (description
+ "This package provides the @code{tomelr-encode} function to convert a Lisp
+data expression in Alist or Plist format to a TOML string.")
+ (license license:gpl3+)))
+
(define-public emacs-ed-mode
;; XXX: Upstream did not tag any commits yet.
(let ((commit "69f4fb34eca8df6a3bfe24bd8d8075551f0264ac")
@@ -31195,6 +31445,43 @@ buffers using font locking and text properties. The package styles
headlines, keywords, tables and source blocks.")
(license license:gpl3+)))
+(define-public emacs-pyimport
+ (let ((commit "a6f63cf7ed93f0c0f7c207e6595813966f8852b9")
+ (revision "0"))
+ (package
+ (name "emacs-pyimport")
+ (version (git-version "1.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/Wilfred/pyimport")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1q5gqhvh4zq5dy8vns694warcz48j1hdnxg16sjck4gsi9xivbvs"))))
+ (build-system emacs-build-system)
+ (inputs
+ (list python-pyflakes))
+ (propagated-inputs
+ (list emacs-dash emacs-s emacs-shut-up))
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-pyflakes-executable
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((pyflakes (search-input-file inputs "/bin/pyflakes")))
+ (make-file-writable "pyimport.el")
+ (substitute* "pyimport.el"
+ (("\"pyflakes")
+ (string-append "\"" pyflakes)))))))))
+ (home-page "https://github.com/Wilfred/pyimport")
+ (synopsis "Manage Python imports from Emacs")
+ (description
+"@code{emacs-pyimport} manages python imports from Emacs via @code{python-pyflakes}.")
+ (license license:gpl3+)))) ; License is in pyimport.el
+
(define-public emacs-osm
(package
(name "emacs-osm")
@@ -31225,6 +31512,33 @@ zoomable and moveable map display, display of tracks and POIs from GPX files,
parallel fetching of tiles with cURL, and more.")
(license license:gpl3+)))
+(define-public emacs-popon
+ ;; Upstream does not tag releases. The commit below matches the version
+ ;; bump.
+ (let ((commit "d16cb747d356eab3f1bc4061ecee473732f7b8bb"))
+ (package
+ (name "emacs-popon")
+ (version "0.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://codeberg.org/akib/emacs-popon")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1i5rp0gvcdqakzaznsh0lqzvlq5kif9q2grq4l80gl75dmqdpym7"))))
+ (build-system emacs-build-system)
+ (home-page "https://codeberg.org/akib/emacs-popon/")
+ (synopsis "Pop floating text on a window")
+ (description
+ "@code{emacs-popon} allows you to pop text on a window, what we call
+a popon. Popons are window-local and sticky, they don't move while
+scrolling, and they even don't go away when switching buffer, but you
+can bind a popon to a specific buffer to only show on that buffer.")
+ (license license:gpl3+))))
+
(define-public emacs-bitbake-modes
(package
(name "emacs-bitbake-modes")