9e1e3b2880
* Sync systemd units with upstream. Upstream uses SIGUSR2 instead of SIGHUP to reload the clamd service. * Convert freshclam service to a oneshot service activated by a systemd timer. This way we can make clamd wait for freshclam to finish fetching the virus database before failing to start if the database doesn't exist yet. * Fixes console tools to work as expected as they require hardcoded config file locations.
48 lines
1.3 KiB
Nix
48 lines
1.3 KiB
Nix
{ stdenv, fetchurl, zlib, bzip2, libiconv, libxml2, openssl, ncurses, curl
|
|
, libmilter, pcre }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
name = "clamav-${version}";
|
|
version = "0.99.2";
|
|
|
|
src = fetchurl {
|
|
url = "https://www.clamav.net/downloads/production/${name}.tar.gz";
|
|
sha256 = "0yh2q318bnmf2152g2h1yvzgqbswn0wvbzb8p4kf7v057shxcyqn";
|
|
};
|
|
|
|
# don't install sample config files into the absolute sysconfdir folder
|
|
postPatch = ''
|
|
substituteInPlace Makefile.in --replace ' etc ' ' '
|
|
'';
|
|
|
|
buildInputs = [
|
|
zlib bzip2 libxml2 openssl ncurses curl libiconv libmilter pcre
|
|
];
|
|
|
|
configureFlags = [
|
|
"--sysconfdir=/etc/clamav"
|
|
"--with-zlib=${zlib.dev}"
|
|
"--with-libbz2-prefix=${bzip2.dev}"
|
|
"--with-iconv-dir=${libiconv}"
|
|
"--with-xml=${libxml2.dev}"
|
|
"--with-openssl=${openssl.dev}"
|
|
"--with-libncurses-prefix=${ncurses.dev}"
|
|
"--with-libcurl=${curl.dev}"
|
|
"--with-pcre=${pcre.dev}"
|
|
"--enable-milter"
|
|
];
|
|
|
|
postInstall = ''
|
|
mkdir $out/etc
|
|
cp etc/*.sample $out/etc
|
|
'';
|
|
|
|
meta = with stdenv.lib; {
|
|
homepage = http://www.clamav.net;
|
|
description = "Antivirus engine designed for detecting Trojans, viruses, malware and other malicious threats";
|
|
license = licenses.gpl2;
|
|
maintainers = with maintainers; [ phreedom robberer qknight ];
|
|
platforms = platforms.linux;
|
|
};
|
|
}
|