aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJory Pratt <anarchy@gentoo.org>2019-03-28 16:44:41 -0500
committerJory Pratt <anarchy@gentoo.org>2019-03-28 16:44:41 -0500
commitfa1cd38886c338a8c013185fd1d9f517a55df4a8 (patch)
treed19c0cc8d17ea7b67a2a07c079d22d8ba253394c
parentmedia-libs/mesa: Version bump to 19.0.1 for ~arch users (diff)
downloadmusl-fa1cd388.tar.gz
musl-fa1cd388.tar.bz2
musl-fa1cd388.zip
net-misc/networkmanager: update to use networkmanager-1.16.0
-rw-r--r--net-misc/networkmanager/Manifest2
-rw-r--r--net-misc/networkmanager/files/fix-busted-configure.patch25
-rw-r--r--net-misc/networkmanager/files/musl-basic.patch74
-rw-r--r--net-misc/networkmanager/files/musl-dlopen-configure-ac.patch11
-rw-r--r--net-misc/networkmanager/files/musl-fix-includes.patch74
-rw-r--r--net-misc/networkmanager/files/musl-has-not-secure-gentenv.patch25
-rw-r--r--net-misc/networkmanager/files/musl-network-support.patch54
-rw-r--r--net-misc/networkmanager/files/musl-process-util.patch54
-rw-r--r--net-misc/networkmanager/metadata.xml14
-rw-r--r--net-misc/networkmanager/networkmanager-1.16.0.ebuild (renamed from net-misc/networkmanager/networkmanager-1.10.10.ebuild)54
10 files changed, 285 insertions, 102 deletions
diff --git a/net-misc/networkmanager/Manifest b/net-misc/networkmanager/Manifest
index d3cadc79..9f1ff8f1 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 00000000..a4478144
--- /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 <anarchy@gentoo.org>
+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 533ed984..e26ad4a9 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 5df320b4..00000000
--- 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 00000000..9c1e2409
--- /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 00000000..38eec9c8
--- /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 73c19306..feca98dd 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 00000000..0b67a784
--- /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 c2122068..3345447e 100644
--- a/net-misc/networkmanager/metadata.xml
+++ b/net-misc/networkmanager/metadata.xml
@@ -5,10 +5,6 @@
<email>gnome@gentoo.org</email>
<name>Gentoo GNOME Desktop</name>
</maintainer>
- <maintainer type="person">
- <email>floppym@gentoo.org</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
index af4b2c46..f728034d 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
}