diff options
Diffstat (limited to 'gnu/packages/emacs-xyz.scm')
-rw-r--r-- | gnu/packages/emacs-xyz.scm | 648 |
1 files changed, 542 insertions, 106 deletions
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 9ccacb7e56..8574ce7291 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -160,6 +160,9 @@ ;;; Copyright © 2025 Kurome <hunt31999@gmail.org> ;;; Copyright © 2025 Anderson Torres <anderson.torres.8519@gmail.com> ;;; Copyright © 2025 Jake Forster <jakecameron.forster@gmail.com> +;;; Copyright @ 2025 Andrew Wong <wongandj@icloud.com> +;;; Copyright @ 2025 Nik Gaffney <nik@fo.am> +;;; Copyright © 2025 Untrusem <mysticmoksh@riseup.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -270,6 +273,7 @@ #:use-module (gnu packages messaging) #:use-module (gnu packages package-management) #:use-module (gnu packages perl) + #:use-module (gnu packages perl6) #:use-module (gnu packages pdf) #:use-module (gnu packages racket) #:use-module (gnu packages ruby) @@ -498,6 +502,31 @@ states–that is, any major mode that supports the bookmark system is compatible.") (license license:gpl3+))) +(define-public emacs-sops + (package + (name "emacs-sops") + (version "0.1.7") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/djgoku/sops") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1n49p86sfvhaig7mp17zm9mrsp14mmvgvprp1n16r6kgfx52wxzq")))) + (build-system emacs-build-system) + (home-page "https://github.com/djgoku/sops") + (synopsis "SOPS encrypt and decrypt without leaving the editor") + (description + "This package provides a minor mode for editing @acronym{SOPS, Secret +OPerationS}-encrypted files. To enable it automatically, set +@code{global-sops-mode}. Users can decrypt with @code{sops-edit-file}, save +changes with @code{sops-save-file}, or discard them with @code{sops-cancel}. +The files are displayed in read-only mode to prevent accidental corruption, +which is useful for partly encrypted files with only one encrypted line.") + (license license:gpl3+))) + (define-public emacs-age (package (name "emacs-age") @@ -621,7 +650,7 @@ input via a small child-frame spawned at the position of the cursor.") (define-public emacs-geiser (package (name "emacs-geiser") - (version "0.31.1") + (version "0.32") (source (origin (method git-fetch) @@ -630,16 +659,18 @@ input via a small child-frame spawned at the position of the cursor.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "194k1bj4ncl9w68s0dkm9ya853hxbm9lxwsckqsmaj57jz7hw46f")))) + (base32 "09dqwxa2h471xcyk5zncxzaz19gf8d5r83yhi425blf2r1ir7b34")))) (build-system emacs-build-system) (arguments - '(#:lisp-directory "elisp" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'make-info - (lambda _ - (invoke "makeinfo" "--no-split" - "-o" "geiser.info" "../doc/geiser.texi")))))) + (list + #:tests? #f ;no tests + #:lisp-directory "elisp" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'make-info + (lambda _ + (invoke "makeinfo" "--no-split" + "-o" "geiser.info" "../doc/geiser.texi")))))) (native-inputs (list texinfo)) (home-page "https://www.nongnu.org/geiser/") @@ -718,8 +749,8 @@ files rather than customizing the variable directly.") (license license:gpl2+)))) (define-public emacs-gptel-quick - (let ((commit "d7a3aedefdc656a136d5664f2dac165a1f6ebf0e") - (revision "1")) + (let ((commit "495b5e0b5348dbced1448bd12cbf8847e30b5175") + (revision "2")) (package (name "emacs-gptel-quick") (version (git-version "0.0.5" revision commit)) @@ -730,7 +761,7 @@ files rather than customizing the variable directly.") (commit commit))) (method git-fetch) (sha256 - (base32 "05khdra5aig8466flwl62nsngyn9cz11zwjn0vyyig9c48n8nfka")) + (base32 "1k4n0qmaw4cbybw502wnn1mv2pr9giaickq830ly6bxrc5wz7jn4")) (file-name (git-file-name name version)))) (build-system emacs-build-system) (propagated-inputs (list emacs-gptel)) @@ -744,7 +775,7 @@ summarizing text using an LLM.") (define-public emacs-chatgpt-shell (package (name "emacs-chatgpt-shell") - (version "2.16.1") + (version "2.24.2") (source (origin (method git-fetch) (uri (git-reference @@ -753,7 +784,7 @@ summarizing text using an LLM.") (file-name (git-file-name name version)) (sha256 (base32 - "1xq4hfr3m5sgi9wrr3nrp6fsnnw8d044gz0y50d4h46cvq8c6f2g")))) + "01havy6nidbw2ipyxh2h82xgk3jb32bjl5mpqa4g0p6rgb8dklhr")))) (build-system emacs-build-system) (arguments (list #:phases @@ -772,11 +803,37 @@ summarizing text using an LLM.") "-f" "ert-run-tests-batch-and-exit"))) (propagated-inputs (list emacs-shell-maker)) (home-page "https://github.com/xenodium/chatgpt-shell") - (synopsis "ChatGPT and DALL-E Emacs shells and Org Babel libraries") + (synopsis "Multi-llm Emacs shell") (description - "Chatgpt Shell is a Comint-based ChatGPT shell for Emacs.") + "@code{Chatgpt-shell} is a comint-based LLM shell for Emacs, with support +for multiple backends.") (license license:gpl3+))) +(define-public emacs-dall-e-shell + (let ((commit "efec43ab3338e59f12165110e6c6c957345f6257") + (revision "0")) + (package + (name "emacs-dall-e-shell") + (version (git-version "0.43.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/xenodium/dall-e-shell/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1fab097pgqc9by9dhjmsgn3grp905h7pivnz46w9s52pa1pvbrmv")))) + (build-system emacs-build-system) + (arguments (list #:tests? #f)) ;no tests + (propagated-inputs (list emacs-shell-maker)) + (home-page "https://github.com/xenodium/dall-e-shell/") + (synopsis "Emacs shell for Dall-e") + (description + "Dall-e Shell is a comint-based Dall-e shell for Emacs.") + (license license:gpl3+)))) + (define-public emacs-geiser-guile (package (name "emacs-geiser-guile") @@ -1047,6 +1104,35 @@ optional baked-in Evil support, antialiased separators, and an easy configuration language which makes it trivial to write your own themes.") (license license:gpl3+))) +(define-public emacs-i-ching + (package + (name "emacs-i-ching") + (version "20241113.1642") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/zzkt/i-ching.git") + (commit + "e4339cb64a97e0d04a4cb8e7183aeec4e4ae6a29"))) + (sha256 + (base32 + "08827zq4jni4bxlmjq24nbj6k2q07ks6mb47xfs2bp8hjqb0m07f")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-request)) + (home-page "https://codeberg.org/zzkt/i-ching") + (synopsis "The Book of Changes") + (description + "Cast hexagrams and consult the I Ching, or 'Book of Changes' from the +comfort of Emacs. The I Ching can be used as a divination method, pattern +generator or fixed point for millennia of commentary & exegesis. This package +provides methods for casting and describing hexagrams, querying the oracle, +and finding patterns in randomness. The descriptions of hexagrams and their +classification have been drawn from public domain sources, tradition and +antiquity.") + (license license:gpl3+))) + (define-public emacs-inspector (let ((commit "0c02fd712ff89006227838e18a4685678abd9ba8") (revision "1")) @@ -2115,7 +2201,7 @@ libgit2 bindings for Emacs, intended to boost the performance of Magit.") (define-public emacs-llama (package (name "emacs-llama") - (version "0.6.1") + (version "1.0.0") (source (origin (method git-fetch) (uri (git-reference @@ -2124,11 +2210,11 @@ libgit2 bindings for Emacs, intended to boost the performance of Magit.") (file-name (git-file-name name version)) (sha256 (base32 - "0pa7sdj7rxj8hr3r2lcwz3z04b8b9k61d9j9a7qr1n3n9x9krdjd")))) + "0yp1k70pgi45k8gb7xn229g1dzmwnijabvzxgrwacp02n7v1piyh")))) (build-system emacs-build-system) (arguments (list #:test-command #~(list "emacs" "-Q" "--batch" - "-l" "llama.el" + "-l" "llama-test.el" "-f" "ert-run-tests-batch-and-exit"))) (propagated-inputs (list emacs-compat)) (home-page "https://github.com/tarsius/llama") @@ -2167,6 +2253,33 @@ language model}s out in the world. To respect user freedom, it will warn you before interacting with non-free LLMs.") (license license:gpl3+))) +(define-public emacs-llm-tool-collection + (let ((commit "6d2765a16dc10af2e1d1911bcabf6d7f287e0434") + (revision "0")) + (package + (name "emacs-llm-tool-collection") + (version (git-version "0.1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/skissue/llm-tool-collection/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1rddjhm5jrl5a32bzmhrjfyh54y6ibrsj5pb5hrp3h93iwp16vwk")))) + (build-system emacs-build-system) + (arguments + (list #:emacs emacs ;for cl-lib + #:tests? #f)) ;no tests + (home-page "https://github.com/skissue/llm-tool-collection/") + (synopsis "Collection of Emacs Lisp LLM tools") + (description + "This package provides a collection of tools to be used by +@acronym{Large Language Models, LLM} clients in Emacs.") + (license license:gpl3+)))) + (define-public emacs-magit (package (name "emacs-magit") @@ -2382,6 +2495,33 @@ games. Malyon plays version 3 (.z3), version 5 (.z5), and version 8 (.z8) z code files.") (license license:expat))) +(define-public emacs-mcp + ;; No releases available. + (let ((commit "4708c5849ce4ddb632016eca662a7405bfa642d4") + (revision "0")) + (package + (name "emacs-mcp") + (version (git-version "0.1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lizqwerscott/mcp.el/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "11x3jscm4iggyy926aidiv95lrbcncngbvivsybvzjvbhdxhb65h")))) + (build-system emacs-build-system) + (arguments (list #:tests? #f)) ;no tests + (inputs (list emacs-jsonrpc)) + (home-page "https://github.com/lizqwerscott/mcp.el/") + (synopsis "Emacs interface to MCP protocol") + (description "@code{emacs-mcp} is an Emacs client providing structured +communication to @acronym{Model Context Protocol, MCP} servers, with Support +for filesystem and generic servers.") + (license license:gpl3+)))) + (define-public emacs-mct (package (name "emacs-mct") @@ -3355,7 +3495,7 @@ prover, version 4.") (define-public emacs-lem (package (name "emacs-lem") - (version "0.23") + (version "0.24") (source (origin (method git-fetch) @@ -3365,7 +3505,7 @@ prover, version 4.") (file-name (git-file-name name version)) (sha256 (base32 - "0mi4s4zaq1dam6bnmxlyc22k0nh3wpgar8lwijd0fksylnwjzzwy")))) + "181cibmv6da4rjr6p3nqpza6i7v4scc4qndznhyjb9nhbf3gsil4")))) (build-system emacs-build-system) (arguments (list @@ -5286,6 +5426,32 @@ always indented. It reindents after every change, making it more reliable than @code{electric-indent-mode}.") (license license:gpl2+))) +(define-public emacs-smarttabs + (package + (name "emacs-smarttabs") + (version "1.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jcsalomon/smarttabs") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0hkgw9i4yynazx5vbkb8a1lfp0yndyi8c1w3cf7ajxpnig3hs9j6")))) + (build-system emacs-build-system) + (arguments (list #:tests? #f)) ;no tests + (home-page "http://www.emacswiki.org/emacs/SmartTabs") + (synopsis "Indent with tabs, align with spaces!") + (description + "There is a semantic way of using tab characters in source code: +@strong{tabs for indentation, spaces for alignment}. This package provides a +minor mode which improves Emacs' auto-indenting so that pressing @key{TAB} +inserts the correct mix of tabs and spaces to maintain visual alignment +regardless of a viewer's tab width. You can still use all spaces if you +prefer; the code merely ensures that @emph{if} you enable tabs, the tab size +does not matter.") + (license license:gpl2+))) + (define-public emacs-gc-stats (package (name "emacs-gc-stats") @@ -6245,6 +6411,41 @@ Ellama natively supports streaming output, making it effortless to use with your preferred text editor.") (license license:gpl3+))) +(define-public emacs-ollama-buddy + (package + (name "emacs-ollama-buddy") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/captainflasmr/ollama-buddy/") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "17jrpmj5wnafwsbvwrdfds9c92nflcf5sipd37ci4gsjckd83wvq")))) + (build-system emacs-build-system) + (arguments + (list + #:include #~(cons* "ollama-buddy-presets" "ollama-buddy-mini" + %default-include) + ;; See: https://github.com/captainflasmr/ollama-buddy/issues/17 + #:tests? #f + #:test-command #~(list "make" "test") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'build-info-manual + (lambda _ + (invoke "make" "-C" "docs" "docs") + (rename-file "docs/ollama-buddy.info" "ollama-buddy.info")))))) + (native-inputs (list texinfo)) + (home-page "https://github.com/captainflasmr/ollama-buddy/") + (synopsis "Interface for interacting with Ollama models") + (description + "@code{Ollama-buddy} offers a convenient way to integrate to Ollama's +local LLM capabilities from Emacs.") + (license license:gpl3+))) + (define-public emacs-org-fc (package (name "emacs-org-fc") @@ -9426,6 +9627,32 @@ blocks with @code{org-babel} in @code{org-mode}.") code. It was created based on the usage of @code{ob-C}.") (license license:gpl3+)))) +(define-public emacs-ob-gptel + (let ((commit "e8eaa098b71f0f29ddbb5ea078514dc584e331e0") + (revision "1")) + (package + (name "emacs-ob-gptel") + (version (git-version "0.1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jwiegley/ob-gptel/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0rfg2kklj18smhyc15a8j15r9x5q6dq46isyh9ss49wx791bw652")))) + (build-system emacs-build-system) + (arguments (list #:tests? #f)) ;no tests + (propagated-inputs + (list emacs-gptel)) + (home-page "https://github.com/jwiegley/ob-gptel/") + (synopsis "Org Babel support for evaluating @code{gptel} prompts.") + (description "@code{ob-gptel} is a backend for Org Babel. It provides +an alternative interface to evaluate @{gptel} prompts as Org mode blocks.") + (license license:gpl3+)))) + (define-public emacs-ob-restclient (let ((commit "1b021ce1c67c97fa1aa4d2c0816edb7add129e48")) (package @@ -9772,6 +9999,37 @@ which-func, navigation and basic beautify and completion features to navigate and edit VHDL files.") (license license:gpl3+))) +(define-public emacs-typst-ts-mode + (let ((commit "972dc69d6b8a3f8983f6b8000654f59c8a8d05ba") + (revision "0")) + ;; Releases are not tagged, so use commits that change the "Version:" + ;; keyword in the main file. + (package + (name "emacs-typst-ts-mode") + (version (git-version "0.12.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/meow_king/typst-ts-mode") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "167kdgbxp8n721xnka803lzgwxrfx4h6m4m2ip0lnfxi2fv007zv")) + (snippet #~(begin (delete-file "test/basic-syntax.pdf"))))) + (build-system emacs-build-system) + (propagated-inputs (list tree-sitter-typst)) + ;; There is a 'test' directory, but it is for use during development. + ;; There are no automated tests. + (arguments (list #:tests? #f)) + (home-page "https://codeberg.org/meow_king/typst-ts-mode") + (synopsis "Typst tree-sitter mode") + (description + "@code{typst-ts-mode} is a tree-sitter mode for the Typst typesetting and +markup language, providing automatic (re-)compilation, structural navigation, +symbol and documentation lookup, and more.") + (license license:gpl3+)))) + (define-public emacs-mode-line-bell (package (name "emacs-mode-line-bell") @@ -10015,7 +10273,7 @@ the speedbar window.") (define-public emacs-shell-maker (package (name "emacs-shell-maker") - (version "0.76.2") + (version "0.79.2") (source (origin (method git-fetch) (uri (git-reference @@ -10024,8 +10282,9 @@ the speedbar window.") (file-name (git-file-name name version)) (sha256 (base32 - "0df0mxaz2g4fzdlhxygifmsjnxw7n8v1ghz1pnlhad0anpwdsdv9")))) + "1hxixhd1n6zdfqhjgaf0sqwc6fy2wgils3307wzsxx3cca500vnh")))) (build-system emacs-build-system) + (arguments (list #:tests? #f)) ;no tests (home-page "https://github.com/xenodium/shell-maker") (synopsis "Create Emacs shells") (description "Shell Maker is a convenience wrapper around Comint mode.") @@ -10406,9 +10665,10 @@ errors.") (base32 "1fh6j5w2387nh2fwwjphkhq17cgj5m2q5k0fhidvgc2w65lzbr1r")))) (propagated-inputs (list emacs-dash emacs-flycheck emacs-let-alist)) - (native-inputs (list emacs-buttercup - rust-bootstrap - `(,rust-bootstrap "cargo"))) + (native-inputs + (list emacs-buttercup + rust-bootstrap-1.54 + `(,rust-bootstrap-1.54 "cargo"))) (build-system emacs-build-system) (home-page "https://github.com/flycheck/flycheck-rust") (synopsis "Rust/Cargo support for Flycheck") @@ -12886,7 +13146,7 @@ sgml/html integration, and indentation (working with sgml).") (define-public emacs-jinx (package (name "emacs-jinx") - (version "2.1") + (version "2.3") (source (origin (method git-fetch) @@ -12896,7 +13156,7 @@ sgml/html integration, and indentation (working with sgml).") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1kfxx9657zn4sy463gxwsqqh4bcdxxaf3x7jkgasl4v18mrvid1i")))) + (base32 "17pmj9dzyih4m06n7g357a0a8p6v8b216g33r5pcbqz8g0k40djw")))) (build-system emacs-build-system) (arguments (list @@ -14201,7 +14461,7 @@ style, or as multiple word prefixes.") (define-public emacs-consult (package (name "emacs-consult") - (version "2.5") + (version "2.7") (source (origin (method git-fetch) @@ -14209,7 +14469,7 @@ style, or as multiple word prefixes.") (url "https://github.com/minad/consult") (commit version))) (sha256 - (base32 "1x9w65i8j1dayql1kddrzs3abgw5qkqcxs4az62rac239j7jf8xh")) + (base32 "1vgvs1ymssh5gv7xwnv9bksmgr3i5zqzqhyxz5x8ygj6fxfv2f12")) (file-name (git-file-name name version)))) (build-system emacs-build-system) (arguments @@ -21301,12 +21561,11 @@ exposes a small API to assist in writing your own snippets.") (license license:expat)))) (define-public emacs-helm-c-yasnippet - (let ((commit "65ca732b510bfc31636708aebcfe4d2d845b59b0") - (revision "1")) + (let ((commit "c5880e740da101fde7a995e94a7b16c330e57583") + (revision "2")) (package (name "emacs-helm-c-yasnippet") - (version (string-append "0.6.7" "-" revision "." - (string-take commit 7))) + (version (git-version "0.6.7" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -21315,14 +21574,19 @@ exposes a small API to assist in writing your own snippets.") (file-name (git-file-name name version)) (sha256 (base32 - "1cbafjqlzxbg19xfdqsinsh7afq58gkf44rsg1qxfgm8g6zhr7f8")))) + "026i2cywf3gvhbvnc996i76vv1pqzi21j6v8zwm198dj1f1wg4kw")))) (build-system emacs-build-system) + (arguments + (list + #:test-command #~(list "emacs" "--batch" + "-l" "test/helm-yasnippet-test.el" + "-f" "ert-run-tests-batch-and-exit"))) (propagated-inputs (list emacs-helm emacs-yasnippet)) (home-page "https://github.com/emacs-jp/helm-c-yasnippet") (synopsis "Helm integration for Yasnippet") - (description "This Emacs library provides Helm interface for -Yasnippet.") + (description + "This Emacs library provides Helm interface for Yasnippet.") (license license:gpl2+)))) (define-public emacs-helm-system-packages @@ -23172,10 +23436,11 @@ one if it fails.") (define-public emacs-eglot-x ;; Not tagged. - (let ((commit "a09ab28cf01d7cbb223ad83fbbb694c5158c96b8")) + (let ((commit "8e872efd3d0b7779bde5b1e1d75c8e646a1f729f") + (revision "1")) (package (name "emacs-eglot-x") - (version "0.6") + (version (git-version "0.6" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -23184,18 +23449,14 @@ one if it fails.") (file-name (git-file-name name version)) (sha256 (base32 - "0s17nv59gzgqgskid41lfacsqnzdiq2p3ds0vglcfqwypr3k898c")) - ;; Backporting an unreleased fix from - ;; https://github.com/nemethf/eglot-x/commit/354150c299e241df09c8b904b68177fd9b41fe0e - ;; Remove this patch once version 0.7 is released - (patches (search-patches "emacs-eglot-x-fix-apply-text-edits.patch")))) + "0s2p22w0b5a3b97x99qybhfgicvkzkcma6lfbi0nda54v25a8skb")))) (build-system emacs-build-system) (inputs (list emacs-eglot)) (home-page "https://github.com/nemethf/eglot-x") (synopsis "Protocol extensions for Eglot") (description - "This package adds support for some LSP extensions to @code{emacs-eglot}. -") + "This package adds support for some LSP extensions to +@code{emacs-eglot}.") (license license:gpl3+)))) (define-public emacs-eglot-booster @@ -23302,7 +23563,7 @@ variable instead, to remind you of that variable's meaning.") (define-public emacs-eldoc-box (package (name "emacs-eldoc-box") - (version "1.13.2") + (version "1.14.1") (source (origin (method git-fetch) (uri (git-reference @@ -23311,8 +23572,9 @@ variable instead, to remind you of that variable's meaning.") (file-name (git-file-name name version)) (sha256 (base32 - "1136rgi7qy5kmciqrz88lxvk01fdcpry2srsvv3h2rfqwmiccpl0")))) + "0hk716pym15crmnviwikwrdqzhs74widjlz5zrp5107klqgxicwn")))) (build-system emacs-build-system) + (arguments (list #:tests? #f)) ;no tests (home-page "https://github.com/casouri/eldoc-box") (synopsis "Childframe doc for eglot and anything that uses eldoc") (description @@ -27742,6 +28004,45 @@ successive level is highlighted in a different color. This makes it easy to orient yourself in the code, and tell which statements are at a given level.") (license license:gpl3+)))) +(define-public emacs-raku-mode + (let ((revision "0") + (commit "14f9b9bba08c0bbb7f3895380d0b1a9feb7a168d")) + (package + (name "emacs-raku-mode") + (version (git-version "0.2.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Raku/raku-mode") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "03r858crkxfp2nswsk81ajr8ynqm501a3l6qmbmlk57pb1p2a1py")))) + (build-system emacs-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-exec-path + (lambda* (#:key inputs #:allow-other-keys) + (emacs-substitute-variables "raku-repl.el" + ("raku-exec-path" (search-input-file inputs "/bin/raku"))))) + (add-before 'check 'skip-failing-test + (lambda _ + (substitute* "test/raku-mode-test.el" + (("\\(ert-deftest perl5-font-lock-keywords/variable .*" all) + (string-append all "(skip-unless nil)")))))))) + (native-inputs (list emacs-ert-runner)) + (inputs (list rakudo)) + (home-page "https://github.com/Raku/raku-mode") + (synopsis "Major mode for editing Raku code") + (description + "Emacs major mode for editing Raku code. It supports basic syntax +highlighting, basic indentation, identifier index menu (variables, +subs, classes, etc.), and REPL interaction.") + (license license:gpl3+)))) + (define-public emacs-tree-mode (let ((commit "b06078826d5875d74b0e7b7ac47b0d0917610534") (revision "1")) @@ -28200,10 +28501,10 @@ within Emacs.") (define-public emacs-svg-lib ;; XXX: Upstream does not tag releases. The commit hash below corresponds ;; to the version bump. - (let ((commit "5ba4e4ea2b5c66e8811beb53251dee13685b2cb2")) + (let ((commit "f62279a4edbe2f67faf573d09b211653acea9668")) (package (name "emacs-svg-lib") - (version "0.2.6") + (version "0.3") (source (origin (method git-fetch) @@ -28212,8 +28513,9 @@ within Emacs.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "1zpcw8arizwjiz7diky7f0nh65zkp0pmnpyqzb0h1qgqnlf734k4")))) + (base32 "09l1hkif5pc4yskr1by5s4kmgx0k0ximk5p5fvcdvryrh687gwm4")))) (build-system emacs-build-system) + (arguments (list #:tests? #f)) ;no tests (home-page "https://github.com/rougier/svg-lib") (synopsis "Emacs SVG library for creating tags, icons and bars") (description @@ -28226,10 +28528,10 @@ width is an integer multiple of character width.") (define-public emacs-svg-tag-mode ;; XXX: Upstream does not tag releases. The commit hash below corresponds ;; to the version bump. - (let ((commit "3b07983614bee0195534e7a8a6dcfab757da4f0b")) + (let ((commit "13e888b8bd9a0664d060149a44a751b2113331b6")) (package (name "emacs-svg-tag-mode") - (version "0.3.2") + (version "0.3.3") (source (origin (method git-fetch) @@ -28238,8 +28540,9 @@ width is an integer multiple of character width.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "0nc0y2dn67gy9cly3yamskfd9dd028xbask8gjxql934bq0ads2i")))) + (base32 "0fbq5gcr4rfddjdfy5qcnlk64lb15pibg1bbgdnyqvyvvv0biw48")))) (build-system emacs-build-system) + (arguments (list #:tests? #f)) ;no tests (propagated-inputs (list emacs-svg-lib)) (home-page "https://github.com/rougier/svg-tag-mode") @@ -30024,27 +30327,27 @@ using user-provided rules.") (license license:gpl3+))) (define-public emacs-on - (let ((commit "83baed07a105c135190d49d7ec77f95e8f38fa54") - (revision "0")) - (package - (name "emacs-on") - (version (git-version "0.1.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ajgrf/on.el") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "14ly3w89hf4jgd8wacirxgd8vrgj7vc0hpfn911w5wa4k2a6nzpp")))) - (build-system emacs-build-system) - (home-page "https://github.com/ajgrf/on.el") - (synopsis "Hooks for faster Emacs startup") - (description - "This package exposes a number of utility hooks and functions ported + (package + (name "emacs-on") + (version "0.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/axgfn/on.el/") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "00ljs4zqz29iq942z2009dyhbydgw8p92mc34pz0pjdqw5885kn0")))) + (build-system emacs-build-system) + (arguments (list #:tests? #f)) ;no tests + (home-page "https://gitlab.com/axgfn/on.el/") + (synopsis "Hooks for faster Emacs startup") + (description + "This package exposes a number of utility hooks and functions ported from Doom Emacs.") - (license license:expat)))) + (license license:expat))) (define-public emacs-on-screen (package @@ -33272,26 +33575,28 @@ of trying to find that piece of text you know you killed a while back? Then (license license:gpl2+)))) (define-public emacs-powerline - (package - (name "emacs-powerline") - (version "2.4") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/milkypostman/powerline") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1hp3xp18943n0rlggz55150020ivw8gvi1vyxkr4z8xhpwq4gaar")))) - (build-system emacs-build-system) - (home-page "https://github.com/milkypostman/powerline/") - (synopsis "Mode-line plugin for Emacs") - (description "Powerline is a utility plugin which allows you to create + (let ((commit "c35c35bdf5ce2d992882c1f06f0f078058870d4a") + (revision "0")) + (package + (name "emacs-powerline") + (version (git-version "2.5" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/milkypostman/powerline") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0k1n5pg8v3ybkqxcipw80jqv94ka0dp63qxl0hvjwlxk16gxp8kb")))) + (build-system emacs-build-system) + (home-page "https://github.com/milkypostman/powerline/") + (synopsis "Mode-line plugin for Emacs") + (description + "Powerline is a utility plugin which allows you to create a better-looking, more functional Emacs mode-line. A collection of predefined themes comes with the package.") - (license license:gpl3+))) + (license license:gpl3+)))) (define-public emacs-spaceline (package @@ -34522,6 +34827,32 @@ inserting a new line with the same indentation level as the current line.") (home-page "https://github.com/jamescherti/outline-indent.el") (license license:gpl3+))) +(define-public emacs-repeat-fu + ;; Upstream has no tags; release extracted from source code + (let ((commit "b91d55001cca71e5df7a9f665c7da73ab9f55efd") + (revision "0")) + (package + (name "emacs-repeat-fu") + (version (git-version "0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/ideasman42/emacs-repeat-fu") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "04kpzwcl3lzqvaw16wy7qjw5kfnbhndby1adwkv8p3bbqjqj5g48")))) + (build-system emacs-build-system) + (arguments + (list #:tests? #f)) ; No tests + (synopsis "Minor mode to repeat typing or commands") + (description + "Repeat multi-command \"edits\" with configurable behavior, supporting +multiple modal editing systems.") + (home-page "https://codeberg.org/ideasman42/emacs-repeat-fu") + (license license:gpl3+)))) + (define-public emacs-repo (package (name "emacs-repo") @@ -35104,7 +35435,7 @@ in Docker environment.") (define-public emacs-dape (package (name "emacs-dape") - (version "0.24.0") + (version "0.24.1") (source (origin (method git-fetch) @@ -35113,7 +35444,7 @@ in Docker environment.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0rbqi082kn30qqji7is13cw34wgqbynf4cxcy8kh9vq1b1g5nmmh")))) + (base32 "0xlgshrhm09azy5afrlrdxlnyb08p7v06vb6mws6ii3pbr50y3k7")))) (build-system emacs-build-system) (arguments ;; FIXME python tests pass, JS tests require additional dependencies @@ -37744,6 +38075,33 @@ corresponding Evil keys.") implementation of Windows NT and LanManager compatible password encryption.") (license license:gpl3+))) +(define-public emacs-numpydoc + (package + (name "emacs-numpydoc") + (version "0.9") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/douglasdavis/numpydoc.el") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ld5m75mmfb7kp18sww5blvlazk0j1j0yhdkhsx1m624dq5rag1c")))) + (build-system emacs-build-system) + (arguments + (list #:test-command + #~(list "eldev" "--use-emacsloadpath" "-dtT" "-p" "test"))) + (native-inputs (list emacs-buttercup emacs-eldev)) + (propagated-inputs (list emacs-dash emacs-s)) + (home-page "https://github.com/douglasdavis/numpydoc.el") + (synopsis "Insert NumPy-style docstrings in Python functions") + (description + "This package can be used to insert NumPy-style docstrings in Python +function definitions. The generated docstring includes argument names, type +hints, exceptions, and the return type hint.") + (license license:gpl3+))) + (define-public emacs-nushell-mode (let ((commit "c179c3cf573b2cc9421dc08bf47e2d619c7791ee") (revision "0")) @@ -38585,10 +38943,35 @@ time.") federated microblogging social network.") (license license:gpl3+))) +(define-public emacs-org-social + (let ((commit "e52c727c08444a3c6ccceb75492504e59ad5e804") + (revision "0")) + (package + (name "emacs-org-social") + (version (git-version "1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tanrax/org-social.el") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "06izvlmqx2yhig84i4xfcc6wdv5jyj1jr3irc6xdwbvwpck2qbcg")))) + (build-system emacs-build-system) + (arguments (list #:tests? #f)) + (propagated-inputs (list emacs-request)) + (home-page "https://github.com/tanrax/org-social.el") + (synopsis "Emacs client for Org-social") + (description + "This package provides an Emacs client for Org-social which is +a decentralized social network that runs on an Org Mode file over HTTP.") + (license license:gpl3+)))) + (define-public emacs-fedi ;; One year since last tagged release. - (let ((commit "0967dd0f05a46c19a44863c7c7bce560b5c9eee8") - (revision "2")) + (let ((commit "62aea20f11161d2665180498e79aade7e5f5a114") + (revision "3")) (package (name "emacs-fedi") (version (git-version "0.2" revision commit)) @@ -38600,7 +38983,7 @@ federated microblogging social network.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "1a19052p3sgf7k74sd0fww8i4g6lmvjar5mvzbkxrxk9han2m9z5")))) + (base32 "1s2i6fgw3682h173mx287zjh8w1nsw9jykjkkmx1qjqwgg0hxpzz")))) (build-system emacs-build-system) (arguments (list #:tests? #f)) ; no tests (propagated-inputs (list emacs-markdown-mode)) @@ -38634,7 +39017,7 @@ Lisp's (relatively new) EIEIO object oriented libraries.") (define-public emacs-fj (package (name "emacs-fj") - (version "0.21") + (version "0.22") (source (origin (method git-fetch) @@ -38643,7 +39026,7 @@ Lisp's (relatively new) EIEIO object oriented libraries.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0pvk69i6nz1gf36labj6cdskw8qsx44hx2z78s2fcvr8z4a345rl")))) + (base32 "1a7s2z5jpf1zff23wlh8rrdy3hbrhg7p8ybraay9wy4qm00dzbbm")))) (build-system emacs-build-system) (arguments (list #:tests? #f)) ; no tests (propagated-inputs (list emacs-fedi emacs-magit emacs-tp)) @@ -41386,6 +41769,31 @@ supports generation of phonetic and numeric passwords.") text into a QR Code and show it in a separate buffer.") (license license:gpl3+))) +(define-public emacs-quiet + (package + (name "emacs-quiet") + (version "20230530.859") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/zzkt/quiet.git") + (commit + "985b56606517971330c08686c49a8d06db763f3c"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0141z6acdffy96ghrwghzgqnv3mypvfkgci413dfaym4z80iwqdz")))) + (build-system emacs-build-system) + (arguments (list #:tests? #f)) + (home-page "https://codeberg.org/zzkt/quiet") + (synopsis "Disconnect from the online world for a while") + (description + "Simple package to disconnect from the online world for a while, +possibly reconnecting later. Any interruptions or distractions which occur +once the command is run are guaranteed to be local.") + (license license:gpl3+))) + (define-public emacs-csv (package (name "emacs-csv") @@ -41812,7 +42220,7 @@ using org mode; faster than org-roam.") (define-public emacs-org-mem (package (name "emacs-org-mem") - (version "0.17.2") + (version "0.18.1") (source (origin (method git-fetch) (uri (git-reference @@ -41821,8 +42229,21 @@ using org mode; faster than org-roam.") (file-name (git-file-name name version)) (sha256 (base32 - "12aqv1lay6g6vz02s0zqw4620agm0r3s5j87w16gvbawi240x096")))) + "1nm1avc0hbvhr43vkfw3jssiqyckd7ba6jw0qhvgcvk49df393wf")))) (build-system emacs-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'disable-failing-tests + (lambda _ + (substitute* (find-files "test/" "\\.el$") + (((string-append + "\\(ert-deftest " + "test-split-refs-field .*") all) + (string-append all "(skip-unless nil)\n")))))) + #:test-command #~(list "ert-runner"))) + (native-inputs (list emacs-ert-runner)) (propagated-inputs (list emacs-el-job emacs-llama)) (synopsis "Org structure cache") @@ -42815,15 +43236,30 @@ provides an easy way to bind keys under a configurable prefix key.") (define-public emacs-spacious-padding (package (name "emacs-spacious-padding") - (version "0.6.0") + (version "0.7.0") (source (origin - (method url-fetch) - (uri (string-append "https://elpa.gnu.org/packages/spacious-padding-" - version ".tar")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/protesilaos/spacious-padding/") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "0czx4w6vm56blvc26gymmijvcqhvmrlakqwlks1prckgnkgsvcpx")))) + (base32 "00mwzbvhzlvnhsbc5rki5cx08fnx4s7cmnlz8lqh534wmsmh3wf0")))) (build-system emacs-build-system) + (arguments + (list + #:tests? #f ;no tests + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'build-info-manual + (lambda _ + (invoke "emacs" + "--batch" + "--eval=(require 'ox-texinfo)" + "--eval=(find-file \"README.org\")" + "--eval=(org-texinfo-export-to-info)")))))) + (native-inputs (list texinfo)) (home-page "https://github.com/protesilaos/spacious-padding") (synopsis "Increase the padding or spacing of frames and windows") (description |