From 8f64805def5352919e4dac57ce0adc79f0243a43 Mon Sep 17 00:00:00 2001 From: Alex Griffin Date: Sat, 20 Apr 2019 11:56:23 -0500 Subject: [PATCH 1/2] gnu: password-store: Allow external packages to provide extensions. * gnu/packages/password-utils.scm (password-store): Add mechanism for providing pass extensions in separate packages. [arguments]: Add patch-system-extension-dir phase. [native-search-paths]: Add PASSWORD_STORE_SYSTEM_EXTENSION_DIR. --- gnu/packages/password-utils.scm | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 5c11d8c437..5cd8e2f160 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2016 Jessica Tallon ;;; Copyright © 2016 Andreas Enge ;;; Copyright © 2016 Lukas Gradl -;;; Copyright © 2016 Alex Griffin +;;; Copyright © 2016, 2019 Alex Griffin ;;; Copyright © 2017 Leo Famulari ;;; Copyright © 2017, 2018 Clément Lassieur ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice @@ -423,6 +423,18 @@ any X11 window.") (modify-phases %standard-phases (delete 'configure) (delete 'build) + (add-before 'install 'patch-system-extension-dir + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (extension-dir (string-append out "/lib/password-store/extensions"))) + (substitute* "src/password-store.sh" + (("^SYSTEM_EXTENSION_DIR=.*$") + ;; lead with whitespace to prevent 'make install' from + ;; overwriting it again + (string-append " SYSTEM_EXTENSION_DIR=\"" + "${PASSWORD_STORE_SYSTEM_EXTENSION_DIR:-" + extension-dir + "}\"\n")))))) (add-before 'install 'patch-passmenu-path (lambda* (#:key inputs #:allow-other-keys) (substitute* "contrib/dmenu/passmenu" @@ -461,6 +473,10 @@ any X11 window.") ;; timeout in some circumstances. #:parallel-tests? #f #:test-target "test")) + (native-search-paths + (list (search-path-specification + (variable "PASSWORD_STORE_SYSTEM_EXTENSION_DIR") + (files '("lib/password-store/extensions"))))) (inputs `(("dmenu" ,dmenu) ("getopt" ,util-linux) -- 2.20.1