# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer: Carlo Landmeter <clandmeter@gmail.com>
pkgname=clamav
pkgver=0.97.8
pkgrel=0
pkgusers="clamav"
pkggroups="clamav"
pkgdesc="An anti-virus toolkit for UNIX"
url="http://www.clamav.net/"
arch="all"
license="GPL"
depends="$pkgname-scanner $pkgname-daemon"
install="freshclam.pre-install
	clamav-daemon.pre-install clamav-daemon.pre-upgrade"
makedepends="ncurses-dev zlib-dev bzip2-dev"
subpackages="$pkgname-doc $pkgname-dev $pkgname-lib $pkgname-libunrar
	$pkgname-daemon $pkgname-scanner $pkgname-db freshclam"
source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz
	clamd.initd
	clamd.confd
	freshclam.initd
	freshclam.confd
	clamav-0.95.1-nls.patch
	clamd.logrotate
	freshclam.logrotate
	"

_builddir="$srcdir/$pkgname-$pkgver"

prepare() {
	cd "$_builddir"
	patch -p0 -i "$srcdir/clamav-0.95.1-nls.patch" || return 1
}

build() {
	cd "$_builddir"
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--libdir=/usr/lib \
		--sysconfdir=/etc/clamav \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
		--without-iconv \
		--disable-llvm \
		--with-user=clamav \
		--with-group=clamav \
		--with-dbdir=/var/lib/clamav \
		--enable-clamdtop \
		|| return 1
	make || return 1
}

package() {
	cd "$_builddir"
	make DESTDIR="$pkgdir" install || return 1
	rm "$pkgdir"/usr/lib/*.la || return 1

	# set proper defaults 
	sed -i -e "s:^\(Example\):\# \1:" \
                -e "s:.*\(PidFile\) .*:\1 /var/run/clamav/freshclam.pid:" \
                -e "s:.*\(DatabaseOwner\) .*:\1 clamav:" \
                -e "s:^\#\(UpdateLogFile\) .*:\1 /var/log/clamav/freshclam.log:" \
                -e "s:^\#\(NotifyClamd\).*:\1 /etc/clamav/clamd.conf:" \
                -e "s:^\#\(ScriptedUpdates\).*:\1 yes:" \
                -e "s:^\#\(AllowSupplementaryGroups\).*:\1 yes:" \
                "$pkgdir"/etc/clamav/freshclam.conf

	# set proper defaults
        sed -i -e "s:^\(Example\):\# \1:" \
                -e "s:.*\(PidFile\) .*:\1 /var/run/clamav/clamd.pid:" \
                -e "s:.*\(LocalSocket\) .*:\1 /var/run/clamav/clamd.sock:" \
                -e "s:.*\(User\) .*:\1 clamav:" \
                -e "s:^\#\(LogFile\) .*:\1 /var/log/clamav/clamd.log:" \
                -e "s:^\#\(LogTime\).*:\1 yes:" \
               -e "s:^\#\(AllowSupplementaryGroups\).*:\1 yes:" \
                "$pkgdir"/etc/clamav/clamd.conf
}

lib() {
	pkgdesc="ClamAV library"
	depends=""
	replaces="clamav"
	mkdir -p "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libclamav.so.* \
		"$subpkgdir"/usr/lib/
}

libunrar() {
	pkgdesc="ClamAV unrar libraries"
	depends=""
	replaces="clamav"
	mkdir -p "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libclamunrar* \
		"$subpkgdir"/usr/lib/
}

freshclam() {
	pkgdesc="Auto-updater for the Clam Antivirus scanner data-files"
	depends="logrotate"
	replaces="clamav clamav-db"
	mkdir -p "$subpkgdir"/usr/bin \
		"$subpkgdir"/etc/init.d \
		"$subpkgdir"/etc/conf.d \
		"$subpkgdir"/etc/clamav

        mv "$pkgdir"/usr/bin/freshclam "$subpkgdir"/usr/bin || return 1
        mv "$pkgdir"/etc/clamav/freshclam.conf \
		"$subpkgdir"/etc/clamav/ || return 1
	install -d -m755 -o clamav -g clamav \
                "$subpkgdir"/var/run/clamav \
		"$subpkgdir"/var/log/clamav \
		"$subpkgdir"/var/lib/clamav || return 1

	install -m755 -D "$srcdir"/freshclam.initd \
		"$subpkgdir"/etc/init.d/freshclam || return 1
        install -m644 -D "$srcdir"/freshclam.confd \
		"$subpkgdir"/etc/conf.d/freshclam || return 1
	install -m644 -D "$srcdir"/freshclam.logrotate \
		"$pkgdir"/etc/logrotate.d/freshclam || return 1
}

db() {
	pkgdesc="ClamAV dummy package for compatibility"
	replaces="clamav"
	depends="freshclam"
	mkdir -p "$subpkgdir"/var/lib/ \
		"$subpkgdir"/usr/bin \
		"$subpkgdir"/etc/clamav \
		|| return 1
	install -d -m755 -o clamav -g clamav \
                "$subpkgdir"/var/run/clamav \
		"$subpkgdir"/var/log/clamav \
		"$subpkgdir"/var/lib/clamav || return 1
}

scanner() {
	pkgdesc="ClamAV command-line scanner and utils"
	replaces="clamav"
	depends="freshclam"
	mkdir -p "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/bin/clamscan \
		"$subpkgdir"/usr/bin/ || return 1
	mv "$pkgdir"/usr/bin/sigtool \
		"$subpkgdir"/usr/bin/ || return 1
	mv "$pkgdir"/usr/bin/clambc \
		"$subpkgdir"/usr/bin/ || return 1
}

daemon() {
	pkgdesc="ClamAV daemon scanner"
	replaces="clamav"
	depends="freshclam logrotate"
        mkdir -p "$subpkgdir"/usr/bin \
		"$subpkgdir"/usr/sbin \
		"$subpkgdir"/etc/clamav \
		|| return 1
	install -d -m 755 -o clamav -g clamav \
                "$subpkgdir"/var/run/clamav \
		"$subpkgdir"/var/log/clamav \
		"$subpkgdir"/var/lib/clamav
	mv "$pkgdir"/usr/bin/clamconf \
		"$subpkgdir"/usr/bin/ || return 1
	mv "$pkgdir"/usr/sbin/clamd \
		"$subpkgdir"/usr/sbin/ || return 1
	mv "$pkgdir"/usr/bin/clamdtop \
		"$subpkgdir"/usr/bin/ || return 1
	mv "$pkgdir"/usr/bin/clamdscan \
		"$subpkgdir"/usr/bin/ || return 1
	mv "$pkgdir"/etc/clamav/clamd.conf \
		"$subpkgdir"/etc/clamav/ || return 1
        install -m755 -D "$srcdir"/clamd.initd \
		"$subpkgdir"/etc/init.d/clamd || return 1
        install -m644 -D "$srcdir"/clamd.confd \
		"$subpkgdir"/etc/conf.d/clamd || return 1
        install -m644 -D "$srcdir"/clamd.logrotate \
		"$pkgdir"/etc/logrotate.d/clamd || return 1
}

md5sums="ac52bcbad3ea72eac08fedb9772f648b  clamav-0.97.8.tar.gz
b4523253843761d7a7e5fa765b3fb2b9  clamd.initd
e8a03fad6ce603631e8fe71a24d387c6  clamd.confd
401fe30d9af2fea3151f938b26ff01c0  freshclam.initd
e48466ddfb56f66c623b83e58777b778  freshclam.confd
0d08fd29656bd4b018ecf8ce9706ac55  clamav-0.95.1-nls.patch
ae1e48ab56a0fff1acdde023c1f6f350  clamd.logrotate
226824214c021b2366f0be1289561d17  freshclam.logrotate"
sha256sums="d872bdfd692d440bc2ade2f4e5a7befc37feb8885cd81adfb6346a8214aafc12  clamav-0.97.8.tar.gz
5f8847600cacc35de56ea61c7a8d0761e5a351ccfd507fd3e07160170269e055  clamd.initd
4d978313004f66d871564b873df27c5459d3cc504788b179e41edba0f04b74dc  clamd.confd
f69a8741f0165a1edd7558ce6c3ea8411fc2bc6e433a1636c25c366a057134d0  freshclam.initd
75551ce7e04bbef4a889bc94a357b160d9da88f06eba32df594ba3cbb2c81ed1  freshclam.confd
4aa3ba46cdea229355f90e2c6533c0f3c91f52ce869f7bc6dcc870a29450e312  clamav-0.95.1-nls.patch
ec5e60f7efca02ed151f625e9a44404346991ed6608c6e2088db2436bbd03d49  clamd.logrotate
84006ac3d2e8dc2e13a01f5e313c20e4978cdc93d831c181e0075badcbf4ada0  freshclam.logrotate"
sha512sums="e3a80bbfc90922f7f49521d1ab53ec63fb948a42d448ecaa933023cbb256f35e5b695305bd2d56480ee1f94ac93703d10aa4193566c521a1fa62f2c0e1019fda  clamav-0.97.8.tar.gz
5f64211605db7fc91785331d6bb768cf71fe7579e40c82624e3fd71e4738e41d48cd4e7984e2ddbcc932aa27d3d77fb121de40e2ecdb123b81f58f277b184df2  clamd.initd
59c561b3dcb0b616b647cd8e4ebc46a2cc5e7144c8c7ea0054cc1c3021d1da8f67e4dad5c083c3fe712ed887aaabfca91b538f4759537e7c4c9ab71ba4fd5794  clamd.confd
e192f89d6591c0601f828da368a8a21eb7ed14c50757630896fbbb3582c2660ad562760b28979904f1a4a21eecc320f2e6f7f0c7b673f89c6d2af83d2d4b280c  freshclam.initd
ba181fe1abaac7b898ccb40b0713455aa3c9d5e25ad21d687b6cac09b0105b9e376526e7c776a44636234d8db819709d8d6a6cc76119bc3e98b637b1a3f26c08  freshclam.confd
8363ba0e69918ce2cbfef3adf3406d3f73d29adacc1f1382f11c1ef3b55baba96ee581beb5f9eaafbfbad1e00ffb0e4af39cd09b597cdba1e3ab2db39a3c5a04  clamav-0.95.1-nls.patch
57e5b0c0dc6dc078e0102829e5d36882cff9ae5dd0637c31c7a23ef274dd0a4d967bc036f74c42b4690af511bc0a43fdb6d19b0c307506432577d82de7beff78  clamd.logrotate
f1cd8df6d47824009a6df130bd60bf5e9f9deaef87fbeaceec8fe71e6c8b2772b5dba017390a2190deee851723256f06e9aef2182b0a2881119f22ba68740554  freshclam.logrotate"