commit:     fa1cd38886c338a8c013185fd1d9f517a55df4a8
Author:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 28 21:44:41 2019 +0000
Commit:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
CommitDate: Thu Mar 28 21:44:41 2019 +0000
URL:        https://gitweb.gentoo.org/proj/musl.git/commit/?id=fa1cd388

net-misc/networkmanager: update to use networkmanager-1.16.0

 net-misc/networkmanager/Manifest                   |  2 +-
 .../files/fix-busted-configure.patch               | 25 ++++++++
 net-misc/networkmanager/files/musl-basic.patch     | 74 ++++++++--------------
 .../files/musl-dlopen-configure-ac.patch           | 11 ----
 .../networkmanager/files/musl-fix-includes.patch   | 74 ++++++++++++++++++++++
 .../files/musl-has-not-secure-gentenv.patch        | 25 ++++++++
 .../files/musl-network-support.patch               | 54 +++++++++++-----
 .../networkmanager/files/musl-process-util.patch   | 54 ++++++++++++++++
 net-misc/networkmanager/metadata.xml               | 14 ++--
 ...1.10.10.ebuild => networkmanager-1.16.0.ebuild} | 54 ++++++++++------
 10 files changed, 285 insertions(+), 102 deletions(-)

diff --git a/net-misc/networkmanager/Manifest b/net-misc/networkmanager/Manifest
index d3cadc7..9f1ff8f 100644
--- a/net-misc/networkmanager/Manifest
+++ b/net-misc/networkmanager/Manifest
@@ -1 +1 @@
-DIST NetworkManager-1.10.10.tar.xz 4038552 BLAKE2B 
a0a3c2a74dd641d25267ec7932f0801e30720334cb905c86abfaeb9bc3c60a2c1e9372b738b1eb43c55a34edf952905d94e3513cef653ea62e470d56bc575b65
 SHA512 
e536598b19064e0ab7fe3e92362de9c380281ff53a1481438216c2247b2d5287244e735be41c56c53040a5861bf36bbb979e36578244fabd6448a50ea42c4645
+DIST NetworkManager-1.16.0.tar.xz 4793620 BLAKE2B 
554559eefbfa489cf01067bd2c32e4b06fed076d38920b41f2d0005873ff913c0af2babcc3d9b463a4b636ca82e5c27ee20ab5768fcfb2c6b79e003d7fdc224d
 SHA512 
e9d8365d8e59e5bc7c0bc13482139fb96b1d87183c8884e71e84eaf05fe121f2bcac519edd916bd242be4e9a9e2d2140a1065f529a9a02bda87b6d2bd4192584

diff --git a/net-misc/networkmanager/files/fix-busted-configure.patch 
b/net-misc/networkmanager/files/fix-busted-configure.patch
new file mode 100644
index 0000000..a447814
--- /dev/null
+++ b/net-misc/networkmanager/files/fix-busted-configure.patch
@@ -0,0 +1,25 @@
+From 9ce527c9e179ecd3c01c684ca4c6747349a7ec99 Mon Sep 17 00:00:00 2001
+From: Jory Pratt <[email protected]>
+Date: Thu, 28 Mar 2019 14:21:48 -0500
+Subject: [PATCH] Fix up configure
+
+---
+ configure | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure b/configure
+index b3e14a3..dde9a93 100755
+--- a/configure
++++ b/configure
+@@ -21127,7 +21127,7 @@ return dlopen ();
+ _ACEOF
+ for ac_lib in '' dl dld; do
+   if test -z "$ac_lib"; then
+-    ac_res="none required"
++    ac_res=""
+   else
+     ac_res=-l$ac_lib
+     LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+-- 
+2.21.0
+

diff --git a/net-misc/networkmanager/files/musl-basic.patch 
b/net-misc/networkmanager/files/musl-basic.patch
index 533ed98..e26ad4a 100644
--- a/net-misc/networkmanager/files/musl-basic.patch
+++ b/net-misc/networkmanager/files/musl-basic.patch
@@ -1,8 +1,20 @@
---- a/src/systemd/src/basic/stdio-util.h
-+++ b/src/systemd/src/basic/stdio-util.h
-@@ -19,7 +19,9 @@
-   along with systemd; If not, see <http://www.gnu.org/licenses/>.
- ***/
+From 8d5abcd3f0ef99cb7551d2db400c0645812a54ab Mon Sep 17 00:00:00 2001
+From: 
+Date: Thu, 28 Mar 2019 11:48:38 -0500
+Subject: [PATCH 1/5] Basic musl fixes
+
+---
+ shared/systemd/src/basic/stdio-util.h | 2 ++
+ shared/systemd/src/basic/util.h       | 6 ++++++
+ 2 files changed, 8 insertions(+)
+
+diff --git a/shared/systemd/src/basic/stdio-util.h 
b/shared/systemd/src/basic/stdio-util.h
+index dc67b6e..6336243 100644
+--- a/shared/systemd/src/basic/stdio-util.h
++++ b/shared/systemd/src/basic/stdio-util.h
+@@ -1,7 +1,9 @@
+ /* SPDX-License-Identifier: LGPL-2.1+ */
+ #pragma once
  
 +#if defined(__GLIBC__)
  #include <printf.h>
@@ -10,55 +22,23 @@
  #include <stdarg.h>
  #include <stdio.h>
  #include <sys/types.h>
---- a/src/systemd/src/basic/util.h
-+++ b/src/systemd/src/basic/util.h
-@@ -46,6 +46,11 @@
- #include "missing.h"
+diff --git a/shared/systemd/src/basic/util.h b/shared/systemd/src/basic/util.h
+index dc33d66..fbdf291 100644
+--- a/shared/systemd/src/basic/util.h
++++ b/shared/systemd/src/basic/util.h
+@@ -27,6 +27,12 @@
+ #include "macro.h"
  #include "time-util.h"
  
 +#if !defined(__GLIBC__)
 +typedef int (*__compar_fn_t) (const void*, const void*);
 +typedef __compar_fn_t comparison_fn_t;
++typedef int (*__compar_d_fn_t) (const void *, const void *, void *);
 +#endif
 +
  size_t page_size(void) _pure_;
  #define PAGE_ALIGN(l) ALIGN_TO((l), page_size())
  
---- a/src/systemd/sd-adapt/nm-sd-adapt.h
-+++ b/src/systemd/sd-adapt/nm-sd-adapt.h
-@@ -134,7 +134,7 @@
- #  ifdef HAVE___SECURE_GETENV
- #    define secure_getenv __secure_getenv
- #  else
--#    error neither secure_getenv nor __secure_getenv is available
-+#    define secure_getenv getenv
- #  endif
- #endif
- 
---- a/src/systemd/src/basic/process-util.c
-+++ b/src/systemd/src/basic/process-util.c
-@@ -1018,8 +1018,9 @@
- /* We use glibc __register_atfork() + __dso_handle directly here, as they are 
not included in the glibc
-  * headers. __register_atfork() is mostly equivalent to pthread_atfork(), but 
doesn't require us to link against
-  * libpthread, as it is part of glibc anyway. */
--extern int __register_atfork(void (*prepare) (void), void (*parent) (void), 
void (*child) (void), void * __dso_handle);
--extern void* __dso_handle __attribute__ ((__weak__));
-+//extern int __register_atfork(void (*prepare) (void), void (*parent) (void), 
void (*child) (void), void * __dso_handle);
-+//extern void* __dso_handle __attribute__ ((__weak__));
-+#define __register_atfork(prepare,parent,child,dso) 
pthread_atfork(prepare,parent,child)
- 
- pid_t getpid_cached(void) {
-         pid_t current_value;
---- a/libnm-core/nm-json.c
-+++ b/libnm-core/nm-json.c
-@@ -23,6 +23,10 @@
- 
- #include <dlfcn.h>
- 
-+#ifndef RTLD_DEEPBIND
-+#define RTLD_DEEPBIND 0
-+#endif
-+
- void *_nm_jansson_json_object_iter_value;
- void *_nm_jansson_json_object_key_to_iter;
- void *_nm_jansson_json_integer;
+-- 
+2.21.0
+

diff --git a/net-misc/networkmanager/files/musl-dlopen-configure-ac.patch 
b/net-misc/networkmanager/files/musl-dlopen-configure-ac.patch
deleted file mode 100644
index 5df320b..0000000
--- a/net-misc/networkmanager/files/musl-dlopen-configure-ac.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-musl: dlopen is included so LD_LIBS="" instead of LD_LIBS="none required"
---- a/configure.ac
-+++ b/configure.ac
-@@ -275,6 +275,7 @@
- dnl Checks for libdl - on certain platforms its part of libc
- dnl
- AC_SEARCH_LIBS([dlopen], [dl dld], [], [ac_cv_search_dlopen=])
-+AS_IF([test "$ac_cv_search_dlopen" = "none 
required"],[ac_cv_search_dlopen=""])
- AC_SUBST([DL_LIBS], "$ac_cv_search_dlopen")
- 
- PKG_CHECK_MODULES(GLIB, [gio-unix-2.0 >= 2.37.6 gmodule-2.0],

diff --git a/net-misc/networkmanager/files/musl-fix-includes.patch 
b/net-misc/networkmanager/files/musl-fix-includes.patch
new file mode 100644
index 0000000..9c1e240
--- /dev/null
+++ b/net-misc/networkmanager/files/musl-fix-includes.patch
@@ -0,0 +1,74 @@
+From 757c618b86fec884d9f9cb0abdbe31ba680ff863 Mon Sep 17 00:00:00 2001
+From: 
+Date: Thu, 28 Mar 2019 11:49:20 -0500
+Subject: [PATCH 2/5] Fix includes for musl users
+
+---
+ src/devices/nm-device.c          | 4 ++++
+ src/nm-manager.c                 | 1 +
+ src/platform/nm-linux-platform.c | 6 +++++-
+ 3 files changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c
+index 7514fa7..f041382 100644
+--- a/src/devices/nm-device.c
++++ b/src/devices/nm-device.c
+@@ -32,7 +32,11 @@
+ #include <arpa/inet.h>
+ #include <fcntl.h>
+ #include <linux/if_addr.h>
++#if defined(__GLIBC__)
+ #include <linux/if_arp.h>
++#else
++#include <linux/if.h>
++#endif
+ #include <linux/rtnetlink.h>
+ #include <linux/pkt_sched.h>
+ 
+diff --git a/src/nm-manager.c b/src/nm-manager.c
+index 0bf6a75..e392507 100644
+--- a/src/nm-manager.c
++++ b/src/nm-manager.c
+@@ -26,6 +26,7 @@
+ #include <stdlib.h>
+ #include <fcntl.h>
+ #include <unistd.h>
++#include <asm/types.h>
+ 
+ #include "nm-utils/nm-c-list.h"
+ 
+diff --git a/src/platform/nm-linux-platform.c 
b/src/platform/nm-linux-platform.c
+index 2f5c75b..f086245 100644
+--- a/src/platform/nm-linux-platform.c
++++ b/src/platform/nm-linux-platform.c
+@@ -20,6 +20,7 @@
+ #include "nm-default.h"
+ 
+ #include "nm-linux-platform.h"
++#include "wpan/nm-wpan-utils.h"
+ 
+ #include <arpa/inet.h>
+ #include <dlfcn.h>
+@@ -27,7 +28,11 @@
+ #include <fcntl.h>
+ #include <libudev.h>
+ #include <linux/ip.h>
++#if defined(__GLIBC__)
+ #include <linux/if_arp.h>
++#else
++#include <linux/if.h>
++#endif
+ #include <linux/if_link.h>
+ #include <linux/if_tun.h>
+ #include <linux/if_tunnel.h>
+@@ -53,7 +58,6 @@
+ #include "nm-platform-private.h"
+ #include "wifi/nm-wifi-utils.h"
+ #include "wifi/nm-wifi-utils-wext.h"
+-#include "wpan/nm-wpan-utils.h"
+ #include "nm-utils/unaligned.h"
+ #include "nm-utils/nm-io-utils.h"
+ #include "nm-utils/nm-udev-utils.h"
+-- 
+2.21.0
+

diff --git a/net-misc/networkmanager/files/musl-has-not-secure-gentenv.patch 
b/net-misc/networkmanager/files/musl-has-not-secure-gentenv.patch
new file mode 100644
index 0000000..38eec9c
--- /dev/null
+++ b/net-misc/networkmanager/files/musl-has-not-secure-gentenv.patch
@@ -0,0 +1,25 @@
+From b5649534943137ddbb97f1735e8d5ced24b1e36e Mon Sep 17 00:00:00 2001
+From: 
+Date: Thu, 28 Mar 2019 11:49:44 -0500
+Subject: [PATCH 3/5] Musl does not have secure getenv
+
+---
+ src/systemd/sd-adapt-core/nm-sd-adapt-core.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/systemd/sd-adapt-core/nm-sd-adapt-core.h 
b/src/systemd/sd-adapt-core/nm-sd-adapt-core.h
+index 8c07c53..d043afc 100644
+--- a/src/systemd/sd-adapt-core/nm-sd-adapt-core.h
++++ b/src/systemd/sd-adapt-core/nm-sd-adapt-core.h
+@@ -65,7 +65,7 @@
+ #  ifdef HAVE___SECURE_GETENV
+ #    define secure_getenv __secure_getenv
+ #  else
+-#    error neither secure_getenv nor __secure_getenv is available
++#    define secure_getenv getenv
+ #  endif
+ #endif
+ 
+-- 
+2.21.0
+

diff --git a/net-misc/networkmanager/files/musl-network-support.patch 
b/net-misc/networkmanager/files/musl-network-support.patch
index 73c1930..feca98d 100644
--- a/net-misc/networkmanager/files/musl-network-support.patch
+++ b/net-misc/networkmanager/files/musl-network-support.patch
@@ -1,3 +1,16 @@
+From 530814cb0d4f3369c18a88a31b5f14f2ed6544bc Mon Sep 17 00:00:00 2001
+From: 
+Date: Thu, 28 Mar 2019 11:50:06 -0500
+Subject: [PATCH 4/5] musl network support
+
+---
+ libnm-core/nm-utils.h                  | 4 ++++
+ shared/systemd/src/basic/socket-util.h | 5 +++++
+ src/platform/wifi/nm-wifi-utils.h      | 4 ++++
+ 3 files changed, 13 insertions(+)
+
+diff --git a/libnm-core/nm-utils.h b/libnm-core/nm-utils.h
+index 2b5baba..976850c 100644
 --- a/libnm-core/nm-utils.h
 +++ b/libnm-core/nm-utils.h
 @@ -30,7 +30,11 @@
@@ -12,8 +25,26 @@
  #include <linux/if_infiniband.h>
  
  #include "nm-core-enum-types.h"
---- a/src/platform/wifi/wifi-utils.h
-+++ b/src/platform/wifi/wifi-utils.h
+diff --git a/shared/systemd/src/basic/socket-util.h 
b/shared/systemd/src/basic/socket-util.h
+index d2246a8..4cb0807 100644
+--- a/shared/systemd/src/basic/socket-util.h
++++ b/shared/systemd/src/basic/socket-util.h
+@@ -12,6 +12,11 @@
+ #include <sys/socket.h>
+ #include <sys/types.h>
+ #include <sys/un.h>
++#if !defined(__GLIBC__)
++/* SIOCGSTAMPNS from linux/asm-generic.h 
++ * for src/systemd/src/libsystemd-network/sd-lldp.c */
++#include <linux/sockios.h>
++#endif
+ 
+ #include "macro.h"
+ #include "missing_socket.h"
+diff --git a/src/platform/wifi/nm-wifi-utils.h 
b/src/platform/wifi/nm-wifi-utils.h
+index 36148b5..d282eb2 100644
+--- a/src/platform/wifi/nm-wifi-utils.h
++++ b/src/platform/wifi/nm-wifi-utils.h
 @@ -22,7 +22,11 @@
  #ifndef __WIFI_UTILS_H__
  #define __WIFI_UTILS_H__
@@ -25,18 +56,7 @@
 +#endif
  
  #include "nm-dbus-interface.h"
- 
---- a/src/systemd/src/basic/socket-util.h
-+++ b/src/systemd/src/basic/socket-util.h
-@@ -28,6 +28,11 @@
- #include <sys/un.h>
- #include <linux/netlink.h>
- #include <linux/if_packet.h>
-+#if !defined(__GLIBC__)
-+/* SIOCGSTAMPNS from linux/asm-generic.h 
-+ * for src/systemd/src/libsystemd-network/sd-lldp.c */
-+#include <linux/sockios.h>
-+#endif
- 
- #include "macro.h"
- #include "util.h"
+ #include "nm-setting-wireless.h"
+-- 
+2.21.0
+

diff --git a/net-misc/networkmanager/files/musl-process-util.patch 
b/net-misc/networkmanager/files/musl-process-util.patch
new file mode 100644
index 0000000..0b67a78
--- /dev/null
+++ b/net-misc/networkmanager/files/musl-process-util.patch
@@ -0,0 +1,54 @@
+From 0777360a2d8baa5c297bfa017bfaa1caf111d720 Mon Sep 17 00:00:00 2001
+From: 
+Date: Thu, 28 Mar 2019 11:50:23 -0500
+Subject: [PATCH 5/5] musl process util
+
+---
+ shared/systemd/src/basic/process-util.c | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/shared/systemd/src/basic/process-util.c 
b/shared/systemd/src/basic/process-util.c
+index b0afb5c..f72e346 100644
+--- a/shared/systemd/src/basic/process-util.c
++++ b/shared/systemd/src/basic/process-util.c
+@@ -21,6 +21,9 @@
+ #include <sys/wait.h>
+ #include <syslog.h>
+ #include <unistd.h>
++#ifndef __GLIBC__
++#include <pthread.h>
++#endif
+ #if 0 /* NM_IGNORED */
+ #if HAVE_VALGRIND_VALGRIND_H
+ #include <valgrind/valgrind.h>
+@@ -1168,11 +1171,13 @@ void reset_cached_pid(void) {
+         cached_pid = CACHED_PID_UNSET;
+ }
+ 
++#ifdef __GLIBC__
+ /* We use glibc __register_atfork() + __dso_handle directly here, as they are 
not included in the glibc
+  * headers. __register_atfork() is mostly equivalent to pthread_atfork(), but 
doesn't require us to link against
+  * libpthread, as it is part of glibc anyway. */
+ extern int __register_atfork(void (*prepare) (void), void (*parent) (void), 
void (*child) (void), void *dso_handle);
+ extern void* __dso_handle _weak_;
++#endif
+ 
+ pid_t getpid_cached(void) {
+         static bool installed = false;
+@@ -1201,7 +1206,12 @@ pid_t getpid_cached(void) {
+                          * only half-documented (glibc doesn't document it 
but LSB does — though only superficially)
+                          * we'll check for errors only in the most generic 
fashion possible. */
+ 
+-                        if (__register_atfork(NULL, NULL, reset_cached_pid, 
__dso_handle) != 0) {
++                        #ifdef __GLIBC__
++                            if (__register_atfork(NULL, NULL, 
reset_cached_pid, __dso_handle) != 0) {
++                        #else
++                            if (pthread_atfork(NULL, NULL, reset_cached_pid) 
!= 0) {
++                        #endif
++
+                                 /* OOM? Let's try again later */
+                                 cached_pid = CACHED_PID_UNSET;
+                                 return new_pid;
+-- 
+2.21.0
+

diff --git a/net-misc/networkmanager/metadata.xml 
b/net-misc/networkmanager/metadata.xml
index c212206..3345447 100644
--- a/net-misc/networkmanager/metadata.xml
+++ b/net-misc/networkmanager/metadata.xml
@@ -5,10 +5,6 @@
                <email>[email protected]</email>
                <name>Gentoo GNOME Desktop</name>
        </maintainer>
-       <maintainer type="person">
-               <email>[email protected]</email>
-               <name>Mike Gilbert</name>
-       </maintainer>
        <use>
                <flag name="connection-sharing">Use <pkg>net-dns/dnsmasq</pkg> 
and
                        <pkg>net-firewall/iptables</pkg> for connection 
sharing</flag>
@@ -18,6 +14,8 @@
                        getting ip</flag>
                <flag name="dhcpcd">Use <pkg>net-misc/dhcpcd</pkg> for getting 
ip</flag>
                <flag name="elogind">Use <pkg>sys-auth/elogind</pkg> for 
session tracking</flag>
+               <flag name="iwd">Use <pkg>net-wireless/iwd</pkg> instead of
+                       <pkg>net-wireless/wpa_supplicant</pkg> for wifi support 
by default</flag>
                <flag name="json">Enable JSON validation via 
<pkg>dev-libs/jansson</pkg>
                        in libnm.</flag>
                <flag name="modemmanager">Enable support for mobile broadband 
devices
@@ -28,10 +26,12 @@
                <flag name="ppp">Enable support for mobile broadband and PPPoE
                        connections using <pkg>net-dialup/ppp</pkg></flag>
                <flag name="resolvconf">Use <pkg>net-dns/openresolv</pkg> for 
managing
-                       DNS information</flag>
+                       DNS information in /etc/resolv.conf. Generally, a 
symlink to
+                       /run/NetworkManager/resolv.conf is simpler. On systems 
running
+                       systemd-resolved, disable this flag and create a 
symlink to
+                       /run/systemd/resolve/stub-resolv.conf.</flag>
                <flag name="teamd">Enable Teamd control support</flag>
-               <flag name="wifi">Enable support for wifi and 802.1x security 
using
-                       <pkg>net-wireless/wpa_supplicant</pkg></flag>
+               <flag name="wifi">Enable support for wifi and 802.1x 
security</flag>
                <flag name="wext">Enable support for the deprecated Wext 
(Wireless
                        Extensions) API; needed for some older drivers (e.g. 
ipw2200,
                        ndiswrapper)</flag>

diff --git a/net-misc/networkmanager/networkmanager-1.10.10.ebuild 
b/net-misc/networkmanager/networkmanager-1.16.0.ebuild
similarity index 87%
rename from net-misc/networkmanager/networkmanager-1.10.10.ebuild
rename to net-misc/networkmanager/networkmanager-1.16.0.ebuild
index af4b2c4..f728034 100644
--- a/net-misc/networkmanager/networkmanager-1.10.10.ebuild
+++ b/net-misc/networkmanager/networkmanager-1.16.0.ebuild
@@ -1,14 +1,14 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
 GNOME_ORG_MODULE="NetworkManager"
 GNOME2_LA_PUNT="yes"
 VALA_USE_DEPEND="vapigen"
-PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6,3_7} )
 
-inherit autotools bash-completion-r1 gnome2 linux-info multilib python-any-r1 
systemd flag-o-matic \
-       user readme.gentoo-r1 toolchain-funcs vala versionator virtualx udev 
multilib-minimal
+inherit bash-completion-r1 gnome2 linux-info multilib python-any-r1 systemd \
+       user readme.gentoo-r1 vala virtualx udev multilib-minimal flag-o-matic
 
 DESCRIPTION="A set of co-operative tools that make networking simple and 
straightforward"
 HOMEPAGE="https://wiki.gnome.org/Projects/NetworkManager";
@@ -16,10 +16,11 @@ HOMEPAGE="https://wiki.gnome.org/Projects/NetworkManager";
 LICENSE="GPL-2+"
 SLOT="0" # add subslot if libnm-util.so.2 or libnm-glib.so.4 bumps soname 
version
 
-IUSE="audit bluetooth connection-sharing consolekit +dhclient dhcpcd elogind 
gnutls +introspection json kernel_linux +nss +modemmanager ncurses ofono ovs 
policykit +ppp resolvconf selinux systemd teamd test vala +wext +wifi"
+IUSE="audit bluetooth connection-sharing consolekit +dhclient dhcpcd elogind 
gnutls +introspection iwd json kernel_linux +nss +modemmanager ncurses ofono 
ovs policykit +ppp resolvconf selinux systemd teamd test vala +wext +wifi"
 
 REQUIRED_USE="
-       modemmanager? ( ppp )
+       bluetooth? ( modemmanager )
+       iwd? ( wifi )
        vala? ( introspection )
        wext? ( wifi )
        ^^ ( nss gnutls )
@@ -33,8 +34,7 @@ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc 
~x86"
 COMMON_DEPEND="
        >=sys-apps/dbus-1.2[${MULTILIB_USEDEP}]
        >=dev-libs/dbus-glib-0.100[${MULTILIB_USEDEP}]
-       >=dev-libs/glib-2.37.6:2[${MULTILIB_USEDEP}]
-       >=dev-libs/libnl-3.2.8:3=[${MULTILIB_USEDEP}]
+       >=dev-libs/glib-2.40:2[${MULTILIB_USEDEP}]
        policykit? ( >=sys-auth/polkit-0.106 )
        net-libs/libndp[${MULTILIB_USEDEP}]
        >=net-misc/curl-7.24
@@ -55,7 +55,7 @@ COMMON_DEPEND="
                dev-libs/libgcrypt:0=[${MULTILIB_USEDEP}]
                >=net-libs/gnutls-2.12:=[${MULTILIB_USEDEP}] )
        introspection? ( >=dev-libs/gobject-introspection-0.10.3:= )
-       json? ( dev-libs/jansson[${MULTILIB_USEDEP}] )
+       json? ( >=dev-libs/jansson-2.5[${MULTILIB_USEDEP}] )
        modemmanager? ( >=net-misc/modemmanager-0.7.991:0= )
        ncurses? ( >=dev-libs/newt-0.52.15 )
        nss? ( >=dev-libs/nss-3.11:=[${MULTILIB_USEDEP}] )
@@ -75,14 +75,18 @@ RDEPEND="${COMMON_DEPEND}
                net-misc/iputils[arping(+)]
                net-analyzer/arping
        )
-       wifi? ( >=net-wireless/wpa_supplicant-0.7.3-r3[dbus] )
+       wifi? (
+               !iwd? ( >=net-wireless/wpa_supplicant-0.7.3-r3[dbus] )
+               iwd? ( net-wireless/iwd )
+       )
 "
 DEPEND="${COMMON_DEPEND}
        dev-util/gdbus-codegen
+       dev-util/glib-utils
        dev-util/gtk-doc-am
        >=dev-util/intltool-0.40
        >=sys-devel/gettext-0.17
-       >=sys-kernel/linux-headers-2.6.29
+       >=sys-kernel/linux-headers-3.18
        virtual/pkgconfig[${MULTILIB_USEDEP}]
        introspection? (
                $(python_gen_any_dep 'dev-python/pygobject:3[${PYTHON_USEDEP}]')
@@ -98,9 +102,12 @@ DEPEND="${COMMON_DEPEND}
 "
 
 PATCHES=(
+       "${FILESDIR}"/fix-busted-configure.patch
        "${FILESDIR}"/musl-basic.patch
-       "${FILESDIR}"/musl-dlopen-configure-ac.patch
+       "${FILESDIR}"/musl-fix-includes.patch
+       "${FILESDIR}"/musl-has-not-secure-gentenv.patch
        "${FILESDIR}"/musl-network-support.patch
+       "${FILESDIR}"/musl-process-util.patch
 )
 
 python_check_deps() {
@@ -156,34 +163,31 @@ src_prepare() {
 
        use vala && vala_src_prepare
        gnome2_src_prepare
-       eautoconf
 }
 
 multilib_src_configure() {
-       use elibc_musl && append-cflags -DHAVE_SECURE_GETENV 
-Dsecure_getenv=getenv -D__USE_POSIX199309
-
        local myconf=(
                --disable-more-warnings
                --disable-static
                --localstatedir=/var
                --disable-lto
                --disable-config-plugin-ibft
-               # ifnet plugin always disabled until someone volunteers to 
actively
-               # maintain and fix it
-               --disable-ifnet
                --disable-qt
                --without-netconfig
                --with-dbus-sys-dir=/etc/dbus-1/system.d
                # We need --with-libnm-glib (and dbus-glib dep) as reverse deps 
are
-               # still not ready for removing that lib
+               # still not ready for removing that lib, bug #665338
                --with-libnm-glib
                --with-nmcli=yes
                --with-udev-dir="$(get_udevdir)"
                --with-config-plugins-default=keyfile
                --with-iptables=/sbin/iptables
+               --with-ebpf=yes
                $(multilib_native_enable concheck)
                --with-crypto=$(usex nss nss gnutls)
                --with-session-tracking=$(multilib_native_usex systemd systemd 
$(multilib_native_usex elogind elogind $(multilib_native_usex consolekit 
consolekit no)))
+               # ConsoleKit has no build-time dependency, so use it as the 
default case.
+               # There is no off switch, and we do not support upower.
                --with-suspend-resume=$(multilib_native_usex systemd systemd 
$(multilib_native_usex elogind elogind consolekit))
                $(multilib_native_use_with audit libaudit)
                $(multilib_native_use_enable bluetooth bluez5-dun)
@@ -204,6 +208,7 @@ multilib_src_configure() {
                $(multilib_native_use_enable test tests)
                $(multilib_native_use_enable vala)
                --without-valgrind
+               $(multilib_native_use_with wifi iwd)
                $(multilib_native_use_with wext)
                $(multilib_native_use_enable wifi)
        )
@@ -232,6 +237,8 @@ multilib_src_configure() {
                ln -s "${S}/man" man || die
        fi
 
+       append-cflags -DRTLD_DEEPBIND=0
+
        ECONF_SOURCE=${S} runstatedir="/run" gnome2_src_configure "${myconf[@]}"
 }
 
@@ -279,6 +286,7 @@ multilib_src_install() {
 }
 
 multilib_src_install_all() {
+       einstalldocs
        ! use systemd && readme.gentoo_create_doc
 
        newinitd "${FILESDIR}/init.d.NetworkManager-r1" NetworkManager
@@ -300,6 +308,14 @@ multilib_src_install_all() {
        insinto /usr/share/polkit-1/rules.d/
        doins 
"${FILESDIR}/01-org.freedesktop.NetworkManager.settings.modify.system.rules"
 
+       if use iwd; then
+               # This goes to $nmlibdir/conf.d/ and $nmlibdir is 
'${prefix}'/lib/$PACKAGE, thus always lib, not get_libdir
+               cat <<-EOF > "${ED%/}"/usr/lib/NetworkManager/conf.d/iwd.conf
+               [device]
+               wifi.backend=iwd
+               EOF
+       fi
+
        # Empty
        rmdir "${ED%/}"/var{/lib{/NetworkManager,},} || die
 }

Reply via email to