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
This commit is contained in:
		
							parent
							
								
									625cfb4c4c
								
							
						
					
					
						commit
						f54f36b363
					
				
					 1 changed files with 19 additions and 24 deletions
				
			
		| 
						 | 
				
			
			@ -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
 | 
			
		||||
     (let ((native-manifests "lib/icecat/native-messaging-hosts"))
 | 
			
		||||
       (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"))))
 | 
			
		||||
        #: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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Reference in a new issue