guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Patch]: add keychain


From: James Richardson
Subject: [Patch]: add keychain
Date: Thu, 22 Sep 2016 07:46:35 -0400
User-agent: mu4e 0.9.16; emacs 24.5.1

>From aa92429df463ac197a0edcd90aa30ebf8c064ac0 Mon Sep 17 00:00:00 2001
From: James Richardson <address@hidden>
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 <address@hidden>
+;;;
+;;; 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 <http://www.gnu.org/licenses/>.
+
+(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

This is my first patch. Feedback, suggestions welcomed.

I'll have more coming as I add softwares I use that aren't included yet.

Thanks,
James Richardson

reply via email to

[Prev in Thread] Current Thread [Next in Thread]