blob: 3fef6c2c20f8399312466a88aacd52d7ee57ffca (
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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
|
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-im/bitlbee/bitlbee-3.0.ebuild,v 1.3 2011/01/23 14:55:15 armin76 Exp $
EAPI="3"
inherit eutils toolchain-funcs confutils multilib
DESCRIPTION="irc to IM gateway that support multiple IM protocols"
HOMEPAGE="http://www.bitlbee.org/"
SRC_URI="http://get.bitlbee.org/src/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86 ~x86-fbsd"
IUSE="debug gnutls ipv6 +jabber libevent msn nss +oscar otr +plugins purple ssl test twitter +yahoo xinetd" # ldap - Bug 195758
COMMON_DEPEND="purple? ( net-im/pidgin )
libevent? ( dev-libs/libevent )
!libevent? ( >=dev-libs/glib-2.4 )
otr? ( net-libs/libotr )
msn? ( gnutls? ( net-libs/gnutls )
!gnutls? ( nss? ( dev-libs/nss ) )
!gnutls? ( !nss? ( ssl? ( dev-libs/openssl ) ) )
)
jabber? ( gnutls? ( net-libs/gnutls )
!gnutls? ( nss? ( dev-libs/nss ) )
!gnutls? ( !nss? ( ssl? ( dev-libs/openssl ) ) )
)"
# ldap? ( net-nds/openldap )"
DEPEND="${COMMON_DEPEND}
dev-util/pkgconfig
test? ( dev-libs/check )"
RDEPEND="${COMMON_DEPEND}
virtual/logger
xinetd? ( sys-apps/xinetd )"
pkg_setup() {
if use purple ; then
elog "You have enabled libpurple support. This disables all the other"
elog " protocol modules, since everything is handled by libpurple."
elog
else
elog "Support for all IM protocols are controlled by use flags."
elog " Make sure you've enabled the flags you want."
elog
fi
confutils_require_any jabber msn oscar twitter yahoo purple
# At the request of upstream, die if MSN Messenger support is enabled
# but no SSL support has been enabled
confutils_use_depend_any msn gnutls nss ssl
if use jabber && ! use gnutls && ! use ssl ; then
if use nss ; then
ewarn ""
ewarn "You have enabled nss and jabber"
ewarn "but nss doesn't work with jabber"
ewarn "Enable ONE of the following use instead"
ewarn "flags: gnutls or ssl"
ewarn ""
die "nss with jabber doesn't work"
fi
elog ""
elog "You have enabled support for Jabber but do not have SSL"
elog "support enabled. This *will* prevent bitlbee from being"
elog "able to connect to SSL enabled Jabber servers. If you need to"
elog "connect to Jabber over SSL, enable ONE of the following use"
elog "flags: gnutls or ssl"
elog ""
fi
enewgroup bitlbee
enewuser bitlbee -1 -1 /var/lib/bitlbee bitlbee
}
src_prepare() {
sed -i \
-e "s@/usr/local/sbin/bitlbee@/usr/sbin/bitlbee@" \
-e "s/nobody/bitlbee/" \
-e "s/}/ disable = yes\n}/" \
doc/bitlbee.xinetd || die "sed failed in xinetd"
sed -i \
-e "s@mozilla-nss@nss@g" \
configure || die "sed failed in configure"
epatch "${FILESDIR}"/${P}-configure.patch
epatch "${FILESDIR}"/${P}-jabber.patch
}
src_configure() {
# ldap hard-disabled for now
local myconf="--ldap=0"
# setup plugins, protocol, ipv6 and debug
for flag in debug ipv6 msn jabber oscar plugins purple twitter yahoo ; do
if use ${flag} ; then
myconf="${myconf} --${flag}=1"
else
myconf="${myconf} --${flag}=0"
fi
done
# set otr
if use otr && use plugins ; then
myconf="${myconf} --otr=plugin"
else
if use otr ; then
ewarn "OTR support has been disabled automatically because it"
ewarn "requires the plugins USE flag."
fi
myconf="${myconf} --otr=0"
fi
# setup ssl use flags
if use gnutls ; then
myconf="${myconf} --ssl=gnutls"
einfo "Using gnutls for SSL support"
elif use ssl ; then
myconf="${myconf} --ssl=openssl"
einfo "Using openssl for SSL support"
elif use nss ; then
myconf="${myconf} --ssl=nss"
einfo "Using nss for SSL support"
else
myconf="${myconf} --ssl=bogus"
einfo "You will not have any encryption support enabled."
fi
# set event handler
if use libevent ; then
myconf="${myconf} --events=libevent"
else
myconf="${myconf} --events=glib"
fi
# NOTE: bitlbee's configure script is not an autotool creation,
# so that is why we don't use econf.
./configure --prefix=/usr --datadir=/usr/share/bitlbee \
--etcdir=/etc/bitlbee --plugindir=/usr/$(get_libdir)/bitlbee \
--strip=0 ${myconf} || die "econf failed"
sed -i \
-e "s/CFLAGS=.*$/CFLAGS=${CFLAGS}/" \
-e "/^EFLAGS/s:=:&${LDFLAGS} :" \
Makefile.settings || die "sed failed"
}
src_install() {
emake install install-etc install-doc install-dev DESTDIR="${D}" ||
die "install failed"
keepdir /var/lib/bitlbee
fperms 700 /var/lib/bitlbee
fowners bitlbee:bitlbee /var/lib/bitlbee
dodoc doc/{AUTHORS,CHANGES,CREDITS,FAQ,README}
dodoc doc/user-guide/user-guide.txt
dohtml -A xml doc/user-guide/*.xml
dohtml -A xsl doc/user-guide/*.xsl
dohtml doc/user-guide/*.html
doman doc/bitlbee.8 doc/bitlbee.conf.5
if use xinetd ; then
insinto /etc/xinetd.d
newins doc/bitlbee.xinetd bitlbee
fi
newinitd "${FILESDIR}"/bitlbee.initd bitlbee || die
newconfd "${FILESDIR}"/bitlbee.confd bitlbee || die
keepdir /var/run/bitlbee
fowners bitlbee:bitlbee /var/run/bitlbee
dodir /usr/share/bitlbee
insinto /usr/share/bitlbee
cd utils
doins convert_purple.py bitlbee-ctl.pl
}
pkg_postinst() {
chown -R bitlbee:bitlbee "${ROOT}"/var/lib/bitlbee
chown -R bitlbee:bitlbee "${ROOT}"/var/run/bitlbee
elog "The utils included in bitlbee are now located in /usr/share/bitlbee"
elog
elog "NOTE: The IRSSI script is no longer provided by BitlBee."
elog
elog "The bitlbeed init script has been replaced by bitlbee."
elog "You must update your configuration."
}
|