pinentry: replace mkFlag with lib.enableFeature and lib.withFeature

This commit is contained in:
Pavol Rusnak 2022-07-09 13:37:24 +02:00
parent 72848cc78e
commit 3d881da967
No known key found for this signature in database
GPG Key ID: 91F3B339B9A02A3D

View File

@ -16,18 +16,13 @@ let
then mkDerivation
else stdenv.mkDerivation;
mkFlag = pfxTrue: pfxFalse: cond: name:
"--${if cond then pfxTrue else pfxFalse}-${name}";
mkEnable = mkFlag "enable" "disable";
mkWith = mkFlag "with" "without";
mkEnablePinentry = f:
enableFeaturePinentry = f:
let
info = flavorInfo.${f};
flag = flavorInfo.${f}.flag or null;
in
optionalString (flag != null)
(mkEnable (elem f enabledFlavors) ("pinentry-" + flag));
(enableFeature (elem f enabledFlavors) ("pinentry-" + flag));
flavorInfo = {
curses = { bin = "curses"; flag = "curses"; buildInputs = [ ncurses ]; };
@ -68,9 +63,9 @@ pinentryMkDerivation rec {
];
configureFlags = [
(mkWith (libcap != null) "libcap")
(mkEnable (libsecret != null) "libsecret")
] ++ (map mkEnablePinentry (attrNames flavorInfo));
(withFeature (libcap != null) "libcap")
(enableFeature (libsecret != null) "libsecret")
] ++ (map enableFeaturePinentry (attrNames flavorInfo));
postInstall =
concatStrings (flip map enabledFlavors (f: