diff options
Diffstat (limited to 'gnu/packages/emacs-xyz.scm')
-rw-r--r-- | gnu/packages/emacs-xyz.scm | 729 |
1 files changed, 600 insertions, 129 deletions
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index a92ab71a97..9013e37a54 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -554,6 +554,52 @@ 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-inspector + (let ((commit "0e89d28558f57db4519f154bb72ce617a8c6265d") + (revision "0")) + (package + (name "emacs-inspector") + (version (git-version "0.8" revision commit)) + (source + (origin + (uri (git-reference + (url "https://github.com/mmontone/emacs-inspector") + (commit commit))) + (method git-fetch) + (sha256 + (base32 "0n72sqn29b5sya686cicgp40mkk5x5821b7bw4zs6dcl82cyij5n")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (arguments + (list + #:tests? #t + #:test-command #~(list "emacs" "-Q" "--batch" + "-L" "." + "-l" "inspector-tests.el" + "-l" "tree-inspector-tests.el" + "-f" "ert-run-tests-batch-and-exit") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'preserve-emacs-28-compatibility + ;; XXX: `cl-constantly' function is defined in "cl-lib" starting + ;; from Emacs 29+. For now, replace it with its definition. + (lambda _ + (substitute* "tree-inspector.el" + (("cl-constantly") "lambda (_)")))) + (add-before 'check 'skip-failing-test + (lambda _ + (substitute* "tree-inspector-tests.el" + (("\\(ert-deftest inspector-tests--inspect-struct-test.*" all) + (string-append all " (skip-unless nil)")))))))) + (native-inputs (list emacs-ert-runner)) + (propagated-inputs (list emacs-treeview)) + (home-page "https://github.com/mmontone/emacs-inspector") + (synopsis "Inspection tool for Emacs Lisp objects") + (description + "This package provides an introspection tool similar to those found in +Common Lisp or Smalltalk, but for Emacs Lisp.") + (license license:gpl3+)))) + (define-public emacs-terminal-here (package (name "emacs-terminal-here") @@ -576,6 +622,28 @@ Emacs, whose initial working directories are determined in relation to the current buffer.") (license license:gpl3+))) +(define-public emacs-treeview + (let ((commit "d9c10feddf3b959e7b33ce83103e1f0a61162723") + (revision "0")) + (package + (name "emacs-treeview") + (version (git-version "1.1.1" revision commit)) + (source + (origin + (uri (git-reference + (url "https://github.com/tilmanrassy/emacs-treeview") + (commit commit))) + (method git-fetch) + (sha256 + (base32 "14s0b6zbapsvgyxki59lglwb3s8wjsjwkgj5r66af9nj2bgz5ms9")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (home-page "https://github.com/tilmanrassy/emacs-treeview/") + (synopsis "Emacs Lisp framework for tree navigation") + (description + "Abstract Emacs Lisp framework for tree navigation.") + (license license:gpl3+)))) + (define-public emacs-hgignore-mode ;; From 2021-03-14. ;; No releases available. @@ -741,36 +809,31 @@ Emacs package archive}.") (license license:gpl3+))) (define-public emacs-paredit - ;; The last tagged release is from 2014; use the latest commit, which - ;; includes many fixes such as honoring the 'fill-paragraph-function' - ;; variable. - (let ((commit "d0b1a2f42fb47efc8392763d6487fd027e3a2955") - (revision "1")) - (package - (name "emacs-paredit") - (version (git-version "24" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://mumble.net/~campbell/git/paredit.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1x91xxvwb3r3h61ff1kknlaakxm1a40r7zg2lck9j52yiza4f191")))) - (build-system emacs-build-system) - (home-page "http://mumble.net/~campbell/emacs/paredit/") - (synopsis "Emacs minor mode for editing parentheses") - (description - "ParEdit (paredit.el) is a minor mode for performing structured editing + (package + (name "emacs-paredit") + (version "26") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://mumble.net/~campbell/git/paredit.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1hwl2jhv1fhsdrspfhprq77n763i4zsj350q024ajy0m2kaql6ws")))) + (build-system emacs-build-system) + (home-page "http://mumble.net/~campbell/emacs/paredit/") + (synopsis "Emacs minor mode for editing parentheses") + (description + "ParEdit (paredit.el) is a minor mode for performing structured editing of S-expression data. The typical example of this would be Lisp or Scheme source code. -ParEdit helps **keep parentheses balanced** and adds many keys for moving +ParEdit helps keep parentheses balanced and adds many keys for moving S-expressions and moving around in S-expressions. Its behavior can be jarring for those who may want transient periods of unbalanced parentheses, such as when typing parentheses directly or commenting out code line by line.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-puni ;; No tagged release upstream @@ -826,6 +889,29 @@ of the segments available in that package using icons from information in the mode line.") (license license:expat))) +(define-public emacs-spongebob + (let ((commit "ae8ae6ba0dc57b7357ba87ff0609d27c4a0a5f51") + (revision "0")) + (package + (name "emacs-spongebob") + (version (git-version "0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/dustyweb/spongebob.el") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1agqpp078ij2irn0kb8bgqk0nd47fi20yfd9szn8kbqypfqalvgc")))) + (build-system emacs-build-system) + (home-page "https://gitlab.com/dustyweb/gauche") + (synopsis "Memetically mock a region of text") + (description "This package transforms text using @code{studlify-region} +and inserts a SpongeBob SquarePants ASCII art figure in the current +buffer.") + (license license:gpl3+)))) + (define-public emacs-project (package (name "emacs-project") @@ -2841,6 +2927,34 @@ like. It can be linked with various Emacs mail clients (Message and Mail mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.") (license license:gpl3+))) +(define-public emacs-bbdb-vcard + ;; No release since Dec 1, 2013. + (let ((version "0.4.1") ;3d79fdb4200a64a043e203a3baac95c936095b52, not tagged + (revision "88") + (commit "113c66115ce68316e209f51ebce56de8dded3606")) + (package + (name "emacs-bbdb-vcard") + (version (git-version version revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tohojo/bbdb-vcard") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1sr5kd2gvw1b4hl147yb60cgx6j730vdnpyr09p7vmpw65hzwlwm")))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-bbdb)) + (home-page "https://github.com/tohojo/bbdb-vcard") + (synopsis + "vCard Import and Export for The Insidious Big Brother Database (BBDB)") + (description + "@code{bbdb-vcard.el} imports and exports vCards (version 3.0) as +defined in RFC 2425 and RFC 2426 to/from The Insidious Big Brother Database +(BBDB). Version 2.1 vCards are converted into version 3.0 on import.") + (license license:gpl2+)))) + (define-public emacs-beacon (package (name "emacs-beacon") @@ -3439,7 +3553,7 @@ of bibliographic references.") (define-public emacs-corfu (package (name "emacs-corfu") - (version "0.28") + (version "0.33") (source (origin (method git-fetch) @@ -3448,7 +3562,7 @@ of bibliographic references.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0lmjmaijanhhimkd006y5g1pvpllqgm30wj2y3wf3h4sl7h23rcz")))) + (base32 "0c353k6f4i96gajfw1zvidhlwr2brnhhdr39503hpa5wnp69wak7")))) (build-system emacs-build-system) (arguments `(#:phases @@ -3496,7 +3610,7 @@ be regarded as @code{emacs-company-quickhelp} for @code{emacs-corfu}.") (define-public emacs-cape (package (name "emacs-cape") - (version "0.10") + (version "0.11") (source (origin (method git-fetch) @@ -3505,7 +3619,7 @@ be regarded as @code{emacs-company-quickhelp} for @code{emacs-corfu}.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0kcnyzksj8yglk67g1130wxzscgipm7cz2hs8mvdqpcbz4i38jny")))) + (base32 "0z6ixw7gsx1g7x2xpj5ilslrjrlp6x2ynzh731hs3yf3n281715b")))) (build-system emacs-build-system) (home-page "https://github.com/minad/cape") (synopsis "Completion at point extensions for Emacs") @@ -4626,7 +4740,6 @@ which is restored where possible when the file is loaded again.") (build-system emacs-build-system) (arguments `(#:tests? #t - #:emacs ,emacs ; FIXME: tests fail with emacs-minimal #:test-command '("./run-tests.sh"))) (home-page "https://github.com/magnars/s.el") (synopsis "Emacs string manipulation library") @@ -4999,6 +5112,28 @@ 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-frowny + (package + (name "emacs-frowny") + (version "0.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/duckwork/frowny.el") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "01ss3js71as1jpqcf0x9hfvapiyyhj9ni4y1n6wvqsghv5dcaiy0")))) + (build-system emacs-build-system) + (home-page "https://github.com/duckwork/frowny.el") + (synopsis "Insert frownies in Emacs :(") + (description "This package ships @code{frowny-mode}, which makes it so that +inserting a single @code{(} when after a @code{:} will not automatically close +the parenthesis, meaning that only @code{:(} is inserted. Works with +@code{electric-pair-mode}, @code{paredit-mode}, and others.") + (license license:public-domain))) + (define-public emacs-apache-mode (package (name "emacs-apache-mode") @@ -6010,6 +6145,30 @@ allrecipes.com.") inline PDF preview in Org buffers by using pdf2svg.") (license license:gpl3+))) +(define-public emacs-org-rainbow-tags + ;; Upstream didn't tag version. + (let ((commit "c6040d228c5e8c5c6d33c7f81fc09d935ad1bcbd")) + (package + (name "emacs-org-rainbow-tags") + (version "0.1-pre") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/KaratasFurkan/org-rainbow-tags") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "006nx01sby8k0fc9lf63ldf0sl94ihldyrvqr9r18fb1gpzvivl6")))) + (build-system emacs-build-system) + (home-page "https://github.com/KaratasFurkan/org-rainbow-tags") + (synopsis "Colorize Org tags automatically") + (description + "This package adds random colors to your Org tags. In order to make +colors random but consistent between same tags, colors are generated from the +hash of the tag names.") + (license license:gpl3+)))) + (define-public emacs-org-rich-yank (package (name "emacs-org-rich-yank") @@ -6105,10 +6264,10 @@ blocks with @code{org-babel} in @code{org-mode}.") (license license:gpl3+)))) (define-public emacs-ob-restclient - (let ((commit "f7449b2068498fe9d8ab9589e0a638148861533f")) + (let ((commit "1b021ce1c67c97fa1aa4d2c0816edb7add129e48")) (package (name "emacs-ob-restclient") - (version (git-version "0.02" "2" commit)) + (version (git-version "0.02" "3" commit)) (source (origin (method git-fetch) @@ -6117,7 +6276,7 @@ blocks with @code{org-babel} in @code{org-mode}.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "0s3931w9ab3yfml2pmq71rw21yf6hpg7m3vihxyy3vs6zli1cvmq")))) + (base32 "1bcjj01q5n9w2cch6brbz8pzwnwsmdlgaa4sf5s97b9frmqb2ffg")))) (propagated-inputs (list emacs-restclient)) (build-system emacs-build-system) @@ -6930,7 +7089,7 @@ files which are intended to be packages.") (source (origin (method git-fetch) (uri (git-reference - (url "https://git.sr.ht/~manuel-uberti/flycheck-proselint") + (url "https://git.sr.ht/~manuel-uberti/flymake-proselint") (commit commit))) (file-name (git-file-name name version)) (sha256 @@ -6947,11 +7106,9 @@ files which are intended to be packages.") (("\"proselint\"") (string-append "\"" (search-input-file inputs "/bin/proselint") "\"")))))))) - (propagated-inputs - (list emacs-flycheck)) (inputs (list python-proselint)) - (home-page "https://git.sr.ht/~manuel-uberti/flycheck-proselint") + (home-page "https://git.sr.ht/~manuel-uberti/flymake-proselint") (synopsis "Flymake backend for @code{proselint}") (description "This package adds support for @code{proselint} in Flymake.") (license license:gpl3+)))) @@ -10990,10 +11147,36 @@ keybinding style. The provided commands allow for editing Lisp in normal state and will work even without lispy being enabled.") (license license:gpl3+)))) +(define-public emacs-function-args + ;; The latest release is from August 21, 2017. + (let ((commit "beba049751fed78666c87bd146a6f1cf149bb819") + (revision "0")) + (package + (name "emacs-function-args") + (version (git-version "0.6.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/abo-abo/function-args") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1vxrjy6k030hcbclblgcaaw7h6k17kl3n9zla08527525c0gma01")))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-ivy)) + (home-page "https://github.com/abo-abo/function-args") + (synopsis "C/C++ completion for GNU Emacs") + (description + "This package provides a way of showing an inline arguments hint for +the C/C++ function at point.") + (license license:gpl3+)))) + (define-public emacs-lpy ;; There is no proper release/tag. - (let ((commit "ce78a4613458790cc785c1687af7eed8f0d8d66c") - (revision "5")) + (let ((commit "fa95b11e1023704510cc7dd2897bf8bcc3027cbb") + (revision "6")) (package (name "emacs-lpy") (version (git-version "0.1.0" revision commit)) @@ -11003,13 +11186,13 @@ state and will work even without lispy being enabled.") (uri (git-reference (url "https://github.com/abo-abo/lpy") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 - "1vxrjy6k030hcbclblgcaaw7h6k17kl3n9zla08527525c0gma01")) - (file-name (git-file-name name version)))) - (propagated-inputs - (list emacs-zoutline emacs-lispy)) + "1j92ll2afvcp891fxra3sawxg000cs3ra01wxksiil2dg5zpzzkn")))) (build-system emacs-build-system) + (propagated-inputs + (list emacs-function-args emacs-lispy emacs-zoutline)) (home-page "https://github.com/abo-abo/lpy") (synopsis "Modal editing for Python") (description @@ -11763,26 +11946,40 @@ like @code{org-edit-src-code} but for arbitrary regions.") (define-public emacs-projectile (package (name "emacs-projectile") - (version "2.6.0") - (source (origin - (method url-fetch) - (uri (string-append "https://raw.githubusercontent.com/bbatsov" - "/projectile/v" version "/projectile.el")) - (file-name (string-append "projectile-" version ".el")) - (sha256 - (base32 - "12crymgri4sg7fvnh692f96cm0krmmcnz6x3ypxgq8da84rl34p4")))) + (version "2.7.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bbatsov/projectile") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ybd41iss8vd56qv6czpxqq7a99s4h7i3a2r4khy4rf5blj5zdqi")))) (build-system emacs-build-system) + (arguments + (list + #:tests? #t + #:test-command #~(list "buttercup" "-L" ".") + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'fix-failing-test + (lambda _ + (substitute* "test/projectile-test.el" + (("user-emacs-directory") "\".\""))))))) + (native-inputs + (list emacs-buttercup)) (propagated-inputs (list emacs-dash emacs-pkg-info)) (home-page "https://github.com/bbatsov/projectile") (synopsis "Manage and navigate projects in Emacs easily") (description "This library provides easy project management and navigation. The -concept of a project is pretty basic - just a folder containing special file. -Currently git, mercurial and bazaar repos are considered projects by default. -If you want to mark a folder manually as a project just create an empty -.projectile file in it.") +concept of a project is pretty basic: just a folder containing special file. +Currently Git, Mercurial and Bazaar repositories are considered projects by +default. If you want to mark a folder manually as a project just create an +empty @file{.projectile} file in it.") (license license:gpl3+))) (define-public emacs-skeletor @@ -13325,6 +13522,30 @@ Lua programming language}.") news items, openrc and runscripts.") (license license:gpl2+))) +(define-public emacs-ebuku + ;; Upstream has no tagged release. + (let ((revision "1") + (commit "0c6cf404a49bd68800221446df186fffa0139325")) + (package + (name "emacs-ebuku") + (version (git-version "0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/flexibeast/ebuku") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "09fkzmcvzdbdjaa167wiybj0kir7y12pcq2varjywshvq2l7niz4")))) + (build-system emacs-build-system) + (home-page "https://github.com/flexibeast/ebuku") + (synopsis "Emacs interface to the buku Web bookmark manager") + (description + "Ebuku provides a basic interface to the @code{buku} Web bookmark +manager.") + (license license:gpl3+)))) + (define-public emacs-evil ;; Commit message claims this is 1.15.0, but there's no tag for it, so we ;; use full git-version instead @@ -16623,6 +16844,26 @@ for the current file, using the major mode as a hint. It prompts you to enter one if it fails.") (license license:gpl3+))) +(define-public emacs-jarchive + (package + (name "emacs-jarchive") + (version "0.8.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~dannyfreeman/jarchive") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1fi3y5kmy7ginyqg12q797bma638xmam7lrk74x6yhx84xgzb4fq")))) + (build-system emacs-build-system) + (home-page "https://sr.ht/~dannyfreeman/jarchive") + (synopsis "Jarchive teaches Emacs how to navigate to files inside JARs") + (description "Jarchive makes Emacs handle Java and LSP URIs pointing to + source inside JARs.") + (license license:gpl3+))) + (define-public emacs-eldoc (package (name "emacs-eldoc") @@ -16929,9 +17170,9 @@ formatting, and utility methods for jsonnet files.") (license license:gpl3+))) (define-public emacs-restclient - (let ((commit "ac8aad6c6b9e9d918062fa3c89c22c2f4ec48bc3") + (let ((commit "1fb570643b08ba66eb70831b6f874f52546917f1") (version "0") - (revision "3")) ;Guix package revision, + (revision "4")) ;Guix package revision, ;upstream doesn't have official releases (package (name "emacs-restclient") @@ -16943,7 +17184,7 @@ formatting, and utility methods for jsonnet files.") (commit commit))) (sha256 (base32 - "1a2c7xzy7rsan1zcdskia6m7n6j29xacfkqjlfdhzk6rr1bpzkwk")) + "0npij1p1yw4p1f1yrx6bl8q18nav5p2xvbp7qhzhn7lb2fdn5jqv")) (file-name (git-file-name name version)))) (build-system emacs-build-system) (propagated-inputs @@ -19336,7 +19577,7 @@ match and total match information in the mode-line in various search modes.") (define-public emacs-pg (package (name "emacs-pg") - (version "0.16") + (version "0.19") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/emarsden/pg-el") @@ -19344,7 +19585,7 @@ match and total match information in the mode-line in various search modes.") (file-name (git-file-name name version)) (sha256 (base32 - "1jdnslpgdm16klaga02p33g7c8bjzg164kxz3jd7gs5v9gqa6ppz")))) + "13fkkpimhxh91hmsp551wzrdcic5ws7wj7vjwnh8l83hsrxmxz0y")))) (build-system emacs-build-system) (home-page "https://github.com/emarsden/pg-el") (synopsis "Emacs Lisp interface for PostgreSQL") @@ -19940,7 +20181,7 @@ according to a parsing expression grammar.") (define-public emacs-eldev (package (name "emacs-eldev") - (version "1.2.2") + (version "1.3") (source (origin (method git-fetch) @@ -19949,7 +20190,7 @@ according to a parsing expression grammar.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0d6wbfim0q81sm5m45fjc6n0v6nk32qrgas5nzrs0vslym4bfxna")))) + (base32 "112jv9rz6brglffwsablnhafhhnfnq89k9vh8xzbbi6i4xz2l1ak")))) (build-system emacs-build-system) (arguments (list @@ -20791,8 +21032,8 @@ never confused by comments or @code{foo-bar} matching @code{foo}.") (define-public emacs-crdt ;; XXX: Upstream does not always tag new releases. The commit below ;; corresponds exactly to latest version bump. - (let ((commit "92a7c93a3b4cb4b40f133acd22c89a5fda5cdd30") - (version "0.3.4")) + (let ((commit "e6d42f42c5dedb73560048f4bf6263c63ffa21bb") + (version "0.3.5")) (package (name "emacs-crdt") (version version) @@ -20804,7 +21045,7 @@ never confused by comments or @code{foo-bar} matching @code{foo}.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "1vh4d15g62crm4vimc7lgr11ws68g25ylipnvqlrrkvl6qrz3fhj")))) + (base32 "16dpg0d8p4fqjl2nir290iim9bb7f87rwnxs16lx67dasvbfawph")))) (build-system emacs-build-system) (home-page "https://code.librehq.com/qhong/crdt.el") (synopsis "Real-time collaborative editing environment") @@ -21021,22 +21262,22 @@ or expressions with SVG rounded box labels that are fully customizable.") (define-public emacs-kind-icon (package (name "emacs-kind-icon") - (version "0.1.7") + (version "0.1.9") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/kind-icon-" version ".tar")) (sha256 - (base32 "02imi2qj329yrqvs23d4z7fv8bbaz0fvya6zdswb38blpdri4cn1")))) + (base32 "0phssrcpmcidzlwy1577f3f02qwjs6hpavb416302y0n8kkhwvli")))) (build-system emacs-build-system) (propagated-inputs (list emacs-svg-lib)) (home-page "https://github.com/jdtsmith/kind-icon") (synopsis "Completion kind icons in Emacs") - (description "Kind-icon mode adds a colorful icon or text prefix based -on :company-kind for compatible completion UIs. The \"kind\" prefix is -typically used for differentiating completion candidates such as variables, -functions, etc.") + (description "Kind-icon mode adds a colorful icon or text prefix based on +@code{:company-kind} for compatible completion UIs. The ``kind'' prefix is +typically used for differentiating completion candidates such as variables or +functions.") (license license:gpl3+))) (define-public emacs-svg-icon @@ -22589,6 +22830,29 @@ It replaces the standard completions buffer with Ido prompt.") 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 +from Doom Emacs.") + (license license:expat)))) + (define-public emacs-on-screen (package (name "emacs-on-screen") @@ -26123,7 +26387,7 @@ according to their use.") (define-public emacs-detached (package (name "emacs-detached") - (version "0.9.2") + (version "0.10.1") (source (origin (method git-fetch) (uri (git-reference @@ -26132,7 +26396,7 @@ according to their use.") (file-name (git-file-name name version)) (sha256 (base32 - "0bcrqqim6is75d4zadswxp162m9gd34xmb2wxsx9rhvkwq0ln35k")))) + "0dvvyqc0nw9has54vps10f5iv831cb29vqvbvx0m2djv9pacqp17")))) (arguments (list #:tests? #t @@ -28607,8 +28871,7 @@ between \"frame-width\" and \"frame-height\", between \"public\", (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/ediprolog-" - version - ".el")) + version ".tar")) (sha256 (base32 "021jm5zdxrjg7xcja18vgc2v52rk17xi1k7xxw8q802nmixhy0js")))) (build-system emacs-build-system) @@ -30140,39 +30403,40 @@ service, and connect it with Emacs via inter-process communication.") (name "emacs-telega") (build-system emacs-build-system) (arguments - `(#:emacs ,(if (target-64bit?) - emacs-minimal - ;; Require wide-int support for 32-bit platform. - emacs-wide-int) - #:include (cons "^etc\\/" %default-include) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-sources - (lambda* (#:key inputs #:allow-other-keys) - ;; Hard-code paths to `ffplay` and `ffmpeg`. - (let* ((ffplay-bin (search-input-file inputs "/bin/ffplay")) - (ffmpeg-bin (search-input-file inputs "/bin/ffmpeg"))) - (substitute* '("telega-ffplay.el" "telega-vvnote.el") - (("(shell-command-to-string\|concat) \"(ffmpeg\|ffprobe)" - all func cmd) - (string-append func " \"" - (search-input-file - inputs (string-append "/bin/" cmd)))) - (("\\(executable-find \"ffplay\"\\)") - (string-append "(and (file-executable-p \"" ffplay-bin "\")" - "\"" ffplay-bin "\")")) - (("\\(executable-find \"ffmpeg\"\\)") - (string-append "(and (file-executable-p \"" ffmpeg-bin "\")" - "\"" ffmpeg-bin "\")")))))) - (add-after 'unpack 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (substitute* "telega-customize.el" - (("@TELEGA_SERVER_BIN@") - (search-input-file inputs "/bin/telega-server"))) - (substitute* "telega-util.el" - (("@TELEGA_SHARE@") - (string-append (elpa-directory (assoc-ref outputs "out")) - "/etc")))))))) + (list + #:emacs (if (target-64bit?) + emacs-minimal + ;; Require wide-int support for 32-bit platform. + emacs-wide-int) + #:include #~(cons "^etc\\/" %default-include) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-sources + (lambda* (#:key inputs #:allow-other-keys) + ;; Hard-code paths to `ffplay` and `ffmpeg`. + (let* ((ffplay-bin (search-input-file inputs "/bin/ffplay")) + (ffmpeg-bin (search-input-file inputs "/bin/ffmpeg"))) + (substitute* '("telega-ffplay.el" "telega-vvnote.el") + (("(shell-command-to-string\|concat) \"(ffmpeg\|ffprobe)" + all func cmd) + (string-append func " \"" + (search-input-file + inputs (string-append "/bin/" cmd)))) + (("\\(executable-find \"ffplay\"\\)") + (string-append "(and (file-executable-p \"" ffplay-bin "\")" + "\"" ffplay-bin "\")")) + (("\\(executable-find \"ffmpeg\"\\)") + (string-append "(and (file-executable-p \"" ffmpeg-bin "\")" + "\"" ffmpeg-bin "\")")))))) + (add-after 'unpack 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "telega-customize.el" + (("@TELEGA_SERVER_BIN@") + (search-input-file inputs "/bin/telega-server"))) + (substitute* "telega-util.el" + (("@TELEGA_SHARE@") + (string-append (elpa-directory (assoc-ref outputs "out")) + "/etc")))))))) (inputs (list emacs-telega-server ffmpeg)) (native-inputs '()) @@ -30188,13 +30452,14 @@ for the Telegram messaging platform."))) (inherit emacs-telega) (name "emacs-telega-contrib") (arguments - `(#:exclude '("telega-live-location.el") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'enter-subdirectory - (lambda _ (chdir "contrib") #t)) - (add-before 'install-license-files 'leave-subdirectory - (lambda _ (chdir "..") #t))))) + (list + #:exclude #~(list "telega-live-location.el") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'enter-subdirectory + (lambda _ (chdir "contrib"))) + (add-before 'install-license-files 'leave-subdirectory + (lambda _ (chdir "..")))))) (inputs '()) (native-inputs '()) (propagated-inputs @@ -31944,6 +32209,31 @@ ASCII UML sequence diagrams in Emacs, which can be embedded in source code, comments or emails.") (license license:gpl3+)))) +(define-public emacs-ukrainian-holidays + ;; There is no proper release. + ;; The base version is extracted from the source code. + (let ((revision "0") + (commit "e52b0c92843e9f4d0415a7ba3b8559785497d23d")) + (package + (name "emacs-ukrainian-holidays") + (version (git-version "1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/abo-abo/ukrainian-holidays") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "033v4ck979lhkpwblci5clacfc1xnkq03p5d1m566wff8dp5flwz")))) + (build-system emacs-build-system) + (home-page "https://github.com/abo-abo/ukrainian-holidays") + (synopsis "Ukrainian holidays for Emacs calendar") + (description + "This package provides Ukrainian holidays for Emacs calendar.") + (license license:gpl3+)))) + (define-public emacs-trashed (package (name "emacs-trashed") @@ -32723,14 +33013,14 @@ work on alists, hash-table and arrays. All functions are prefixed with (define-public emacs-xref (package (name "emacs-xref") - (version "1.5.1") + (version "1.6.0") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/xref-" version ".tar")) (sha256 - (base32 "131jxsc1sl8q3r9drhylwyfig9qjjkj3hilv3npidp868pr7xdna")))) + (base32 "0vqs2l4gypdx475yi0yic0mnsg1f9nm698gi90kh7xfcpmkfcgb4")))) (build-system emacs-build-system) (home-page "http://elpa.gnu.org/packages/xref.html") (synopsis "Cross-referencing commands") @@ -32910,7 +33200,7 @@ and preferred services can easily be configured.") (define-public emacs-vertico (package (name "emacs-vertico") - (version "0.28") + (version "0.29") (source (origin (method git-fetch) @@ -32919,7 +33209,7 @@ and preferred services can easily be configured.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0yybwj32k74c5c4rzlpmkq540b8ax0ihn5v7krnri83wn50hr272")))) + (base32 "0gqfq7yni470yys9blarmsinjgf1025azlr09g1842w20hwrs7hc")))) (build-system emacs-build-system) (arguments `(#:phases @@ -33414,7 +33704,7 @@ Fennel code within Emacs.") (define-public emacs-org-modern (package (name "emacs-org-modern") - (version "0.5") + (version "0.6") (source (origin (method git-fetch) @@ -33422,7 +33712,7 @@ Fennel code within Emacs.") (url "https://github.com/minad/org-modern") (commit version))) (sha256 - (base32 "1gny2p3w6ck5sarv6vap2y1lj6h9qaxbh7r7bzszb9qj8rhapk6q")) + (base32 "03zpwb475rpbhq1s6101clj0j9mcxdg033clvvybp0p7hm4inwaz")) (file-name (git-file-name name version)))) (build-system emacs-build-system) (home-page "https://github.com/minad/org-modern") @@ -33471,8 +33761,8 @@ headlines, keywords, tables and source blocks.") (license license:gpl3+)))) ; License is in pyimport.el (define-public emacs-straight-el - (let ((commit "fed215348076ba9182f634e0770a175220474b5a") - (revision "0")) + (let ((commit "f21103d97d180fba0b6e2e86ebb0b6269219ef2c") + (revision "1")) (package (name "emacs-straight-el") (version (git-version "0" revision commit)) @@ -33485,7 +33775,7 @@ headlines, keywords, tables and source blocks.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "0z0j670s18mp1bhrsnng0mybcbnlywarhlz7zmrf9399rr513z1x")))) + (base32 "1dqhb7kx4hr3cm4gj6qdk9aav05vc016y4nks2dj1sy88wia6wsv")))) (build-system emacs-build-system) (arguments (list @@ -33622,7 +33912,7 @@ with popups, which also work in the terminal.") (define-public emacs-popon (package (name "emacs-popon") - (version "0.11") + (version "0.12") (source (origin (method git-fetch) @@ -33632,7 +33922,7 @@ with popups, which also work in the terminal.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "14hf1n9d7rqfzr58kjsvjq63v3iamk3szvcn6zms7ry8x70v3lmv")))) + (base32 "0wkydg326ql8cvvmibq1nf6y40d1b0ax0p892pwncmi7awnf20gr")))) (build-system emacs-build-system) (home-page "https://codeberg.org/akib/emacs-popon/") (synopsis "Pop floating text on a window") @@ -33828,16 +34118,16 @@ into the current buffer.") (revision "0")) (package (name "emacs-flymake-mypy") - (version (git-version "0.2.0" revision commit)) + (version "0.3.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/com4/flymake-mypy") - (commit commit))) + (commit version))) (file-name (git-file-name name version)) (sha256 (base32 - "124pfa1kwrapwylbrvkzg3jwcmlsvfklg33ms9ki32khvglmff5h")))) + "1zaa2kljsmm13layqmb7dwd7l2x3a5ymzzmzjjhykc67kbyjvvkk")))) (build-system emacs-build-system) (home-page "https://github.com/com4/flymake-mypy") (synopsis "Flymake checker for mypy") @@ -33881,6 +34171,187 @@ using mypy.") process via its IPC interface.") (license license:gpl3+)))) +(define-public emacs-apel-lb + ;; No release since Jun 15, 2010. + (let ((version "10.8") ;tag chise-base-0_25 + (revision "81") + (commit "82eb2325bd149dc57b43a9ce9402c6c6183e4052")) + (package + (name "emacs-apel-lb") + (version (git-version version revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wanderlust/apel") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0qiw19pn1cs8y571irw7bjdygkvwan9ch2i1dg139dri4b6q1il6")))) + (build-system emacs-build-system) + (home-page "https://www.emacswiki.org/emacs/WanderLust") + (synopsis "Library for making portable Emacs Lisp programs") + (description + "A Portable Emacs Library (APEL) is a library for making portable Emacs +Lisp programs. APEL-LB is a variant of APEL, which features supports to +latest Emacs.") + (license license:gpl2+)))) + +(define-public emacs-flim-lb + ;; No release since Nov 28, 2007. + (let ((version "1.14.9") + (revision "133") + (commit "57c6b868aa314717f40a520daed7249665e8d992")) + (package + (name "emacs-flim-lb") + (version (git-version version revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wanderlust/flim") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1mf8r5mf3bd0719fnhifb6lfvl7n4m552crcdhkbkkif8srrl6df")))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-apel-lb emacs-oauth2)) + (home-page "https://www.emacswiki.org/emacs/WanderLust") + (synopsis + "Library for basic features about message representation or encoding") + (description + "FLIM is a library to provide basic features about message representation +or encoding. FLIM-LB is a variant of FLIM, which features supports to latest +Emacs.") + (license license:gpl2+)))) + +(define-public emacs-semi-epg + ;; No release since Dec 24, 2003. + (let ((version "1.14.6") + (revision "241") + (commit "ac3e726ca94ed245c25881ec8d7177d0d834ea6a")) + (package + (name "emacs-semi-epg") + (version (git-version version revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wanderlust/semi") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1bg07y6svvg1mmlr455x3j1anjp3wbv27s6b2inp294rbwprm41n")))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-bbdb-vcard emacs-flim-lb)) + (home-page "https://www.emacswiki.org/emacs/WanderLust") + (synopsis "Library to provide MIME feature for GNU Emacs") + (description + "SEMI is a package for GNU Emacs to provide features related with MIME +user interface. SEMI-EPG is a variant of SEMI, which features supports to +EasyPG and latest Emacs.") + (license license:gpl2+)))) + +(define-public emacs-wanderlust + ;; No release since Jan 15, 2010. + ;; FIXME: Building with emacs-next-pgtk would yield a void variable related + ;; macro-expansion failure at runtime, so don't rewrite emacs input of this + ;; package. + (let ((version "2.15.9") + (revision "779") + (commit "f5cb2f0cf5e2c893acf2e669fd549836828dfdfc")) + (package + (name "emacs-wanderlust") + (version (git-version version revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wanderlust/wanderlust") + (commit commit))) + (file-name (git-file-name name version)) + (modules '((guix build utils))) + (snippet + '(begin (substitute* "WL-CFG" + ((".*WL_PREFIX.*") + (string-append "(setq wl-install-utils t)" "\n" + "(setq WL_PREFIX \"\")" "\n" + "(setq ELMO_PREFIX \"\")" "\n"))) + (substitute* "Makefile" + (("package-user-dir") "NONE")))) + (sha256 + (base32 + "1ijs57wv1vrh33vn311hgkp42vlmjyi998nc4qdrqi7yy9j8hl1h")))) + (build-system emacs-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'expand-load-path 'chdir-elmo + (lambda _ + (chdir "elmo"))) + (add-after 'chdir-elmo 'expand-load-path-elmo + (assoc-ref %standard-phases 'expand-load-path)) + (add-after 'expand-load-path-elmo 'chdir-utils + (lambda _ + (chdir "../utils"))) + (add-after 'chdir-utils 'expand-load-path-utils + (assoc-ref %standard-phases 'expand-load-path)) + (add-after 'expand-load-path-utils 'chdir-wl + (lambda _ + (chdir "../wl"))) + (add-after 'chdir-wl 'expand-load-path-wl + (assoc-ref %standard-phases 'expand-load-path)) + (add-after 'expand-load-path-wl 'change-directory + (lambda _ + (chdir ".."))) + (add-after 'install 'install-via-makefile + (lambda* (#:key inputs #:allow-other-keys) + (let ((emacs (search-input-file inputs "/bin/emacs")) + (lispdir (elpa-directory #$output)) + (infodir (string-append #$output "/share/info"))) + (for-each mkdir-p (list lispdir infodir)) + (substitute* "Makefile" + (("(EMACS\t= )emacs" all m) + (string-append m emacs)) + (("(LISPDIR = )NONE" all m) + (string-append m lispdir)) + (("(PIXMAPDIR = )NONE" all m) + (string-append m lispdir "/icons")) + (("(INFODIR = )NONE" all m) + (string-append m infodir)))) + (invoke "make" "install") + (invoke "make" "install-info")))))) + (propagated-inputs (list emacs-semi-epg)) + (home-page "https://www.emacswiki.org/emacs/WanderLust") + (synopsis "Yet Another Message Interface on Emacsen") + (description + "Wanderlust is an mail/news management system on Emacsen. It supports +IMAP4rev1(RFC2060), NNTP, POP and local message files. + +The main features of Wanderlust: + +@itemize +@item Pure elisp implementation. +@item Supports IMAP4rev1, NNTP, POP(POP3/APOP), MH and Maildir format. +@item Unified access method to messages based on Mew-like Folder Specification. +@item Mew-like Key-bind and mark handling. +@item Manages unread messages. +@item Interactive thread display. +@item Folder Mode shows the list of subscribed folders. +@item Message Cache, Disconnected Operation. +@item MH-like FCC (Fcc: %Backup and Fcc: $Backup is allowed). +@item MIME compliant (by SEMI). +@item Transmission of news and mail are unified by Message transmitting draft. +@item Graphical list of folders. +@item View a part of message without retrieving the whole message (IMAP4). +@item Server-side message look up (IMAP4), multi-byte characters are allowed. +@item Virtual Folders. +@item Supports compressed folder using common archiving utilities. +@item Old articles in folders are automatically removed/archived (Expiration). +@item Automatic re-file. +@item Template function makes it convenient to send fixed form messages. +@end itemize\n") + (license license:gpl2+)))) + (define-public emacs-waveform ;; XXX: Upstream provides no Version keyword. Using 0 as base version. (let ((commit "ee52c6a72b3e9890743e3a6e2fc1f3195f5687b2") |