summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Lassieur <clement@lassieur.org>2023-11-01 02:16:48 +0100
committerClément Lassieur <clement@lassieur.org>2023-11-04 00:52:39 +0100
commitf54f36b363a86bb033275e3a0594974d3d91bd53 (patch)
treeb4041671bad75e18fbd1a156204fa0c7c59fc0b0
parent625cfb4c4ce22250e19cba243c27a4f950746dd7 (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
-rw-r--r--gnu/packages/browser-extensions.scm43
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