commit:     a9cf0836b0d678e925950285a096d66a79ee0f10
Author:     Lucio Sauer <watermanpaint <AT> posteo <DOT> net>
AuthorDate: Tue Dec  2 11:54:09 2025 +0000
Commit:     Lucio Sauer <watermanpaint <AT> posteo <DOT> net>
CommitDate: Tue Dec  2 12:13:29 2025 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=a9cf0836

app-crypt/tomb: add 2.13

* EAPI 8
* Migrate to Qt6
* Remove unusual/unheard of files that don't seem to integrate with
  other tools
  - /etc/menu/tomb
  - /usr/lib/mime/packages/tomb
* Wire up tests where possible

Signed-off-by: Lucio Sauer <watermanpaint <AT> posteo.net>

 app-crypt/tomb/Manifest                      |   1 +
 app-crypt/tomb/files/tomb-2.13-gtomb.patch   |  11 ++
 app-crypt/tomb/files/tomb-2.13-qt-tray.patch |  15 +++
 app-crypt/tomb/tomb-2.13.ebuild              | 145 +++++++++++++++++++++++++++
 4 files changed, 172 insertions(+)

diff --git a/app-crypt/tomb/Manifest b/app-crypt/tomb/Manifest
index df2e537ae1..0a38574234 100644
--- a/app-crypt/tomb/Manifest
+++ b/app-crypt/tomb/Manifest
@@ -1 +1,2 @@
+DIST Tomb-2.13.tar.gz 4883377 BLAKE2B 
e8c2b4185c8142e54cc3de6757753c2ef431759f10de3841424a1fda488729bcba39fd356d151c0605b6374abff5a32fc8a9455fcc556ffd776308aeabf46339
 SHA512 
0b9e7502341df5985c9202b068b64ccf20328f1aedba19b692d40af8aa3970cd6de9ecacb832100c09212c08fca740566f92e7c7a8dab8ff0093da4756f0d76d
 DIST Tomb-2.9.tar.gz 4742346 BLAKE2B 
16e287295c11f711a1fbe0f6658ed9b669de52d3766f633a1d94c3cb7d08472bbd2f03e2e3bffe1076b9c182e2441a906bebcd158f547146a94b9b96daf9b5e4
 SHA512 
425ee50130cf8b8c60488ec53aa17381f54371e624ae0211a079b7148741c28d5b7c9b6623eebe987079df890ef0fad0aa8c1daa1c7fbb79dbb502e511be20b6

diff --git a/app-crypt/tomb/files/tomb-2.13-gtomb.patch 
b/app-crypt/tomb/files/tomb-2.13-gtomb.patch
new file mode 100644
index 0000000000..bfe036bf93
--- /dev/null
+++ b/app-crypt/tomb/files/tomb-2.13-gtomb.patch
@@ -0,0 +1,11 @@
+--- a/extras/gtomb/gtomb
++++ b/extras/gtomb/gtomb
+@@ -20,7 +20,7 @@
+ 
+ # {{{ SETTINGS
+ ver="0.9.1"
+-KDFPATH="/usr/libexec/tomb" # Path of your KDF binaries (if you're using 
them).
++KDFPATH="/usr/bin" # Path of your KDF binaries (if you're using them).
+ SWAPOFF="false" # Set to "true" to swapoff, or "false" to use -f (force) flag.
+ # The ones below should not need changing
+ TOMBPATH="$(which tomb)" # Tomb executable's path

diff --git a/app-crypt/tomb/files/tomb-2.13-qt-tray.patch 
b/app-crypt/tomb/files/tomb-2.13-qt-tray.patch
new file mode 100644
index 0000000000..db398a87f5
--- /dev/null
+++ b/app-crypt/tomb/files/tomb-2.13-qt-tray.patch
@@ -0,0 +1,15 @@
+Fix file system location of localization file.
+
+From: Lucio Sauer <[email protected]>
+--- a/extras/qt-tray/main.cpp
++++ b/extras/qt-tray/main.cpp
+@@ -30,7 +30,8 @@ int main(int argc, char *argv[])
+     QTranslator translator(0);
+ 
+ 
+-    translator.load( QString("./i18n/tomb-qt-tray_") + 
QLocale::system().name() );
++    translator.load( QString("tomb-qt-tray_it"),
++                   
"@GENTOO_PORTAGE_EPREFIX@/usr/share/locale/it_IT/LC_MESSAGES");
+ 
+     a.installTranslator( &translator );
+     //w.show();

diff --git a/app-crypt/tomb/tomb-2.13.ebuild b/app-crypt/tomb/tomb-2.13.ebuild
new file mode 100644
index 0000000000..d6dd739510
--- /dev/null
+++ b/app-crypt/tomb/tomb-2.13.ebuild
@@ -0,0 +1,145 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop optfeature prefix qmake-utils toolchain-funcs xdg
+
+DESCRIPTION="The Linux Crypto Undertaker"
+HOMEPAGE="
+       https://dyne.org/software/tomb/
+       https://github.com/dyne/Tomb
+"
+SRC_URI="https://files.dyne.org/tomb/releases/Tomb-${PV}.tar.gz";
+
+S="${WORKDIR}/${P^}"
+
+# doc/literate/shocco - MIT
+LICENSE="GPL-3 MIT gui? ( GPL-3+ )"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="gui tray"
+
+PATCHES=(
+       "${FILESDIR}/${P}-gtomb.patch"
+       "${FILESDIR}/${P}-qt-tray.patch"
+       "${FILESDIR}/${PN}-2.9-respect-ldflags.patch"
+)
+
+DEPEND="
+       dev-libs/libgcrypt:=
+       tray? (
+               dev-qt/qtbase:6[gui,network,widgets]
+               dev-qt/qtdeclarative:6
+       )
+"
+RDEPEND="
+       ${DEPEND}
+       app-crypt/gnupg
+       app-crypt/pinentry
+       app-shells/zsh
+       sys-fs/cryptsetup
+       sys-fs/e2fsprogs[tools]
+       gui? ( gnome-extra/zenity )
+"
+BDEPEND="
+       dev-python/markdown
+       dev-python/pygments
+       sys-devel/gettext
+"
+
+src_prepare() {
+       default
+       hprefixify tomb extras/gtomb
+       eprefixify extras/qt-tray/main.cpp
+}
+
+src_compile() {
+       export CFLAGS LDFLAGS PREFIX="${EPREFIX}/usr"
+       tc-export CC
+
+       emake all -C extras/kdf-keys
+       emake all -C doc/literate
+       if use tray ; then
+               pushd extras/qt-tray > /dev/null || die
+               eqmake6
+               emake all
+               popd > /dev/null || die
+       fi
+}
+
+src_test() {
+       # test require sudo, can't be done non interactively
+       # emake TEST_OPTS="--verbose --immediate --root="${T}"/tomb/sharness" 
test
+       emake test -C extras/kdf-keys
+}
+
+src_install() {
+       local -x DESTDIR="${D}"
+
+       default
+       emake install -C extras/translations
+       emake install -C extras/kdf-keys
+       if use gui ; then
+               pushd extras/gtomb > /dev/null || die
+               dobin gtomb
+               newdoc README.md README-gtomb
+               popd > /dev/null || die
+       fi
+       if use tray ; then
+               pushd extras/qt-tray > /dev/null || die
+               dobin tomb-qt-tray
+               doicon pixmaps/tomb_icon.png
+               insinto /usr/share/locale/it_IT/LC_MESSAGES
+               doins i18n/tomb-qt-tray_it.qm
+               popd > /dev/null || die
+       fi
+
+       pushd extras/gtk-tray > /dev/null  || die
+       doicon monmort.xpm
+       newicon --context mimetypes --size 32 monmort.xpm monmort
+       newicon --size 32 monmort.xpm dyne-monmort
+       popd > /dev/null || die
+
+       pushd extras/desktop > /dev/null || die
+       insinto /usr/share/mime/packages
+       doins dyne-tomb.xml
+       domenu tomb.desktop
+       insinto /usr/share/mime-info
+       doins tomb.mime
+       doins tomb.keys
+       insinto /usr/share/application-registry
+       doins tomb.applications
+       popd > /dev/null || die
+
+       local DOCS=(
+               AUTHORS.txt
+               ChangeLog.txt
+               KNOWN_BUGS.txt
+               README.txt
+               doc/bertini_thesis.pdf
+               doc/HACKING.txt
+               doc/KEY_SPECIFICATIONS.txt
+               doc/LinuxHDEncSettings.txt
+               doc/Luks_on_disk_format.pdf
+               doc/New_methods_in_HD_encryption.pdf
+               doc/TKS1-draft.pdf
+               doc/tomb_manpage.pdf
+       )
+       einstalldocs
+       cd doc/literate || die
+       docinto html
+       dodoc -r *.html *.css public
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+       optfeature "Argon2 KDF" app-crypt/argon2
+       optfeature "ACL" sys-apps/acl
+       optfeature "privilege escalation to superuser" app-admin/doas 
app-admin/sudo sys-auth/polkit
+       optfeature "fancy dd output" sys-apps/dcfldd
+       optfeature "tomb index/search file contents" app-misc/recoll
+       optfeature "tomb index/search file names" sys-apps/mlocate 
sys-apps/plocate
+       optfeature "tomb engrave" "media-gfx/qrencode[png]"
+       optfeature "tomb slam" sys-process/lsof
+}

Reply via email to