summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2023-12-10 16:55:10 +0100
committerLudovic Courtès <ludo@gnu.org>2023-12-10 21:46:51 +0100
commite15419673618566eb5d7e568be184af7aa3ec742 (patch)
tree261d199b2e6b8a8ee935b7e8849442800038aaad /gnu
parent63e06f30ce20fa846a7e2e814976fefcd9eda7d3 (diff)
gnu: keepassxc: Record file name of ‘xclip’ and ‘wl-copy’.
* gnu/packages/password-utils.scm (keepassxc)[arguments]: Add ‘record-clipboard-programs’ phase. [inputs]: Add WL-CLIPBOARD and XCLIP. Change-Id: I3cfe3d8604da575f6bf5e5cf3ce862fbac099ab6
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/password-utils.scm21
1 files changed, 21 insertions, 0 deletions
diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index 385bd64985..4099f23098 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -168,6 +168,25 @@ human.")
#~(list "-DWITH_XC_DOCS=NO")))
#:phases
#~(modify-phases %standard-phases
+ (add-after 'unpack 'record-clipboard-programs
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Record the file names of clipboard programs invoked by
+ ;; 'keepassxc-cli clip' and similar.
+ ;;
+ ;; Note: Use 'QString::fromUtf8' rather than 'QStringLiteral' so
+ ;; that the store reference is stored as ASCII instead of
+ ;; UTF-16, which would be invisible to the GC's scanner.
+ (substitute* "src/cli/Utils.cpp"
+ (("QStringLiteral\\(\"xclip\"\\)")
+ (string-append
+ "QString::fromUtf8(\""
+ (search-input-file inputs "bin/xclip")
+ "\")"))
+ (("QStringLiteral\\(\"wl-copy\"\\)")
+ (string-append
+ "QString::fromUtf8(\""
+ (search-input-file inputs "bin/wl-copy")
+ "\")")))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
@@ -199,6 +218,8 @@ human.")
qtx11extras
quazip-0 ; XC_KEESHARE
readline
+ wl-clipboard ;for 'wl-copy'
+ xclip ;for 'xclip'
yubikey-personalization ; XC_YUBIKEY
zlib))
(home-page "https://keepassxc.org")