summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-antivirus/clamav/clamav-0.94.1.ebuild')
-rw-r--r--app-antivirus/clamav/clamav-0.94.1.ebuild165
1 files changed, 165 insertions, 0 deletions
diff --git a/app-antivirus/clamav/clamav-0.94.1.ebuild b/app-antivirus/clamav/clamav-0.94.1.ebuild
new file mode 100644
index 000000000000..aa9eed43829f
--- /dev/null
+++ b/app-antivirus/clamav/clamav-0.94.1.ebuild
@@ -0,0 +1,165 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-antivirus/clamav/clamav-0.94.1.ebuild,v 1.1 2008/11/10 21:04:28 dertobi123 Exp $
+
+inherit autotools eutils flag-o-matic fixheadtails multilib versionator
+
+# for when rc1 is appended to release candidates:
+MY_PV=$(replace_version_separator 3 '');
+MY_P="${PN}-${MY_PV}"
+S="${WORKDIR}/${MY_P}"
+
+DESCRIPTION="Clam Anti-Virus Scanner"
+HOMEPAGE="http://www.clamav.net/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="bzip2 crypt iconv mailwrapper milter nls selinux test ipv6"
+
+COMMON_DEPEND="bzip2? ( app-arch/bzip2 )
+ crypt? ( >=dev-libs/gmp-4.1.2 )
+ milter? ( || ( mail-filter/libmilter mail-mta/sendmail ) )
+ iconv? ( virtual/libiconv )
+ nls? ( sys-devel/gettext )
+ dev-libs/gmp
+ >=sys-libs/zlib-1.2.1-r3
+ >=sys-apps/sed-4"
+
+DEPEND="${COMMON_DEPEND}
+ test? ( dev-libs/check >=dev-util/duma-2.5.13 dev-util/valgrind )
+ >=dev-util/pkgconfig-0.20"
+
+RDEPEND="${COMMON_DEPEND}
+ selinux? ( sec-policy/selinux-clamav )
+ sys-apps/grep"
+
+PROVIDE="virtual/antivirus"
+
+pkg_setup() {
+ if use milter; then
+ if [ ! -e /usr/$(get_libdir)/libmilter.a ] ; then
+ ewarn "In order to enable milter support, clamav needs sendmail with enabled milter"
+ ewarn "USE flag, or mail-filter/libmilter package."
+ fi
+ fi
+
+ enewgroup clamav
+ enewuser clamav -1 -1 /dev/null clamav
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ # This newer version of ClamAV packages libtool.m4 and lt*.m4 in m4,
+ # while previous versions did not.
+ # Since autoreconf invokes libtoolize, a different version of ltmain.sh that doesn't
+ # match up with the version of the *.m4 files gets thrown into this directory.
+ # This problem showed up for me in the packages libtool's use of $ECHO while my
+ # system's libtool's instead used $echo internally, and the .m4 file provides the value of
+ # $echo or $ECHO.
+ einfo "removing possibly incompatible libtool-related m4 files"
+ rm m4/libtool.m4 m4/lt*.m4 || die "unable to remove possibly incompatible libtool-related m4 files"
+ epatch "${FILESDIR}"/${MY_P}-buildfix.patch
+ epatch "${FILESDIR}"/${PN}-0.94-nls.patch
+
+ # If nls flag is disabled, gettext may not be available, but eautoreconf
+ # needs this file (bug #218892).
+ use nls || cp "${FILESDIR}"/lib-ld.m4 m4/
+
+ AT_M4DIR="m4" eautoreconf
+}
+
+src_compile() {
+ has_version =sys-libs/glibc-2.2* && filter-lfs-flags
+
+ local myconf
+
+ # we depend on fixed zlib, so we can disable this check to prevent redundant
+ # warning (bug #61749)
+ myconf="${myconf} --disable-zlib-vcheck"
+ # use id utility instead of /etc/passwd parsing (bug #72540)
+ myconf="${myconf} --enable-id-check"
+ use milter && {
+ myconf="${myconf} --enable-milter"
+ use mailwrapper && \
+ myconf="${myconf} --with-sendmail=/usr/sbin/sendmail.sendmail"
+ }
+
+ ht_fix_file configure
+ econf ${myconf} \
+ $(use_enable bzip2) \
+ $(use_enable nls) \
+ $(use_enable ipv6) \
+ $(use_with iconv) \
+ --disable-experimental \
+ --with-dbdir=/var/lib/clamav || die
+ emake || die
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die
+ dodoc AUTHORS BUGS NEWS README ChangeLog FAQ
+ newconfd "${FILESDIR}"/clamd.conf clamd
+ newinitd "${FILESDIR}"/clamd.rc clamd
+ dodoc "${FILESDIR}"/clamav-milter.README.gentoo
+
+ dodir /var/run/clamav
+ keepdir /var/run/clamav
+ fowners clamav:clamav /var/run/clamav
+ dodir /var/log/clamav
+ keepdir /var/log/clamav
+ fowners clamav:clamav /var/log/clamav
+
+ # Change /etc/clamd.conf to be usable out of the box
+ 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:" \
+ "${D}"/etc/clamd.conf
+
+ # Do the same for /etc/freshclam.conf
+ 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/clamd.conf:" \
+ -e "s:^\#\(ScriptedUpdates\).*:\1 yes:" \
+ -e "s:^\#\(AllowSupplementaryGroups\).*:\1 yes:" \
+ "${D}"/etc/freshclam.conf
+
+ if use milter ; then
+ echo "
+START_MILTER=no
+MILTER_NICELEVEL=19" \
+ >> "${D}"/etc/conf.d/clamd
+ echo "MILTER_SOCKET=\"/var/run/clamav/clmilter.sock\"" \
+ >>"${D}"/etc/conf.d/clamd
+ echo "MILTER_OPTS=\"-m 10 --timeout=0\"" \
+ >>"${D}"/etc/conf.d/clamd
+ fi
+
+ diropts ""
+ dodir /etc/logrotate.d
+ insopts -m0644
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${PN}.logrotate ${PN}
+}
+
+pkg_postinst() {
+ echo
+ if use milter ; then
+ elog "For simple instructions how to setup the clamav-milter"
+ elog "read /usr/share/doc/${PF}/clamav-milter.README.gentoo.gz"
+ echo
+ fi
+ ewarn "The soname for libclamav has changed in clamav-0.94."
+ ewarn "If you have upgraded from that or earlier version, it is"
+ ewarn "recommended to run revdep-rebuild, in order to fix anything"
+ ewarn "that links against libclamav.so library."
+ echo
+}