2021-01-15 09:19:50 +00:00
|
|
|
{ lib, stdenv, fetchFromGitHub, makeWrapper, coreutils, openssh, gnupg
|
2018-03-26 05:01:31 +01:00
|
|
|
, perl, procps, gnugrep, gawk, findutils, gnused }:
|
2010-07-28 12:55:54 +01:00
|
|
|
|
2015-03-22 22:02:42 +00:00
|
|
|
stdenv.mkDerivation rec {
|
2019-08-15 13:41:18 +01:00
|
|
|
pname = "keychain";
|
2018-02-27 03:42:56 +00:00
|
|
|
version = "2.8.5";
|
2008-04-23 11:51:23 +01:00
|
|
|
|
2015-03-22 22:02:42 +00:00
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "funtoo";
|
|
|
|
repo = "keychain";
|
2019-09-09 00:38:31 +01:00
|
|
|
rev = version;
|
2018-02-27 03:42:56 +00:00
|
|
|
sha256 = "1bkjlg0a2bbdjhwp37ci1rwikvrl4s3xlbf2jq2z4azc96dr83mj";
|
2008-04-23 11:51:23 +01:00
|
|
|
};
|
|
|
|
|
2021-02-07 09:17:39 +00:00
|
|
|
nativeBuildInputs = [ makeWrapper ];
|
|
|
|
buildInputs = [ perl ];
|
2008-04-23 11:51:23 +01:00
|
|
|
|
2015-05-13 23:03:59 +01:00
|
|
|
installPhase = ''
|
|
|
|
mkdir -p $out/{bin,share/man/man1}
|
|
|
|
cp keychain $out/bin/keychain
|
|
|
|
cp keychain.1 $out/share/man/man1
|
2013-11-28 11:52:32 +00:00
|
|
|
wrapProgram $out/bin/keychain \
|
|
|
|
--prefix PATH ":" "${coreutils}/bin" \
|
|
|
|
--prefix PATH ":" "${openssh}/bin" \
|
|
|
|
--prefix PATH ":" "${gnupg}/bin" \
|
|
|
|
--prefix PATH ":" "${gnugrep}/bin" \
|
|
|
|
--prefix PATH ":" "${gnused}/bin" \
|
|
|
|
--prefix PATH ":" "${findutils}/bin" \
|
|
|
|
--prefix PATH ":" "${gawk}/bin" \
|
2018-03-26 05:01:31 +01:00
|
|
|
--prefix PATH ":" "${procps}/bin"
|
2013-11-28 11:52:32 +00:00
|
|
|
'';
|
2008-04-23 11:51:23 +01:00
|
|
|
|
2015-03-22 22:02:42 +00:00
|
|
|
meta = {
|
2010-07-28 12:55:54 +01:00
|
|
|
description = "Keychain management tool";
|
2020-04-01 02:11:51 +01:00
|
|
|
homepage = "https://www.funtoo.org/Keychain";
|
2021-01-15 09:19:50 +00:00
|
|
|
license = lib.licenses.gpl2;
|
2015-08-12 15:29:30 +01:00
|
|
|
# other platforms are untested (AFAIK)
|
|
|
|
platforms =
|
2021-01-15 09:19:50 +00:00
|
|
|
with lib;
|
2015-08-12 15:29:30 +01:00
|
|
|
platforms.linux ++ platforms.darwin;
|
2021-01-15 09:19:50 +00:00
|
|
|
maintainers = with lib.maintainers; [ sigma ];
|
2019-06-06 08:33:14 +01:00
|
|
|
longDescription = ''
|
2021-01-15 09:19:50 +00:00
|
|
|
Keychain helps you to manage SSH and GPG keys in a convenient and secure
|
|
|
|
manner. It acts as a frontend to ssh-agent and ssh-add, but allows you
|
|
|
|
to easily have one long running ssh-agent process per system, rather
|
|
|
|
than the norm of one ssh-agent per login session.
|
2019-06-06 08:33:14 +01:00
|
|
|
|
2021-01-15 09:19:50 +00:00
|
|
|
This dramatically reduces the number of times you need to enter your
|
|
|
|
passphrase. With keychain, you only need to enter a passphrase once
|
|
|
|
every time your local machine is rebooted. Keychain also makes it easy
|
|
|
|
for remote cron jobs to securely "hook in" to a long-running ssh-agent
|
|
|
|
process, allowing your scripts to take advantage of key-based logins.
|
2019-06-06 08:33:14 +01:00
|
|
|
'';
|
2008-04-23 11:51:23 +01:00
|
|
|
};
|
|
|
|
}
|