summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Harder <radhermit@gentoo.org>2016-09-04 23:15:05 -0400
committerTim Harder <radhermit@gentoo.org>2016-09-04 23:21:29 -0400
commit130dc998a483dad52f3bb6de991cb900de1c40db (patch)
tree53603f3191d44af76057cc84c6f3fa3a0c56696f
parentapp-misc/ckb: Remove old (diff)
downloadgentoo-130dc998a483dad52f3bb6de991cb900de1c40db.tar.gz
gentoo-130dc998a483dad52f3bb6de991cb900de1c40db.tar.bz2
gentoo-130dc998a483dad52f3bb6de991cb900de1c40db.zip
net-im/bitlbee: revision bump for various updates
* update to EAPI 6 * fix systemd unit to use bitlbee user (bug #472406) * update SSL handling, make it non-optional (bug #582658 by Alex Xu) * drop skype support, use libpurple and x11-plugins/pidgin-skypeweb instead (https://wiki.bitlbee.org/HowtoSkypeWeb)
-rw-r--r--net-im/bitlbee/bitlbee-3.4.2-r1.ebuild158
-rw-r--r--net-im/bitlbee/bitlbee-9999.ebuild121
-rw-r--r--net-im/bitlbee/files/bitlbee-3.4.2-systemd-user.patch10
3 files changed, 213 insertions, 76 deletions
diff --git a/net-im/bitlbee/bitlbee-3.4.2-r1.ebuild b/net-im/bitlbee/bitlbee-3.4.2-r1.ebuild
new file mode 100644
index 000000000000..8e5f4f76bcc4
--- /dev/null
+++ b/net-im/bitlbee/bitlbee-3.4.2-r1.ebuild
@@ -0,0 +1,158 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit user systemd
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/bitlbee/bitlbee.git"
+ inherit git-r3
+else
+ SRC_URI="http://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="http://www.bitlbee.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE_PROTOCOLS="msn oscar purple twitter +xmpp yahoo"
+IUSE="debug +gnutls ipv6 libevent libressl nss otr +plugins selinux test xinetd
+ ${IUSE_PROTOCOLS}"
+
+REQUIRED_USE="
+ || ( purple xmpp msn oscar yahoo )
+ 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() {
+ [[ ${PV} != "9999" ]] && eapply "${FILESDIR}"/${P}-systemd-user.patch
+ 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 \
+ "${myconf[@]}" || die
+
+ sed -i \
+ -e "/^EFLAGS/s:=:&${LDFLAGS} :" \
+ Makefile.settings || die
+}
+
+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
+}
diff --git a/net-im/bitlbee/bitlbee-9999.ebuild b/net-im/bitlbee/bitlbee-9999.ebuild
index 8a75327d32b0..ae09048b8d8f 100644
--- a/net-im/bitlbee/bitlbee-9999.ebuild
+++ b/net-im/bitlbee/bitlbee-9999.ebuild
@@ -2,10 +2,9 @@
# Distributed under the terms of the GNU General Public License v2
# $Id$
-EAPI=5
-PYTHON_COMPAT=( python2_7 )
+EAPI=6
-inherit eutils multilib user python-single-r1 systemd
+inherit user systemd
if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="https://github.com/bitlbee/bitlbee.git"
@@ -20,8 +19,14 @@ HOMEPAGE="http://www.bitlbee.org/"
LICENSE="GPL-2"
SLOT="0"
-IUSE="debug gnutls ipv6 +xmpp libevent msn nss +oscar otr +plugins purple selinux
- skype ssl test twitter +yahoo xinetd libressl"
+IUSE_PROTOCOLS="msn oscar purple twitter +xmpp yahoo"
+IUSE="debug +gnutls ipv6 libevent libressl nss otr +plugins selinux test xinetd
+ ${IUSE_PROTOCOLS}"
+
+REQUIRED_USE="
+ || ( purple xmpp msn oscar yahoo )
+ xmpp? ( !nss )
+"
COMMON_DEPEND="
>=dev-libs/glib-2.16
@@ -31,122 +36,91 @@ COMMON_DEPEND="
gnutls? ( net-libs/gnutls:= )
!gnutls? (
nss? ( dev-libs/nss )
- !nss? ( ssl? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:= ) ) )
+ !nss? (
+ libressl? ( dev-libs/libressl:= )
+ !libressl? ( dev-libs/openssl:0= )
+ )
)
"
DEPEND="${COMMON_DEPEND}
- dev-lang/python
virtual/pkgconfig
selinux? ( sec-policy/selinux-bitlbee )
test? ( dev-libs/check )"
RDEPEND="${COMMON_DEPEND}
virtual/logger
- skype? (
- dev-python/skype4py[${PYTHON_USEDEP}]
- net-im/skype
- )
xinetd? ( sys-apps/xinetd )"
-REQUIRED_USE="|| ( purple xmpp msn oscar yahoo )
- msn? ( || ( gnutls nss ssl ) )
- xmpp? ( !nss )"
-
pkg_setup() {
- if use xmpp && ! use gnutls && ! use ssl ; then
- einfo
- 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"
- einfo
- fi
-
- use skype && python-single-r1_pkg_setup
-
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"
-
- use skype && python_fix_shebang protocols/skype/skyped.py
-
- [[ ${PV} != "9999" ]] && epatch "${FILESDIR}"/${PN}-3.2.1-configure.patch
- epatch_user
+ [[ ${PV} != "9999" ]] && eapply "${FILESDIR}"/${P}-systemd-user.patch
+ eapply_user
}
src_configure() {
+ local myconf
+
# setup plugins, protocol, ipv6 and debug
- use xmpp && myconf="${myconf} --jabber=1"
- for flag in debug ipv6 msn oscar plugins purple skype twitter yahoo ; do
- if use ${flag} ; then
- myconf="${myconf} --${flag}=1"
- else
- myconf="${myconf} --${flag}=0"
- fi
+ 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="${myconf} --otr=plugin"
+ 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"
+ myconf+=( --otr=0 )
fi
# setup ssl use flags
if use gnutls ; then
- myconf="${myconf} --ssl=gnutls"
+ 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."
+ 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="${myconf} --events=libevent"
+ myconf+=( --events=libevent )
else
- myconf="${myconf} --events=glib"
+ myconf+=( --events=glib )
fi
- # NOTE: bitlbee's configure script is not an autotool creation,
- # so that is why we don't use econf.
+ # not autotools-based
./configure \
- --prefix="${EPREFIX}/usr" \
- --datadir="${EPREFIX}/usr/share/bitlbee" \
- --etcdir="${EPREFIX}/etc/bitlbee" \
- --plugindir="${EPREFIX}/usr/$(get_libdir)/bitlbee" \
- --systemdsystemunitdir=$(systemd_get_unitdir) \
- --doc=1 --strip=0 ${myconf} || die "econf failed"
+ --prefix=/usr \
+ --datadir=/usr/share/bitlbee \
+ --etcdir=/etc/bitlbee \
+ --plugindir=/usr/$(get_libdir)/bitlbee \
+ --systemdsystemunitdir=$(systemd_get_systemunitdir) \
+ --doc=1 \
+ --strip=0 \
+ "${myconf[@]}" || die
sed -i \
-e "/^EFLAGS/s:=:&${LDFLAGS} :" \
- Makefile.settings || die "sed failed"
+ Makefile.settings || die
}
src_install() {
- emake install install-etc install-doc install-dev install-systemd DESTDIR="${D}"
+ emake DESTDIR="${D}" install install-etc install-doc install-dev install-systemd
keepdir /var/lib/bitlbee
fperms 700 /var/lib/bitlbee
@@ -154,11 +128,6 @@ src_install() {
dodoc doc/{AUTHORS,CHANGES,CREDITS,FAQ,README}
- if use skype ; then
- newdoc protocols/skype/NEWS NEWS-skype
- newdoc protocols/skype/README README-skype
- fi
-
if use xinetd ; then
insinto /etc/xinetd.d
newins doc/bitlbee.xinetd bitlbee
diff --git a/net-im/bitlbee/files/bitlbee-3.4.2-systemd-user.patch b/net-im/bitlbee/files/bitlbee-3.4.2-systemd-user.patch
new file mode 100644
index 000000000000..07d58f4f3318
--- /dev/null
+++ b/net-im/bitlbee/files/bitlbee-3.4.2-systemd-user.patch
@@ -0,0 +1,10 @@
+--- a/init/bitlbee.service.in
++++ b/init/bitlbee.service.in
+@@ -4,6 +4,7 @@
+
+ [Service]
+ ExecStart=@sbindir@bitlbee -F -n
++User=bitlbee
+
+ [Install]
+ WantedBy=multi-user.target