Merge pull request #104262 from Vonfry/fix/pass

pass: separate dmenu from x11Support
This commit is contained in:
Maximilian Bosch 2020-11-25 14:32:02 +01:00 committed by GitHub
commit 6cd3c538c7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 7 deletions

View File

@ -3,7 +3,7 @@
, qrencode , makeWrapper, pass, symlinkJoin
, xclip ? null, xdotool ? null, dmenu ? null
, x11Support ? !stdenv.isDarwin
, x11Support ? !stdenv.isDarwin , dmenuSupport ? x11Support
, waylandSupport ? false, wl-clipboard ? null
# For backwards-compatibility
@ -12,9 +12,11 @@
with lib;
assert x11Support -> xclip != null
&& xdotool != null
&& dmenu != null;
assert x11Support -> xclip != null;
assert dmenuSupport -> dmenu != null
&& xdotool != null
&& x11Support;
assert waylandSupport -> wl-clipboard != null;
@ -72,7 +74,7 @@ stdenv.mkDerivation rec {
# himself.
mkdir -p "$out/share/emacs/site-lisp"
cp "contrib/emacs/password-store.el" "$out/share/emacs/site-lisp/"
'' + optionalString x11Support ''
'' + optionalString dmenuSupport ''
cp "contrib/dmenu/passmenu" "$out/bin/"
'';
@ -87,7 +89,8 @@ stdenv.mkDerivation rec {
qrencode
procps
] ++ optional stdenv.isDarwin openssl
++ ifEnable x11Support [ dmenu xclip xdotool ]
++ optional x11Support xclip
++ optionals dmenuSupport [ xdotool dmenu ]
++ optional waylandSupport wl-clipboard);
postFixup = ''
@ -98,7 +101,7 @@ stdenv.mkDerivation rec {
# Ensure all dependencies are in PATH
wrapProgram $out/bin/pass \
--prefix PATH : "${wrapperPath}"
'' + stdenv.lib.optionalString x11Support ''
'' + stdenv.lib.optionalString dmenuSupport ''
# We just wrap passmenu with the same PATH as pass. It doesn't
# need all the tools in there but it doesn't hurt either.
wrapProgram $out/bin/passmenu \

View File

@ -1260,6 +1260,11 @@ in
pass = callPackage ../tools/security/pass { };
pass-nodmenu = callPackage ../tools/security/pass {
dmenuSupport = false;
pass = pass-nodmenu;
};
pass-wayland = callPackage ../tools/security/pass {
waylandSupport = true;
pass = pass-wayland;