summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/emacs-xyz.scm43
1 files changed, 37 insertions, 6 deletions
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 54784522c8c..d95fbd7c467 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -235,6 +235,7 @@
235 #:use-module (gnu packages guile-xyz) 235 #:use-module (gnu packages guile-xyz)
236 #:use-module (gnu packages gtk) 236 #:use-module (gnu packages gtk)
237 #:use-module (gnu packages gnome) 237 #:use-module (gnu packages gnome)
238 #:use-module (gnu packages golang-crypto)
238 #:use-module (gnu packages graphviz) 239 #:use-module (gnu packages graphviz)
239 #:use-module (gnu packages haskell) 240 #:use-module (gnu packages haskell)
240 #:use-module (gnu packages haskell-apps) 241 #:use-module (gnu packages haskell-apps)
@@ -856,15 +857,45 @@ renderer, @code{shr}.")
856 (sha256 857 (sha256
857 (base32 "01wd7qglz3z5ip9mviy92bhfvmnhfm3mwfirxrhjb9y4jxyq9da3")))) 858 (base32 "01wd7qglz3z5ip9mviy92bhfvmnhfm3mwfirxrhjb9y4jxyq9da3"))))
858 (build-system emacs-build-system) 859 (build-system emacs-build-system)
860 (arguments
861 (list
862 #:test-command
863 #~(list "emacs" "--batch"
864 "-L" "."
865 "-l" "test/sops-test.el"
866 "--eval"
867 ;; Skip a test whose expected cache key is hard-coded to "sops"
868 ;; or "/usr/bin/sops"; `patch-sops-executable' makes it a store
869 ;; path.
870 "(ert-run-tests-batch-and-exit
871 '(not \"sops-test--ensure-version-recomputes-on-path-change\"))")
872 #:phases
873 #~(modify-phases %standard-phases
874 (add-after 'unpack 'patch-sops-executable
875 (lambda* (#:key inputs #:allow-other-keys)
876 (emacs-substitute-variables "sops.el"
877 ("sops-executable"
878 (search-input-file inputs "/bin/sops")))))
879 (add-before 'check 'set-sops-age-key-file
880 (lambda _
881 ;; Decrypt tests need the matching age identity; upstream gets
882 ;; this from mise.toml.
883 (setenv "SOPS_AGE_KEY_FILE"
884 (string-append
885 (getcwd)
886 "/test/test-fixtures/age-test-key.txt")))))))
887 ;; Tests shell out to age-keygen to generate an ephemeral fixture key.
888 (native-inputs (list age))
889 (inputs (list sops))
859 (home-page "https://github.com/djgoku/sops") 890 (home-page "https://github.com/djgoku/sops")
860 (synopsis "SOPS encrypt and decrypt without leaving the editor") 891 (synopsis "SOPS encrypt and decrypt without leaving the editor")
861 (description 892 (description
862 "This package provides a minor mode for editing @acronym{SOPS, Secret 893 "This package provides transparent editing of @acronym{SOPS, Secret
863OPerationS}-encrypted files. To enable it automatically, set 894OPerationS} encrypted @acronym{YAML, YAML Ain't Markup Language},
864@code{global-sops-mode}. Users can decrypt with @code{sops-edit-file}, save 895@acronym{JSON, JavaScript Object Notation}, ENV, INI, and binary files in
865changes with @code{sops-save-file}, or discard them with @code{sops-cancel}. 896Emacs. Visiting such a file decrypts it into the buffer, and saving
866The files are displayed in read-only mode to prevent accidental corruption, 897re-encrypts it back to disk. New encrypted files can be created with the
867which is useful for partly encrypted files with only one encrypted line.") 898@code{sops-find-file} command.")
868 (license license:gpl3+))) 899 (license license:gpl3+)))
869 900
870(define-public emacs-age 901(define-public emacs-age