From e15419673618566eb5d7e568be184af7aa3ec742 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 10 Dec 2023 16:55:10 +0100 Subject: gnu: keepassxc: Record file name of ‘xclip’ and ‘wl-copy’. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/password-utils.scm (keepassxc)[arguments]: Add ‘record-clipboard-programs’ phase. [inputs]: Add WL-CLIPBOARD and XCLIP. Change-Id: I3cfe3d8604da575f6bf5e5cf3ce862fbac099ab6 --- gnu/packages/password-utils.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu/packages/password-utils.scm') 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") -- cgit v1.2.3