+(define-public pinentry-rofi
+ (package
+ (name "pinentry-rofi")
+ (version "2.0.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/plattfot/pinentry-rofi/")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0kjzvgni9srl8h5c52pqrvgdxs6avv0nhgk19apd97sx10qdwdhk"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:modules
+ ((ice-9 match)
+ (ice-9 ftw)
+ ,@%gnu-build-system-modules)
+ #:phases
+ (modify-phases
+ %standard-phases
+ (add-after 'install 'hall-wrap-binaries
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin/"))
+ (site (string-append out "/share/guile/site"))
+ (rofi-bin (string-append (assoc-ref inputs "rofi") "/bin")))
+ (match (scandir site)
+ (("." ".." version)
+ (wrap-program
+ (string-append bin "pinentry-rofi")
+ (list "PATH" ":" 'prefix `(,rofi-bin)))
+ #t)))))
+ (add-after 'compress-documentation 'installcheck
+ (lambda* rest
+ (invoke "make" "installcheck"))))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("autoconf-archive" ,autoconf-archive)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)
+ ("texinfo" ,texinfo)))
+ (inputs `(("guile" ,guile-3.0)
+ ("rofi" ,rofi)))
+ (synopsis "Rofi GUI for GnuPG's passphrase input")
+ (description "Pinentry-rofi is a simple graphical user interface for
+passphrase or PIN when required by @code{gpg} or other software. It is using
+the Rofi application launcher as the user interface. Which makes it combined
+with @code{rofi-pass} a good front end for @code{password-store}.")
+ (home-page "https://github.com/plattfot/pinentry-rofi/")
+ (license license:gpl3+)))
+