diff options
author | Cayetano Santos <csantosb@inventati.org> | 2025-06-13 18:47:04 +0200 |
---|---|---|
committer | Sharlatan Hellseher <sharlatanus@gmail.com> | 2025-06-23 21:05:06 +0100 |
commit | 7876cc448096a8ef5ddb3aca654be2c0840987ce (patch) | |
tree | 0a244e28e493d1efa6081dac87c5ff39eb9ad97b | |
parent | 6f71a2a3a089038c18c9543543bc71030a2285af (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.scm | 138 |
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 |