summaryrefslogtreecommitdiff
blob: 505c545fca86be5d662e1bfcd8a8f1b27f946d9a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
# Copyright 1999-2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-mail/pine/pine-4.50-r4.ebuild,v 1.4 2003/02/13 14:35:06 vapier Exp $

IUSE="ssl ldap"

S=${WORKDIR}/${PN}${PV}
DESCRIPTION="A tool for reading, sending and managing electronic messages."
SRC_URI="ftp://ftp.cac.washington.edu/${PN}/${PN}${PV}.tar.gz"
HOMEPAGE="http://www.washington.edu/pine/"

DEPEND="virtual/glibc
	>=sys-libs/ncurses-5.1
	>=sys-libs/pam-0.72
	ssl? ( dev-libs/openssl )
	ldap? ( net-nds/openldap )"

SLOT="0"
LICENSE="PICO"
KEYWORDS="x86 ppc sparc "


src_unpack() {
	unpack ${A}

	if [ "`use mbox`" ] ; then
		patch -d ${S} -p0 < ${FILESDIR}/imap-4.7c2-flock.patch
	else
		patch -d ${S} -p1 < ${FILESDIR}/pine-4.50-maildir.patch
		patch -d ${S} -p0 < ${FILESDIR}/imap-4.7c2-flock+maildir.patch
	fi

	# fix for Home and End keys
        patch -d ${S} -p1 < ${FILESDIR}/pine-4.21-fixhome.patch

        # flock() emulation
        cp ${FILESDIR}/flock.c ${S}/imap/src/osdep/unix

        # change /bin/passwd to /usr/bin/passwd
        patch -d ${S} -p1 < ${FILESDIR}/pine-4.21-passwd.patch

	if [ "`use ldap`" ] ; then
		# link to shared ldap libs instead of static
		patch -d ${S} -p1 < ${FILESDIR}/pine-4.30-ldap.patch
		mkdir ${S}/ldap
		ln -s /usr/lib ${S}/ldap/libraries
		ln -s /usr/include ${S}/ldap/include
	fi

	# small flock() related fix
        patch -d ${S} -p0 < ${FILESDIR}/pine-4.40-boguswarning.patch

        # segfix? not sure what this is for but it still applies
        patch -d ${S} -p1 < ${FILESDIR}/pine-4.31-segfix.patch

        # change lock files from 0666 to 0600
        patch -d ${S} -p0 < ${FILESDIR}/pine-4.40-lockfile-perm.patch

        # add missing needed time.h includes
        patch -d ${S} -p1 < ${FILESDIR}/imap-2000-time.patch

        # gets rid of a call to stripwhitespace()
        patch -d ${S} -p1 < ${FILESDIR}/pine-4.33-whitespace.patch

	if [ -n "$DEBUG" ]; then
		cd ${S}/pine
		cp makefile.lnx makefile.orig
		sed -e "s:-g -DDEBUG -DDEBUGJOURNAL:${CFLAGS} -g -DDEBUG -DDEBUGJOURNAL:" \
			< makefile.orig > makefile.lnx
		cd ${S}/pico
		cp makefile.lnx makefile.orig
		sed -e "s:-g -DDEBUG:${CFLAGS} -g -DDEBUG:" \
			< makefile.orig > makefile.lnx
	else
		cd ${S}/pine
		cp makefile.lnx makefile.orig
		sed -e "s:-g -DDEBUG -DDEBUGJOURNAL:${CFLAGS}:" \
			< makefile.orig > makefile.lnx
		cd ${S}/pico
		cp makefile.lnx makefile.orig
		sed -e "s:-g -DDEBUG:${CFLAGS}:" makefile.orig > makefile.lnx
	fi

}

src_compile() {                           
	BUILDOPTS=""
	if [ "`use ssl`" ] 
	then
		BUILDOPTS="${BUILDOPTS} SSLDIR=/usr SSLTYPE=unix SSLCERTS=/etc/ssl/certs"
		cd ${S}/imap/src/osdep/unix
		cp Makefile Makefile.orig
		sed \
			-e "s:\$(SSLDIR)/certs:/etc/ssl/certs:" \
			-e "s:\$(SSLCERTS):/etc/ssl/certs:" \
			-e "s:-I\$(SSLINCLUDE) ::" \
			< Makefile.orig > Makefile
		cd ${S}
	else
		BUILDOPTS="${BUILDOPTS} NOSSL"
	fi
	if [ "`use ldap`" ]
	then
		./contrib/ldap-setup lnp lnp
		BUILDOPTS="${BUILDOPTS} LDAPCFLAGS=-DENABLE_LDAP"
	else
		BUILDOPTS="${BUILDOPTS} NOLDAP"
	fi
		
	./build ${BUILDOPTS} lnp || die
}

src_install() {                               
	into /usr
	dobin bin/pine bin/pico bin/pilot bin/mtest bin/rpdump bin/rpload

	doman doc/pine.1 doc/pico.1 doc/pilot.1 doc/rpdump.1 doc/rpload.1

	insinto /etc
	doins doc/mime.types
	donewins doc/mailcap.unx mailcap

	dodoc CPYRIGHT README doc/brochure.txt doc/tech-notes.txt
	use mbox || dodoc README.maildir

	docinto imap
	dodoc imap/docs/*.txt imap/docs/CONFIG imap/docs/FAQ imap/docs/RELNOTES

	docinto imap/rfc
	dodoc imap/docs/rfc/*.txt

	docinto html/tech-notes
	dodoc doc/tech-notes/*.html
}