guix_mirror_bot pushed a commit to branch master
in repository guix.
commit 155e7e59138f1d09aa8ccd1a52b611c646c2f548
Author: Sergey Trofimov <[email protected]>
AuthorDate: Tue May 13 16:15:14 2025 +0200
gnu: Add secretsd.
* gnu/packages/password-utils.scm (secretsd): New variable.
Change-Id: I9beb6b86ec4dae784146e7ce91210a85cf07ec7c
---
gnu/packages/password-utils.scm | 47 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)
diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index 665f8c1399..c6bbeb3def 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -64,6 +64,7 @@
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
+ #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix build-system trivial)
@@ -111,6 +112,8 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-build)
+ #:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages rdesktop)
@@ -1270,6 +1273,50 @@ winner of the 2015 Password Hashing Competition.")
;; files are CC0 only; see README.md and LICENSE for details.
(license (list license:cc0 license:asl2.0))))
+(define-public secretsd
+ ;; there are neither tags nor releases in the repository
+ (let ((commit "4ea56226b8f7c8739eea7fc8d1ffca8e18cf58c9")
+ (revision "0"))
+ (package
+ (name "secretsd")
+ (version (git-version "1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/grawity/secretsd")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ka21vmvm25kal3sa8zmrifh4zac878hk24y7y3jj3ig8dkv0vfy"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; don't install platform dependencies
+ #~(substitute* "setup.py" ((".*install_requires.*") "")))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'create-entrypoints 'wrap-program
+ (lambda _
+ (wrap-program (string-append #$output "/bin/secretsd")
+ `("GI_TYPELIB_PATH" ":" prefix
+ (,(getenv "GI_TYPELIB_PATH")))))))))
+ (inputs (list python-dbus python-platformdirs python-cryptography
+ python-xdg python-pygobject))
+ (native-inputs (list bash-minimal python-setuptools python-wheel))
+ (home-page "https://github.com/grawity/secretsd")
+ (synopsis "Basic FreeDesktop.org Secret Service backend")
+ (description
+ "@code{secretsd} is a generic backend for the @code{libsecret}
@acronym{API,
+application programming interface} to use on headless systems or minimal
desktop
+environments. It stores secrets in a @code{sqlite} database, encrypted using a
+@acronym{AES, Advanced Encryption Standard} key. The database key is stored
in a
+regular file next to the database by default, but can be read from an external
+program.")
+ (license license:expat))))
+
(define-public pass-git-helper
(package
(name "pass-git-helper")