guix-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] gnu: Add pass.


From: Jessica Tallon
Subject: Re: [PATCH] gnu: Add pass.
Date: Sun, 28 Feb 2016 16:12:57 +0100
User-agent: mu4e 0.9.13; emacs 24.5.1

Andreas Enge writes:

> Hello Jessica,
>
> a quick reminder, it would be a pity to drop an almost finished package.
>
> Andreas
>
> On Wed, Feb 17, 2016 at 07:13:44PM +0100, Andreas Enge wrote:
>> On Tue, Feb 09, 2016 at 11:55:51PM +0100, Andreas Enge wrote:
>> > Since I tried out a few things, I realised I might as well send you my
>> > modified version of the patch. Maybe you could continue from there and
>> > examine the tests. If you are not happy with some of my modifications,
>> > please feel free to discuss them.
>> did you find some time to look at the password manager recipe? I think it
>> would be nice to get it into our distribution.

Hey,

The tests were failing due to a missing `which` command which I have
added however, it requires `which` as it tries to detect for itself the
GPG command.

The Guix build system therefore can't patch it, this really leaves the
only option of patching the script to use paths so it can be patched or
to use autoconf to detect them upon build so no patching would be
necessary.

I was going to create a patch for this so autoconf was used to detect
what it needs and send this patch upstream however upon looking through
the archives of its mailing list I've found the lead developer is
opposed to this and has make it clear they're not open to discussing
this further:

> I will not be incorporating m4, dot-in extensions, or any thing of the
> sort. That is non-negotiable, and I will not discuss it further.
https://lists.zx2c4.com/pipermail/password-store/2014-April/000751.html

> The whole notion here is that I don't want there to be a "build step",
> ever. This whole platform-file wonkiness was an unfortunate necessity, but
> I don't want to follow that further. There's "running", which is
> src/password-store.sh, and there's "installing", which is putting that file
> as /usr/bin/pass, and that's it. Simplicity is key. Somewhere along the way
> I had to sneak in a little sed into the "installing", which is a bummer,
> but, bleh.
https://lists.zx2c4.com/pipermail/password-store/2014-April/000757.html

In my opinion this while could be fixed downstream isn't worth it to me,
there are plenty of other password managers which don't require this and
operate in a more sensible way. I'll be looking to migrate to another
password manager rather than continue to use this.

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.

--
Thanks,
Jessica.

>From 0c24f17cd35de1b3ffefeffbb8b1e7681e5b880c Mon Sep 17 00:00:00 2001
From: Jessica Tallon <address@hidden>
Date: Mon, 8 Feb 2016 22:12:50 +0100
Subject: [PATCH] gnu: Add password-store.

* gnu/packages/password-utils.scm (password-store): New variable.

Co-authored-by: Andreas Enge <address@hidden>
---
 gnu/packages/password-utils.scm | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index 7c128a3..5a911c5 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -3,6 +3,8 @@
 ;;; Copyright © 2015, 2016 Efraim Flashner <address@hidden>
 ;;; Copyright © 2015 Aljosha Papsch <address@hidden>
 ;;; Copyright © 2016 Christopher Allan Webber <address@hidden>
+;;; Copyright © 2016 Jessica Tallon <address@hidden>
+;;; Copyright © 2016 Andreas Enge <address@hidden>
 ;;;
 ;;; 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,38 @@ 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
+       (alist-delete 'configure %standard-phases)
+       #:make-flags (list "CC=gcc" (string-append "PREFIX=" %output))
+       #:test-target "test"))
+    (native-inputs `(("util-linux" ,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.6.3


reply via email to

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