blob: e3a92df4294c2822c4f9d2adb40c9a7c904871d4 (
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
|
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit user systemd toolchain-funcs
if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="https://github.com/bitlbee/bitlbee.git"
inherit git-r3
else
SRC_URI="https://get.bitlbee.org/src/${P}.tar.gz"
KEYWORDS="amd64 ppc ~ppc64 x86 ~x86-fbsd"
fi
DESCRIPTION="irc to IM gateway that support multiple IM protocols"
HOMEPAGE="https://www.bitlbee.org/"
LICENSE="GPL-2"
SLOT="0"
IUSE_PROTOCOLS="msn oscar purple twitter +xmpp"
IUSE="debug +gnutls ipv6 libevent libressl nss otr +plugins selinux test xinetd
${IUSE_PROTOCOLS}"
REQUIRED_USE="
|| ( purple xmpp msn oscar )
xmpp? ( !nss )
"
COMMON_DEPEND="
>=dev-libs/glib-2.16
purple? ( net-im/pidgin )
libevent? ( dev-libs/libevent:= )
otr? ( >=net-libs/libotr-4 )
gnutls? ( net-libs/gnutls:= )
!gnutls? (
nss? ( dev-libs/nss )
!nss? (
libressl? ( dev-libs/libressl:= )
!libressl? ( dev-libs/openssl:0= )
)
)
"
DEPEND="${COMMON_DEPEND}
virtual/pkgconfig
selinux? ( sec-policy/selinux-bitlbee )
test? ( dev-libs/check )"
RDEPEND="${COMMON_DEPEND}
virtual/logger
xinetd? ( sys-apps/xinetd )"
pkg_setup() {
enewgroup bitlbee
enewuser bitlbee -1 -1 /var/lib/bitlbee bitlbee
}
src_prepare() {
if [[ ${PV} != "9999" ]]; then
eapply \
"${FILESDIR}"/${PN}-3.5-systemd-user.patch \
"${FILESDIR}"/${PN}-3.5-verbose-build.patch
fi
eapply_user
}
src_configure() {
local myconf
# setup plugins, protocol, ipv6 and debug
myconf+=( --jabber=$(usex xmpp 1 0) )
for flag in debug ipv6 plugins ${IUSE_PROTOCOLS/+xmpp/} ; do
myconf+=( --${flag}=$(usex ${flag} 1 0) )
done
# set otr
if use otr && use plugins ; then
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+=( --otr=0 )
fi
# setup ssl use flags
if use gnutls ; then
myconf+=( --ssl=gnutls )
einfo "Using gnutls for SSL support"
else
ewarn "Only gnutls is officially supported by upstream."
if use nss ; then
myconf+=( --ssl=nss )
einfo "Using nss for SSL support"
else
myconf+=( --ssl=openssl )
einfo "Using openssl for SSL support"
fi
fi
# set event handler
if use libevent ; then
myconf+=( --events=libevent )
else
myconf+=( --events=glib )
fi
# not autotools-based
./configure \
--prefix=/usr \
--datadir=/usr/share/bitlbee \
--etcdir=/etc/bitlbee \
--plugindir=/usr/$(get_libdir)/bitlbee \
--systemdsystemunitdir=$(systemd_get_systemunitdir) \
--doc=1 \
--strip=0 \
--verbose=1 \
"${myconf[@]}" || die
sed -i \
-e "/^EFLAGS/s:=:&${LDFLAGS} :" \
Makefile.settings || die
}
src_compile() {
emake CC="$(tc-getCC)" LD="$(tc-getLD)"
}
src_install() {
emake DESTDIR="${D}" install install-etc install-doc install-dev install-systemd
keepdir /var/lib/bitlbee
fperms 700 /var/lib/bitlbee
fowners bitlbee:bitlbee /var/lib/bitlbee
dodoc doc/{AUTHORS,CHANGES,CREDITS,FAQ,README}
if use xinetd ; then
insinto /etc/xinetd.d
newins doc/bitlbee.xinetd bitlbee
fi
newinitd "${FILESDIR}"/bitlbee.initd-r1 bitlbee
newconfd "${FILESDIR}"/bitlbee.confd-r1 bitlbee
exeinto /usr/share/bitlbee
doexe utils/{convert_purple.py,bitlbee-ctl.pl}
}
pkg_postinst() {
chown -R bitlbee:bitlbee "${ROOT}"/var/lib/bitlbee
[[ -d "${ROOT}"/var/run/bitlbee ]] &&
chown -R bitlbee:bitlbee "${ROOT}"/var/run/bitlbee
if [[ -z ${REPLACING_VERSIONS} ]]; then
einfo
elog "The bitlbee init script will now attempt to stop all processes owned by the"
elog "bitlbee user, including per-client forks."
elog
elog "Tell the init script not to touch anything besides the main bitlbee process"
elog "by changing the BITLBEE_STOP_ALL variable in"
elog " /etc/conf.d/bitlbee"
einfo
fi
}
|