summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-mail/popa3d/popa3d-1.0.2-r1.ebuild')
-rw-r--r--net-mail/popa3d/popa3d-1.0.2-r1.ebuild181
1 files changed, 181 insertions, 0 deletions
diff --git a/net-mail/popa3d/popa3d-1.0.2-r1.ebuild b/net-mail/popa3d/popa3d-1.0.2-r1.ebuild
new file mode 100644
index 000000000000..af41b50eba5f
--- /dev/null
+++ b/net-mail/popa3d/popa3d-1.0.2-r1.ebuild
@@ -0,0 +1,181 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils toolchain-funcs user
+
+#
+# Mailbox format is determined by the 'mbox' and 'maildir'
+# system USE flags.
+#
+# Mailbox path configuration denoted by the system USE
+# flags.
+#
+# USE flag 'maildir' denotes ~/.maildir
+# USE flag 'mbox' denotes /var/mail/username
+#
+# You can overwrite this by setting the POPA3D_HOME_MAILBOX
+# environmental variable (see below) before emerge.
+#
+# Environmental variables.
+#
+# POPA3D_HOME_MAILBOX
+#
+# Overwrite the local user mailbox path. For example
+# if you want qmail-styled ~/Mailbox you can set it
+# to "Mailbox". For the traditional (although not in
+# gentoo Maildir) set it to "Maildir".
+#
+# POPA3D_VIRTUAL_ONLY
+#
+# Set this field to "YES" if you dont want local users
+# to have POP access. Setting this makes the POPA3D_HOME_MAILBOX
+# variable effectively useless.
+#
+# POPA3D_VIRTUAL_HOME_PATH
+#
+# Set this field to the base virtual home path. For more information
+# read the virtual guide here: http://forums.gentoo.org/viewtopic.php?t=82386
+#
+######
+# 12/07/2005 - port001
+# Version 1.0 introduced some increased default values for a number of
+# configuration paramaters. These values are way too high for most systems.
+MAX_SESSIONS=100 # Default is 500
+MAX_SESSIONS_PER_SOURCE=10 # Default is 50
+
+MAX_MAILBOX_MESSAGES=100000 # Default is 2097152
+MAX_MAILBOX_OPEN_BYTES=100000000 # Default is 2147483647
+MAX_MAILBOX_WORK_BYTES=150000000 # Default is 2147483647
+######
+
+IUSE="pam mbox +maildir"
+
+DESCRIPTION="A security oriented POP3 server"
+HOMEPAGE="http://www.openwall.com/popa3d/"
+
+SRC_URI="http://www.openwall.com/popa3d/${P}.tar.gz
+ mirror://gentoo/popa3d-0.6.3-vname-2.diff.gz
+ maildir? ( mirror://gentoo/popa3d-0.5.9-maildir-2.diff.gz )"
+
+LICENSE="Openwall"
+SLOT="0"
+KEYWORDS="amd64 ppc sparc x86"
+
+DEPEND=">=sys-apps/sed-4
+ pam? ( >=sys-libs/pam-0.72
+ >=net-mail/mailbase-0.00-r8[pam] )"
+RDEPEND="${DEPEND}"
+
+REQUIRED_USE="^^ ( maildir mbox )"
+
+pkg_setup() {
+ echo
+ ewarn
+ ewarn "You can customize this ebuild with environmental variables."
+ ewarn "If you don't set any I'll assume sensible defaults."
+ ewarn
+ ewarn "See inside this ebuild for details."
+ ewarn
+ echo
+
+ enewgroup popa3d
+ enewuser popa3d -1 -1 -1 popa3d
+}
+
+src_prepare(){
+ epatch "${DISTDIR}"/popa3d-0.6.3-vname-2.diff.gz
+ use maildir && epatch "${DISTDIR}"/popa3d-0.5.9-maildir-2.diff.gz
+}
+
+src_compile() {
+ sed -i \
+ -e "s:^\(#define MAX_SESSIONS\) .*$:\1 ${MAX_SESSIONS}:" \
+ -e "s:^\(#define MAX_SESSIONS_PER_SOURCE\).*$:\1 ${MAX_SESSIONS_PER_SOURCE}:" \
+ -e "s:^\(#define MAX_MAILBOX_MESSAGES\).*$:\1 ${MAX_MAILBOX_MESSAGES}:" \
+ -e "s:^\(#define MAX_MAILBOX_OPEN_BYTES\).*$:\1 ${MAX_MAILBOX_OPEN_BYTES}:" \
+ -e "s:^\(#define MAX_MAILBOX_WORK_BYTES\).*$:\1 ${MAX_MAILBOX_WORK_BYTES}:" \
+ params.h || die "sed on params.h failed (1)"
+
+ if use maildir ; then
+ einfo "Mailbox format is: MAILDIR."
+ if [[ -z ${POPA3D_HOME_MAILBOX} ]] ; then
+ POPA3D_HOME_MAILBOX=".maildir"
+ fi
+ else
+ einfo "Mailbox format is: MAILBOX."
+ fi
+
+ if [[ -n ${POPA3D_HOME_MAILBOX} ]] ; then
+ einfo "Mailbox path: ~/${POPA3D_HOME_MAILBOX}"
+ sed -i \
+ -e "s:^\(#define MAIL_SPOOL_PATH.*\)$://\1:" \
+ -e "s:^\(#define HOME_MAILBOX_NAME\).*$:\1 \"${POPA3D_HOME_MAILBOX}\":" \
+ params.h || die "sed on params.h failed (2)"
+ else
+ einfo "Mailbox path: /var/mail/username"
+ fi
+
+ if [[ ${POPA3D_VIRTUAL_ONLY} = "YES" ]] ; then
+ einfo "Virtual only, no local system users"
+ sed -i -e "s:^\(#define VIRTUAL_ONLY\).*$:\1 1:" \
+ params.h || die "sed on param.h failed (2.5)"
+ fi
+
+ if [[ -n ${POPA3D_VIRTUAL_HOME_PATH} ]] ; then
+ einfo "Virtual home path set to: ${POPA3D_VIRTUAL_HOME_PATH}"
+ sed -i \
+ -e "s:^\(#define VIRTUAL_HOME_PATH\).*$:\1 \"$POPA3D_VIRTUAL_HOME_PATH\":" \
+ params.h || die "sed on params.h failed (3)"
+ fi
+
+ if [[ ${POPA3D_VIRTUAL_ONLY} = "YES" ]] ; then
+ einfo "Authentication method: Virtual."
+ elif use pam ; then
+ einfo "Authentication method: PAM."
+ LIBS="${LIBS} -lpam"
+ sed -i \
+ -e "s:^\(#define AUTH_SHADOW\)[[:blank:]].*$:\1 0:" \
+ -e "s:^\(#define AUTH_PAM\)[[:blank:]].*$:\1 1:" \
+ params.h || die "sed on params.h failed (4)"
+ else
+ einfo "Authentication method: Shadow."
+ fi
+
+ sed -i \
+ -e "s:^\(#define POP_STANDALONE\).*$:\1 1:" \
+ -e "s:^\(#define POP_VIRTUAL\).*$:\1 1:" \
+ -e "s:^\(#define VIRTUAL_VNAME\).*$:\1 1:" \
+ params.h || die "sed on params.h failed (5)"
+
+ sed -i \
+ -e '/^CC =/d' \
+ -e '/^CFLAGS =/d' \
+ -e '/^LDFLAGS =/d' \
+ Makefile || die "Makefile cleaning failed"
+
+ emake LIBS="${LIBS} -lcrypt" \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ CC=$(tc-getCC)
+}
+
+src_install() {
+ into /usr
+
+ dosbin popa3d
+ doman popa3d.8
+ dodoc DESIGN INSTALL CHANGES VIRTUAL CONTACT
+
+ diropts -m 755
+ dodir /var/empty
+ keepdir /var/empty
+
+ newinitd "${FILESDIR}"/popa3d-initrc popa3d
+
+ if use pam ; then
+ dodir /etc/pam.d/
+ dosym /etc/pam.d/pop /etc/pam.d/popa3d
+ fi
+}