--- /dev/null
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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 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() {
+ if [[ ${PV} != "9999" ]]; then
+ eapply \
+ "${FILESDIR}"/${P}-systemd-user.patch \
+ "${FILESDIR}"/${P}-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
+}
--- /dev/null
+Add a --verbose configure flag to enable verbose build output.
+
+--- bitlbee-3.5/configure
++++ bitlbee-3.5/configure
+@@ -38,6 +38,7 @@
+ twitter=1
+ purple=0
+
++verbose=0
+ doc=1
+ debug=0
+ strip=0
+@@ -125,6 +126,8 @@
+ --pidfile=... $pidfile
+ --config=... $config
+
++--verbose=0/1 Disable/enable verbose build $verbose
++
+ --msn=0/1 Disable/enable MSN part $msn
+ --jabber=0/1 Disable/enable Jabber part $jabber
+ --oscar=0/1 Disable/enable Oscar part (ICQ, AIM) $oscar
+@@ -282,6 +285,12 @@
+ debug=1
+ fi
+
++if [ "$verbose" = "0" ]; then
++ echo 'VERBOSE=@' >> Makefile.settings
++else
++ echo 'VERBOSE=' >> Makefile.settings
++fi
++
+ if [ "$debug" = "1" ]; then
+ echo 'DEBUG=1' >> Makefile.settings
+ CFLAGS="$CFLAGS -g3 -DDEBUG -O0"
+--- bitlbee-3.5/lib/Makefile
++++ bitlbee-3.5/lib/Makefile
+@@ -35,12 +35,12 @@
+
+ lib.o: $(objects) $(subdirs)
+ @echo '*' Linking lib.o
+- @$(LD) $(LFLAGS) $(objects) -o lib.o
++ $(VERBOSE) $(LD) $(LFLAGS) $(objects) -o lib.o
+
+ $(objects): ../Makefile.settings Makefile
+
+ $(objects): %.o: $(_SRCDIR_)%.c
+ @echo '*' Compiling $<
+- @$(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
++ $(VERBOSE) $(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
+
+ -include .depend/*.d
+--- bitlbee-3.5/Makefile
++++ bitlbee-3.5/Makefile
+@@ -162,28 +162,28 @@
+ tar czf $$x.tar.gz --exclude=debian --exclude=.git* --exclude=.depend $$x
+
+ $(subdirs):
+- @$(MAKE) -C $@ $(MAKECMDGOALS)
++ $(MAKE) -C $@ $(MAKECMDGOALS)
+
+ $(OTR_PI): %.so: $(_SRCDIR_)%.c
+ @echo '*' Building plugin $@
+- @$(CC) $(CFLAGS) -fPIC -shared $(LDFLAGS) $< -o $@ $(OTRFLAGS)
++ $(VERBOSE) $(CC) $(CFLAGS) -fPIC -shared $(LDFLAGS) $< -o $@ $(OTRFLAGS)
+
+ $(SKYPE_PI): $(_SRCDIR_)protocols/skype/skype.c
+ @echo '*' Building plugin skype
+- @$(CC) $(CFLAGS) $(LDFLAGS) $(SKYPEFLAGS) $< -o $@
++ $(VERBOSE) $(CC) $(CFLAGS) $(LDFLAGS) $(SKYPEFLAGS) $< -o $@
+
+ $(objects): %.o: $(_SRCDIR_)%.c
+ @echo '*' Compiling $<
+- @$(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
++ $(VERBOSE) $(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
+
+ $(objects): Makefile Makefile.settings config.h
+
+ $(OUTFILE): $(objects) $(subdirs)
+ @echo '*' Linking $(OUTFILE)
+- @$(CC) $(objects) $(subdirobjs) -o $(OUTFILE) $(LDFLAGS_BITLBEE) $(LDFLAGS) $(EFLAGS)
++ $(VERBOSE) $(CC) $(objects) $(subdirobjs) -o $(OUTFILE) $(LDFLAGS_BITLBEE) $(LDFLAGS) $(EFLAGS)
+ ifneq ($(firstword $(STRIP)), \#)
+ @echo '*' Stripping $(OUTFILE)
+- @-$(STRIP) $(OUTFILE)
++ $(VERBOSE) -$(STRIP) $(OUTFILE)
+ endif
+
+ ctags:
+--- bitlbee-3.5/protocols/jabber/Makefile
++++ bitlbee-3.5/protocols/jabber/Makefile
+@@ -37,10 +37,10 @@
+
+ $(objects): %.o: $(_SRCDIR_)%.c
+ @echo '*' Compiling $<
+- @$(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
++ $(VERBOSE) $(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
+
+ jabber_mod.o: $(objects)
+ @echo '*' Linking jabber_mod.o
+- @$(LD) $(LFLAGS) $(objects) -o jabber_mod.o
++ $(VERBOSE) $(LD) $(LFLAGS) $(objects) -o jabber_mod.o
+
+ -include .depend/*.d
+--- bitlbee-3.5/protocols/Makefile
++++ bitlbee-3.5/protocols/Makefile
+@@ -42,18 +42,18 @@
+ rm -rf .depend
+
+ $(subdirs):
+- @$(MAKE) -C $@ $(MAKECMDGOALS)
++ $(MAKE) -C $@ $(MAKECMDGOALS)
+
+ ### MAIN PROGRAM
+
+ protocols.o: $(objects) $(subdirs)
+ @echo '*' Linking protocols.o
+- @$(LD) $(LFLAGS) $(objects) $(subdirobjs) -o protocols.o
++ $(VERBOSE) $(LD) $(LFLAGS) $(objects) $(subdirobjs) -o protocols.o
+
+ $(objects): ../Makefile.settings Makefile
+
+ $(objects): %.o: $(_SRCDIR_)%.c
+ @echo '*' Compiling $<
+- @$(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
++ $(VERBOSE) $(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
+
+ -include .depend/*.d
+--- bitlbee-3.5/protocols/msn/Makefile
++++ bitlbee-3.5/protocols/msn/Makefile
+@@ -37,10 +37,10 @@
+
+ $(objects): %.o: $(_SRCDIR_)%.c
+ @echo '*' Compiling $<
+- @$(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
++ $(VERBOSE) $(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
+
+ msn_mod.o: $(objects)
+ @echo '*' Linking msn_mod.o
+- @$(LD) $(LFLAGS) $(objects) -o msn_mod.o
++ $(VERBOSE) $(LD) $(LFLAGS) $(objects) -o msn_mod.o
+
+ -include .depend/*.d
+--- bitlbee-3.5/protocols/oscar/Makefile
++++ bitlbee-3.5/protocols/oscar/Makefile
+@@ -38,10 +38,10 @@
+
+ $(objects): %.o: $(_SRCDIR_)%.c
+ @echo '*' Compiling $<
+- @$(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
++ $(VERBOSE) $(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
+
+ oscar_mod.o: $(objects)
+ @echo '*' Linking oscar_mod.o
+- @$(LD) $(LFLAGS) $(objects) -o oscar_mod.o
++ $(VERBOSE) $(LD) $(LFLAGS) $(objects) -o oscar_mod.o
+
+ -include .depend/*.d
+--- bitlbee-3.5/protocols/purple/Makefile
++++ bitlbee-3.5/protocols/purple/Makefile
+@@ -38,10 +38,10 @@
+
+ $(objects): %.o: $(_SRCDIR_)%.c
+ @echo '*' Compiling $<
+- @$(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
++ $(VERBOSE) $(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
+
+ purple_mod.o: $(objects)
+ @echo '*' Linking purple_mod.o
+- @$(LD) $(LFLAGS) $(objects) -o purple_mod.o
++ $(VERBOSE) $(LD) $(LFLAGS) $(objects) -o purple_mod.o
+
+ -include .depend/*.d
+--- bitlbee-3.5/protocols/twitter/Makefile
++++ bitlbee-3.5/protocols/twitter/Makefile
+@@ -37,10 +37,10 @@
+
+ $(objects): %.o: $(_SRCDIR_)%.c
+ @echo '*' Compiling $<
+- @$(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
++ $(VERBOSE) $(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
+
+ twitter_mod.o: $(objects)
+ @echo '*' Linking twitter_mod.o
+- @$(LD) $(LFLAGS) $(objects) -o twitter_mod.o
++ $(VERBOSE) $(LD) $(LFLAGS) $(objects) -o twitter_mod.o
+
+ -include .depend/*.d
+--- bitlbee-3.5/tests/Makefile
++++ bitlbee-3.5/tests/Makefile
+@@ -20,8 +20,8 @@
+
+ check: $(test_objs) $(addprefix ../, $(main_objs)) ../protocols/protocols.o ../lib/lib.o
+ @echo '*' Linking $@
+- @$(CC) $(CFLAGS) -o $@ $^ $(LFLAGS) $(EFLAGS)
++ $(VERBOSE) $(CC) $(CFLAGS) -o $@ $^ $(LFLAGS) $(EFLAGS)
+
+ %.o: $(_SRCDIR_)%.c
+ @echo '*' Compiling $<
+- @$(CC) -c $(CFLAGS) $< -o $@
++ $(VERBOSE) $(CC) -c $(CFLAGS) $< -o $@