summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCayetano Santos <csantosb@inventati.org>2025-06-13 18:47:04 +0200
committerSharlatan Hellseher <sharlatanus@gmail.com>2025-06-23 21:05:06 +0100
commit7876cc448096a8ef5ddb3aca654be2c0840987ce (patch)
tree0a244e28e493d1efa6081dac87c5ff39eb9ad97b
parent6f71a2a3a089038c18c9543543bc71030a2285af (diff)
gnu: tomb: Update to 2.11.
* gnu/packages/crypto.scm (tomb): Update to 2.11. Use G-expressions. [home-page]: Fix URL. [phases]{check}: Respect #:tests? parameter. [native-inputs]: Remove sudo; add which. Remove labels. [inputs]: Add argon2. Remove labels. Change-Id: I01c24feac7f5b9088469f0f3ac982557293223db Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com> Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
-rw-r--r--gnu/packages/crypto.scm138
1 files changed, 75 insertions, 63 deletions
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index f1574bfecf..3a517011b1 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -51,6 +51,7 @@
#:use-module (gnu packages aidc)
#:use-module (gnu packages attr)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
@@ -451,71 +452,82 @@ total number of shares generated.")
(define-public tomb
(package
(name "tomb")
- (version "2.9")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://files.dyne.org/tomb/releases/"
- "Tomb-" version ".tar.gz"))
- (sha256
- (base32
- "136nfnpaz29hngwwnzrmc858gpnvnb977gf4ldbpapw1h1k3r8mk"))))
+ (version "2.11")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://files.dyne.org/tomb/releases/"
+ "Tomb-" version ".tar.gz"))
+ (sha256
+ (base32 "05f34yx91bn9fj7rkabgpzvkw4pa6bg2c1r8cnp72wwnx6bzj97m"))))
(build-system gnu-build-system)
- (native-inputs (list sudo)) ;presence needed for 'check' phase
- (inputs
- `(("bash" ,bash-minimal) ; for wrap-program
- ("zsh" ,zsh)
- ("gnupg" ,gnupg)
- ("cryptsetup" ,cryptsetup)
- ("e2fsprogs" ,e2fsprogs) ;for mkfs.ext4
- ("gettext" ,gettext-minimal) ;used at runtime
- ("lsof" ,lsof)
- ("mlocate" ,mlocate)
- ("pinentry" ,pinentry)
- ("qrencode" ,qrencode)
- ("steghide" ,steghide)
- ("util-linux" ,util-linux)))
(arguments
- `(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
- ;; The "sudo" input is needed only to satisfy dependency checks in the
- ;; 'check' phase. The "sudo" used at runtime should come from the
- ;; system's privileged-programs, so ensure no reference is kept.
- #:disallowed-references (,sudo)
- ;; 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)
- (apply invoke "make" "-C" "extras/translations"
- "install" make-flags)
- #t))
- (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)))
- '("seq" "mkfs.ext4" "pinentry"
- "gpg" "cryptsetup" "gettext" "lsof"
- "qrencode" "steghide" "findmnt" "getent")))))
- #t)))
- (delete 'check)
- (add-after 'wrap 'check
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Running the full tests requires sudo/root access for
- ;; cryptsetup, which is not available in the build environment.
- ;; But we can run `tomb dig` without root, so make sure that
- ;; works. TODO: It Would Be Nice to check the expected "index",
- ;; "search", "bury", and "exhume" features are available by
- ;; querying `tomb -h`.
- (let ((tomb (string-append (assoc-ref outputs "out")
- "/bin/tomb")))
- (invoke tomb "dig" "-s" "10" "secrets.tomb")
- #t))))))
- (home-page "https://www.dyne.org/software/tomb")
+ (list
+ #:make-flags #~(list (string-append "PREFIX=" #$output))
+ ;; 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)
+ (apply invoke "make" "-C" "extras/translations"
+ "install" make-flags)))
+ (add-after 'install 'cloak
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (apply invoke "make" "-C" "extras/cloak" "install" make-flags)
+ (copy-recursively
+ "extras/cloak/ciphers"
+ (string-append #$output "/share/tomb/extras/cloak/ciphers"))))
+ (add-after 'install 'gtomb
+ (lambda _
+ (install-file "extras/gtomb/gtomb"
+ (string-append #$output "/bin"))))
+ (add-after 'install 'wrap
+ (lambda* (#:key inputs #:allow-other-keys)
+ (wrap-program (string-append #$output "/bin/tomb")
+ `("PATH" ":" prefix
+ (,(string-append (assoc-ref inputs "mlocate") "/bin")
+ ,@(map (lambda (program)
+ (or (and=> (which program) dirname)
+ (error "program not found:" program)))
+ ;; The size of this package explodes with:
+ ;; "unoconv" "recoll"
+ '("argon2" "seq" "mkfs.ext4" "pinentry"
+ "gpg" "cryptsetup" "gettext" "lsof"
+ "qrencode" "steghide" "findmnt" "getent")))))))
+ (delete 'check)
+ (add-after 'wrap 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; Running the full tests requires sudo/root access for
+ ;; cryptsetup, which is not available in the build
+ ;; environment. But we can run `tomb dig` without root, so
+ ;; make sure that works.
+ ;;
+ ;; TODO: It Would Be Nice to check the expected "index",
+ ;; "search", "bury", and "exhume" features are available by
+ ;; querying `tomb -h`.
+ (let ((tomb (string-append #$output "/bin/tomb")))
+ (invoke tomb "dig" "-s" "10" "secrets.tomb"))))))))
+ (native-inputs
+ (list which))
+ (inputs
+ (list argon2
+ bash-minimal
+ cryptsetup
+ e2fsprogs ; for mkfs.ext4
+ gettext-minimal ; used at runtime
+ gnupg
+ lsof
+ mlocate
+ pinentry
+ qrencode
+ ;; recoll ; size explodes
+ steghide
+ ;; unoconv ; size explodes
+ util-linux
+ zsh))
+ (home-page "https://dyne.org/tomb/")
(synopsis "File encryption for secret data")
(description
"Tomb is an application to manage the creation and access of encrypted