From 607d280ec82e8c4849926a380f4c717585a4ce80 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 5 Mar 2018 11:03:28 +0200 Subject: [PATCH] gnu: Add jetring. * gnu/packages/gnupg.scm (jetring): New variable. --- gnu/packages/gnupg.scm | 57 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 28f5b58887..2696e332de 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2014 Eric Bavier ;;; Copyright © 2014, 2015, 2016 Mark H Weaver ;;; Copyright © 2015 Paul van der Walt -;;; Copyright © 2015, 2016, 2017 Efraim Flashner +;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner ;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus ;;; Copyright © 2016 Christopher Allan Webber ;;; Copyright © 2016, 2017 ng0 @@ -929,3 +929,58 @@ keyring content. Parcimonie is a daemon that fetches one key at a time using the Tor network, waits a bit, changes the Tor circuit being used, and starts over.") (license license:gpl1+))) + +(define-public jetring + (package + (name "jetring") + (version "0.25") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://debian/pool/main/j/" name "/" + name "_" version ".tar.xz")) + (sha256 + (base32 + "0shcnnw0h31b08vmnvf18ni33dg40w18wv9smb69vkklz3h4jhpw")))) + (build-system gnu-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (delete 'configure) ; no configure script + (add-before 'install 'hardlink-gnupg + (lambda* (#:key inputs #:allow-other-keys) + (let ((gpg (string-append (assoc-ref inputs "gnupg") + "/bin/gpg"))) + (substitute* (find-files "." "jetring-[[:alpha:]]+$") + (("gpg -") (string-append gpg " -")) + (("\\\"gpg\\\"") (string-append "\"" gpg "\""))) + #t))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (man (string-append out "/share/man"))) + (for-each (lambda (file) + (install-file file (string-append out "/bin/"))) + (find-files "." "jetring-[[:alpha:]]+$")) + (for-each (lambda (file) + (install-file file (string-append man "/man1/"))) + (find-files "." ".*\\.1$")) + (install-file "jetring.7" (string-append man "/man7/")) + #t)))) + #:tests? #f)) ; no test phase + (inputs + `(("gnupg" ,gnupg) + ("perl" ,perl))) + (home-page "https://joeyh.name/code/jetring/") + (synopsis "GnuPG keyring maintenance using changesets") + (description + "Jetring is a collection of tools that allow for gpg keyrings to be +maintained using changesets. It was developed with the Debian keyring in mind, +and aims to solve the problem that a gpg keyring is a binary blob that's hard +for multiple people to collaboratively edit. + +With jetring, changesets can be submitted, reviewed to see exactly what they +will do, applied, and used to build a keyring. The origin of every change made +to the keyring is available for auditing, and gpg signatures can be used for +integrity guarantees.") + (license license:gpl2+)))