summaryrefslogtreecommitdiff
blob: 954d35d2d96b8a4d332202d53658ba9f455b47a9 (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
136
137
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/mail-client/pine/pine-4.50-r4.ebuild,v 1.10 2004/10/04 20:48:07 robbat2 Exp $

inherit eutils

DESCRIPTION="tool for reading, sending and managing electronic messages"
HOMEPAGE="http://www.washington.edu/pine/"
SRC_URI="ftp://ftp.cac.washington.edu/${PN}/${PN}${PV}.tar.gz
	mirror://gentoo/pine-4.50-maildir.patch.gz"

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

DEPEND="virtual/libc
	>=sys-libs/ncurses-5.1
	>=sys-libs/pam-0.72
	ssl? ( dev-libs/openssl )
	ldap? ( net-nds/openldap )"
RDEPEND="${DEPEND} app-misc/mime-types"

S="${WORKDIR}/${P/-/}"

src_unpack() {
	unpack ${A}
	cd ${S}

	if use mbox ; then
		epatch ${FILESDIR}/imap-4.7c2-flock.patch
	else
		epatch ${WORKDIR}/pine-4.50-maildir.patch
		epatch ${FILESDIR}/imap-4.7c2-flock+maildir.patch
	fi

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

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

	# change /bin/passwd to /usr/bin/passwd
	epatch ${FILESDIR}/pine-4.21-passwd.patch

	if use ldap ; then
		# link to shared ldap libs instead of static
		epatch ${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
	epatch ${FILESDIR}/pine-4.40-boguswarning.patch

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

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

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

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

	if use 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

	# Only mailbase should install /etc/mailcap
#	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
}