4 |
4 |
EAPI=8
|
5 |
5 |
|
6 |
6 |
LLVM_MAX_SLOT=13
|
7 |
|
PYTHON_COMPAT=( python3_{9..11} )
|
|
7 |
PYTHON_COMPAT=( python3_{10..12} )
|
8 |
8 |
|
9 |
9 |
# Auto-Generated by cargo-ebuild 0.5.4
|
10 |
10 |
CRATES="
|
11 |
|
adler-1.0.2
|
12 |
|
aho-corasick-0.7.20
|
13 |
|
ansi_term-0.12.1
|
14 |
|
atty-0.2.14
|
15 |
|
autocfg-1.1.0
|
16 |
|
base64-0.21.0
|
17 |
|
bindgen-0.59.2
|
18 |
|
bit_field-0.10.2
|
19 |
|
bitflags-1.3.2
|
20 |
|
block-buffer-0.10.4
|
21 |
|
bumpalo-3.12.0
|
22 |
|
bytemuck-1.13.1
|
23 |
|
byteorder-1.4.3
|
24 |
|
cbindgen-0.24.3
|
25 |
|
cc-1.0.79
|
26 |
|
cexpr-0.6.0
|
27 |
|
cfg-if-1.0.0
|
28 |
|
clang-sys-1.6.1
|
29 |
|
clap-2.34.0
|
30 |
|
clap-3.2.23
|
31 |
|
clap_lex-0.2.4
|
32 |
|
color_quant-1.1.0
|
33 |
|
cpufeatures-0.2.6
|
34 |
|
crc32fast-1.3.2
|
35 |
|
crossbeam-channel-0.5.8
|
36 |
|
crossbeam-deque-0.8.3
|
37 |
|
crossbeam-epoch-0.9.14
|
38 |
|
crossbeam-utils-0.8.15
|
39 |
|
crunchy-0.2.2
|
40 |
|
crypto-common-0.1.6
|
41 |
|
digest-0.10.6
|
42 |
|
either-1.8.1
|
43 |
|
env_logger-0.9.3
|
44 |
|
errno-0.3.1
|
45 |
|
errno-dragonfly-0.1.2
|
46 |
|
exr-1.6.3
|
47 |
|
fastrand-1.9.0
|
48 |
|
fdeflate-0.3.0
|
49 |
|
flate2-1.0.25
|
50 |
|
flume-0.10.14
|
51 |
|
futures-core-0.3.28
|
52 |
|
futures-sink-0.3.28
|
53 |
|
generic-array-0.14.7
|
54 |
|
getrandom-0.2.9
|
55 |
|
gif-0.12.0
|
56 |
|
glob-0.3.1
|
57 |
|
half-2.2.1
|
58 |
|
hashbrown-0.12.3
|
59 |
|
heck-0.4.1
|
60 |
|
hermit-abi-0.1.19
|
61 |
|
hermit-abi-0.2.6
|
62 |
|
hermit-abi-0.3.1
|
63 |
|
hex-0.4.3
|
64 |
|
humantime-2.1.0
|
65 |
|
image-0.24.6
|
66 |
|
indexmap-1.9.3
|
67 |
|
instant-0.1.12
|
68 |
|
io-lifetimes-1.0.10
|
69 |
|
itoa-1.0.6
|
70 |
|
jpeg-decoder-0.3.0
|
71 |
|
js-sys-0.3.61
|
72 |
|
lazy_static-1.4.0
|
73 |
|
lazycell-1.3.0
|
74 |
|
lebe-0.5.2
|
75 |
|
libc-0.2.141
|
76 |
|
libloading-0.7.4
|
77 |
|
linux-raw-sys-0.3.1
|
78 |
|
lock_api-0.4.9
|
79 |
|
log-0.4.17
|
80 |
|
memchr-2.5.0
|
81 |
|
memoffset-0.8.0
|
82 |
|
minimal-lexical-0.2.1
|
83 |
|
miniz_oxide-0.6.2
|
84 |
|
miniz_oxide-0.7.1
|
85 |
|
nanorand-0.7.0
|
86 |
|
nom-7.1.3
|
87 |
|
num-complex-0.4.3
|
88 |
|
num-integer-0.1.45
|
89 |
|
num-rational-0.4.1
|
90 |
|
num-traits-0.2.15
|
91 |
|
num_cpus-1.15.0
|
92 |
|
once_cell-1.17.1
|
93 |
|
os_str_bytes-6.5.0
|
94 |
|
peeking_take_while-0.1.2
|
95 |
|
pin-project-1.0.12
|
96 |
|
pin-project-internal-1.0.12
|
97 |
|
png-0.17.8
|
98 |
|
primal-check-0.3.3
|
99 |
|
proc-macro2-1.0.56
|
100 |
|
qoi-0.4.1
|
101 |
|
quote-1.0.26
|
102 |
|
rayon-1.7.0
|
103 |
|
rayon-core-1.11.0
|
104 |
|
redox_syscall-0.3.5
|
105 |
|
regex-1.7.3
|
106 |
|
regex-syntax-0.6.29
|
107 |
|
rustc-hash-1.1.0
|
108 |
|
rustdct-0.7.1
|
109 |
|
rustfft-6.1.0
|
110 |
|
rustix-0.37.11
|
111 |
|
ryu-1.0.13
|
112 |
|
scopeguard-1.1.0
|
113 |
|
serde-1.0.160
|
114 |
|
serde_derive-1.0.160
|
115 |
|
serde_json-1.0.96
|
116 |
|
sha1-0.10.5
|
117 |
|
sha2-0.10.6
|
118 |
|
shlex-1.1.0
|
119 |
|
simd-adler32-0.3.5
|
120 |
|
smallvec-1.10.0
|
121 |
|
spin-0.9.8
|
122 |
|
strength_reduce-0.2.4
|
123 |
|
strsim-0.8.0
|
124 |
|
strsim-0.10.0
|
125 |
|
syn-1.0.109
|
126 |
|
syn-2.0.15
|
127 |
|
tempfile-3.5.0
|
128 |
|
termcolor-1.2.0
|
129 |
|
textwrap-0.11.0
|
130 |
|
textwrap-0.16.0
|
131 |
|
thiserror-1.0.40
|
132 |
|
thiserror-impl-1.0.40
|
133 |
|
tiff-0.8.1
|
134 |
|
toml-0.5.11
|
135 |
|
transpose-0.2.2
|
136 |
|
typenum-1.16.0
|
137 |
|
unicode-ident-1.0.8
|
138 |
|
unicode-segmentation-1.10.1
|
139 |
|
unicode-width-0.1.10
|
140 |
|
vec_map-0.8.2
|
141 |
|
version_check-0.9.4
|
142 |
|
wasi-0.11.0+wasi-snapshot-preview1
|
143 |
|
wasm-bindgen-0.2.84
|
144 |
|
wasm-bindgen-backend-0.2.84
|
145 |
|
wasm-bindgen-macro-0.2.84
|
146 |
|
wasm-bindgen-macro-support-0.2.84
|
147 |
|
wasm-bindgen-shared-0.2.84
|
148 |
|
weezl-0.1.7
|
149 |
|
which-4.4.0
|
150 |
|
winapi-0.3.9
|
151 |
|
winapi-i686-pc-windows-gnu-0.4.0
|
152 |
|
winapi-util-0.1.5
|
153 |
|
winapi-x86_64-pc-windows-gnu-0.4.0
|
154 |
|
windows-sys-0.45.0
|
155 |
|
windows-sys-0.48.0
|
156 |
|
windows-targets-0.42.2
|
157 |
|
windows-targets-0.48.0
|
158 |
|
windows_aarch64_gnullvm-0.42.2
|
159 |
|
windows_aarch64_gnullvm-0.48.0
|
160 |
|
windows_aarch64_msvc-0.42.2
|
161 |
|
windows_aarch64_msvc-0.48.0
|
162 |
|
windows_i686_gnu-0.42.2
|
163 |
|
windows_i686_gnu-0.48.0
|
164 |
|
windows_i686_msvc-0.42.2
|
165 |
|
windows_i686_msvc-0.48.0
|
166 |
|
windows_x86_64_gnu-0.42.2
|
167 |
|
windows_x86_64_gnu-0.48.0
|
168 |
|
windows_x86_64_gnullvm-0.42.2
|
169 |
|
windows_x86_64_gnullvm-0.48.0
|
170 |
|
windows_x86_64_msvc-0.42.2
|
171 |
|
windows_x86_64_msvc-0.48.0
|
172 |
|
zune-inflate-0.2.53"
|
|
11 |
adler@1.0.2
|
|
12 |
aho-corasick@0.7.20
|
|
13 |
ansi_term@0.12.1
|
|
14 |
atty@0.2.14
|
|
15 |
autocfg@1.1.0
|
|
16 |
base64@0.21.0
|
|
17 |
bindgen@0.59.2
|
|
18 |
bit_field@0.10.2
|
|
19 |
bitflags@1.3.2
|
|
20 |
block-buffer@0.10.4
|
|
21 |
bumpalo@3.12.0
|
|
22 |
bytemuck@1.13.1
|
|
23 |
byteorder@1.4.3
|
|
24 |
cbindgen@0.24.3
|
|
25 |
cc@1.0.79
|
|
26 |
cexpr@0.6.0
|
|
27 |
cfg-if@1.0.0
|
|
28 |
clang-sys@1.6.1
|
|
29 |
clap@2.34.0
|
|
30 |
clap@3.2.23
|
|
31 |
clap_lex@0.2.4
|
|
32 |
color_quant@1.1.0
|
|
33 |
cpufeatures@0.2.6
|
|
34 |
crc32fast@1.3.2
|
|
35 |
crossbeam-channel@0.5.8
|
|
36 |
crossbeam-deque@0.8.3
|
|
37 |
crossbeam-epoch@0.9.14
|
|
38 |
crossbeam-utils@0.8.15
|
|
39 |
crunchy@0.2.2
|
|
40 |
crypto-common@0.1.6
|
|
41 |
digest@0.10.6
|
|
42 |
either@1.8.1
|
|
43 |
env_logger@0.9.3
|
|
44 |
errno@0.3.1
|
|
45 |
errno-dragonfly@0.1.2
|
|
46 |
exr@1.6.3
|
|
47 |
fastrand@1.9.0
|
|
48 |
fdeflate@0.3.0
|
|
49 |
flate2@1.0.25
|
|
50 |
flume@0.10.14
|
|
51 |
futures-core@0.3.28
|
|
52 |
futures-sink@0.3.28
|
|
53 |
generic-array@0.14.7
|
|
54 |
getrandom@0.2.9
|
|
55 |
gif@0.12.0
|
|
56 |
glob@0.3.1
|
|
57 |
half@2.2.1
|
|
58 |
hashbrown@0.12.3
|
|
59 |
heck@0.4.1
|
|
60 |
hermit-abi@0.1.19
|
|
61 |
hermit-abi@0.2.6
|
|
62 |
hermit-abi@0.3.1
|
|
63 |
hex@0.4.3
|
|
64 |
humantime@2.1.0
|
|
65 |
image@0.24.6
|
|
66 |
indexmap@1.9.3
|
|
67 |
instant@0.1.12
|
|
68 |
io-lifetimes@1.0.10
|
|
69 |
itoa@1.0.6
|
|
70 |
jpeg-decoder@0.3.0
|
|
71 |
js-sys@0.3.61
|
|
72 |
lazy_static@1.4.0
|
|
73 |
lazycell@1.3.0
|
|
74 |
lebe@0.5.2
|
|
75 |
libc@0.2.141
|
|
76 |
libloading@0.7.4
|
|
77 |
linux-raw-sys@0.3.1
|
|
78 |
lock_api@0.4.9
|
|
79 |
log@0.4.17
|
|
80 |
memchr@2.5.0
|
|
81 |
memoffset@0.8.0
|
|
82 |
minimal-lexical@0.2.1
|
|
83 |
miniz_oxide@0.6.2
|
|
84 |
miniz_oxide@0.7.1
|
|
85 |
nanorand@0.7.0
|
|
86 |
nom@7.1.3
|
|
87 |
num-complex@0.4.3
|
|
88 |
num-integer@0.1.45
|
|
89 |
num-rational@0.4.1
|
|
90 |
num-traits@0.2.15
|
|
91 |
num_cpus@1.15.0
|
|
92 |
once_cell@1.17.1
|
|
93 |
os_str_bytes@6.5.0
|
|
94 |
peeking_take_while@0.1.2
|
|
95 |
pin-project@1.0.12
|
|
96 |
pin-project-internal@1.0.12
|
|
97 |
png@0.17.8
|
|
98 |
primal-check@0.3.3
|
|
99 |
proc-macro2@1.0.66
|
|
100 |
qoi@0.4.1
|
|
101 |
quote@1.0.26
|
|
102 |
rayon@1.7.0
|
|
103 |
rayon-core@1.11.0
|
|
104 |
redox_syscall@0.3.5
|
|
105 |
regex@1.7.3
|
|
106 |
regex-syntax@0.6.29
|
|
107 |
rustc-hash@1.1.0
|
|
108 |
rustdct@0.7.1
|
|
109 |
rustfft@6.1.0
|
|
110 |
rustix@0.37.11
|
|
111 |
ryu@1.0.13
|
|
112 |
scopeguard@1.1.0
|
|
113 |
serde@1.0.160
|
|
114 |
serde_derive@1.0.160
|
|
115 |
serde_json@1.0.96
|
|
116 |
sha1@0.10.5
|
|
117 |
sha2@0.10.6
|
|
118 |
shlex@1.1.0
|
|
119 |
simd-adler32@0.3.5
|
|
120 |
smallvec@1.10.0
|
|
121 |
spin@0.9.8
|
|
122 |
strength_reduce@0.2.4
|
|
123 |
strsim@0.8.0
|
|
124 |
strsim@0.10.0
|
|
125 |
syn@1.0.109
|
|
126 |
syn@2.0.15
|
|
127 |
tempfile@3.5.0
|
|
128 |
termcolor@1.2.0
|
|
129 |
textwrap@0.11.0
|
|
130 |
textwrap@0.16.0
|
|
131 |
thiserror@1.0.40
|
|
132 |
thiserror-impl@1.0.40
|
|
133 |
tiff@0.8.1
|
|
134 |
toml@0.5.11
|
|
135 |
transpose@0.2.2
|
|
136 |
typenum@1.16.0
|
|
137 |
unicode-ident@1.0.8
|
|
138 |
unicode-segmentation@1.10.1
|
|
139 |
unicode-width@0.1.10
|
|
140 |
vec_map@0.8.2
|
|
141 |
version_check@0.9.4
|
|
142 |
wasi@0.11.0+wasi-snapshot-preview1
|
|
143 |
wasm-bindgen@0.2.84
|
|
144 |
wasm-bindgen-backend@0.2.84
|
|
145 |
wasm-bindgen-macro@0.2.84
|
|
146 |
wasm-bindgen-macro-support@0.2.84
|
|
147 |
wasm-bindgen-shared@0.2.84
|
|
148 |
weezl@0.1.7
|
|
149 |
which@4.4.0
|
|
150 |
winapi@0.3.9
|
|
151 |
winapi-i686-pc-windows-gnu@0.4.0
|
|
152 |
winapi-util@0.1.5
|
|
153 |
winapi-x86_64-pc-windows-gnu@0.4.0
|
|
154 |
windows-sys@0.45.0
|
|
155 |
windows-sys@0.48.0
|
|
156 |
windows-targets@0.42.2
|
|
157 |
windows-targets@0.48.0
|
|
158 |
windows_aarch64_gnullvm@0.42.2
|
|
159 |
windows_aarch64_gnullvm@0.48.0
|
|
160 |
windows_aarch64_msvc@0.42.2
|
|
161 |
windows_aarch64_msvc@0.48.0
|
|
162 |
windows_i686_gnu@0.42.2
|
|
163 |
windows_i686_gnu@0.48.0
|
|
164 |
windows_i686_msvc@0.42.2
|
|
165 |
windows_i686_msvc@0.48.0
|
|
166 |
windows_x86_64_gnu@0.42.2
|
|
167 |
windows_x86_64_gnu@0.48.0
|
|
168 |
windows_x86_64_gnullvm@0.42.2
|
|
169 |
windows_x86_64_gnullvm@0.48.0
|
|
170 |
windows_x86_64_msvc@0.42.2
|
|
171 |
windows_x86_64_msvc@0.48.0
|
|
172 |
zune-inflate@0.2.53
|
|
173 |
"
|
173 |
174 |
|
174 |
175 |
inherit cargo cmake flag-o-matic llvm python-any-r1 systemd tmpfiles
|
175 |
176 |
|
... | ... | |
178 |
179 |
DESCRIPTION="Clam Anti-Virus Scanner"
|
179 |
180 |
HOMEPAGE="https://www.clamav.net/"
|
180 |
181 |
SRC_URI="https://github.com/Cisco-Talos/clamav/archive/refs/tags/${MY_P}.tar.gz
|
181 |
|
$(cargo_crate_uris ${CRATES})"
|
|
182 |
${CARGO_CRATE_URIS}"
|
182 |
183 |
S=${WORKDIR}/clamav-${MY_P}
|
183 |
184 |
|
184 |
185 |
LICENSE="Apache-2.0 BSD GPL-2 ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB"
|
185 |
186 |
# 0/sts (short term support) if not an LTS release
|
186 |
187 |
SLOT="0/sts"
|
187 |
188 |
if [[ ${PV} != *_rc* ]] ; then
|
188 |
|
KEYWORDS="~alpha amd64 ~arm arm64 ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
|
|
189 |
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
|
189 |
190 |
fi
|
190 |
|
IUSE="doc clamonacc +clamapp experimental jit libclamav-only milter rar selinux systemd test"
|
|
191 |
|
|
192 |
IUSE="doc clamonacc +clamapp experimental jit libclamav-only milter rar selinux +system-mspack systemd test"
|
191 |
193 |
|
192 |
194 |
REQUIRED_USE="libclamav-only? ( !clamonacc !clamapp !milter )
|
193 |
195 |
clamonacc? ( clamapp )
|
... | ... | |
199 |
201 |
# Require acct-{user,group}/clamav at build time so that we can set
|
200 |
202 |
# the permissions on /var/lib/clamav in src_install rather than in
|
201 |
203 |
# pkg_postinst; calling "chown" on the live filesystem scares me.
|
202 |
|
CDEPEND="
|
|
204 |
COMMON_DEPEND="
|
203 |
205 |
acct-group/clamav
|
204 |
206 |
acct-user/clamav
|
205 |
207 |
app-arch/bzip2
|
206 |
208 |
dev-libs/json-c:=
|
207 |
209 |
dev-libs/libltdl
|
208 |
|
dev-libs/libmspack
|
209 |
210 |
dev-libs/libpcre2:=
|
210 |
211 |
dev-libs/libxml2
|
211 |
212 |
dev-libs/openssl:=
|
... | ... | |
217 |
218 |
jit? ( <sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):= )
|
218 |
219 |
milter? ( mail-filter/libmilter:= )
|
219 |
220 |
rar? ( app-arch/unrar )
|
|
221 |
system-mspack? ( dev-libs/libmspack )
|
220 |
222 |
test? ( dev-python/pytest )
|
221 |
223 |
"
|
222 |
224 |
|
|
225 |
# rust-bin < 1.71 has an executable stack
|
|
226 |
# which is not supported on selinux #911589
|
223 |
227 |
BDEPEND="
|
224 |
228 |
virtual/pkgconfig
|
225 |
|
>=virtual/rust-1.61
|
|
229 |
>=virtual/rust-1.71
|
226 |
230 |
doc? ( app-doc/doxygen )
|
227 |
231 |
test? (
|
228 |
232 |
${PYTHON_DEPS}
|
... | ... | |
230 |
234 |
)
|
231 |
235 |
"
|
232 |
236 |
|
233 |
|
DEPEND="${CDEPEND}
|
|
237 |
DEPEND="${COMMON_DEPEND}
|
234 |
238 |
test? ( dev-libs/check )"
|
235 |
239 |
|
236 |
|
RDEPEND="${CDEPEND}
|
|
240 |
RDEPEND="${COMMON_DEPEND}
|
237 |
241 |
selinux? ( sec-policy/selinux-clamav )"
|
238 |
242 |
|
239 |
243 |
python_check_deps() {
|
... | ... | |
245 |
249 |
use test && python-any-r1_pkg_setup
|
246 |
250 |
}
|
247 |
251 |
|
248 |
|
#PATCHES=(
|
249 |
|
#)
|
250 |
|
|
251 |
252 |
src_configure() {
|
252 |
253 |
use elibc_musl && append-ldflags -lfts
|
253 |
254 |
use ppc64 && append-flags -mminimal-toc
|
... | ... | |
262 |
263 |
-DENABLE_CLAMONACC=$(usex clamonacc ON OFF)
|
263 |
264 |
-DENABLE_DOXYGEN=$(usex doc)
|
264 |
265 |
-DENABLE_EXPERIMENTAL=$(usex experimental ON OFF)
|
265 |
|
-DENABLE_EXTERNAL_MSPACK=ON
|
|
266 |
-DENABLE_EXTERNAL_MSPACK=$(usex system-mspack ON OFF)
|
266 |
267 |
-DENABLE_JSON_SHARED=ON
|
267 |
268 |
-DENABLE_MAN_PAGES=ON
|
268 |
269 |
-DENABLE_MILTER=$(usex milter ON OFF)
|
... | ... | |
308 |
309 |
use milter && \
|
309 |
310 |
newinitd "${FILESDIR}/clamav-milter.initd" clamav-milter
|
310 |
311 |
|
311 |
|
rm -rf "${ED}"/var/lib/clamav || die
|
312 |
|
|
313 |
312 |
if ! use libclamav-only ; then
|
314 |
313 |
if use systemd ; then
|
315 |
314 |
# The tmpfiles entry is behind USE=systemd because the
|
... | ... | |
370 |
369 |
fi
|
371 |
370 |
done
|
372 |
371 |
|
373 |
|
# These both need to be writable by the clamav user.
|
|
372 |
# These both need to be writable by the clamav user
|
374 |
373 |
# TODO: use syslog by default; that's what it's for.
|
375 |
374 |
diropts -o clamav -g clamav
|
376 |
375 |
keepdir /var/lib/clamav
|