summaryrefslogtreecommitdiff
blob: 7ce30c5e8286e068af03823443989c000af7fafe (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
# 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-maildir/pine-maildir-4.56.ebuild,v 1.6 2004/02/27 12:42:17 bazik Exp $

DESCRIPTION="tool for reading, sending and managing electronic messages"
HOMEPAGE="http://www.washington.edu/pine/"
SRC_URI="ftp://ftp.cac.washington.edu/pine/pine${PV}.tar.bz2
	mirror://gentoo/${P}"

LICENSE="PICO"
SLOT="0"
KEYWORDS="x86 ~ppc sparc"
IUSE="mbox ssl ldap"

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

S=${WORKDIR}/pine${PV}

src_unpack() {
	unpack pine${PV}.tar.bz2
	cd ${S}

	epatch ${DISTDIR}/${P}
	epatch ${FILESDIR}/imap-4.7c2-flock+maildir.patch

	# fix for Home and End keys
	epatch ${FILESDIR}/pine-4.21-fixhome.patch || die

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

	# pine-4.56 doesn't need this anymore
	# change /bin/passwd to /usr/bin/passwd
	#epatch ${FILESDIR}/pine-4.21-passwd.patch || die

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

	# Not needed as of pine-4.56
	# small flock() related fix
	#epatch ${FILESDIR}/pine-4.40-boguswarning.patch || die

	# segfix? not sure what this is for but it still applies
	epatch ${FILESDIR}/pine-4.31-segfix.patch || die

	# change lock files from 0666 to 0600
	epatch ${FILESDIR}/pine-4.40-lockfile-perm.patch || die

	# add missing needed time.h includes
	epatch ${FILESDIR}/imap-2000-time.patch || die

	# gets rid of a call to stripwhitespace()
	epatch ${FILESDIR}/pine-4.33-whitespace.patch || die

	if [ "`use debug`" ]; then
		cd ${S}/pine
		sed -i "s:-g -DDEBUG -DDEBUGJOURNAL:${CFLAGS} -g -DDEBUG -DDEBUGJOURNAL:" \
			makefile.lnx
		cd ${S}/pico
		sed -i "s:-g -DDEBUG:${CFLAGS} -g -DDEBUG:" \
			makefile.lnx
	else
		cd ${S}/pine
		sed -i "s:-g -DDEBUG -DDEBUGJOURNAL:${CFLAGS}:" \
			makefile.lnx
		cd ${S}/pico
		sed -i "s:-g -DDEBUG:${CFLAGS}:" 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/RELNOTES

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

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