diff options
| -rw-r--r-- | gnu/packages/emacs-xyz.scm | 43 |
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 |
| 863 | OPerationS}-encrypted files. To enable it automatically, set | 894 | OPerationS} 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 |
| 865 | changes with @code{sops-save-file}, or discard them with @code{sops-cancel}. | 896 | Emacs. Visiting such a file decrypts it into the buffer, and saving |
| 866 | The files are displayed in read-only mode to prevent accidental corruption, | 897 | re-encrypts it back to disk. New encrypted files can be created with the |
| 867 | which 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 |
