diff options
author | Jory Pratt <anarchy@gentoo.org> | 2019-03-28 16:44:41 -0500 |
---|---|---|
committer | Jory Pratt <anarchy@gentoo.org> | 2019-03-28 16:44:41 -0500 |
commit | fa1cd38886c338a8c013185fd1d9f517a55df4a8 (patch) | |
tree | d19c0cc8d17ea7b67a2a07c079d22d8ba253394c | |
parent | media-libs/mesa: Version bump to 19.0.1 for ~arch users (diff) | |
download | musl-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/Manifest | 2 | ||||
-rw-r--r-- | net-misc/networkmanager/files/fix-busted-configure.patch | 25 | ||||
-rw-r--r-- | net-misc/networkmanager/files/musl-basic.patch | 74 | ||||
-rw-r--r-- | net-misc/networkmanager/files/musl-dlopen-configure-ac.patch | 11 | ||||
-rw-r--r-- | net-misc/networkmanager/files/musl-fix-includes.patch | 74 | ||||
-rw-r--r-- | net-misc/networkmanager/files/musl-has-not-secure-gentenv.patch | 25 | ||||
-rw-r--r-- | net-misc/networkmanager/files/musl-network-support.patch | 54 | ||||
-rw-r--r-- | net-misc/networkmanager/files/musl-process-util.patch | 54 | ||||
-rw-r--r-- | net-misc/networkmanager/metadata.xml | 14 | ||||
-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 } |