--- /dev/null
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="6"
+inherit systemd
+
+DESCRIPTION="Provides a daemon for managing internet connections"
+HOMEPAGE="https://01.org/connman"
+SRC_URI="mirror://kernel/linux/network/${PN}/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE="bluetooth debug doc examples +ethernet l2tp ofono openvpn openconnect pptp policykit tools vpnc +wifi wispr"
+
+RDEPEND=">=dev-libs/glib-2.16
+ >=sys-apps/dbus-1.2.24
+ >=net-firewall/iptables-1.4.8
+ bluetooth? ( net-wireless/bluez )
+ l2tp? ( net-dialup/xl2tpd )
+ ofono? ( net-misc/ofono )
+ openconnect? ( net-misc/openconnect )
+ openvpn? ( net-misc/openvpn )
+ policykit? ( sys-auth/polkit )
+ pptp? ( net-dialup/pptpclient )
+ vpnc? ( net-misc/vpnc )
+ wifi? ( >=net-wireless/wpa_supplicant-2.0[dbus] )
+ wispr? ( net-libs/gnutls )"
+
+DEPEND="${RDEPEND}
+ >=sys-kernel/linux-headers-2.6.39"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.32-execinfo-assumptions.patch"
+ "${FILESDIR}/${PN}-1.31-xtables.patch"
+)
+
+src_configure() {
+ econf \
+ --localstatedir=/var \
+ --enable-client \
+ --enable-datafiles \
+ --enable-loopback=builtin \
+ $(use_enable examples test) \
+ $(use_enable ethernet ethernet builtin) \
+ $(use_enable wifi wifi builtin) \
+ $(use_enable bluetooth bluetooth builtin) \
+ $(use_enable l2tp l2tp builtin) \
+ $(use_enable ofono ofono builtin) \
+ $(use_enable openconnect openconnect builtin) \
+ $(use_enable openvpn openvpn builtin) \
+ $(use_enable policykit polkit builtin) \
+ $(use_enable pptp pptp builtin) \
+ $(use_enable vpnc vpnc builtin) \
+ $(use_enable wispr wispr builtin) \
+ $(use_enable debug) \
+ $(use_enable tools) \
+ --disable-iospm \
+ --disable-hh2serial-gps
+}
+
+src_install() {
+ default
+ dobin client/connmanctl
+
+ if use doc; then
+ dodoc doc/*.txt
+ fi
+ keepdir /var/lib/${PN}
+ newinitd "${FILESDIR}"/${PN}.initd2 ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+}
--- /dev/null
+diff -uNr a/config.h.in b/config.h.in
+--- a/config.h.in 2013-07-02 17:41:03.715261748 +0000
++++ b/config.h.in 2013-07-02 17:41:21.707260667 +0000
+@@ -3,6 +3,9 @@
+ /* Define to 1 if you have the <dlfcn.h> header file. */
+ #undef HAVE_DLFCN_H
+
++/* Define to 1 if you have the <execinfo.h> header file. */
++#undef HAVE_EXECINFO_H
++
+ /* Define to 1 if you have the <inttypes.h> header file. */
+ #undef HAVE_INTTYPES_H
+
+diff -uNr a/configure.ac b/configure.ac
+--- a/configure.ac 2013-07-02 17:41:03.715261748 +0000
++++ b/configure.ac 2013-07-02 17:41:21.719260666 +0000
+@@ -181,6 +181,8 @@
+ AC_CHECK_FUNC(signalfd, dummy=yes,
+ AC_MSG_ERROR(signalfd support is required))
+
++AC_CHECK_HEADERS([execinfo.h], [], [])
++
+ AC_CHECK_LIB(dl, dlopen, dummy=yes,
+ AC_MSG_ERROR(dynamic linking loader is required))
+
+diff -uNr a/src/backtrace.c b/src/backtrace.c
+--- a/src/backtrace.c 2013-07-02 17:41:03.727261747 +0000
++++ b/src/backtrace.c 2013-07-02 17:42:12.717257603 +0000
+@@ -30,7 +30,9 @@
+ #include <unistd.h>
+ #include <stdlib.h>
+ #include <string.h>
++#ifdef HAVE_EXECINFO_H
+ #include <execinfo.h>
++#endif
+ #include <dlfcn.h>
+
+ #include "connman.h"
+@@ -37,6 +38,7 @@
+ void print_backtrace(const char* program_path, const char* program_exec,
+ unsigned int offset)
+ {
++#ifdef HAVE_EXECINFO_H
+ void *frames[99];
+ size_t n_ptrs;
+ unsigned int i;
+@@ -135,6 +138,7 @@
+
+ close(outfd[1]);
+ close(infd[0]);
++#endif
+ }
+
+ static void signal_handler(int signo)