blob: d6dd7395109e3207b08315c8d4e66cb7c2f68f31 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
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
}
|