From mboxrd@z Thu Jan 1 00:00:00 1970 From: Leo Famulari Subject: Re: [PATCH] gnu: Add pass. Date: Wed, 2 Mar 2016 03:30:40 -0500 Message-ID: <20160302083040.GA3637@jasmine> References: <87lh6u6dnj.fsf@tsyesika.se> <20160209225551.GA20330@debian> <20160217181344.GB31074@solar> <20160228083950.GA16555@solar> <87bn7050na.fsf@tsyesika.se> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="7AUc2qLy4jB3hD7Z" Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:50094) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ab2BD-0007kW-EE for guix-devel@gnu.org; Wed, 02 Mar 2016 03:30:48 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ab2BA-00024S-4T for guix-devel@gnu.org; Wed, 02 Mar 2016 03:30:47 -0500 Received: from out3-smtp.messagingengine.com ([66.111.4.27]:44660) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ab2B9-00024K-Vy for guix-devel@gnu.org; Wed, 02 Mar 2016 03:30:44 -0500 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 78A0220C44 for ; Wed, 2 Mar 2016 03:30:43 -0500 (EST) Content-Disposition: inline In-Reply-To: <87bn7050na.fsf@tsyesika.se> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Jessica Tallon Cc: Guix-devel --7AUc2qLy4jB3hD7Z Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Sun, Feb 28, 2016 at 04:12:57PM +0100, Jessica Tallon wrote: > I've attached the package so if someone would like to continue, please > do so, I won't be. Thanks for your work and suggestions those who've > helped me get this far with packaging it :) I've learnt a lot about it. I added a wrapper which provides getopt (as well as the rest of 'util-linux/bin') to the script at run-time. Is there a way to only provide the single executable 'getopt'? Either way, I think it's a better solution than propagating util-linux, since the wrapper keeps util-linux out of the user's profile. What do people think? --7AUc2qLy4jB3hD7Z Content-Type: text/x-diff; charset=iso-8859-1 Content-Disposition: attachment; filename="0001-gnu-Add-password-store.patch" Content-Transfer-Encoding: 8bit >From c35aaafb4c2184b113c0c7382557a3b8376f20c6 Mon Sep 17 00:00:00 2001 Message-Id: From: Jessica Tallon Date: Mon, 8 Feb 2016 22:12:50 +0100 Subject: [PATCH 1/1] gnu: Add password-store. * gnu/packages/password-utils.scm (password-store): New variable. Co-authored-by: Andreas Enge Co-authored-by: Leo Famulari --- gnu/packages/password-utils.scm | 53 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 7c128a3..4119335 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -3,6 +3,8 @@ ;;; Copyright © 2015, 2016 Efraim Flashner ;;; Copyright © 2015 Aljosha Papsch ;;; Copyright © 2016 Christopher Allan Webber +;;; Copyright © 2016 Jessica Tallon +;;; Copyright © 2016 Andreas Enge ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,16 +27,20 @@ #:use-module (guix build-system gnu) #:use-module (guix download) #:use-module (guix packages) + #:use-module (gnu packages admin) + #:use-module (gnu packages base) #:use-module (gnu packages compression) #:use-module (gnu packages gnupg) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) + #:use-module (gnu packages linux) #:use-module (gnu packages man) #:use-module (gnu packages ncurses) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages tls) #:use-module (gnu packages qt) + #:use-module (gnu packages version-control) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg) #:use-module (guix build-system python)) @@ -241,3 +247,50 @@ JSON files. It has a command line interface as well as a very simple graphical interface, which can even \"type\" your passwords into any X11 window.") (license license:gpl3+))) + +(define-public password-store + (package + (name "password-store") + (version "1.6.5") + (source (origin + (method url-fetch) + (uri + (string-append "https://git.zx2c4.com/password-store/snapshot/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "05bk3lrp5jwg0v338lvylp7glpliydzz4jf5pjr6k3kagrv3jyik")))) + (build-system gnu-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after + ;; The script requires 'getopt' at run-time. We provide it with a + ;; wrapper instead of propagating util-linux. + 'install 'wrap-getopt + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (pass (string-append out "/bin/pass")) + (getopt (string-append (assoc-ref inputs "getopt") "/bin"))) + (wrap-program pass + `("PATH" ":" prefix (,getopt))) + #t)))) + #:make-flags (list "CC=gcc" (string-append "PREFIX=" %output)) + #:test-target "test")) + (native-inputs `(("getopt" ,util-linux))) ; getopt for the tests + (inputs `(("gnupg" ,gnupg) + ("pwgen" ,pwgen) + ("xclip" ,xclip) + ("git" ,git) + ("tree" ,tree) + ("which" ,which))) + (home-page "http://www.passwordstore.org/") + (synopsis "Encrypted password manager") + (description "Password-store is a password manager which uses GnuPG to +store and retrieve passwords. The tool stores each password in its own +GnuPG-encrypted file, allowing the program to be simple yet secure. +Synchronization is possible using the integrated git support, which commits +changes to your password database to a git repository that can be managed +through the pass command.") + (license license:gpl2+))) -- 2.7.1 --7AUc2qLy4jB3hD7Z--