This is an automated email from the git hooks/post-receive script.
guix_mirror_bot pushed a commit to branch master
in repository guix.
The following commit(s) were added to refs/heads/master by this push:
new 21393e10c8 gnu: emacs-sops: Add tests and set executable path.
21393e10c8 is described below
commit 21393e10c8a9948cdac7870dad5d6d464c74da09
Author: coopi <[email protected]>
AuthorDate: Wed Jun 3 14:45:13 2026 +0400
gnu: emacs-sops: Add tests and set executable path.
* gnu/packages/emacs-xyz.scm (emacs-sops)[arguments]: New field.
<#:test-command>: Set it.
<#:phases>: Add 'patch-sops-executable' and 'set-sops-age-key-file'.
[native-inputs]: Add age.
[inputs]: Add sops.
[description]: Adjust accordingly.
Merges guix/guix!9057
Signed-off-by: Cayetano Santos <[email protected]>
Modified-by: Cayetano Santos <[email protected]>
---
gnu/packages/emacs-xyz.scm | 43 +++++++++++++++++++++++++++++++++++++------
1 file changed, 37 insertions(+), 6 deletions(-)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 54784522c8..d95fbd7c46 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -235,6 +235,7 @@
#:use-module (gnu packages guile-xyz)
#:use-module (gnu packages gtk)
#:use-module (gnu packages gnome)
+ #:use-module (gnu packages golang-crypto)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages haskell)
#:use-module (gnu packages haskell-apps)
@@ -856,15 +857,45 @@ renderer, @code{shr}.")
(sha256
(base32 "01wd7qglz3z5ip9mviy92bhfvmnhfm3mwfirxrhjb9y4jxyq9da3"))))
(build-system emacs-build-system)
+ (arguments
+ (list
+ #:test-command
+ #~(list "emacs" "--batch"
+ "-L" "."
+ "-l" "test/sops-test.el"
+ "--eval"
+ ;; Skip a test whose expected cache key is hard-coded to "sops"
+ ;; or "/usr/bin/sops"; `patch-sops-executable' makes it a store
+ ;; path.
+ "(ert-run-tests-batch-and-exit
+ '(not \"sops-test--ensure-version-recomputes-on-path-change\"))")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-sops-executable
+ (lambda* (#:key inputs #:allow-other-keys)
+ (emacs-substitute-variables "sops.el"
+ ("sops-executable"
+ (search-input-file inputs "/bin/sops")))))
+ (add-before 'check 'set-sops-age-key-file
+ (lambda _
+ ;; Decrypt tests need the matching age identity; upstream gets
+ ;; this from mise.toml.
+ (setenv "SOPS_AGE_KEY_FILE"
+ (string-append
+ (getcwd)
+ "/test/test-fixtures/age-test-key.txt")))))))
+ ;; Tests shell out to age-keygen to generate an ephemeral fixture key.
+ (native-inputs (list age))
+ (inputs (list sops))
(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.")
+ "This package provides transparent editing of @acronym{SOPS, Secret
+OPerationS} encrypted @acronym{YAML, YAML Ain't Markup Language},
+@acronym{JSON, JavaScript Object Notation}, ENV, INI, and binary files in
+Emacs. Visiting such a file decrypts it into the buffer, and saving
+re-encrypts it back to disk. New encrypted files can be created with the
+@code{sops-find-file} command.")
(license license:gpl3+)))
(define-public emacs-age