# Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ inherit toolchain-funcs eutils fixheadtails IUSE="ssl noauthcram ipv6 qsmtp-fixups chunking debug" DESCRIPTION="A replacement for the SMTP engine of qmail" HOMEPAGE="http://opensource.sf-tec.de/Qsmtp/" SRC_URI="http://opensource.sf-tec.de/Qsmtp/Qsmtp-${PV}.tar.bz2" LICENSE="GPL-2" SLOT="0" KEYWORDS="~x86 ~ppc ~sparc ~mips ~alpha ~arm ~hppa ~amd64 ~ia64" S="${WORKDIR}/Qsmtp-${PV}" DEPEND="virtual/libc sys-apps/groff ssl? ( >=dev-libs/openssl-0.9.6g ) chunking? ( sys-apps/sed ) mail-mta/netqmail >=dev-libs/libowfat-0.21 >=dev-util/cmake-2.4" RDEPEND="virtual/libc >=sys-apps/ucspi-tcp-0.88 >=net-mail/checkpassword-0.90 !noauthcram? ( >=net-mail/cmd5checkpw-0.22 ) net-mail/vpopmail" # Important: QMAIL_CONF_SPLIT should always be a prime number! MY_CONF_SPLIT="${QMAIL_CONF_SPLIT:-23}" QINSTDIR="/var/qmail" MY_EXTRA_FLAGS="" src_unpack() { # unpack the initial stuff unpack Qsmtp-${PV}.tar.bz2 # This makes life easy EPATCH_OPTS="-d ${S}" # is_prime ${MY_CONF_SPLIT} || die 'QMAIL_CONF_SPLIT is not a prime number.' einfo "Using conf-split value of ${MY_CONF_SPLIT}." if use noauthcram; then einfo "Disabling CRAM_MD5 support" else einfo "Enabling CRAM_MD5 support" MY_EXTRA_FLAGS="${MY_EXTRA_FLAGS} -DAUTHCRAM=ON" fi if ! use ipv6; then einfo "Disabling IPv6 support" MY_EXTRA_FLAGS="${MY_EXTRA_FLAGS} -DIPV4ONLY=ON" fi if use qsmtp-fixups; then einfo "Applying fixes for other peoples broken implementations" epatch ${S}/patches/AOL-greeting.diff epatch ${S}/patches/localpart-len.diff epatch ${S}/patches/Outlook-bug.diff epatch ${S}/patches/undefined-statuscodes.diff fi if use chunking; then einfo "Activating CHUNKING" MY_EXTRA_FLAGS="${MY_EXTRA_FLAGS} -DCHUNKING=ON" fi } src_compile() { if use debug; then BUILDTYPE=Debug else BUILDTYPE=Release fi cmake \ -DCMAKE_C_COMPILER=$(type -P $(tc-getCC)) \ -DCMAKE_C_FLAGS="${CFLAGS}" \ -DCMAKE_BUILD_TYPE=${BUILDTYPE} \ -DCMAKE_INSTALL_PREFIX=${QINSTDIR} \ -DQSMTP_AUTO_SPLIT=${MY_CONF_SPLIT} \ ${MY_EXTRA_FLAGS} \ || die "cmake failed" emake all || die } src_install() { emake DESTDIR=${D} install || die "emake install failed" into /usr einfo "Installing manpages" doman ${D}/${QINSTDIR}/man/man[58]/* rm -rf ${D}/${QINSTDIR}/man/ }