From: Eric Bavier <bav...@member.fsf.org> * gnu/packages/crypto.scm (tomb): New variable. --- gnu/packages/crypto.scm | 60 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+)
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 7d61164..ea2d58a 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016 Leo Famulari <l...@famulari.name> ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox> ;;; Copyright © 2016 Tobias Geerinckx-Rice <m...@tobias.gr> +;;; Copyright © 2016 Eric Bavier <bav...@member.fsf.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,9 +23,13 @@ (define-module (gnu packages crypto) #:use-module (gnu packages) + #:use-module (gnu packages aidc) #:use-module (gnu packages autotools) #:use-module (gnu packages boost) + #:use-module (gnu packages cryptsetup) #:use-module (gnu packages gettext) + #:use-module (gnu packages gnupg) + #:use-module (gnu packages image) #:use-module (gnu packages pkg-config) #:use-module (gnu packages libbsd) #:use-module (gnu packages linux) @@ -32,8 +37,10 @@ #:use-module (gnu packages password-utils) #:use-module (gnu packages perl) #:use-module (gnu packages readline) + #:use-module (gnu packages search) #:use-module (gnu packages serialization) #:use-module (gnu packages tls) + #:use-module (gnu packages zsh) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) @@ -223,3 +230,56 @@ to provide security against off-line attacks, such as a drive falling into the wrong hands.") (license (list license:lgpl3+ ;encfs library license:gpl3+)))) ;command-line tools + +(define-public tomb + (package + (name "tomb") + (version "2.2") + (source (origin + (method url-fetch) + (uri (string-append "https://files.dyne.org/tomb/" + "tomb-" version ".tar.gz")) + (sha256 + (base32 + "11msj38fdmymiqcmwq1883kjqi5zr01ybdjj58rfjjrw4zw2w5y0")))) + (build-system gnu-build-system) + (inputs ;users should install their preferred pinentry-* + `(("zsh" ,zsh) + ("gnupg" ,gnupg) + ("cryptsetup" ,cryptsetup) + ("gettext" ,gnu-gettext) ;used at runtime + ("mlocate" ,mlocate) + ("qrencode" ,qrencode) + ("steghide" ,steghide) + ("swish-e" ,swish-e))) + (arguments + `(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:tests? #f ;requires root + ;; TODO: Build and install gtk and qt trays + #:phases + (modify-phases %standard-phases + (delete 'configure) ;no configuration to be done + (add-after 'install 'i18n + (lambda* (#:key make-flags #:allow-other-keys) + (zero? (apply system* + "make" "-C" "extras/translations" + "install" make-flags)))) + (add-after 'install 'wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/tomb") + `("PATH" ":" prefix + (,(string-append (assoc-ref inputs "mlocate") "/bin") + ,@(map (lambda (program) + (or (and=> (which program) dirname) + (error "program not found:" program))) + '("gpg" "cryptsetup" "gettext" + "qrencode" "steghide" "swish-e"))))) + #t)))))) + (home-page "http://www.dyne.org/software/tomb") + (synopsis "File encryption for secret data") + (description + "Tomb is an application to manage the creation and access of encrypted +storage files: it can be operated from commandline and it can integrate with a +user's graphical desktop.") + (license license:gpl3+))) -- 2.9.2