diff mbox series

[bug#36575] gnu: shroud: Update to 6b79c8c.

Message ID 85tvbum445.fsf@disroot.org
State Accepted
Headers show
Series [bug#36575] gnu: shroud: Update to 6b79c8c. | expand

Commit Message

Amar M. Singh July 10, 2019, 1:05 p.m. UTC
Update shroud password manager. Now builds with guile-2.2. (or possibly even 3.0).

Comments

Thompson, David July 10, 2019, 1:35 p.m. UTC | #1
Hi Amar,

On Wed, Jul 10, 2019 at 9:07 AM Amar Singh <nly@disroot.org> wrote:
>
>
> Update shroud password manager. Now builds with guile-2.2. (or possibly even 3.0).

I just quietly released a 0.1.2 tarball for you:

https://files.dthompson.us/shroud/shroud-0.1.2.tar.gz
https://files.dthompson.us/shroud/shroud-0.1.2.tar.gz.asc

If it works, could you update this patch to use this release tarball?

Thanks for your interest and effort!

- Dave
Ludovic Courtès Aug. 25, 2019, 8:49 p.m. UTC | #2
"Thompson, David" <dthompson2@worcester.edu> skribis:

> Hi Amar,
>
> On Wed, Jul 10, 2019 at 9:07 AM Amar Singh <nly@disroot.org> wrote:
>>
>>
>> Update shroud password manager. Now builds with guile-2.2. (or possibly even 3.0).
>
> I just quietly released a 0.1.2 tarball for you:
>
> https://files.dthompson.us/shroud/shroud-0.1.2.tar.gz
> https://files.dthompson.us/shroud/shroud-0.1.2.tar.gz.asc

Done with commit 7dff32250b181a7b0521fcadc22646f871ead3a1 by Amar.

Ludo'.
diff mbox series

Patch

From 1e59791b4eb026a85ae3080650b28f759fe891f6 Mon Sep 17 00:00:00 2001
From: Amar Singh <nly@disroot.org>
Date: Fri, 5 Jul 2019 12:46:31 +0530
Subject: [PATCH] gnu: shroud: Update to 6b79c8c.

* (shroud): Update to 6b79c8c.

Shroud now uses guile-2.2, git-fetch to download source.
Add 'wrap-shroud build phase.
---
 gnu/packages/password-utils.scm | 85 +++++++++++++++++++++------------
 1 file changed, 55 insertions(+), 30 deletions(-)

diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index 49024b26c4..93d6b66e73 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -50,6 +50,7 @@ 
   #:use-module (gnu packages admin)
   #:use-module (gnu packages aidc)
   #:use-module (gnu packages authentication)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
@@ -234,41 +235,65 @@  platforms.")
     (license license:artistic2.0)))
 
 (define-public shroud
-  (package
-    (name "shroud")
-    (version "0.1.1")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://files.dthompson.us/shroud/shroud-"
-                                  version ".tar.gz"))
-              (sha256
-               (base32
-                "1y43yhgy2zbrk5bqj3qyx9rkcz2bma9sinlrg7dip3jqms9gq4lr"))))
-    (build-system gnu-build-system)
-    (arguments
-     '(#:phases
-       (modify-phases %standard-phases
-         (add-after 'install 'wrap-shroud
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out       (assoc-ref outputs "out"))
-                    (ccachedir (string-append out "/lib/guile/2.0/ccache"))
-                    (prog      (string-append out "/bin/shroud")))
-               (wrap-program prog
-                 `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,ccachedir)))
-               #t))))))
-    (inputs
-     `(("guile" ,guile-2.0)
-       ("gnupg" ,gnupg)
-       ("xclip" ,xclip)))
-    (synopsis "GnuPG-based secret manager")
-    (description "Shroud is a simple secret manager with a command line
+  (let ((commit "6b79c8c097b1d185929185bd57a36963660a1485"))
+    (package
+      (name "shroud")
+      (version (git-version "0.1.1" "3" commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "git://git.dthompson.us/shroud.git")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1s1pvlfj4c3nw2n3d8khhzhx1q0gfnspbh1d6jg3mij3r6wbkryy"))))
+      (build-system gnu-build-system)
+      (native-inputs
+       `(("pkg-config" ,pkg-config)
+         ("autoconf" ,autoconf-wrapper)
+         ("automake" ,automake)
+         ("gettext" ,gettext-minimal)))
+      (arguments
+       `(#:modules ((guix build gnu-build-system)
+                    (guix build utils)
+                    (ice-9 popen)
+                    (ice-9 rdelim)
+                    (srfi srfi-26))
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'install 'wrap-shroud
+             (lambda* (#:key inputs outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (guile (assoc-ref inputs "guile"))
+                      (xclip (assoc-ref inputs "xclip"))
+                      (prog (string-append out "/bin/shroud"))
+                      (deps (list xclip))
+                      (effective (read-line
+                                  (open-pipe* OPEN_READ
+                                              (string-append guile "/bin/guile")
+                                              "-c" "(display (effective-version))")))
+                      (path (map (cut string-append <> "/bin")
+                                 (delete #f deps)))
+                      (ccachedir (string-append out
+                                                "/lib/guile/" effective "/site-ccache")))
+                 (wrap-program prog
+                   `("PATH" ":" prefix ,path)
+                   `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,ccachedir)))
+                 #t))))))
+      (inputs
+       `(("guile" ,guile-2.2)
+         ("gnupg" ,gnupg)
+         ("xclip" ,xclip)))
+      (synopsis "GnuPG-based secret manager")
+      (description "Shroud is a simple secret manager with a command line
 interface.  The password database is stored as a Scheme s-expression and
 encrypted with a GnuPG key.  Secrets consist of an arbitrary number of
 key/value pairs, making Shroud suitable for more than just password storage.
 For copying and pasting secrets into web browsers and other graphical
 applications, there is xclip integration." )
-    (home-page "https://dthompson.us/projects/shroud.html")
-    (license license:gpl3+)))
+      (home-page "https://dthompson.us/projects/shroud.html")
+      (license license:gpl3+))))
 
 (define-public yapet
   (package
-- 
2.22.0