diff options
author | Clément Lassieur <clement@lassieur.org> | 2023-11-01 02:16:48 +0100 |
---|---|---|
committer | Clément Lassieur <clement@lassieur.org> | 2023-11-04 00:52:39 +0100 |
commit | f54f36b363a86bb033275e3a0594974d3d91bd53 (patch) | |
tree | b4041671bad75e18fbd1a156204fa0c7c59fc0b0 /gnu | |
parent | 625cfb4c4ce22250e19cba243c27a4f950746dd7 (diff) |
gnu: passff-host: Add explicit references to inputs and remove some.
This removes ‘coreutils’, ‘grep’, ‘sed’, ‘which’, ‘bash-minimal’ and
‘gnu-make’ inputs, which were only used by the Makefile and
install_host_app.sh. Instead of running install_host_app.sh (through
‘make’) which does a few text substitutions, do the text substitutions with
Scheme code. This simplifies things and avoids unnecessary native inputs.
* gnu/packages/browser-extensions.scm (passff-host)[build-system]: Change to
copy-build-system.
[arguments]: Copy passff.json and passff.py. Do text substitutions on
them rather than running make. Refer to ‘password-store’ and ‘python’ through
inputs rather than directly.
[inputs]: Add PASSWORD-STORE and PYTHON.
Change-Id: I8fdb757516a7c30eae36b15f2a8d91e1445b19a5
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/browser-extensions.scm | 43 |
1 files changed, 19 insertions, 24 deletions
diff --git a/gnu/packages/browser-extensions.scm b/gnu/packages/browser-extensions.scm index 99dc7de109..8ae6fbf497 100644 --- a/gnu/packages/browser-extensions.scm +++ b/gnu/packages/browser-extensions.scm @@ -24,12 +24,9 @@ #:use-module (guix git-download) #:use-module (guix build-system copy) #:use-module (guix build-system gnu) - #:use-module (guix build-system trivial) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu build chromium-extension) #:use-module (gnu build icecat-extension) - #:use-module (gnu packages base) - #:use-module (gnu packages bash) #:use-module (gnu packages compression) #:use-module (gnu packages password-utils) #:use-module (gnu packages python)) @@ -167,28 +164,26 @@ ungoogled-chromium.") (sha256 (base32 "1p18l1jh20x4v8dj64z9qjlp96fxsl5h069iynxfpbkzj6hd74yl")))) - (build-system trivial-build-system) + (build-system copy-build-system) (arguments - (list - #:modules '((guix build utils)) - #:builder - #~(begin - (use-modules (guix build utils)) - (setenv "PATH" (string-join '(#$coreutils - #$grep - #$password-store - #$python - #$sed - #$which) "/bin:" 'suffix)) - (copy-recursively #$source ".") - (patch-shebang "src/install_host_app.sh" - (list (in-vicinity #$bash-minimal "bin"))) - (substitute* "src/install_host_app.sh" - (("(TARGET_DIR_FIREFOX=).*" all var) - (string-append var #$output "/lib/icecat/native-messaging-hosts" - "\n"))) - (invoke #$(file-append gnu-make "/bin/make") - (string-append "VERSION=" #$version) "install-unix")))) + (let ((native-manifests "lib/icecat/native-messaging-hosts")) + (list + #:install-plan + `'(("src" ,native-manifests #:include ("passff.json" "passff.py"))) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'substitute + (lambda _ + (substitute* "src/passff.json" + (("PLACEHOLDER") + (format #f "~a/~a/passff.py" #$output #$native-manifests))) + (substitute* "src/passff.py" + (("_VERSIONHOLDER_") #$version) + (("^COMMAND = .*") + (format #f "COMMAND = \"~a/bin/pass\"~%" + #$(this-package-input "password-store")))) + (patch-shebang "src/passff.py"))))))) + (inputs (list password-store python)) (synopsis "Host app for the WebExtension PassFF") (description "This piece of software wraps around the zx2c4 pass shell command. It has to be installed for the PassFF browser extension to work |