diff options
Diffstat (limited to 'gnu/packages/emacs-xyz.scm')
-rw-r--r-- | gnu/packages/emacs-xyz.scm | 327 |
1 files changed, 160 insertions, 167 deletions
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 3c9a3c195c..222d065db3 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -367,42 +367,52 @@ buffer, a file on your disk, or a string from the kill ring.") (license license:gpl3+)))) (define-public emacs-elisp-autofmt - (let ((commit "5b1fdc2761a80674123769ebf8a43fe312c0fa3f") + (let ((commit "fa30ffc2320c41fc3827e2a800d40d7d5bcaddbe") (revision "0")) (package - (name "emacs-elisp-autofmt") - (version (git-version "0.0.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://codeberg.org/ideasman42/emacs-elisp-autofmt") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "09wxrrqzccq3wv51n0blcln1zggmlm4fzrnj0svv8gir5q5g6l3h")))) - (build-system emacs-build-system) - (inputs (list python)) - (arguments - (list - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'patch-dependencies - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "elisp-autofmt.el" - (("\"python\"") - (string-append "\"" - (search-input-file inputs "/bin/python3") - "\""))))) - (add-after 'install 'install-python-module - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((destination (elpa-directory (assoc-ref outputs "out")))) - (install-file "elisp-autofmt.py" destination) - (install-file "elisp-autofmt.overrides.json" destination))))))) - (home-page "https://codeberg.org/ideasman42/emacs-elisp-autofmt") - (synopsis "Auto-format Emacs lisp") - (description "This is a package to auto-format Emacs lisp.") - (license license:gpl3+)))) + (name "emacs-elisp-autofmt") + (version (git-version "0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/ideasman42/emacs-elisp-autofmt") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "174cmqszhx42blqc6fjjf3lgaz2hasj15743hcrzj6a97nhx4wsj")))) + (build-system emacs-build-system) + (inputs (list python)) + (arguments + (list + #:test-command #~(list "make" "tests") + #:include #~(cons* "elisp-autofmt.py" + "elisp-autofmt.overrides.json" + %default-include) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-dependencies + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "elisp-autofmt.el" + (("\"python\"") + (string-append "\"" + (search-input-file inputs "/bin/python3") + "\""))))) + ;; TODO Remove when fixed upstream. See: + ;; https://codeberg.org/ideasman42/emacs-elisp-autofmt/issues/36 + (add-before 'check 'fix-tests + (lambda _ + (setenv "HOME" (getenv "TMPDIR")) + (with-atomic-file-replacement "Makefile" + (lambda (in out) + (dump-port in out) + (display "\n.PHONY: tests\n" out))) + (substitute* "Makefile" + (("python") "python3"))))))) + (home-page "https://codeberg.org/ideasman42/emacs-elisp-autofmt") + (synopsis "Auto-format Emacs lisp") + (description "This is a package to auto-format Emacs lisp.") + (license license:gpl3+)))) (define-public emacs-ac-php (package @@ -589,7 +599,7 @@ input via a small child-frame spawned at the position of the cursor.") (define-public emacs-arei (package (name "emacs-arei") - (version "0.9.5") + (version "0.9.6") (source (origin (method git-fetch) @@ -599,7 +609,7 @@ input via a small child-frame spawned at the position of the cursor.") (file-name (git-file-name name version)) (sha256 (base32 - "0laj9gbwhr0n8jf0y7fb3a564rsi8kghpk1g95xhckr4fggz997r")))) + "1m8ic5pcshz2y2maxvbgg70n4k2kgxvj98zisqal15j7djz0hzji")))) (build-system emacs-build-system) (arguments (list #:tests? #f)) ; no tests (propagated-inputs (list emacs-eros emacs-sesman emacs-queue)) @@ -681,6 +691,32 @@ just one-off queries and multiple independent sessions. It requires an OpenAI API key.") (license license:gpl3+))) +(define-public emacs-gptel-prompts + ;; No releases. + (let ((commit "deca98e1aff1b0570cd1672addfb6dcc74402332") + (revision "0")) + (package + (name "emacs-gptel-prompts") + (version (git-version "1.0" revision commit)) + (source + (origin + (uri (git-reference + (url "https://github.com/jwiegley/gptel-prompts/") + (commit commit))) + (method git-fetch) + (sha256 + (base32 "0wh2ydiy1k6j0hdw7n7qyzx6c2g4mcpd3gp79h1ay1hh0f85596b")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (arguments (list #:tests? #f)) ;no tests + (propagated-inputs (list emacs-gptel)) + (home-page "https://github.com/jwiegley/gptel-prompts/") + (synopsis "Alternative Gptel directives management") + (description + "This package offers an advanced way to manage Gptel directives, using +files rather than customizing the variable directly.") + (license license:gpl2+)))) + (define-public emacs-gptel-quick (let ((commit "d7a3aedefdc656a136d5664f2dac165a1f6ebf0e") (revision "1")) @@ -1897,6 +1933,31 @@ while the ones that are not being actively edited will be reduced to a smaller size.") (license license:expat)))) +(define-public emacs-zoom + (package + (name "emacs-zoom") + (version "0.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cyrus-and/zoom") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1zzm8kchm5wwxras4bfl46flyfj44bf7qazc5yyahx9qr2ksfnhd")))) + (build-system emacs-build-system) + (arguments (list #:tests? #f)) ;no tests + (home-page "https://github.com/cyrus-and/zoom") + (synopsis "Fixed and automatic balanced window layout for Emacs") + (description + "This minor mode takes care of managing the window sizes by +enforcing a fixed and automatic balanced layout where the currently +selected window is resized according to @code{zoom-size} which can be +an absolute value in lines/columns, a ratio between the selected window +and frame size or even a custom callback.") + (license license:expat))) + (define-public emacs-git-modes (package (name "emacs-git-modes") @@ -2080,7 +2141,7 @@ syntax for short lambda.") (define-public emacs-llm (package (name "emacs-llm") - (version "0.24.2") + (version "0.27.0") (source (origin (method git-fetch) @@ -2089,12 +2150,13 @@ syntax for short lambda.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0kza3jzabp5ilapi3a0ycrc26gvj6s2nf3x1ly4c8d3si6fdlx61")))) + (base32 "0ribldwvgr6ij79xap7606rnaiyl34d7qvpg06p8q2nwi5k8z3dc")))) (build-system emacs-build-system) (arguments (list - ;; there are no tests - #:tests? #f)) + #:test-command #~(list "emacs" "--batch" + "-l" "llm-test.el" + "-f" "ert-run-tests-batch-and-exit"))) (propagated-inputs (list emacs-plz emacs-plz-event-source emacs-plz-media-type)) (home-page "https://github.com/ahyatt/llm") @@ -4845,8 +4907,8 @@ the @code{Dracula} theme for Emacs and the @code{Gloom} theme for Atom.") (license license:expat)))) (define-public emacs-reverso - (let ((commit "d1b39da3c7df1541f98435f3172a7ff4f3123634") - (revision "0")) + (let ((commit "40ed3d83c4f04c39e05d69d84595761ae2956a64") + (revision "1")) (package (name "emacs-reverso") (version (git-version "0.1.2" revision commit)) @@ -4858,9 +4920,10 @@ the @code{Dracula} theme for Emacs and the @code{Gloom} theme for Atom.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "1fpk5wyzlssfrm4jbsrflxvlfn80yh6y1nh63ml8barf1nypsx55")))) + (base32 "1agsscrkqnmz8shibfy8df5f34xwixiyfad381k04aibadh742yb")))) (build-system emacs-build-system) - (propagated-inputs (list emacs-fedi emacs-request emacs-transient)) + (arguments (list #:tests? #f)) ; no tests + (propagated-inputs (list emacs-request)) (home-page "https://github.com/SqrtMinusOne/reverso.el") (synopsis "Translation, grammar checking, context search") (description "Reverso is an emacs client for the reverso.net service.") @@ -5675,7 +5738,7 @@ within emacs.") (define-public emacs-bm (package (name "emacs-bm") - (version "202309") + (version "202506") (source (origin (method git-fetch) @@ -5684,14 +5747,14 @@ within emacs.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1a47dcda196sb6qx45w94d0vfzyfprfs3g7yj0scjmna79rr3fqa")))) + (base32 "0298hjdgx03y028pql6z3jcym47ji10hv66zydn1kicsjds0r45l")))) (build-system emacs-build-system) (arguments (list #:test-command #~(list "emacs" "-Q" "--batch" "-l" "bm-tests.el" "-f" "ert-run-tests-batch-and-exit"))) - (home-page "https://github.com/joodland/bm") + (home-page "https://joodland.github.io/bm/") (synopsis "Visual bookmarks for Emacs") (description "This package provides visible, buffer local bookmarks and the ability to jump forward and backward to the next bookmark.") @@ -11307,6 +11370,7 @@ described on the homepage.") (name "emacs-irony-mode-server") (arguments (list + #:tests? #f #:phases #~(modify-phases %standard-phases (replace 'configure @@ -25887,16 +25951,16 @@ highlighting and indentation support.") (define-public emacs-terraform-mode (package (name "emacs-terraform-mode") - (version "1.0.1") + (version "1.1.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/syohex/emacs-terraform-mode") + (url "https://github.com/hcl-emacs/terraform-mode") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "10wndnlsv7f2yn83n1wamnhiwyhxkdlmwld9yk0m2kkxx4pwfgfj")))) + (base32 "15xgjyl864crx3vpalds68x0vn1qzibkqdcjlbp87xiq88dx2q1x")))) (build-system emacs-build-system) (arguments (list #:test-command #~(list "emacs" "--batch" @@ -25907,7 +25971,7 @@ highlighting and indentation support.") "-f" "ert-run-tests-batch-and-exit"))) (propagated-inputs (list emacs-dash emacs-hcl-mode)) - (home-page "https://github.com/syohex/emacs-terraform-mode") + (home-page "https://github.com/hcl-emacs/terraform-mode") (synopsis "Major mode for Terraform") (description "@code{emacs-terraform-mode} provides a major mode for working with @@ -36873,140 +36937,69 @@ You might want to use this to globally set dir-local variables that apply to all of your projects, then override or add variables on a per-project basis.") (license license:gpl3+)))) -(define-public emacs-casual-avy +(define-public emacs-casual (package - (name "emacs-casual-avy") - (version "2.0.1") + (name "emacs-casual") + (version "2.7.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/kickingvegas/casual-avy") - (commit version))) + (url "https://github.com/kickingvegas/casual/") + (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0p4ljzgcr51wpcfs4r0nnpv4rgaivzcq4lbcyr9sfvgqhr1yr271")))) + (base32 "1jf12j92h88a624lg9vg82xf3djij3xkac9ycj5vavkypb6jnih2")))) (build-system emacs-build-system) (arguments (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'build-info-manual + (lambda _ + (invoke "emacs" + "--batch" + "--eval=(require 'ox-texinfo)" + "--eval=(find-file \"../docs/casual.org\")" + "--eval=(org-texinfo-export-to-info)") + (rename-file "../docs/casual.info" "casual.info"))) + ;; FIXME: Remove when included in pr upstream. See: #261. + (add-after 'unpack 'patch-casual-lib-dir + (lambda _ + (substitute* "Makefile--defines.make" + (("^CASUAL_LIB_DIR.*") + "CASUAL_LIB_DIR?=$(CASUAL_BASE_DIR)/casual\n")))) + ;; FIXME: These tests fail. + (add-before 'check 'remove-problematic-tests + (lambda _ + (substitute* "Makefile" + (("editkit-tests.*") + "# editkit-tests"))))) #:lisp-directory "lisp" - #:test-command #~(list "make" "tests") - ;; Tests require “casual-lib-test-utils”, which are not installed. - #:tests? #f)) - (propagated-inputs (list emacs-casual-lib emacs-avy)) - (home-page "https://github.com/kickingvegas/casual-avy") - (synopsis "Transient-based porcelain for avy") + #:test-command #~(list "make" "tests" + (string-append " CASUAL_LIB_DIR=" (getcwd) + "/source")))) + (native-inputs (list texinfo)) + ;; Casual relies on the latest stable release of `transient' which may + ;; differ from the version that is preinstalled as a built-in. + (propagated-inputs (list emacs-magit emacs-transient)) + (home-page "https://github.com/kickingvegas/casual/") + (synopsis "Transient user interfaces for various modes") (description - "Casual Avy is an opinionated Transient-based porcelain for Emacs Avy.") + "Casual is a collection of opinionated Transient-based keyboard driven +user interfaces for various built-in modes.") (license license:gpl3+))) (define-public emacs-casual-calc - (package - (name "emacs-casual-calc") - (version "3.0.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/kickingvegas/casual-calc") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1zn281rr2z557ja5c9xvwhzx4isxkma4v6shl7acnqhczb8kpnr4")))) - (build-system emacs-build-system) - (arguments - (list - #:lisp-directory "lisp" - ;; Tests require “casual-lib-test-utils”, which are not installed. - #:tests? #f)) - (propagated-inputs (list emacs-casual-lib)) - (home-page "https://github.com/kickingvegas/casual-calc") - (synopsis "Transient-based porcelain for calc") - (description - "Casual Calc is an opinionated Transient-based porcelain for Emacs Calc.") - (license license:gpl3+))) - + (deprecated-package "emacs-casual-calc" emacs-casual)) (define-public emacs-casual-dired - (package - (name "emacs-casual-dired") - (version "2.0.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/kickingvegas/casual-dired") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0p4k626svcy6jc1mpsiifpsbacrz7nsgyrb2m0icvi65nxcysj9q")))) - (build-system emacs-build-system) - (arguments - (list - #:lisp-directory "lisp" - ;; Tests require “casual-lib-test-utils”, which are not installed. - #:tests? #f)) - (propagated-inputs (list emacs-casual-lib)) - (home-page "https://github.com/kickingvegas/casual-dired") - (synopsis "Transient-based porcelain for Dired") - (description - "Casual Dired is an opinionated Transient-based porcelain for Emacs Dired.") - (license license:gpl3+))) - + (deprecated-package "emacs-casual-dired" emacs-casual)) (define-public emacs-casual-info - (package - (name "emacs-casual-info") - (version "2.0.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/kickingvegas/casual-info") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1q8yk71xv2v2ls94dc834c988aj2hfq1jv6nbddjxy0qn2hwxd2n")))) - (build-system emacs-build-system) - (arguments - (list - #:lisp-directory "lisp" - ;; Tests require “casual-lib-test-utils”, which are not installed. - #:tests? #f)) - (propagated-inputs (list emacs-casual-lib)) - (home-page "https://github.com/kickingvegas/casual-info") - (synopsis "Transient-based porcelain for info reader") - (description - "Casual Info is an opinionated Transient-based porcelain for Emacs Info reader.") - (license license:gpl3+))) - + (deprecated-package "emacs-casual-info" emacs-casual)) (define-public emacs-casual-lib - (package - (name "emacs-casual-lib") - (version "2.0.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/kickingvegas/casual-lib") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1hmr0zzwm3f88786j8p8x39jn5b8jja37x1iww4vd83dsvkksbpa")))) - (build-system emacs-build-system) - (arguments - (list #:test-command #~(list "make" "tests") - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'move-source-files - (lambda _ - (let ((el-files (find-files "./lisp" ".*\\.el$"))) - (for-each (lambda (f) (copy-file f (basename f))) - el-files))))))) - (native-inputs (list python-minimal)) - (home-page "https://github.com/kickingvegas/casual-lib") - (synopsis "Library package for the Emacs Casual porcelains") - (description - "Casual Lib is a library package used to support the Casual porcelains.") - (license license:gpl3+))) + (deprecated-package "emacs-casual-lib" emacs-casual)) +(define-public emacs-casual-avy + (deprecated-package "emacs-casual-avy" emacs-casual)) (define-public emacs-calibredb (package |