me
/
guix
Archived
1
0
Fork 0

gnu: Add pinentry-rofi.

* gnu/packages/gnupg.scm (pinentry-rofi): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
master
Fredrik Salomonsson 2021-01-08 17:47:07 -08:00 committed by Ludovic Courtès
parent 7c430e8763
commit 63a0fe4c8a
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 73 additions and 0 deletions

View File

@ -17,6 +17,7 @@
;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Fredrik Salomonsson <plattfot@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -67,6 +68,7 @@
#:use-module (gnu packages tor)
#:use-module (gnu packages web)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
#:use-module (guix packages)
#:use-module (guix download)
@ -892,6 +894,77 @@ passphrase when @code{gpg} is run and needs it.")))
@dfn{Enlightenment Foundation Libraries} (EFL) that allows users to enter a
passphrase when @code{gpg} is run and needs it.")))
(define-public pinentry-rofi
(package
(name "pinentry-rofi")
(version "2.0.1")
(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 "044bnldz7k74s873jwsjgff176l1jsvpbaka7d1wcj8b5pwqv2av"))))
(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* ((compiled-dir
(lambda (out version)
(string-append out "/lib/guile/" version "/site-ccache")))
(uncompiled-dir
(lambda (out version)
(string-append
out
"/share/guile/site"
(if (string-null? version) "" "/")
version)))
(dep-path
(lambda (env path)
(list env ":" 'prefix (list path))))
(out (assoc-ref outputs "out"))
(bin (string-append out "/bin/"))
(site (uncompiled-dir out "")))
(match (scandir site)
(("." ".." version)
(for-each
(lambda (file)
(wrap-program
(string-append bin file)
(dep-path
"PATH"
(string-append (assoc-ref inputs "rofi") "/bin"))
(dep-path
"GUILE_LOAD_PATH"
(uncompiled-dir out version))
(dep-path
"GUILE_LOAD_COMPILED_PATH"
(compiled-dir out version))))
,''("pinentry-rofi"))
#t))))))))
(native-inputs
`(("autoconf" ,autoconf)
("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+)))
(define-public pinentry
(package (inherit pinentry-gtk2)
(name "pinentry")))