From aa92429df463ac197a0edcd90aa30ebf8c064ac0 Mon Sep 17 00:00:00 2001 From: James Richardson Date: Thu, 22 Sep 2016 01:44:28 -0400 Subject: [PATCH] gnu: add keychain * gnu/local.mk: Include gnu/packages/keychain.scm. * gnu/packages/keychain.scm: Add new file. * gnu/packages/keychain.scm: (keychain): New variable. --- gnu/local.mk | 1 + gnu/packages/keychain.scm | 79 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 gnu/packages/keychain.scm diff --git a/gnu/local.mk b/gnu/local.mk index a756638..3b814f4 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -191,6 +191,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/kde.scm \ %D%/packages/kde-frameworks.scm \ %D%/packages/key-mon.scm \ + %D%/packages/keychain.scm \ %D%/packages/kodi.scm \ %D%/packages/language.scm \ %D%/packages/ldc.scm \ diff --git a/gnu/packages/keychain.scm b/gnu/packages/keychain.scm new file mode 100644 index 0000000..7842fb4 --- /dev/null +++ b/gnu/packages/keychain.scm @@ -0,0 +1,79 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 James Richardson +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages keychain) + #:use-module (guix utils) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system trivial) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages base) + #:use-module (gnu packages compression)) + +(define-public keychain + (package + (name "keychain") + (version "2.8.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://www.funtoo.org/distfiles/keychain/keychain-" + version ".tar.bz2")) + (sha256 + (base32 + "009kmqrwjp1a2a5iyhbnjm2fbiig7xh5c6p8a6ls25kn54r5i2bl")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder (begin + (use-modules (guix build utils)) + (let ((bin-dir (string-append %output "/bin")) + (man1-dir (string-append %output "/share/man/man1")) + (tar (string-append + (assoc-ref %build-inputs "tar") + "/bin/tar")) + (bzip2 (assoc-ref %build-inputs "bzip2")) + (source (assoc-ref %build-inputs "source"))) + (mkdir-p bin-dir) + (mkdir-p man1-dir) + (setenv "PATH" (string-append bzip2 "/bin")) + (system* tar "xfv" source) + (copy-file (string-append ,name "-" + ,version "/keychain.1") + (string-append man1-dir "/keychain.1")) + (copy-file (string-append ,name "-" + ,version "/keychain") + (string-append bin-dir "/keychain")))))) + (native-inputs `(("bzip2" ,bzip2) + ("tar" ,tar) + ("source" ,source))) + (synopsis "Key manager for OpenSSH") + (description + "Keychain is an OpenSSH key manager, typically run from +~/.bash_profile. When keychain is run, it checks for a running ssh-agent, +otherwise it starts one. It saves the ssh-agent environment variables to +~/.keychain/$HOSTNAME-sh, so that subsequent logins and +non-interactive shells such as cron jobs can source the file and make +passwordless ssh connections. In addition, when keychain runs, it +verifies that the key files specified on the command-line are known to +ssh-agent, otherwise it loads them, prompting you for a password +if necessary.") + (home-page "http://www.funtoo.org/Keychain") + (license license:gpl2))) + -- 2.9.2