public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/musl:master commit in: net-misc/networkmanager/, net-misc/networkmanager/files/
@ 2017-08-25 12:36 Jory Pratt
  0 siblings, 0 replies; 7+ messages in thread
From: Jory Pratt @ 2017-08-25 12:36 UTC (permalink / raw
  To: gentoo-commits

commit:     18ce84572fcf18fe9841d9536582d47aa78d772c
Author:     Jory A. Pratt <anarchy <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 25 12:35:40 2017 +0000
Commit:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
CommitDate: Fri Aug 25 12:35:40 2017 +0000
URL:        https://gitweb.gentoo.org/proj/musl.git/commit/?id=18ce8457

net-misc/networkmanager - musl support is here

 net-misc/networkmanager/Manifest                   |   8 +
 .../files/0001-Support-musl-libc.patch             | 108 +++++++
 ...top.NetworkManager.settings.modify.system.rules |   7 +
 net-misc/networkmanager/files/10-openrc-status-r4  |  35 +++
 .../networkmanager/files/conf.d.NetworkManager     |   4 +
 .../networkmanager/files/init.d.NetworkManager-r1  |  58 ++++
 net-misc/networkmanager/metadata.xml               |  38 +++
 .../networkmanager/networkmanager-1.8.2.ebuild     | 331 +++++++++++++++++++++
 8 files changed, 589 insertions(+)

diff --git a/net-misc/networkmanager/Manifest b/net-misc/networkmanager/Manifest
new file mode 100644
index 0000000..5a57c26
--- /dev/null
+++ b/net-misc/networkmanager/Manifest
@@ -0,0 +1,8 @@
+AUX 0001-Support-musl-libc.patch 3238 SHA256 8b01890c7bd0267106c8c55f1e900f43a59704707441f9a4e407eb00dd4134a2 SHA512 557464b1f7a0ec729d7a9b604ccc7671881db25bc683a6a68a535b9f076a80408be913e8d5890e4fba7c72df4b6c60aeca424d3df184d2a1d7ceb3ac314b6b6c WHIRLPOOL 755f01472816ed5c5009a7614b31f835c78190eadc6e8add27f576c9b373578cc014454e368824154d2f5234480dd153177562a42693759fe3bb1839093c9cb0
+AUX 01-org.freedesktop.NetworkManager.settings.modify.system.rules 265 SHA256 702e1e702ec633608fd75dfd44f66437896421c9d2d7fe9966df8e4ef1d93a6c SHA512 22dfa5b071891ba16b9a8b90a1964d56e370cb640d78191934ae802e568f92c299b9d4d965f7081fb36a8c09378bfb0b33193b2332cbdc28c6799b152128c214 WHIRLPOOL b89a4069cc973cf55001a5f0028c75a90ce4ea070c4424b5a22f3e9b8e61ee34ff7b06891eb1c6f8fa24735b3e5d98e61f0bfefca7dd12eeb615b83e72225c8b
+AUX 10-openrc-status-r4 1182 SHA256 f8ed424818b866a0bf882c569f4484e8b1485ce7ac8c472f060fd877f2dcfe65 SHA512 b1f0cd7eaeb13af9ab1ce192fd3f47e52d505c4ad5a0888af1ad2598701a034231c03f5346441f44443daca84f2089cb68e08c2876396be0e668c484c3d331ec WHIRLPOOL c71c923c293730894a660c8db3371fee2697666388f49947ecc2508b18a0a0d16a72643f34e8a1dadb559743ea1b56a34d3abfd95bced85dc0d753a33d661fb8
+AUX conf.d.NetworkManager 230 SHA256 4594573f01fe5e04b6dde4525796acf909158591bdcefd662ec23fe0d1c3e1bd SHA512 f8c9331834cbc66ab0e4e6f4a120fde6a08a435d680a1e1087718fdbb2b9843a313e7ec30b7008822999dafd98e152aa7d2a96f87320ba9c91c3adb63e0b7c9a WHIRLPOOL 7dbb15bf184e918369187605af91816ed11c460147066ede11f200d73103bb6f7f63ccc7abe7996d485294f44282d6bbd9520cc9e50f04ce41262c9817f7b994
+AUX init.d.NetworkManager-r1 1822 SHA256 861445d46e8863dca26a91018da3dd9fee6a64467a93e7512774dfd88914539d SHA512 a8356480592ec5e818b390b83cb258248d64850748e9e485bed68befabf067219d02fda137ee63684e0cd2c0e4f5fca30f94f8db71f811149183ff4715159658 WHIRLPOOL f028c78b1afc1cacb835bb61971910bde1ee6596578e5d7a3d88228a449528be0804fdca4b745894c4d8058980f48b93d976a922ce46727a0492680c085fa8cc
+DIST NetworkManager-1.8.2.tar.xz 3818844 SHA256 71a5efcd9e4c237ab57b2893ccc8f91f884ace3bec0e2bd4b31a4c9677ff1bf4 SHA512 7bebea66d8f494c052313224e9d5b1b4cf665482f07ee5d93defc3543f32296545a2d1097ab1fff27dbebb58e07a4bc47fbc0101163db92953ae66ac9b95524d WHIRLPOOL 5928c3d4c1a35dc9485c303f3ce7e7b33c3949a058bd566f8b779d5d6dfa11ee8fc365e1a7954a214cabea70f2239b0f6e2079a67616f5487abbd1d6053260a3
+EBUILD networkmanager-1.8.2.ebuild 10840 SHA256 f044225597401df61d208349d2ece7d12cc9beef87020b6403d69b7ace3a34ba SHA512 1e0c75dbf2399a21089e91a9a054dd45b9a3ed859688923a67147af9c74bd67a1634252ba1fe2cb0f6e7b3b297beb30a08a3a3797a76ea027deaa3a4af0a6f83 WHIRLPOOL 3066e395c1c3969c8c4d2f1c68ab3e34dce3b216af3fb29ec0e4777c9e53f58198b4cdaf7e6844d5460577895f21c3a41499632419f559e260a62f148ba517af
+MISC metadata.xml 1771 SHA256 ee2f0f65eaf3effc914d94105b1b44113cccd50ef09de57d6f37319406ed0a9f SHA512 4a61288c3e91ab8eb040053c706fe147e53fd1e9000b9597dc5b2f0920e08efd0e896f308e32758b4af6371b8fb9737f495355d0a9e2e95a9fd883bd10a8c535 WHIRLPOOL 2c91ccec729d06338d05ec4f3641607b4ac29e1228f9407964426db94c44b21d0fc473413395c9356e486b5c680cdd27a2468bf75ce164923aa874df83e9e1da

diff --git a/net-misc/networkmanager/files/0001-Support-musl-libc.patch b/net-misc/networkmanager/files/0001-Support-musl-libc.patch
new file mode 100644
index 0000000..14206d3
--- /dev/null
+++ b/net-misc/networkmanager/files/0001-Support-musl-libc.patch
@@ -0,0 +1,108 @@
+From 7c7a97f8a4cc9a3efba630dc31ca9c35592bb1b9 Mon Sep 17 00:00:00 2001
+From: "Jory A. Pratt" <anarchy@gentoo.org>
+Date: Tue, 23 May 2017 14:15:43 -0500
+Subject: [PATCH] Support musl libc
+
+Signed-off-by: Jory A. Pratt <anarchy@gentoo.org>
+---
+ configure.ac                        | 1 +
+ libnm-core/nm-utils.h               | 4 ++++
+ src/platform/wifi/wifi-utils.h      | 4 ++++
+ src/systemd/src/basic/socket-util.h | 5 +++++
+ src/systemd/src/basic/stdio-util.h  | 2 ++
+ src/systemd/src/basic/util.h        | 5 +++++
+ 6 files changed, 21 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 6f190c0..ddc25f0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -278,6 +278,7 @@ dnl
+ 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/libnm-core/nm-utils.h b/libnm-core/nm-utils.h
+index 77fe18a..dcc776f 100644
+--- a/libnm-core/nm-utils.h
++++ b/libnm-core/nm-utils.h
+@@ -30,7 +30,11 @@
+ #include <netinet/in.h>
+ 
+ /* For ETH_ALEN and INFINIBAND_ALEN */
++#if defined(__GLIBC__)
+ #include <linux/if_ether.h>
++#else
++#define ETH_ALEN	6		/* Octets in one ethernet addr	 */
++#endif
+ #include <linux/if_infiniband.h>
+ 
+ #include "nm-core-enum-types.h"
+diff --git a/src/platform/wifi/wifi-utils.h b/src/platform/wifi/wifi-utils.h
+index 705717b..da3edc4 100644
+--- a/src/platform/wifi/wifi-utils.h
++++ b/src/platform/wifi/wifi-utils.h
+@@ -22,7 +22,11 @@
+ #ifndef __WIFI_UTILS_H__
+ #define __WIFI_UTILS_H__
+ 
++#if defined(__GLIBC__)
+ #include <net/ethernet.h>
++#else /* musl libc */
++#define ETH_ALEN	6		/* Octets in one ethernet addr	 */
++#endif
+ 
+ #include "nm-dbus-interface.h"
+ 
+diff --git a/src/systemd/src/basic/socket-util.h b/src/systemd/src/basic/socket-util.h
+index 19a9ddb..337b20e 100644
+--- 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 "missing.h"
+diff --git a/src/systemd/src/basic/stdio-util.h b/src/systemd/src/basic/stdio-util.h
+index bd1144b..9eafacb 100644
+--- 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/>.
+ ***/
+ 
++#if defined(__GLIBC__)
+ #include <printf.h>
++#endif
+ #include <stdarg.h>
+ #include <stdio.h>
+ #include <sys/types.h>
+diff --git a/src/systemd/src/basic/util.h b/src/systemd/src/basic/util.h
+index c7da6c3..d19e1b2 100644
+--- a/src/systemd/src/basic/util.h
++++ b/src/systemd/src/basic/util.h
+@@ -46,6 +46,11 @@
+ #include "missing.h"
+ #include "time-util.h"
+ 
++#if !defined(__GLIBC__)
++typedef int (*__compar_fn_t) (const void*, const void*);
++typedef __compar_fn_t comparison_fn_t;
++#endif
++
+ size_t page_size(void) _pure_;
+ #define PAGE_ALIGN(l) ALIGN_TO((l), page_size())
+ 
+-- 
+2.13.0
+

diff --git a/net-misc/networkmanager/files/01-org.freedesktop.NetworkManager.settings.modify.system.rules b/net-misc/networkmanager/files/01-org.freedesktop.NetworkManager.settings.modify.system.rules
new file mode 100644
index 0000000..d00b268
--- /dev/null
+++ b/net-misc/networkmanager/files/01-org.freedesktop.NetworkManager.settings.modify.system.rules
@@ -0,0 +1,7 @@
+// Let users in plugdev group modify NetworkManager
+polkit.addRule(function(action, subject) {
+    if (action.id == "org.freedesktop.NetworkManager.settings.modify.system" &&
+        subject.isInGroup("plugdev") && subject.active) {
+        return "yes";
+    }
+});

diff --git a/net-misc/networkmanager/files/10-openrc-status-r4 b/net-misc/networkmanager/files/10-openrc-status-r4
new file mode 100644
index 0000000..e195ccc
--- /dev/null
+++ b/net-misc/networkmanager/files/10-openrc-status-r4
@@ -0,0 +1,35 @@
+#!/bin/sh
+# Copyright (c) 2012 Alexandre Rostovtsev
+# Released under the 2-clause BSD license.
+
+# Ensures that the NetworkManager OpenRC service is marked as started and
+# providing net only when it has a successful connection.
+
+if [ ! -e "/run/openrc/softlevel" ]; then
+	# OpenRC is not running
+	exit 0
+fi
+
+# Ensure rc-service is in PATH
+PATH="${PATH}:@EPREFIX@/sbin:@EPREFIX@/usr/sbin"
+
+# Exit if the NetworkManager OpenRC service is not running
+rc-service NetworkManager status 2>&1 | grep -Eq "status: (starting|started|inactive|stopping)" || exit 0
+
+# Call rc-service in background mode so that the start/stop functions update
+# NetworkManager service status to started or inactive instead of actually
+# starting or stopping the daemon
+export IN_BACKGROUND=YES
+
+case "$2" in
+	up) nm-online -t 0 -x &&
+		! rc-service NetworkManager status 2>&1 | grep -q started &&
+		exec rc-service NetworkManager start ;;
+	down) nm-online -t 0 -x ||
+		rc-service NetworkManager status 2>&1 | grep -q stopped ||
+		exec rc-service NetworkManager stop ;;
+	pre-sleep) rc-service NetworkManager status 2>&1 | grep -q stopped ||
+		exec rc-service NetworkManager stop ;;
+esac
+exit 0
+# vim: set ts=4:

diff --git a/net-misc/networkmanager/files/conf.d.NetworkManager b/net-misc/networkmanager/files/conf.d.NetworkManager
new file mode 100644
index 0000000..4a99229
--- /dev/null
+++ b/net-misc/networkmanager/files/conf.d.NetworkManager
@@ -0,0 +1,4 @@
+# If NetworkManager does not establish a connection within $INACTIVE_TIMEOUT
+# seconds after starting, the service will be marked as inactive, and it will
+# continue to wait for a connection in background mode.
+INACTIVE_TIMEOUT=1

diff --git a/net-misc/networkmanager/files/init.d.NetworkManager-r1 b/net-misc/networkmanager/files/init.d.NetworkManager-r1
new file mode 100644
index 0000000..3209644
--- /dev/null
+++ b/net-misc/networkmanager/files/init.d.NetworkManager-r1
@@ -0,0 +1,58 @@
+#!/sbin/openrc-run
+# Copyright (c) 2008 Saleem Abdulrasool <compnerd@compnerd.org>
+# Copyright 2013-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="NetworkManager daemon. The service is marked as started only \
+when a network connection is established."
+
+depend() {
+	need dbus
+	use consolekit
+	provide net
+}
+
+start() {
+	# If we are re-called by a dispatcher event, we want to mark the service
+	# as started without starting the daemon again
+	yesno "${IN_BACKGROUND}" && return 0
+
+	[ -z "${INACTIVE_TIMEOUT}" ] && INACTIVE_TIMEOUT="1"
+
+	ebegin "Starting NetworkManager"
+	start-stop-daemon --start --quiet --pidfile /run/NetworkManager/NetworkManager.pid \
+		--exec /usr/sbin/NetworkManager -- --pid-file /run/NetworkManager/NetworkManager.pid
+	local _retval=$?
+	eend "${_retval}"
+	if [ "x${_retval}" = 'x0' ] && ! nm-online -t "${INACTIVE_TIMEOUT}"; then
+		einfo "Marking NetworkManager as inactive. It will automatically be marked"
+		einfo "as started after a network connection has been established."
+		mark_service_inactive
+	fi
+	return "${_retval}"
+}
+
+stop() {
+	# If we are re-called by a dispatcher event, we want to mark the service
+	# as inactive without stopping the daemon
+	if yesno "${IN_BACKGROUND}"; then
+		mark_service_inactive "${SVCNAME}"
+		return 0
+	fi
+
+	ebegin "Stopping NetworkManager"
+	local pidfile=/run/NetworkManager/NetworkManager.pid
+	if [ ! -e "${pidfile}" ] && [ -e /var/run/NetworkManager.pid ]; then 
+		# Try stopping the pid file used by <0.9.7
+		pidfile=/var/run/NetworkManager.pid
+		start-stop-daemon --stop --quiet --pidfile "${pidfile}"
+		ret=$?
+		[ ${ret} = 0 ] && [ -e "${pidfile}" ] && rm "${pidfile}"
+		eend ${ret}
+	else
+		start-stop-daemon --stop --quiet --pidfile "${pidfile}"
+		eend $?
+	fi
+}
+
+# vim: set ft=gentoo-init-d ts=4 :

diff --git a/net-misc/networkmanager/metadata.xml b/net-misc/networkmanager/metadata.xml
new file mode 100644
index 0000000..8d695c7
--- /dev/null
+++ b/net-misc/networkmanager/metadata.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="project">
+		<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>
+		<flag name="consolekit">Use <pkg>sys-auth/consolekit</pkg> for session
+			tracking</flag>
+		<flag name="dhclient">Use dhclient from <pkg>net-misc/dhcp</pkg> for
+			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="json">Enable JSON validation via <pkg>dev-libs/jansson</pkg>
+			in libnm.</flag>
+		<flag name="modemmanager">Enable support for mobile broadband devices
+			using <pkg>net-misc/modemmanager</pkg></flag>
+		<flag name="nss">Use <pkg>dev-libs/nss</pkg> for cryptography</flag>
+		<flag name="ofono">Use <pkg>net-misc/ofono</pkg> for telephony support.</flag>
+		<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>
+		<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="wext">Enable support for the deprecated Wext (Wireless
+			Extensions) API; needed for some older drivers (e.g. ipw2200,
+			ndiswrapper)</flag>
+	</use>
+</pkgmetadata>

diff --git a/net-misc/networkmanager/networkmanager-1.8.2.ebuild b/net-misc/networkmanager/networkmanager-1.8.2.ebuild
new file mode 100644
index 0000000..bc3adeb
--- /dev/null
+++ b/net-misc/networkmanager/networkmanager-1.8.2.ebuild
@@ -0,0 +1,331 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+GNOME_ORG_MODULE="NetworkManager"
+GNOME2_LA_PUNT="yes"
+GNOME2_EAUTORECONF="yes"
+VALA_USE_DEPEND="vapigen"
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+
+inherit 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
+
+DESCRIPTION="A set of co-operative tools that make networking simple and straightforward"
+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 elibc_musl elogind gnutls +introspection
+ json kernel_linux +nss +modemmanager ncurses ofono policykit +ppp resolvconf selinux systemd teamd test vala +wext +wifi"
+
+REQUIRED_USE="
+	modemmanager? ( ppp )
+	vala? ( introspection )
+	wext? ( wifi )
+	^^ ( nss gnutls )
+	?? ( consolekit elogind systemd )
+"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+
+# gobject-introspection-0.10.3 is needed due to gnome bug 642300
+# wpa_supplicant-0.7.3-r3 is needed due to bug 359271
+# TODO: need multilib janson (linked to libnm.so)
+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}]
+	policykit? ( >=sys-auth/polkit-0.106 )
+	net-libs/libndp[${MULTILIB_USEDEP}]
+	net-misc/curl
+	net-misc/iputils
+	sys-apps/util-linux[${MULTILIB_USEDEP}]
+	sys-libs/readline:0=
+	>=virtual/libudev-175:=[${MULTILIB_USEDEP}]
+	audit? ( sys-process/audit )
+	bluetooth? ( >=net-wireless/bluez-5 )
+	connection-sharing? (
+		net-dns/dnsmasq[dbus,dhcp]
+		net-firewall/iptables )
+	consolekit? ( >=sys-auth/consolekit-1.0.0 )
+	dhclient? ( >=net-misc/dhcp-4[client] )
+	dhcpcd? ( net-misc/dhcpcd )
+	elogind? ( sys-auth/elogind )
+	gnutls? (
+		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 )
+	modemmanager? ( >=net-misc/modemmanager-0.7.991:0= )
+	ncurses? ( >=dev-libs/newt-0.52.15 )
+	nss? ( >=dev-libs/nss-3.11:=[${MULTILIB_USEDEP}] )
+	ofono? ( net-misc/ofono )
+	ppp? ( >=net-dialup/ppp-2.4.5:=[ipv6] )
+	resolvconf? ( net-dns/openresolv )
+	selinux? ( sys-libs/libselinux )
+	systemd? ( >=sys-apps/systemd-209:0= )
+	teamd? (
+		dev-libs/jansson
+		>=net-misc/libteam-1.9
+	)
+"
+RDEPEND="${COMMON_DEPEND}
+	|| (
+		net-misc/iputils[arping(+)]
+		net-analyzer/arping
+	)
+	wifi? ( >=net-wireless/wpa_supplicant-0.7.3-r3[dbus] )
+"
+DEPEND="${COMMON_DEPEND}
+	dev-util/gdbus-codegen
+	dev-util/gtk-doc-am
+	>=dev-util/intltool-0.40
+	>=sys-devel/gettext-0.17
+	>=sys-kernel/linux-headers-2.6.29
+	virtual/pkgconfig[${MULTILIB_USEDEP}]
+	introspection? (
+		$(python_gen_any_dep 'dev-python/pygobject:3[${PYTHON_USEDEP}]')
+		dev-lang/perl
+		dev-libs/libxslt
+	)
+	vala? ( $(vala_depend) )
+	test? (
+		$(python_gen_any_dep '
+			dev-python/dbus-python[${PYTHON_USEDEP}]
+			dev-python/pygobject:3[${PYTHON_USEDEP}]')
+	)
+"
+
+PATCHES=(
+	"${FILESDIR}"/0001-Support-musl-libc.patch
+)
+
+python_check_deps() {
+	if use introspection; then
+		has_version "dev-python/pygobject:3[${PYTHON_USEDEP}]" || return
+	fi
+	if use test; then
+		has_version "dev-python/dbus-python[${PYTHON_USEDEP}]" &&
+		has_version "dev-python/pygobject:3[${PYTHON_USEDEP}]"
+	fi
+}
+
+sysfs_deprecated_check() {
+	ebegin "Checking for SYSFS_DEPRECATED support"
+
+	if { linux_chkconfig_present SYSFS_DEPRECATED_V2; }; then
+		eerror "Please disable SYSFS_DEPRECATED_V2 support in your kernel config and recompile your kernel"
+		eerror "or NetworkManager will not work correctly."
+		eerror "See https://bugs.gentoo.org/333639 for more info."
+		die "CONFIG_SYSFS_DEPRECATED_V2 support detected!"
+	fi
+	eend $?
+}
+
+pkg_pretend() {
+	if use kernel_linux; then
+		get_version
+		if linux_config_exists; then
+			sysfs_deprecated_check
+		else
+			ewarn "Was unable to determine your kernel .config"
+			ewarn "Please note that if CONFIG_SYSFS_DEPRECATED_V2 is set in your kernel .config, NetworkManager will not work correctly."
+			ewarn "See https://bugs.gentoo.org/333639 for more info."
+		fi
+
+	fi
+}
+
+pkg_setup() {
+	if use connection-sharing; then
+		CONFIG_CHECK="~NF_NAT_IPV4 ~NF_NAT_MASQUERADE_IPV4"
+		linux-info_pkg_setup
+	fi
+	enewgroup plugdev
+	if use introspection || use test; then
+		python-any-r1_pkg_setup
+	fi
+}
+
+src_prepare() {
+	DOC_CONTENTS="To modify system network connections without needing to enter the
+		root password, add your user account to the 'plugdev' group."
+
+	use vala && vala_src_prepare
+	gnome2_src_prepare
+}
+
+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
+		--with-libnm-glib
+		--with-nmcli=yes
+		--with-udev-dir="$(get_udevdir)"
+		--with-config-plugins-default=keyfile
+		--with-iptables=/sbin/iptables
+		$(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)))
+		--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)
+		$(use_with dhclient)
+		$(use_with dhcpcd)
+		$(multilib_native_use_enable introspection)
+		$(multilib_native_use_enable json json-validation)
+		$(multilib_native_use_enable ppp)
+		--without-libpsl
+		$(multilib_native_use_with modemmanager modem-manager-1)
+		$(multilib_native_use_with ncurses nmtui)
+		$(multilib_native_use_with ofono)
+		$(multilib_native_use_with resolvconf)
+		$(multilib_native_use_with selinux)
+		$(multilib_native_use_with systemd systemd-journal)
+		$(multilib_native_use_enable teamd teamdctl)
+		$(multilib_native_use_enable test tests)
+		$(multilib_native_use_enable vala)
+		--without-valgrind
+		$(multilib_native_use_with wext)
+		$(multilib_native_use_enable wifi)
+	)
+
+	if multilib_is_native_abi && use policykit; then
+		myconf+=( --enable-polkit=yes )
+	else
+		myconf+=( --enable-polkit=disabled )
+	fi
+
+	# Same hack as net-dialup/pptpd to get proper plugin dir for ppp, bug #519986
+	if use ppp; then
+		local PPPD_VER=`best_version net-dialup/ppp`
+		PPPD_VER=${PPPD_VER#*/*-} #reduce it to ${PV}-${PR}
+		PPPD_VER=${PPPD_VER%%[_-]*} # main version without beta/pre/patch/revision
+		myconf+=( --with-pppd-plugin-dir=/usr/$(get_libdir)/pppd/${PPPD_VER} )
+	fi
+
+	# unit files directory needs to be passed only when systemd is enabled,
+	# otherwise systemd support is not disabled completely, bug #524534
+	use systemd && myconf+=( --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" )
+
+	if multilib_is_native_abi; then
+		# work-around man out-of-source brokenness, must be done before configure
+		ln -s "${S}/docs" docs || die
+		ln -s "${S}/man" man || die
+	fi
+
+	ECONF_SOURCE=${S} runstatedir="/run" gnome2_src_configure "${myconf[@]}"
+}
+
+multilib_src_compile() {
+	if multilib_is_native_abi; then
+		emake
+	else
+		local targets=(
+			libnm/libnm.la
+			libnm-util/libnm-util.la
+			libnm-glib/libnm-glib.la
+			libnm-glib/libnm-glib-vpn.la
+		)
+		emake "${targets[@]}"
+	fi
+}
+
+multilib_src_test() {
+	if use test && multilib_is_native_abi; then
+		python_setup
+		virtx emake check
+	fi
+}
+
+multilib_src_install() {
+	if multilib_is_native_abi; then
+		# Install completions at proper place, bug #465100
+		gnome2_src_install completiondir="$(get_bashcompdir)"
+	else
+		local targets=(
+			install-libLTLIBRARIES
+			install-libdeprecatedHEADERS
+			install-libnm_glib_libnmvpnHEADERS
+			install-libnm_glib_libnmincludeHEADERS
+			install-libnm_util_libnm_util_includeHEADERS
+			install-libnmincludeHEADERS
+			install-nodist_libnm_glib_libnmincludeHEADERS
+			install-nodist_libnm_glib_libnmvpnHEADERS
+			install-nodist_libnm_util_libnm_util_includeHEADERS
+			install-nodist_libnmincludeHEADERS
+			install-pkgconfigDATA
+		)
+		emake DESTDIR="${D}" "${targets[@]}"
+	fi
+}
+
+multilib_src_install_all() {
+	! use systemd && readme.gentoo_create_doc
+
+	newinitd "${FILESDIR}/init.d.NetworkManager-r1" NetworkManager
+	newconfd "${FILESDIR}/conf.d.NetworkManager" NetworkManager
+
+	# Need to keep the /etc/NetworkManager/dispatched.d for dispatcher scripts
+	keepdir /etc/NetworkManager/dispatcher.d
+
+	# Provide openrc net dependency only when nm is connected
+	exeinto /etc/NetworkManager/dispatcher.d
+	newexe "${FILESDIR}/10-openrc-status-r4" 10-openrc-status
+	sed -e "s:@EPREFIX@:${EPREFIX}:g" \
+		-i "${ED}/etc/NetworkManager/dispatcher.d/10-openrc-status" || die
+
+	keepdir /etc/NetworkManager/system-connections
+	chmod 0600 "${ED}"/etc/NetworkManager/system-connections/.keep* # bug #383765, upstream bug #754594
+
+	# Allow users in plugdev group to modify system connections
+	insinto /usr/share/polkit-1/rules.d/
+	doins "${FILESDIR}/01-org.freedesktop.NetworkManager.settings.modify.system.rules"
+}
+
+pkg_postinst() {
+	gnome2_pkg_postinst
+	! use systemd && readme.gentoo_print_elog
+
+	if [[ -e "${EROOT}etc/NetworkManager/nm-system-settings.conf" ]]; then
+		ewarn "The ${PN} system configuration file has moved to a new location."
+		ewarn "You must migrate your settings from ${EROOT}/etc/NetworkManager/nm-system-settings.conf"
+		ewarn "to ${EROOT}etc/NetworkManager/NetworkManager.conf"
+		ewarn
+		ewarn "After doing so, you can remove ${EROOT}etc/NetworkManager/nm-system-settings.conf"
+	fi
+
+	# NM fallbacks to plugin specified at compile time (upstream bug #738611)
+	# but still show a warning to remember people to have cleaner config file
+	if [[ -e "${EROOT}etc/NetworkManager/NetworkManager.conf" ]]; then
+		if grep plugins "${EROOT}etc/NetworkManager/NetworkManager.conf" | grep -q ifnet; then
+			ewarn
+			ewarn "You seem to use 'ifnet' plugin in ${EROOT}etc/NetworkManager/NetworkManager.conf"
+			ewarn "Since it won't be used, you will need to stop setting ifnet plugin there."
+			ewarn
+		fi
+	fi
+
+	# NM shows lots of errors making nmcli neither unusable, bug #528748 upstream bug #690457
+	if grep -r "psk-flags=1" "${EROOT}"/etc/NetworkManager/; then
+		ewarn "You have psk-flags=1 setting in above files, you will need to"
+		ewarn "either reconfigure affected networks or, at least, set the flag"
+		ewarn "value to '0'."
+	fi
+}


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] proj/musl:master commit in: net-misc/networkmanager/, net-misc/networkmanager/files/
@ 2019-03-28 21:45 Jory Pratt
  0 siblings, 0 replies; 7+ messages in thread
From: Jory Pratt @ 2019-03-28 21:45 UTC (permalink / raw
  To: gentoo-commits

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 <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 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>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
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
 }


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] proj/musl:master commit in: net-misc/networkmanager/, net-misc/networkmanager/files/
@ 2020-04-27 18:53 Jory Pratt
  0 siblings, 0 replies; 7+ messages in thread
From: Jory Pratt @ 2020-04-27 18:53 UTC (permalink / raw
  To: gentoo-commits

commit:     7090fcd34877abca9b315684c949fbde160fabc8
Author:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 27 18:53:33 2020 +0000
Commit:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
CommitDate: Mon Apr 27 18:53:47 2020 +0000
URL:        https://gitweb.gentoo.org/proj/musl.git/commit/?id=7090fcd3

net-misc/networkmanager: Bump for latest stable

Package-Manager: Portage-2.3.89, Repoman-2.3.20
Signed-off-by: Jory Pratt <anarchy <AT> gentoo.org>

 net-misc/networkmanager/Manifest                   |  2 +-
 ...top.NetworkManager.settings.modify.system.rules |  7 --
 .../networkmanager/files/1.18.4-iwd1-compat.patch  | 81 ++++++++++++++++++++++
 net-misc/networkmanager/files/10-openrc-status-r4  | 35 ----------
 .../networkmanager/files/conf.d.NetworkManager     |  4 --
 .../files/fix-busted-configure.patch               | 25 -------
 .../networkmanager/files/init.d.NetworkManager-r1  | 58 ----------------
 net-misc/networkmanager/files/musl-basic.patch     | 48 ++++++-------
 .../networkmanager/files/musl-fix-includes.patch   | 32 ++++-----
 .../files/musl-has-not-secure-gentenv.patch        | 25 -------
 .../files/musl-network-support.patch               | 12 ++--
 .../networkmanager/files/musl-process-util.patch   | 14 ++--
 ...ager-data-fix-the-ID_NET_DRIVER-udev-rule.patch | 33 +++++++++
 ...16.2.ebuild => networkmanager-1.18.4-r3.ebuild} | 50 ++++++-------
 14 files changed, 194 insertions(+), 232 deletions(-)

diff --git a/net-misc/networkmanager/Manifest b/net-misc/networkmanager/Manifest
index 8d8275c..28743c1 100644
--- a/net-misc/networkmanager/Manifest
+++ b/net-misc/networkmanager/Manifest
@@ -1 +1 @@
-DIST NetworkManager-1.16.2.tar.xz 4820392 BLAKE2B f85fa4ff27cb2f0fc7d58052c810d4c20ca51d6e77e400c44270f941de6b4878b0c645053b9ffb02c3587b6c7b17631f9a6c6c15b630da4747051e1745d1dae8 SHA512 b3e874786d0bce58b967677fe82980aac58023fd4e913345acb63d7a7f253cd8fa6c044e788dd337a52f0fb026ce5fbd333d738dc9c3644d696e85498120f6d2
+DIST NetworkManager-1.18.4.tar.xz 4875196 BLAKE2B 9c58d6d7317562332dfa9639f8e236a0a7f6b58e7dad5af83916b1c6178899a6bcf12bc289fb401d84fd6420306364b4c4c0a25eda2a08eef812acde1862a18a SHA512 9fd22775a400ee8d20c75ebddfee842bfbd8780966444dd537e371a65918f41640e921d2c441853afe8f72d693e9b4c1415435136a07004666a6af4799fd3350

diff --git a/net-misc/networkmanager/files/01-org.freedesktop.NetworkManager.settings.modify.system.rules b/net-misc/networkmanager/files/01-org.freedesktop.NetworkManager.settings.modify.system.rules
deleted file mode 100644
index d00b268..0000000
--- a/net-misc/networkmanager/files/01-org.freedesktop.NetworkManager.settings.modify.system.rules
+++ /dev/null
@@ -1,7 +0,0 @@
-// Let users in plugdev group modify NetworkManager
-polkit.addRule(function(action, subject) {
-    if (action.id == "org.freedesktop.NetworkManager.settings.modify.system" &&
-        subject.isInGroup("plugdev") && subject.active) {
-        return "yes";
-    }
-});

diff --git a/net-misc/networkmanager/files/1.18.4-iwd1-compat.patch b/net-misc/networkmanager/files/1.18.4-iwd1-compat.patch
new file mode 100644
index 0000000..12c8b87
--- /dev/null
+++ b/net-misc/networkmanager/files/1.18.4-iwd1-compat.patch
@@ -0,0 +1,81 @@
+From 59923ad85d1a1cf2216a4f14649702d24d3f2360 Mon Sep 17 00:00:00 2001
+From: Lubomir Rintel <lkundrak@v3.sk>
+Date: Sat, 2 Nov 2019 06:55:54 +0100
+Subject: [PATCH 1/2] iwd: add some missing error handling
+
+g_dbus_object_manager_get_interface() can happily return NULL and we
+need to check for that.
+---
+ src/devices/wifi/nm-iwd-manager.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/src/devices/wifi/nm-iwd-manager.c b/src/devices/wifi/nm-iwd-manager.c
+index dd1cad480..e83f8063c 100644
+--- a/src/devices/wifi/nm-iwd-manager.c
++++ b/src/devices/wifi/nm-iwd-manager.c
+@@ -136,6 +136,11 @@ agent_dbus_method_cb (GDBusConnection *connection,
+ 	network = g_dbus_object_manager_get_interface (priv->object_manager,
+ 	                                               network_path,
+ 	                                               NM_IWD_NETWORK_INTERFACE);
++	if (!network) {
++		_LOGE ("unable to find the network object");
++		return;
++	}
++
+ 
+ 	device_path = get_property_string_or_null (G_DBUS_PROXY (network), "Device");
+ 	if (!device_path) {
+@@ -260,6 +265,11 @@ register_agent (NMIwdManager *self)
+ 	                                                     "/",
+ 	                                                     NM_IWD_AGENT_MANAGER_INTERFACE);
+ 
++	if (!agent_manager) {
++		_LOGE ("unable to register the IWD Agent: PSK/8021x Wi-Fi networks may not work");
++		return;
++	}
++
+ 	/* Register our agent */
+ 	g_dbus_proxy_call (G_DBUS_PROXY (agent_manager),
+ 	                   "RegisterAgent",
+-- 
+2.20.1
+
+
+From 186d22a9634e2bf94658ed6f1cf2b332ecb3a32c Mon Sep 17 00:00:00 2001
+From: Lubomir Rintel <lkundrak@v3.sk>
+Date: Sat, 2 Nov 2019 07:01:28 +0100
+Subject: [PATCH 2/2] iwd: unbreak iwd-1.0
+
+The upstream apparently thought it's a great idea to change the agent
+manager path. This fixes things for those unfortunate enough to run
+IWD.
+---
+ src/devices/wifi/nm-iwd-manager.c | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/src/devices/wifi/nm-iwd-manager.c b/src/devices/wifi/nm-iwd-manager.c
+index e83f8063c..470cb1c90 100644
+--- a/src/devices/wifi/nm-iwd-manager.c
++++ b/src/devices/wifi/nm-iwd-manager.c
+@@ -262,9 +262,17 @@ register_agent (NMIwdManager *self)
+ 	GDBusInterface *agent_manager;
+ 
+ 	agent_manager = g_dbus_object_manager_get_interface (priv->object_manager,
+-	                                                     "/",
++	                                                     "/net/connman/iwd",
+ 	                                                     NM_IWD_AGENT_MANAGER_INTERFACE);
+ 
++	if (!agent_manager) {
++		/* IWD prior to 1.0 dated 30 October, 2019 has the agent manager on a
++		 * different path. */
++		agent_manager = g_dbus_object_manager_get_interface (priv->object_manager,
++		                                                     "/",
++		                                                     NM_IWD_AGENT_MANAGER_INTERFACE);
++	}
++
+ 	if (!agent_manager) {
+ 		_LOGE ("unable to register the IWD Agent: PSK/8021x Wi-Fi networks may not work");
+ 		return;
+-- 
+2.20.1
+

diff --git a/net-misc/networkmanager/files/10-openrc-status-r4 b/net-misc/networkmanager/files/10-openrc-status-r4
deleted file mode 100644
index e195ccc..0000000
--- a/net-misc/networkmanager/files/10-openrc-status-r4
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/sh
-# Copyright (c) 2012 Alexandre Rostovtsev
-# Released under the 2-clause BSD license.
-
-# Ensures that the NetworkManager OpenRC service is marked as started and
-# providing net only when it has a successful connection.
-
-if [ ! -e "/run/openrc/softlevel" ]; then
-	# OpenRC is not running
-	exit 0
-fi
-
-# Ensure rc-service is in PATH
-PATH="${PATH}:@EPREFIX@/sbin:@EPREFIX@/usr/sbin"
-
-# Exit if the NetworkManager OpenRC service is not running
-rc-service NetworkManager status 2>&1 | grep -Eq "status: (starting|started|inactive|stopping)" || exit 0
-
-# Call rc-service in background mode so that the start/stop functions update
-# NetworkManager service status to started or inactive instead of actually
-# starting or stopping the daemon
-export IN_BACKGROUND=YES
-
-case "$2" in
-	up) nm-online -t 0 -x &&
-		! rc-service NetworkManager status 2>&1 | grep -q started &&
-		exec rc-service NetworkManager start ;;
-	down) nm-online -t 0 -x ||
-		rc-service NetworkManager status 2>&1 | grep -q stopped ||
-		exec rc-service NetworkManager stop ;;
-	pre-sleep) rc-service NetworkManager status 2>&1 | grep -q stopped ||
-		exec rc-service NetworkManager stop ;;
-esac
-exit 0
-# vim: set ts=4:

diff --git a/net-misc/networkmanager/files/conf.d.NetworkManager b/net-misc/networkmanager/files/conf.d.NetworkManager
deleted file mode 100644
index 4a99229..0000000
--- a/net-misc/networkmanager/files/conf.d.NetworkManager
+++ /dev/null
@@ -1,4 +0,0 @@
-# If NetworkManager does not establish a connection within $INACTIVE_TIMEOUT
-# seconds after starting, the service will be marked as inactive, and it will
-# continue to wait for a connection in background mode.
-INACTIVE_TIMEOUT=1

diff --git a/net-misc/networkmanager/files/fix-busted-configure.patch b/net-misc/networkmanager/files/fix-busted-configure.patch
deleted file mode 100644
index a447814..0000000
--- a/net-misc/networkmanager/files/fix-busted-configure.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-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/init.d.NetworkManager-r1 b/net-misc/networkmanager/files/init.d.NetworkManager-r1
deleted file mode 100644
index 3209644..0000000
--- a/net-misc/networkmanager/files/init.d.NetworkManager-r1
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/sbin/openrc-run
-# Copyright (c) 2008 Saleem Abdulrasool <compnerd@compnerd.org>
-# Copyright 2013-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-description="NetworkManager daemon. The service is marked as started only \
-when a network connection is established."
-
-depend() {
-	need dbus
-	use consolekit
-	provide net
-}
-
-start() {
-	# If we are re-called by a dispatcher event, we want to mark the service
-	# as started without starting the daemon again
-	yesno "${IN_BACKGROUND}" && return 0
-
-	[ -z "${INACTIVE_TIMEOUT}" ] && INACTIVE_TIMEOUT="1"
-
-	ebegin "Starting NetworkManager"
-	start-stop-daemon --start --quiet --pidfile /run/NetworkManager/NetworkManager.pid \
-		--exec /usr/sbin/NetworkManager -- --pid-file /run/NetworkManager/NetworkManager.pid
-	local _retval=$?
-	eend "${_retval}"
-	if [ "x${_retval}" = 'x0' ] && ! nm-online -t "${INACTIVE_TIMEOUT}"; then
-		einfo "Marking NetworkManager as inactive. It will automatically be marked"
-		einfo "as started after a network connection has been established."
-		mark_service_inactive
-	fi
-	return "${_retval}"
-}
-
-stop() {
-	# If we are re-called by a dispatcher event, we want to mark the service
-	# as inactive without stopping the daemon
-	if yesno "${IN_BACKGROUND}"; then
-		mark_service_inactive "${SVCNAME}"
-		return 0
-	fi
-
-	ebegin "Stopping NetworkManager"
-	local pidfile=/run/NetworkManager/NetworkManager.pid
-	if [ ! -e "${pidfile}" ] && [ -e /var/run/NetworkManager.pid ]; then 
-		# Try stopping the pid file used by <0.9.7
-		pidfile=/var/run/NetworkManager.pid
-		start-stop-daemon --stop --quiet --pidfile "${pidfile}"
-		ret=$?
-		[ ${ret} = 0 ] && [ -e "${pidfile}" ] && rm "${pidfile}"
-		eend ${ret}
-	else
-		start-stop-daemon --stop --quiet --pidfile "${pidfile}"
-		eend $?
-	fi
-}
-
-# vim: set ft=gentoo-init-d ts=4 :

diff --git a/net-misc/networkmanager/files/musl-basic.patch b/net-misc/networkmanager/files/musl-basic.patch
index e26ad4a..8b78354 100644
--- a/net-misc/networkmanager/files/musl-basic.patch
+++ b/net-misc/networkmanager/files/musl-basic.patch
@@ -1,15 +1,32 @@
-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
+From d12f0c518b10a3be0357c9242a2491c0904b51d6 Mon Sep 17 00:00:00 2001
+From: Jory Pratt <anarchy@gentoo.org>
+Date: Mon, 29 Jul 2019 23:24:11 -0500
+Subject: [PATCH 1/5] Usual musl fixes
 
 ---
+ shared/systemd/src/basic/sort-util.h  | 6 ++++++
  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/sort-util.h b/shared/systemd/src/basic/sort-util.h
+index e029f86..e876241 100644
+--- a/shared/systemd/src/basic/sort-util.h
++++ b/shared/systemd/src/basic/sort-util.h
+@@ -5,6 +5,12 @@
+ 
+ #include "macro.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
++
+ void *xbsearch_r(const void *key, const void *base, size_t nmemb, size_t size,
+                  __compar_d_fn_t compar, void *arg);
+ 
 diff --git a/shared/systemd/src/basic/stdio-util.h b/shared/systemd/src/basic/stdio-util.h
-index dc67b6e..6336243 100644
+index c3b9448..e80a938 100644
 --- a/shared/systemd/src/basic/stdio-util.h
 +++ b/shared/systemd/src/basic/stdio-util.h
 @@ -1,7 +1,9 @@
@@ -22,23 +39,6 @@ index dc67b6e..6336243 100644
  #include <stdarg.h>
  #include <stdio.h>
  #include <sys/types.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())
- 
 -- 
-2.21.0
+2.22.0
 

diff --git a/net-misc/networkmanager/files/musl-fix-includes.patch b/net-misc/networkmanager/files/musl-fix-includes.patch
index 9c1e240..9ee2f7f 100644
--- a/net-misc/networkmanager/files/musl-fix-includes.patch
+++ b/net-misc/networkmanager/files/musl-fix-includes.patch
@@ -1,7 +1,7 @@
-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
+From f0d90910d8a8bde7608221b4e34ff12096a4d951 Mon Sep 17 00:00:00 2001
+From: Jory Pratt <anarchy@gentoo.org>
+Date: Mon, 29 Jul 2019 23:25:11 -0500
+Subject: [PATCH 2/5] fix includes for musl
 
 ---
  src/devices/nm-device.c          | 4 ++++
@@ -10,7 +10,7 @@ Subject: [PATCH 2/5] Fix includes for musl users
  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
+index 42e4688..3b9da98 100644
 --- a/src/devices/nm-device.c
 +++ b/src/devices/nm-device.c
 @@ -32,7 +32,11 @@
@@ -26,7 +26,7 @@ index 7514fa7..f041382 100644
  #include <linux/pkt_sched.h>
  
 diff --git a/src/nm-manager.c b/src/nm-manager.c
-index 0bf6a75..e392507 100644
+index 7d77144..dc143ba 100644
 --- a/src/nm-manager.c
 +++ b/src/nm-manager.c
 @@ -26,6 +26,7 @@
@@ -35,10 +35,10 @@ index 0bf6a75..e392507 100644
  #include <unistd.h>
 +#include <asm/types.h>
  
- #include "nm-utils/nm-c-list.h"
+ #include "nm-glib-aux/nm-c-list.h"
  
 diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c
-index 2f5c75b..f086245 100644
+index 7d66a88..b9a7b30 100644
 --- a/src/platform/nm-linux-platform.c
 +++ b/src/platform/nm-linux-platform.c
 @@ -20,6 +20,7 @@
@@ -49,26 +49,26 @@ index 2f5c75b..f086245 100644
  
  #include <arpa/inet.h>
  #include <dlfcn.h>
-@@ -27,7 +28,11 @@
- #include <fcntl.h>
+@@ -28,7 +29,11 @@
  #include <libudev.h>
+ #include <linux/fib_rules.h>
  #include <linux/ip.h>
 +#if defined(__GLIBC__)
  #include <linux/if_arp.h>
 +#else
 +#include <linux/if.h>
 +#endif
+ #include <linux/if_bridge.h>
  #include <linux/if_link.h>
  #include <linux/if_tun.h>
- #include <linux/if_tunnel.h>
-@@ -53,7 +58,6 @@
+@@ -58,7 +63,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"
+ #include "nm-glib-aux/nm-io-utils.h"
+ #include "nm-udev-aux/nm-udev-utils.h"
+ 
 -- 
-2.21.0
+2.22.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
deleted file mode 100644
index 38eec9c..0000000
--- a/net-misc/networkmanager/files/musl-has-not-secure-gentenv.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-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 feca98d..ca242e2 100644
--- a/net-misc/networkmanager/files/musl-network-support.patch
+++ b/net-misc/networkmanager/files/musl-network-support.patch
@@ -1,7 +1,7 @@
-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
+From e5e2e822a6daab4af1710fb8044072dc2327d002 Mon Sep 17 00:00:00 2001
+From: Jory Pratt <anarchy@gentoo.org>
+Date: Mon, 29 Jul 2019 23:26:46 -0500
+Subject: [PATCH 4/5] add network support for musl libc
 
 ---
  libnm-core/nm-utils.h                  | 4 ++++
@@ -26,7 +26,7 @@ index 2b5baba..976850c 100644
  
  #include "nm-core-enum-types.h"
 diff --git a/shared/systemd/src/basic/socket-util.h b/shared/systemd/src/basic/socket-util.h
-index d2246a8..4cb0807 100644
+index 15443f1..b9c3291 100644
 --- a/shared/systemd/src/basic/socket-util.h
 +++ b/shared/systemd/src/basic/socket-util.h
 @@ -12,6 +12,11 @@
@@ -58,5 +58,5 @@ index 36148b5..d282eb2 100644
  #include "nm-dbus-interface.h"
  #include "nm-setting-wireless.h"
 -- 
-2.21.0
+2.22.0
 

diff --git a/net-misc/networkmanager/files/musl-process-util.patch b/net-misc/networkmanager/files/musl-process-util.patch
index 0b67a78..6267019 100644
--- a/net-misc/networkmanager/files/musl-process-util.patch
+++ b/net-misc/networkmanager/files/musl-process-util.patch
@@ -1,6 +1,6 @@
-From 0777360a2d8baa5c297bfa017bfaa1caf111d720 Mon Sep 17 00:00:00 2001
-From: 
-Date: Thu, 28 Mar 2019 11:50:23 -0500
+From 23613c07ff805744aaee22c352b24731ec4b2c69 Mon Sep 17 00:00:00 2001
+From: Jory Pratt <anarchy@gentoo.org>
+Date: Mon, 29 Jul 2019 23:27:58 -0500
 Subject: [PATCH 5/5] musl process util
 
 ---
@@ -8,7 +8,7 @@ Subject: [PATCH 5/5] musl process util
  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
+index 7431be3..f9e6d49 100644
 --- a/shared/systemd/src/basic/process-util.c
 +++ b/shared/systemd/src/basic/process-util.c
 @@ -21,6 +21,9 @@
@@ -21,7 +21,7 @@ index b0afb5c..f72e346 100644
  #if 0 /* NM_IGNORED */
  #if HAVE_VALGRIND_VALGRIND_H
  #include <valgrind/valgrind.h>
-@@ -1168,11 +1171,13 @@ void reset_cached_pid(void) {
+@@ -1183,11 +1186,13 @@ void reset_cached_pid(void) {
          cached_pid = CACHED_PID_UNSET;
  }
  
@@ -35,7 +35,7 @@ index b0afb5c..f72e346 100644
  
  pid_t getpid_cached(void) {
          static bool installed = false;
-@@ -1201,7 +1206,12 @@ pid_t getpid_cached(void) {
+@@ -1216,7 +1221,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. */
  
@@ -50,5 +50,5 @@ index b0afb5c..f72e346 100644
                                  cached_pid = CACHED_PID_UNSET;
                                  return new_pid;
 -- 
-2.21.0
+2.22.0
 

diff --git a/net-misc/networkmanager/files/networkmanager-data-fix-the-ID_NET_DRIVER-udev-rule.patch b/net-misc/networkmanager/files/networkmanager-data-fix-the-ID_NET_DRIVER-udev-rule.patch
new file mode 100644
index 0000000..1b94ab4
--- /dev/null
+++ b/net-misc/networkmanager/files/networkmanager-data-fix-the-ID_NET_DRIVER-udev-rule.patch
@@ -0,0 +1,33 @@
+From 27d380b70ea839c7badab420361e4e65e023e8e9 Mon Sep 17 00:00:00 2001
+From: Lubomir Rintel <lkundrak@v3.sk>
+Date: Fri, 16 Aug 2019 13:22:09 +0200
+Subject: [PATCH] data: fix the ID_NET_DRIVER udev rule
+
+Systemd v243 is complaining about the wrong substitution there. That is
+sort of harmless, because systemd-udevd in that version doesn't need the
+rule anyway. But still fix it, to avoid a warning.
+
+Also, newer udevd's $PATH doesn't include sbin. That is also okay,
+because we don't need the rule to actually work there. But fix it
+anyway.
+
+https://bugzilla.redhat.com/show_bug.cgi?id=1740655
+---
+ data/84-nm-drivers.rules | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/data/84-nm-drivers.rules b/data/84-nm-drivers.rules
+index d246ef6ce..e398cb9f2 100644
+--- a/data/84-nm-drivers.rules
++++ b/data/84-nm-drivers.rules
+@@ -7,6 +7,6 @@ ACTION!="add|change", GOTO="nm_drivers_end"
+ # Determine ID_NET_DRIVER if there's no ID_NET_DRIVER or DRIVERS (old udev?)
+ ENV{ID_NET_DRIVER}=="?*", GOTO="nm_drivers_end"
+ DRIVERS=="?*", GOTO="nm_drivers_end"
+-PROGRAM="/bin/sh -c 'ethtool -i $1 | sed -n s/^driver:\ //p' -- $env{INTERFACE}", RESULT=="?*", ENV{ID_NET_DRIVER}="%c"
++PROGRAM="/bin/sh -c '/usr/sbin/ethtool -i $$1 |/usr/bin/sed -n s/^driver:\ //p' -- $env{INTERFACE}", ENV{ID_NET_DRIVER}="%c"
+ 
+ LABEL="nm_drivers_end"
+-- 
+2.21.0
+

diff --git a/net-misc/networkmanager/networkmanager-1.16.2.ebuild b/net-misc/networkmanager/networkmanager-1.18.4-r3.ebuild
similarity index 92%
rename from net-misc/networkmanager/networkmanager-1.16.2.ebuild
rename to net-misc/networkmanager/networkmanager-1.18.4-r3.ebuild
index 27f057c..64e5a52 100644
--- a/net-misc/networkmanager/networkmanager-1.16.2.ebuild
+++ b/net-misc/networkmanager/networkmanager-1.18.4-r3.ebuild
@@ -1,14 +1,13 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 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,3_7} )
+PYTHON_COMPAT=( python{3_6,3_7} )
 
-inherit bash-completion-r1 gnome2 linux-info multilib python-any-r1 systemd \
-	user readme.gentoo-r1 vala virtualx udev multilib-minimal flag-o-matic
+inherit bash-completion-r1 gnome2 linux-info multilib python-any-r1 systemd readme.gentoo-r1 vala virtualx udev multilib-minimal
 
 DESCRIPTION="A set of co-operative tools that make networking simple and straightforward"
 HOMEPAGE="https://wiki.gnome.org/Projects/NetworkManager"
@@ -17,17 +16,18 @@ 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 iwd json kernel_linux +nss +modemmanager ncurses ofono ovs policykit +ppp resolvconf selinux systemd teamd test vala +wext +wifi"
+RESTRICT="!test? ( test )"
 
 REQUIRED_USE="
 	bluetooth? ( modemmanager )
 	iwd? ( wifi )
 	vala? ( introspection )
 	wext? ( wifi )
-	^^ ( nss gnutls )
+	|| ( nss gnutls )
 	?? ( consolekit elogind systemd )
 "
 
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+KEYWORDS="amd64 arm arm64 ppc ppc64 x86"
 
 # gobject-introspection-0.10.3 is needed due to gnome bug 642300
 # wpa_supplicant-0.7.3-r3 is needed due to bug 359271
@@ -40,7 +40,7 @@ COMMON_DEPEND="
 	>=net-misc/curl-7.24
 	net-misc/iputils
 	sys-apps/util-linux[${MULTILIB_USEDEP}]
-	sys-libs/readline:0=[${MULTILIB_USEDEP}]
+	sys-libs/readline:0=
 	>=virtual/libudev-175:=[${MULTILIB_USEDEP}]
 	audit? ( sys-process/audit )
 	bluetooth? ( >=net-wireless/bluez-5 )
@@ -51,14 +51,14 @@ COMMON_DEPEND="
 	dhclient? ( >=net-misc/dhcp-4[client] )
 	dhcpcd? ( net-misc/dhcpcd )
 	elogind? ( >=sys-auth/elogind-219 )
-	gnutls? (
-		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-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}] )
+	!nss? ( gnutls? (
+		dev-libs/libgcrypt:0=[${MULTILIB_USEDEP}]
+		>=net-libs/gnutls-2.12:=[${MULTILIB_USEDEP}] ) )
 	ofono? ( net-misc/ofono )
 	ovs? ( dev-libs/jansson )
 	ppp? ( >=net-dialup/ppp-2.4.5:=[ipv6] )
@@ -71,6 +71,7 @@ COMMON_DEPEND="
 	)
 "
 RDEPEND="${COMMON_DEPEND}
+	acct-group/plugdev
 	|| (
 		net-misc/iputils[arping(+)]
 		net-analyzer/arping
@@ -102,11 +103,13 @@ DEPEND="${COMMON_DEPEND}
 "
 
 PATCHES=(
-	"${FILESDIR}"/fix-busted-configure.patch
+	"${FILESDIR}"/${PN}-data-fix-the-ID_NET_DRIVER-udev-rule.patch
+	"${FILESDIR}"/${PV}-iwd1-compat.patch # included in 1.21.3+
+
+	# Required to build on musl
 	"${FILESDIR}"/musl-basic.patch
-	"${FILESDIR}"/musl-fix-includes.patch
-	"${FILESDIR}"/musl-has-not-secure-gentenv.patch
 	"${FILESDIR}"/musl-network-support.patch
+	"${FILESDIR}"/musl-fix-includes.patch
 	"${FILESDIR}"/musl-process-util.patch
 )
 
@@ -148,10 +151,13 @@ pkg_pretend() {
 
 pkg_setup() {
 	if use connection-sharing; then
-		CONFIG_CHECK="~NF_NAT_IPV4 ~NF_NAT_MASQUERADE_IPV4"
+		if kernel_is lt 5 1; then
+			CONFIG_CHECK="~NF_NAT_IPV4 ~NF_NAT_MASQUERADE_IPV4"
+		else
+			CONFIG_CHECK="~NF_NAT ~NF_NAT_MASQUERADE"
+		fi
 		linux-info_pkg_setup
 	fi
-	enewgroup plugdev
 	if use introspection || use test; then
 		python-any-r1_pkg_setup
 	fi
@@ -178,7 +184,7 @@ multilib_src_configure() {
 		# We need --with-libnm-glib (and dbus-glib dep) as reverse deps are
 		# still not ready for removing that lib, bug #665338
 		--with-libnm-glib
-		--with-nmcli=yes
+		$(multilib_native_with nmcli)
 		--with-udev-dir="$(get_udevdir)"
 		--with-config-plugins-default=keyfile
 		--with-iptables=/sbin/iptables
@@ -201,6 +207,8 @@ multilib_src_configure() {
 		$(multilib_native_use_with ncurses nmtui)
 		$(multilib_native_use_with ofono)
 		$(multilib_native_use_enable ovs)
+		$(multilib_native_use_enable policykit polkit)
+		$(multilib_native_use_enable policykit polkit-agent)
 		$(multilib_native_use_with resolvconf)
 		$(multilib_native_use_with selinux)
 		$(multilib_native_use_with systemd systemd-journal)
@@ -213,12 +221,6 @@ multilib_src_configure() {
 		$(multilib_native_use_enable wifi)
 	)
 
-	if multilib_is_native_abi && use policykit; then
-		myconf+=( --enable-polkit=yes )
-	else
-		myconf+=( --enable-polkit=disabled )
-	fi
-
 	# Same hack as net-dialup/pptpd to get proper plugin dir for ppp, bug #519986
 	if use ppp; then
 		local PPPD_VER=`best_version net-dialup/ppp`
@@ -237,8 +239,6 @@ multilib_src_configure() {
 		ln -s "${S}/man" man || die
 	fi
 
-	append-cflags -DRTLD_DEEPBIND=0
-
 	ECONF_SOURCE=${S} runstatedir="/run" gnome2_src_configure "${myconf[@]}"
 }
 
@@ -267,6 +267,8 @@ multilib_src_install() {
 	if multilib_is_native_abi; then
 		# Install completions at proper place, bug #465100
 		gnome2_src_install completiondir="$(get_bashcompdir)"
+		insinto /usr/lib/NetworkManager/conf.d #702476
+		doins "${S}"/examples/nm-conf.d/31-mac-addr-change.conf
 	else
 		local targets=(
 			install-libLTLIBRARIES


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] proj/musl:master commit in: net-misc/networkmanager/, net-misc/networkmanager/files/
@ 2020-06-09  2:22 Jory Pratt
  0 siblings, 0 replies; 7+ messages in thread
From: Jory Pratt @ 2020-06-09  2:22 UTC (permalink / raw
  To: gentoo-commits

commit:     6d943ce2a490f030b8dedaca0a833a9080f7e9ea
Author:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
AuthorDate: Tue Jun  9 02:20:46 2020 +0000
Commit:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
CommitDate: Tue Jun  9 02:20:46 2020 +0000
URL:        https://gitweb.gentoo.org/proj/musl.git/commit/?id=6d943ce2

net-misc/networkmanager: sync with stable keywords

Package-Manager: Portage-2.3.100, Repoman-2.3.22
Signed-off-by: Jory Pratt <anarchy <AT> gentoo.org>

 net-misc/networkmanager/Manifest                   |  2 +-
 ...ix-bashisms.patch => 1.18.6-fix-bashisms.patch} | 11 ++--
 .../networkmanager/files/init.d.NetworkManager-r2  | 62 ++++++++++++++++++++++
 ...18.4-r3.ebuild => networkmanager-1.18.6.ebuild} |  6 +--
 4 files changed, 72 insertions(+), 9 deletions(-)

diff --git a/net-misc/networkmanager/Manifest b/net-misc/networkmanager/Manifest
index 28743c1..1218137 100644
--- a/net-misc/networkmanager/Manifest
+++ b/net-misc/networkmanager/Manifest
@@ -1 +1 @@
-DIST NetworkManager-1.18.4.tar.xz 4875196 BLAKE2B 9c58d6d7317562332dfa9639f8e236a0a7f6b58e7dad5af83916b1c6178899a6bcf12bc289fb401d84fd6420306364b4c4c0a25eda2a08eef812acde1862a18a SHA512 9fd22775a400ee8d20c75ebddfee842bfbd8780966444dd537e371a65918f41640e921d2c441853afe8f72d693e9b4c1415435136a07004666a6af4799fd3350
+DIST NetworkManager-1.18.6.tar.xz 4845144 BLAKE2B cf66789c025d9ec2007d1fe541acb8fd2b5204796ff8498fc5689124016e84a7e76509bee1b6650c796f0429cce6748c7b99e1976d95ac12bc31a1f1e67289b0 SHA512 92ab648e689dd903279fe676e867d7929f616c96dd478b2132854145a29debfcac5b083d70652ea0c7bccb0eb132534133fc9c005527237c47e2802556a29b92

diff --git a/net-misc/networkmanager/files/1.18.4-fix-bashisms.patch b/net-misc/networkmanager/files/1.18.6-fix-bashisms.patch
similarity index 96%
rename from net-misc/networkmanager/files/1.18.4-fix-bashisms.patch
rename to net-misc/networkmanager/files/1.18.6-fix-bashisms.patch
index 4d8d6c1..3d087ce 100644
--- a/net-misc/networkmanager/files/1.18.4-fix-bashisms.patch
+++ b/net-misc/networkmanager/files/1.18.6-fix-bashisms.patch
@@ -1,15 +1,16 @@
-From 03072c0039261e9980ab5e88b283e1f07b4002bb Mon Sep 17 00:00:00 2001
+From 0adfc0f511e1389ca166fb233b9d3feb12da91d2 Mon Sep 17 00:00:00 2001
 From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Sun, 19 Apr 2020 00:59:33 +0200
+Date: Mon, 8 Jun 2020 20:42:40 -0500
 Subject: [PATCH] Remove subshells and fix invalid test syntax
 
+Signed-off-by: Gilles Dartiguelongue <eva@gentoo.org>
 ---
  configure.ac        | 28 ++++++++++++++--------------
  m4/introspection.m4 |  4 ++--
  2 files changed, 16 insertions(+), 16 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index 33badfac0..fe43f844a 100644
+index 9dc0625..49cbba3 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -261,7 +261,7 @@ AC_ARG_WITH(libnm-glib,
@@ -104,7 +105,7 @@ index 33badfac0..fe43f844a 100644
  	fi
  
 diff --git a/m4/introspection.m4 b/m4/introspection.m4
-index f3bda0e7c..8c64bd04c 100644
+index f3bda0e..8c64bd0 100644
 --- a/m4/introspection.m4
 +++ b/m4/introspection.m4
 @@ -31,7 +31,7 @@ m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL],
@@ -126,5 +127,5 @@ index f3bda0e7c..8c64bd04c 100644
                AC_MSG_ERROR([introspection enabled but can't be used])
            fi
 -- 
-2.26.0
+2.26.2
 

diff --git a/net-misc/networkmanager/files/init.d.NetworkManager-r2 b/net-misc/networkmanager/files/init.d.NetworkManager-r2
new file mode 100644
index 0000000..f7b95c0
--- /dev/null
+++ b/net-misc/networkmanager/files/init.d.NetworkManager-r2
@@ -0,0 +1,62 @@
+#!/sbin/openrc-run
+# Copyright (c) 2008 Saleem Abdulrasool <compnerd@compnerd.org>
+# Copyright 2013-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+description="NetworkManager daemon. The service is marked as started only \
+when a network connection is established."
+
+depend() {
+	need dbus
+	use consolekit
+	provide net
+}
+
+start_pre() {
+	checkpath -q -d -m 0755 /run/NetworkManager
+}
+
+start() {
+	# If we are re-called by a dispatcher event, we want to mark the service
+	# as started without starting the daemon again
+	yesno "${IN_BACKGROUND}" && return 0
+
+	[ -z "${INACTIVE_TIMEOUT}" ] && INACTIVE_TIMEOUT="1"
+
+	ebegin "Starting NetworkManager"
+	start-stop-daemon --start --quiet --pidfile /run/NetworkManager/NetworkManager.pid \
+		--exec /usr/sbin/NetworkManager -- --pid-file /run/NetworkManager/NetworkManager.pid
+	local _retval=$?
+	eend "${_retval}"
+	if [ "x${_retval}" = 'x0' ] && ! nm-online -t "${INACTIVE_TIMEOUT}"; then
+		einfo "Marking NetworkManager as inactive. It will automatically be marked"
+		einfo "as started after a network connection has been established."
+		mark_service_inactive
+	fi
+	return "${_retval}"
+}
+
+stop() {
+	# If we are re-called by a dispatcher event, we want to mark the service
+	# as inactive without stopping the daemon
+	if yesno "${IN_BACKGROUND}"; then
+		mark_service_inactive "${SVCNAME}"
+		return 0
+	fi
+
+	ebegin "Stopping NetworkManager"
+	local pidfile=/run/NetworkManager/NetworkManager.pid
+	if [ ! -e "${pidfile}" ] && [ -e /var/run/NetworkManager.pid ]; then
+		# Try stopping the pid file used by <0.9.7
+		pidfile=/var/run/NetworkManager.pid
+		start-stop-daemon --stop --quiet --pidfile "${pidfile}"
+		ret=$?
+		[ ${ret} = 0 ] && [ -e "${pidfile}" ] && rm "${pidfile}"
+		eend ${ret}
+	else
+		start-stop-daemon --stop --quiet --pidfile "${pidfile}"
+		eend $?
+	fi
+}
+
+# vim: set ft=gentoo-init-d ts=4 :

diff --git a/net-misc/networkmanager/networkmanager-1.18.4-r3.ebuild b/net-misc/networkmanager/networkmanager-1.18.6.ebuild
similarity index 98%
rename from net-misc/networkmanager/networkmanager-1.18.4-r3.ebuild
rename to net-misc/networkmanager/networkmanager-1.18.6.ebuild
index ed2a4a6..c7b0a92 100644
--- a/net-misc/networkmanager/networkmanager-1.18.4-r3.ebuild
+++ b/net-misc/networkmanager/networkmanager-1.18.6.ebuild
@@ -28,7 +28,7 @@ REQUIRED_USE="
 	?? ( consolekit elogind systemd )
 "
 
-KEYWORDS="amd64 arm arm64 ppc ppc64 x86"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ppc ~ppc64 ~sparc x86"
 
 # gobject-introspection-0.10.3 is needed due to gnome bug 642300
 # wpa_supplicant-0.7.3-r3 is needed due to bug 359271
@@ -105,7 +105,7 @@ DEPEND="${COMMON_DEPEND}
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-data-fix-the-ID_NET_DRIVER-udev-rule.patch
-	"${FILESDIR}"/${PV}-iwd1-compat.patch # included in 1.21.3+
+	"${FILESDIR}"/1.18.4-iwd1-compat.patch # included in 1.21.3+
  	"${FILESDIR}"/${PV}-fix-bashisms.patch
 
 	# Required to build on musl
@@ -293,7 +293,7 @@ multilib_src_install_all() {
 	einstalldocs
 	! use systemd && readme.gentoo_create_doc
 
-	newinitd "${FILESDIR}/init.d.NetworkManager-r1" NetworkManager
+	newinitd "${FILESDIR}/init.d.NetworkManager-r2" NetworkManager
 	newconfd "${FILESDIR}/conf.d.NetworkManager" NetworkManager
 
 	# Need to keep the /etc/NetworkManager/dispatched.d for dispatcher scripts


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] proj/musl:master commit in: net-misc/networkmanager/, net-misc/networkmanager/files/
@ 2020-08-20 23:59 Jory Pratt
  0 siblings, 0 replies; 7+ messages in thread
From: Jory Pratt @ 2020-08-20 23:59 UTC (permalink / raw
  To: gentoo-commits

commit:     e7483fe512c16baf3dcd8c4da05d3eb93bdc1789
Author:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 20 23:59:29 2020 +0000
Commit:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
CommitDate: Thu Aug 20 23:59:29 2020 +0000
URL:        https://gitweb.gentoo.org/proj/musl.git/commit/?id=e7483fe5

net-misc/networkmanager: Update for stable users

Package-Manager: Portage-3.0.4, Repoman-2.3.23
Signed-off-by: Jory Pratt <anarchy <AT> gentoo.org>

 net-misc/networkmanager/Manifest                   |   2 +-
 .../networkmanager/files/1.18.4-iwd1-compat.patch  |  81 -------------
 .../networkmanager/files/1.18.6-fix-bashisms.patch | 131 ---------------------
 .../networkmanager/files/init.d.NetworkManager-r1  |  58 ---------
 net-misc/networkmanager/files/musl-basic.patch     |  54 +++++----
 net-misc/networkmanager/files/musl-compar.patch    |  18 +++
 .../networkmanager/files/musl-fix-includes.patch   |  78 +++++++-----
 .../files/musl-network-support.patch               |  50 +++-----
 net-misc/networkmanager/files/musl-no-drand.patch  |  58 +++++++++
 .../networkmanager/files/musl-process-util.patch   |  18 +--
 ...ager-data-fix-the-ID_NET_DRIVER-udev-rule.patch |  33 ------
 ...-1.18.6.ebuild => networkmanager-1.26.0.ebuild} |  49 ++++----
 12 files changed, 190 insertions(+), 440 deletions(-)

diff --git a/net-misc/networkmanager/Manifest b/net-misc/networkmanager/Manifest
index 1218137..db1ec14 100644
--- a/net-misc/networkmanager/Manifest
+++ b/net-misc/networkmanager/Manifest
@@ -1 +1 @@
-DIST NetworkManager-1.18.6.tar.xz 4845144 BLAKE2B cf66789c025d9ec2007d1fe541acb8fd2b5204796ff8498fc5689124016e84a7e76509bee1b6650c796f0429cce6748c7b99e1976d95ac12bc31a1f1e67289b0 SHA512 92ab648e689dd903279fe676e867d7929f616c96dd478b2132854145a29debfcac5b083d70652ea0c7bccb0eb132534133fc9c005527237c47e2802556a29b92
+DIST NetworkManager-1.26.0.tar.xz 4956796 BLAKE2B 752b6b47387bac5787d06be7f31cc7387798d0c917977c8e72d6d21538a86c167003901d628e596109aec28816f56fd8cd6bf2b46a8d4918a7e6cf1946586550 SHA512 46035fda8f154497ba4a634e4bf7f0a11f579d0d3f4ffdcea7d47ea0bde6dd0183885491f5453255af7b163ae3db4f0c62c3161913a8c30c35b6475887235b6d

diff --git a/net-misc/networkmanager/files/1.18.4-iwd1-compat.patch b/net-misc/networkmanager/files/1.18.4-iwd1-compat.patch
deleted file mode 100644
index 12c8b87..0000000
--- a/net-misc/networkmanager/files/1.18.4-iwd1-compat.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From 59923ad85d1a1cf2216a4f14649702d24d3f2360 Mon Sep 17 00:00:00 2001
-From: Lubomir Rintel <lkundrak@v3.sk>
-Date: Sat, 2 Nov 2019 06:55:54 +0100
-Subject: [PATCH 1/2] iwd: add some missing error handling
-
-g_dbus_object_manager_get_interface() can happily return NULL and we
-need to check for that.
----
- src/devices/wifi/nm-iwd-manager.c | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-diff --git a/src/devices/wifi/nm-iwd-manager.c b/src/devices/wifi/nm-iwd-manager.c
-index dd1cad480..e83f8063c 100644
---- a/src/devices/wifi/nm-iwd-manager.c
-+++ b/src/devices/wifi/nm-iwd-manager.c
-@@ -136,6 +136,11 @@ agent_dbus_method_cb (GDBusConnection *connection,
- 	network = g_dbus_object_manager_get_interface (priv->object_manager,
- 	                                               network_path,
- 	                                               NM_IWD_NETWORK_INTERFACE);
-+	if (!network) {
-+		_LOGE ("unable to find the network object");
-+		return;
-+	}
-+
- 
- 	device_path = get_property_string_or_null (G_DBUS_PROXY (network), "Device");
- 	if (!device_path) {
-@@ -260,6 +265,11 @@ register_agent (NMIwdManager *self)
- 	                                                     "/",
- 	                                                     NM_IWD_AGENT_MANAGER_INTERFACE);
- 
-+	if (!agent_manager) {
-+		_LOGE ("unable to register the IWD Agent: PSK/8021x Wi-Fi networks may not work");
-+		return;
-+	}
-+
- 	/* Register our agent */
- 	g_dbus_proxy_call (G_DBUS_PROXY (agent_manager),
- 	                   "RegisterAgent",
--- 
-2.20.1
-
-
-From 186d22a9634e2bf94658ed6f1cf2b332ecb3a32c Mon Sep 17 00:00:00 2001
-From: Lubomir Rintel <lkundrak@v3.sk>
-Date: Sat, 2 Nov 2019 07:01:28 +0100
-Subject: [PATCH 2/2] iwd: unbreak iwd-1.0
-
-The upstream apparently thought it's a great idea to change the agent
-manager path. This fixes things for those unfortunate enough to run
-IWD.
----
- src/devices/wifi/nm-iwd-manager.c | 10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
-diff --git a/src/devices/wifi/nm-iwd-manager.c b/src/devices/wifi/nm-iwd-manager.c
-index e83f8063c..470cb1c90 100644
---- a/src/devices/wifi/nm-iwd-manager.c
-+++ b/src/devices/wifi/nm-iwd-manager.c
-@@ -262,9 +262,17 @@ register_agent (NMIwdManager *self)
- 	GDBusInterface *agent_manager;
- 
- 	agent_manager = g_dbus_object_manager_get_interface (priv->object_manager,
--	                                                     "/",
-+	                                                     "/net/connman/iwd",
- 	                                                     NM_IWD_AGENT_MANAGER_INTERFACE);
- 
-+	if (!agent_manager) {
-+		/* IWD prior to 1.0 dated 30 October, 2019 has the agent manager on a
-+		 * different path. */
-+		agent_manager = g_dbus_object_manager_get_interface (priv->object_manager,
-+		                                                     "/",
-+		                                                     NM_IWD_AGENT_MANAGER_INTERFACE);
-+	}
-+
- 	if (!agent_manager) {
- 		_LOGE ("unable to register the IWD Agent: PSK/8021x Wi-Fi networks may not work");
- 		return;
--- 
-2.20.1
-

diff --git a/net-misc/networkmanager/files/1.18.6-fix-bashisms.patch b/net-misc/networkmanager/files/1.18.6-fix-bashisms.patch
deleted file mode 100644
index 3d087ce..0000000
--- a/net-misc/networkmanager/files/1.18.6-fix-bashisms.patch
+++ /dev/null
@@ -1,131 +0,0 @@
-From 0adfc0f511e1389ca166fb233b9d3feb12da91d2 Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Mon, 8 Jun 2020 20:42:40 -0500
-Subject: [PATCH] Remove subshells and fix invalid test syntax
-
-Signed-off-by: Gilles Dartiguelongue <eva@gentoo.org>
----
- configure.ac        | 28 ++++++++++++++--------------
- m4/introspection.m4 |  4 ++--
- 2 files changed, 16 insertions(+), 16 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 9dc0625..49cbba3 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -261,7 +261,7 @@ AC_ARG_WITH(libnm-glib,
-             AS_HELP_STRING([--with-libnm-glib],
-                            [build legacy libraries]))
- fake_typelibs=no
--if test "$with_libnm_glib" == "yes"; then
-+if test "$with_libnm_glib" = "yes"; then
- 	PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.1 dbus-glib-1 >= 0.94, :,
- 	                  [AC_MSG_FAILURE([$DBUS_PKG_ERRORS
- 
-@@ -277,7 +277,7 @@ Configure with --without-libnm-glib if you do not need the legacy libraries])
- else
- 	with_libnm_glib=no
- fi
--AM_CONDITIONAL(WITH_LEGACY_LIBRARIES, test "$with_libnm_glib" == "yes")
-+AM_CONDITIONAL(WITH_LEGACY_LIBRARIES, test "$with_libnm_glib" = "yes")
- if test "$fake_typelibs" = "yes"; then
- 	AC_DEFINE(WITH_FAKE_TYPELIBS, 1, [Define for libnm to prevent GIR from loading libnm-glib])
- else
-@@ -633,7 +633,7 @@ AC_ARG_ENABLE(json-validation,
-               AS_HELP_STRING([--enable-json-validation], [Enable JSON validation in libnm]),
-               [enable_json_validation=${enableval}],
-               [enable_json_validation=${have_jansson}])
--if (test "${enable_json_validation}" == "no"); then
-+if (test "${enable_json_validation}" = "no"); then
- 	AC_DEFINE(WITH_JSON_VALIDATION, 0, [Define if JSON validation in libnm is enabled])
- else
- 	if test "$have_jansson" = "no"; then
-@@ -816,8 +816,8 @@ AC_ARG_WITH([dhcpcanon],
- if test "$with_dhcpcanon" != "no"; then
-     with_dhcpcanon_="$with_dhcpcanon"
-     AC_PATH_PROGS(with_dhcpcanon, dhcpcanon, no, /sbin:/usr/sbin:/usr/local/sbin:/usr/bin:/usr/local/bin)
--    if test "$with_dhcpcanon" == "no"; then
--        if test "$with_dhcpcanon_" == yes; then
-+    if test "$with_dhcpcanon" = "no"; then
-+        if test "$with_dhcpcanon_" = yes; then
-             AC_MSG_WARN([dhcpcanon not found, assume path /sbin/dhcpcanon])
-             with_dhcpcanon=/sbin/dhcpcanon
-         fi
-@@ -846,8 +846,8 @@ AC_ARG_WITH([dhclient],
- if test "$with_dhclient" != "no"; then
- 	with_dhclient_="$with_dhclient"
- 	AC_PATH_PROGS(with_dhclient, dhclient, no, /sbin:/usr/sbin:/usr/local/sbin)
--	if test "$with_dhclient" == "no"; then
--		if test "$with_dhclient_" == yes; then
-+	if test "$with_dhclient" = "no"; then
-+		if test "$with_dhclient_" = yes; then
- 			AC_MSG_WARN([dhclient not found, assume path /usr/sbin/dhclient])
- 			with_dhclient=/usr/sbin/dhclient
- 		fi
-@@ -865,8 +865,8 @@ AC_ARG_WITH([dhcpcd],
- if test "$with_dhcpcd" != "no"; then
- 	with_dhcpcd_="$with_dhcpcd"
- 	AC_PATH_PROGS(with_dhcpcd, dhcpcd, no, /sbin:/usr/sbin:/usr/local/sbin)
--	if test "$with_dhcpcd" == "no"; then
--		if test "$with_dhcpcd_" == yes; then
-+	if test "$with_dhcpcd" = "no"; then
-+		if test "$with_dhcpcd_" = yes; then
- 			AC_MSG_WARN([dhcpcd not found, assume path /usr/sbin/dhcpcd])
- 			with_dhcpcd=/usr/sbin/dhcpcd
- 		fi
-@@ -1192,17 +1192,17 @@ AS_IF([test -z "$with_valgrind"], with_valgrind="no")
- # Normalize values
- AS_IF([test "$enable_tests" != "yes" -a "$enable_tests" != "root"], enable_tests="no")
- # Search for tools
--AS_IF([test "$with_valgrind" == "yes"],
-+AS_IF([test "$with_valgrind" = "yes"],
-       [AC_PATH_PROGS(with_valgrind, valgrind, no)])
- # Add conditionals and substitutions
- AM_CONDITIONAL(ENABLE_TESTS, test "$enable_tests" != "no")
--AM_CONDITIONAL(REQUIRE_ROOT_TESTS, test "$enable_tests" == "root")
-+AM_CONDITIONAL(REQUIRE_ROOT_TESTS, test "$enable_tests" = "root")
- AC_ARG_WITH(valgrind-suppressions,
-             AS_HELP_STRING([--with-valgrind-suppressions=path], [Use specific valgrind suppression file]))
--if test "$with_valgrind" == no; then
-+if test "$with_valgrind" = no; then
- 	with_valgrind_suppressions=
- else
--	if test  "$with_valgrind_suppressions" == ""; then
-+	if test  "$with_valgrind_suppressions" = ""; then
- 		with_valgrind_suppressions='$(top_srcdir)/valgrind.suppressions'
- 	fi
- fi
-@@ -1218,7 +1218,7 @@ GTK_DOC_CHECK(1.0)
- build_docs=no
- if test -n "$INTROSPECTION_MAKEFILE"; then
- 	# If g-i is installed we know we have python, but we might not have pygobject
--	if ! "$PYTHON" -c 'from gi.repository import GObject' >& /dev/null; then
-+	if ! "$PYTHON" -c 'from gi.repository import GObject' > /dev/null 2>&1; then
- 		AC_MSG_ERROR(["--enable-introspection aims to build the settings documentation. This requires GObject introspection for python (pygobject)])
- 	fi
- 
-diff --git a/m4/introspection.m4 b/m4/introspection.m4
-index f3bda0e..8c64bd0 100644
---- a/m4/introspection.m4
-+++ b/m4/introspection.m4
-@@ -31,7 +31,7 @@ m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL],
-     INTROSPECTION_GIRDIR=
-     INTROSPECTION_TYPELIBDIR=
- 
--    if test "x$enable_introspection" == "xno"; then
-+    if test "x$enable_introspection" = "xno"; then
-       found_introspection="no"
-     else
-        PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], [
-@@ -53,7 +53,7 @@ m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL],
-            AC_MSG_RESULT([$found_introspection])
-        ], [found_introspection="no (not installed)"])
- 
--       if test "x$enable_introspection" == "xyes"; then
-+       if test "x$enable_introspection" = "xyes"; then
-           if test "x$found_introspection" != "xyes"; then
-               AC_MSG_ERROR([introspection enabled but can't be used])
-           fi
--- 
-2.26.2
-

diff --git a/net-misc/networkmanager/files/init.d.NetworkManager-r1 b/net-misc/networkmanager/files/init.d.NetworkManager-r1
deleted file mode 100644
index fad772d..0000000
--- a/net-misc/networkmanager/files/init.d.NetworkManager-r1
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/sbin/openrc-run
-# Copyright (c) 2008 Saleem Abdulrasool <compnerd@compnerd.org>
-# Copyright 2013-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-description="NetworkManager daemon. The service is marked as started only \
-when a network connection is established."
-
-depend() {
-	need dbus
-	use consolekit
-	provide net
-}
-
-start() {
-	# If we are re-called by a dispatcher event, we want to mark the service
-	# as started without starting the daemon again
-	yesno "${IN_BACKGROUND}" && return 0
-
-	[ -z "${INACTIVE_TIMEOUT}" ] && INACTIVE_TIMEOUT="1"
-
-	ebegin "Starting NetworkManager"
-	start-stop-daemon --start --quiet --pidfile /run/NetworkManager/NetworkManager.pid \
-		--exec /usr/sbin/NetworkManager -- --pid-file /run/NetworkManager/NetworkManager.pid
-	local _retval=$?
-	eend "${_retval}"
-	if [ "x${_retval}" = 'x0' ] && ! nm-online -t "${INACTIVE_TIMEOUT}"; then
-		einfo "Marking NetworkManager as inactive. It will automatically be marked"
-		einfo "as started after a network connection has been established."
-		mark_service_inactive
-	fi
-	return "${_retval}"
-}
-
-stop() {
-	# If we are re-called by a dispatcher event, we want to mark the service
-	# as inactive without stopping the daemon
-	if yesno "${IN_BACKGROUND}"; then
-		mark_service_inactive "${SVCNAME}"
-		return 0
-	fi
-
-	ebegin "Stopping NetworkManager"
-	local pidfile=/run/NetworkManager/NetworkManager.pid
-	if [ ! -e "${pidfile}" ] && [ -e /var/run/NetworkManager.pid ]; then 
-		# Try stopping the pid file used by <0.9.7
-		pidfile=/var/run/NetworkManager.pid
-		start-stop-daemon --stop --quiet --pidfile "${pidfile}"
-		ret=$?
-		[ ${ret} = 0 ] && [ -e "${pidfile}" ] && rm "${pidfile}"
-		eend ${ret}
-	else
-		start-stop-daemon --stop --quiet --pidfile "${pidfile}"
-		eend $?
-	fi
-}
-
-# vim: set ft=gentoo-init-d ts=4 :

diff --git a/net-misc/networkmanager/files/musl-basic.patch b/net-misc/networkmanager/files/musl-basic.patch
index 8b78354..2e0d562 100644
--- a/net-misc/networkmanager/files/musl-basic.patch
+++ b/net-misc/networkmanager/files/musl-basic.patch
@@ -1,30 +1,18 @@
-From d12f0c518b10a3be0357c9242a2491c0904b51d6 Mon Sep 17 00:00:00 2001
-From: Jory Pratt <anarchy@gentoo.org>
-Date: Mon, 29 Jul 2019 23:24:11 -0500
-Subject: [PATCH 1/5] Usual musl fixes
-
----
- shared/systemd/src/basic/sort-util.h  | 6 ++++++
- shared/systemd/src/basic/stdio-util.h | 2 ++
- 2 files changed, 8 insertions(+)
-
-diff --git a/shared/systemd/src/basic/sort-util.h b/shared/systemd/src/basic/sort-util.h
-index e029f86..e876241 100644
---- a/shared/systemd/src/basic/sort-util.h
-+++ b/shared/systemd/src/basic/sort-util.h
-@@ -5,6 +5,12 @@
+diff --git a/libnm-core/nm-json.c b/libnm-core/nm-json.c
+index aa181a4..98c39fc 100644
+--- a/libnm-core/nm-json.c
++++ b/libnm-core/nm-json.c
+@@ -23,6 +23,10 @@
  
- #include "macro.h"
+ #include <dlfcn.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 *);
++#ifndef RTLD_DEEPBIND
++#define RTLD_DEEPBIND 0
 +#endif
 +
- void *xbsearch_r(const void *key, const void *base, size_t nmemb, size_t size,
-                  __compar_d_fn_t compar, void *arg);
- 
+ void *_nm_jansson_json_object_iter_value;
+ void *_nm_jansson_json_object_key_to_iter;
+ void *_nm_jansson_json_integer;
 diff --git a/shared/systemd/src/basic/stdio-util.h b/shared/systemd/src/basic/stdio-util.h
 index c3b9448..e80a938 100644
 --- a/shared/systemd/src/basic/stdio-util.h
@@ -39,6 +27,20 @@ index c3b9448..e80a938 100644
  #include <stdarg.h>
  #include <stdio.h>
  #include <sys/types.h>
--- 
-2.22.0
-
+diff --git a/shared/systemd/src/basic/util.h b/shared/systemd/src/basic/util.h
+index 25e6ab8..7967e8a 100644
+--- a/shared/systemd/src/basic/util.h
++++ b/shared/systemd/src/basic/util.h
+@@ -46,6 +46,12 @@ static inline unsigned u64log2(uint64_t n) {
+ #endif
+ }
+ 
++#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
++
+ static inline unsigned u32ctz(uint32_t n) {
+ #if __SIZEOF_INT__ == 4
+         return n != 0 ? __builtin_ctz(n) : 32;

diff --git a/net-misc/networkmanager/files/musl-compar.patch b/net-misc/networkmanager/files/musl-compar.patch
new file mode 100644
index 0000000..1b1de2f
--- /dev/null
+++ b/net-misc/networkmanager/files/musl-compar.patch
@@ -0,0 +1,18 @@
+diff --git a/shared/systemd/src/basic/sort-util.h b/shared/systemd/src/basic/sort-util.h
+index e029f86..935f136 100644
+--- a/shared/systemd/src/basic/sort-util.h
++++ b/shared/systemd/src/basic/sort-util.h
+@@ -5,6 +5,13 @@
+ 
+ #include "macro.h"
+ 
++#ifndef __COMPAR_FN_T
++# define __COMPAR_FN_T
++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
++
+ void *xbsearch_r(const void *key, const void *base, size_t nmemb, size_t size,
+                  __compar_d_fn_t compar, void *arg);
+ 

diff --git a/net-misc/networkmanager/files/musl-fix-includes.patch b/net-misc/networkmanager/files/musl-fix-includes.patch
index 9ee2f7f..98f8bc2 100644
--- a/net-misc/networkmanager/files/musl-fix-includes.patch
+++ b/net-misc/networkmanager/files/musl-fix-includes.patch
@@ -1,19 +1,18 @@
-From f0d90910d8a8bde7608221b4e34ff12096a4d951 Mon Sep 17 00:00:00 2001
-From: Jory Pratt <anarchy@gentoo.org>
-Date: Mon, 29 Jul 2019 23:25:11 -0500
-Subject: [PATCH 2/5] fix includes for musl
-
----
- 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(-)
-
+--- a/src/NetworkManagerUtils.c	2020-07-17 20:05:45.382005791 +0200
++++ b/src/NetworkManagerUtils.c	2020-07-17 20:05:39.721463542 +0200
+@@ -4,6 +4,7 @@
+  * Copyright (C) 2005 - 2008 Novell, Inc.
+  */
+ 
++#include <netinet/if_ether.h>
+ #include "nm-default.h"
+ 
+ #include "NetworkManagerUtils.h"
 diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c
-index 42e4688..3b9da98 100644
+index e7a4a05..7578abf 100644
 --- a/src/devices/nm-device.c
 +++ b/src/devices/nm-device.c
-@@ -32,7 +32,11 @@
+@@ -17,7 +17,11 @@
  #include <arpa/inet.h>
  #include <fcntl.h>
  #include <linux/if_addr.h>
@@ -26,22 +25,22 @@ index 42e4688..3b9da98 100644
  #include <linux/pkt_sched.h>
  
 diff --git a/src/nm-manager.c b/src/nm-manager.c
-index 7d77144..dc143ba 100644
+index 132cf5a..0dd71dd 100644
 --- a/src/nm-manager.c
 +++ b/src/nm-manager.c
-@@ -26,6 +26,7 @@
- #include <stdlib.h>
- #include <fcntl.h>
- #include <unistd.h>
+@@ -15,6 +15,7 @@
+ #include <sys/stat.h>
+ #include <sys/sendfile.h>
+ #include <limits.h>
 +#include <asm/types.h>
  
  #include "nm-glib-aux/nm-c-list.h"
  
 diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c
-index 7d66a88..b9a7b30 100644
+index 305ae52..10cfec6 100644
 --- a/src/platform/nm-linux-platform.c
 +++ b/src/platform/nm-linux-platform.c
-@@ -20,6 +20,7 @@
+@@ -6,6 +6,7 @@
  #include "nm-default.h"
  
  #include "nm-linux-platform.h"
@@ -49,7 +48,7 @@ index 7d66a88..b9a7b30 100644
  
  #include <arpa/inet.h>
  #include <dlfcn.h>
-@@ -28,7 +29,11 @@
+@@ -14,7 +15,11 @@
  #include <libudev.h>
  #include <linux/fib_rules.h>
  #include <linux/ip.h>
@@ -61,14 +60,31 @@ index 7d66a88..b9a7b30 100644
  #include <linux/if_bridge.h>
  #include <linux/if_link.h>
  #include <linux/if_tun.h>
-@@ -58,7 +63,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-glib-aux/nm-io-utils.h"
- #include "nm-udev-aux/nm-udev-utils.h"
+diff --git a/src/systemd/src/libsystemd-network/sd-dhcp6-client.c b/src/systemd/src/libsystemd-network/sd-dhcp6-client.c
+index e1150f9..3cb8390 100644
+--- a/src/systemd/src/libsystemd-network/sd-dhcp6-client.c
++++ b/src/systemd/src/libsystemd-network/sd-dhcp6-client.c
+@@ -7,7 +7,11 @@
+ 
+ #include <errno.h>
+ #include <sys/ioctl.h>
++#if defined(__GLIBC__)
+ #include <linux/if_arp.h>
++#else
++#include <linux/if.h>
++#endif
+ #include <linux/if_infiniband.h>
+ 
+ #include "sd-dhcp6-client.h"
+diff --git a/src/devices/nm-device-bridge.c b/src/devices/nm-device-bridge.c
+index c93c6a5..66d2532 100644
+--- a/src/devices/nm-device-bridge.c
++++ b/src/devices/nm-device-bridge.c
+@@ -15,6 +15,8 @@
+ #include "nm-device-factory.h"
+ #include "nm-core-internal.h"
  
--- 
-2.22.0
-
++#include <linux/if_ether.h>
++
+ #include "nm-device-logging.h"
+ _LOG_DECLARE_SELF(NMDeviceBridge);

diff --git a/net-misc/networkmanager/files/musl-network-support.patch b/net-misc/networkmanager/files/musl-network-support.patch
index ca242e2..36536df 100644
--- a/net-misc/networkmanager/files/musl-network-support.patch
+++ b/net-misc/networkmanager/files/musl-network-support.patch
@@ -1,16 +1,3 @@
-From e5e2e822a6daab4af1710fb8044072dc2327d002 Mon Sep 17 00:00:00 2001
-From: Jory Pratt <anarchy@gentoo.org>
-Date: Mon, 29 Jul 2019 23:26:46 -0500
-Subject: [PATCH 4/5] add network support for musl libc
-
----
- 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 @@
@@ -25,24 +12,6 @@ index 2b5baba..976850c 100644
  #include <linux/if_infiniband.h>
  
  #include "nm-core-enum-types.h"
-diff --git a/shared/systemd/src/basic/socket-util.h b/shared/systemd/src/basic/socket-util.h
-index 15443f1..b9c3291 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 @@
@@ -56,7 +25,18 @@ index 36148b5..d282eb2 100644
 +#endif
  
  #include "nm-dbus-interface.h"
- #include "nm-setting-wireless.h"
--- 
-2.22.0
-
+ 
+--- a/shared/systemd/src/basic/socket-util.h	2019-03-16 15:41:33.287235649 +0100
++++ b/shared/systemd/src/basic/socket-util.h	2019-03-16 15:42:24.273912106 +0100
+@@ -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/net-misc/networkmanager/files/musl-no-drand.patch b/net-misc/networkmanager/files/musl-no-drand.patch
new file mode 100644
index 0000000..46e3a79
--- /dev/null
+++ b/net-misc/networkmanager/files/musl-no-drand.patch
@@ -0,0 +1,58 @@
+From ec471e66ee14d7da06d4d0a22bc3cdb5f615fd6f Mon Sep 17 00:00:00 2001
+From: Enno Boland <g@s01.de>
+Date: Wed, 7 Aug 2019 16:51:16 +0200
+Subject: [PATCH] use jrand48 instead of mrand48_r on non glibc platforms
+
+---
+ shared/n-dhcp4/src/n-dhcp4-c-probe.c | 8 ++++++++
+ shared/n-dhcp4/src/n-dhcp4-private.h | 4 ++++
+ 2 files changed, 12 insertions(+)
+
+diff --git a/shared/n-dhcp4/src/n-dhcp4-c-probe.c b/shared/n-dhcp4/src/n-dhcp4-c-probe.c
+index 308cff8307..9463528b1f 100644
+--- a/shared/n-dhcp4/src/n-dhcp4-c-probe.c
++++ b/shared/n-dhcp4/src/n-dhcp4-c-probe.c
+@@ -362,8 +362,12 @@ static void n_dhcp4_client_probe_config_initialize_random_seed(NDhcp4ClientProbe
+         seed16v[1] = (u64 >> 16) ^ (u64 >>  0);
+         seed16v[2] = (u64 >> 32) ^ (u64 >> 16);
+ 
++#ifdef __GLIBC__
+         r = seed48_r(seed16v, &config->entropy);
+         c_assert(!r);
++#else
++        memcpy(config->entropy, seed16v, sizeof seed16v);
++#endif
+ }
+ 
+ /**
+@@ -377,10 +381,14 @@ static void n_dhcp4_client_probe_config_initialize_random_seed(NDhcp4ClientProbe
+  */
+ uint32_t n_dhcp4_client_probe_config_get_random(NDhcp4ClientProbeConfig *config) {
+         long int result;
++#ifdef __GLIBC__
+         int r;
+ 
+         r = mrand48_r(&config->entropy, &result);
+         c_assert(!r);
++#else
++        result = jrand48(config->entropy);
++#endif
+ 
+         return result;
+ };
+diff --git a/shared/n-dhcp4/src/n-dhcp4-private.h b/shared/n-dhcp4/src/n-dhcp4-private.h
+index c38ddbfc80..fb48807712 100644
+--- a/shared/n-dhcp4/src/n-dhcp4-private.h
++++ b/shared/n-dhcp4/src/n-dhcp4-private.h
+@@ -259,7 +259,11 @@ struct NDhcp4ClientProbeConfig {
+         bool inform_only;
+         bool init_reboot;
+         struct in_addr requested_ip;
++#ifdef __GLIBC__
+         struct drand48_data entropy;    /* entropy pool */
++#else
++        unsigned short entropy[3];      /* entropy pool */
++#endif
+         uint64_t ms_start_delay;        /* max ms to wait before starting probe */
+         NDhcp4ClientProbeOption *options[UINT8_MAX + 1];
+         int8_t request_parameters[UINT8_MAX + 1];

diff --git a/net-misc/networkmanager/files/musl-process-util.patch b/net-misc/networkmanager/files/musl-process-util.patch
index 6267019..0eb0057 100644
--- a/net-misc/networkmanager/files/musl-process-util.patch
+++ b/net-misc/networkmanager/files/musl-process-util.patch
@@ -1,14 +1,3 @@
-From 23613c07ff805744aaee22c352b24731ec4b2c69 Mon Sep 17 00:00:00 2001
-From: Jory Pratt <anarchy@gentoo.org>
-Date: Mon, 29 Jul 2019 23:27:58 -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 7431be3..f9e6d49 100644
 --- a/shared/systemd/src/basic/process-util.c
 +++ b/shared/systemd/src/basic/process-util.c
 @@ -21,6 +21,9 @@
@@ -21,7 +10,7 @@ index 7431be3..f9e6d49 100644
  #if 0 /* NM_IGNORED */
  #if HAVE_VALGRIND_VALGRIND_H
  #include <valgrind/valgrind.h>
-@@ -1183,11 +1186,13 @@ void reset_cached_pid(void) {
+@@ -1168,11 +1171,13 @@ void reset_cached_pid(void) {
          cached_pid = CACHED_PID_UNSET;
  }
  
@@ -35,7 +24,7 @@ index 7431be3..f9e6d49 100644
  
  pid_t getpid_cached(void) {
          static bool installed = false;
-@@ -1216,7 +1221,12 @@ pid_t getpid_cached(void) {
+@@ -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. */
  
@@ -49,6 +38,3 @@ index 7431be3..f9e6d49 100644
                                  /* OOM? Let's try again later */
                                  cached_pid = CACHED_PID_UNSET;
                                  return new_pid;
--- 
-2.22.0
-

diff --git a/net-misc/networkmanager/files/networkmanager-data-fix-the-ID_NET_DRIVER-udev-rule.patch b/net-misc/networkmanager/files/networkmanager-data-fix-the-ID_NET_DRIVER-udev-rule.patch
deleted file mode 100644
index 1b94ab4..0000000
--- a/net-misc/networkmanager/files/networkmanager-data-fix-the-ID_NET_DRIVER-udev-rule.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 27d380b70ea839c7badab420361e4e65e023e8e9 Mon Sep 17 00:00:00 2001
-From: Lubomir Rintel <lkundrak@v3.sk>
-Date: Fri, 16 Aug 2019 13:22:09 +0200
-Subject: [PATCH] data: fix the ID_NET_DRIVER udev rule
-
-Systemd v243 is complaining about the wrong substitution there. That is
-sort of harmless, because systemd-udevd in that version doesn't need the
-rule anyway. But still fix it, to avoid a warning.
-
-Also, newer udevd's $PATH doesn't include sbin. That is also okay,
-because we don't need the rule to actually work there. But fix it
-anyway.
-
-https://bugzilla.redhat.com/show_bug.cgi?id=1740655
----
- data/84-nm-drivers.rules | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/data/84-nm-drivers.rules b/data/84-nm-drivers.rules
-index d246ef6ce..e398cb9f2 100644
---- a/data/84-nm-drivers.rules
-+++ b/data/84-nm-drivers.rules
-@@ -7,6 +7,6 @@ ACTION!="add|change", GOTO="nm_drivers_end"
- # Determine ID_NET_DRIVER if there's no ID_NET_DRIVER or DRIVERS (old udev?)
- ENV{ID_NET_DRIVER}=="?*", GOTO="nm_drivers_end"
- DRIVERS=="?*", GOTO="nm_drivers_end"
--PROGRAM="/bin/sh -c 'ethtool -i $1 | sed -n s/^driver:\ //p' -- $env{INTERFACE}", RESULT=="?*", ENV{ID_NET_DRIVER}="%c"
-+PROGRAM="/bin/sh -c '/usr/sbin/ethtool -i $$1 |/usr/bin/sed -n s/^driver:\ //p' -- $env{INTERFACE}", ENV{ID_NET_DRIVER}="%c"
- 
- LABEL="nm_drivers_end"
--- 
-2.21.0
-

diff --git a/net-misc/networkmanager/networkmanager-1.18.6.ebuild b/net-misc/networkmanager/networkmanager-1.26.0.ebuild
similarity index 87%
rename from net-misc/networkmanager/networkmanager-1.18.6.ebuild
rename to net-misc/networkmanager/networkmanager-1.26.0.ebuild
index 3a90c0c..89691ae 100644
--- a/net-misc/networkmanager/networkmanager-1.18.6.ebuild
+++ b/net-misc/networkmanager/networkmanager-1.26.0.ebuild
@@ -3,10 +3,9 @@
 
 EAPI=6
 GNOME_ORG_MODULE="NetworkManager"
-GNOME2_EAUTORECONF="yes"
 GNOME2_LA_PUNT="yes"
 VALA_USE_DEPEND="vapigen"
-PYTHON_COMPAT=( python{3_6,3_7} )
+PYTHON_COMPAT=( python3_{6,7,8} )
 
 inherit bash-completion-r1 gnome2 linux-info multilib python-any-r1 systemd readme.gentoo-r1 vala virtualx udev multilib-minimal
 
@@ -14,9 +13,9 @@ DESCRIPTION="A set of co-operative tools that make networking simple and straigh
 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
+SLOT="0"
 
-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"
+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"
 RESTRICT="!test? ( test )"
 
 REQUIRED_USE="
@@ -28,13 +27,11 @@ REQUIRED_USE="
 	?? ( consolekit elogind systemd )
 "
 
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ppc ~ppc64 ~sparc x86"
+KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 x86"
 
 # gobject-introspection-0.10.3 is needed due to gnome bug 642300
 # wpa_supplicant-0.7.3-r3 is needed due to bug 359271
 COMMON_DEPEND="
-	>=sys-apps/dbus-1.2[${MULTILIB_USEDEP}]
-	>=dev-libs/dbus-glib-0.100[${MULTILIB_USEDEP}]
 	>=dev-libs/glib-2.40:2[${MULTILIB_USEDEP}]
 	policykit? ( >=sys-auth/polkit-0.106 )
 	net-libs/libndp[${MULTILIB_USEDEP}]
@@ -54,7 +51,8 @@ COMMON_DEPEND="
 	elogind? ( >=sys-auth/elogind-219 )
 	introspection? ( >=dev-libs/gobject-introspection-0.10.3:= )
 	json? ( >=dev-libs/jansson-2.5[${MULTILIB_USEDEP}] )
-	modemmanager? ( >=net-misc/modemmanager-0.7.991:0= )
+	modemmanager? ( >=net-misc/modemmanager-0.7.991:0=
+		net-misc/mobile-broadband-provider-info )
 	ncurses? ( >=dev-libs/newt-0.52.15 )
 	nss? ( >=dev-libs/nss-3.11:=[${MULTILIB_USEDEP}] )
 	!nss? ( gnutls? (
@@ -104,15 +102,13 @@ DEPEND="${COMMON_DEPEND}
 "
 
 PATCHES=(
-	"${FILESDIR}"/${PN}-data-fix-the-ID_NET_DRIVER-udev-rule.patch
-	"${FILESDIR}"/1.18.4-iwd1-compat.patch # included in 1.21.3+
-	"${FILESDIR}"/${PV}-fix-bashisms.patch
-
 	# Required to build on musl
 	"${FILESDIR}"/musl-basic.patch
 	"${FILESDIR}"/musl-network-support.patch
 	"${FILESDIR}"/musl-fix-includes.patch
 	"${FILESDIR}"/musl-process-util.patch
+	"${FILESDIR}"/musl-compar.patch
+	"${FILESDIR}"/musl-no-drand.patch
 )
 
 python_check_deps() {
@@ -178,20 +174,18 @@ multilib_src_configure() {
 		--disable-more-warnings
 		--disable-static
 		--localstatedir=/var
+		--with-runstatedir=/run
 		--disable-lto
-		--disable-config-plugin-ibft
 		--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, bug #665338
-		--with-libnm-glib
 		$(multilib_native_with nmcli)
 		--with-udev-dir="$(get_udevdir)"
 		--with-config-plugins-default=keyfile
 		--with-iptables=/sbin/iptables
 		--with-ebpf=yes
 		$(multilib_native_enable concheck)
+		--with-nm-cloud-setup=$(multilib_is_native_abi && echo yes || echo no)
 		--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.
@@ -199,8 +193,10 @@ multilib_src_configure() {
 		--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)
+		--without-dhcpcanon
 		$(use_with dhclient)
 		$(use_with dhcpcd)
+		--with-config-dhcp-default=internal
 		$(multilib_native_use_enable introspection)
 		$(use_enable json json-validation)
 		$(multilib_native_use_enable ppp)
@@ -210,7 +206,6 @@ multilib_src_configure() {
 		$(multilib_native_use_with ofono)
 		$(multilib_native_use_enable ovs)
 		$(multilib_native_use_enable policykit polkit)
-		$(multilib_native_use_enable policykit polkit-agent)
 		$(multilib_native_use_with resolvconf)
 		$(multilib_native_use_with selinux)
 		$(multilib_native_use_with systemd systemd-journal)
@@ -241,7 +236,7 @@ multilib_src_configure() {
 		ln -s "${S}/man" man || die
 	fi
 
-	ECONF_SOURCE=${S} runstatedir="/run" gnome2_src_configure "${myconf[@]}"
+	ECONF_SOURCE=${S} gnome2_src_configure "${myconf[@]}"
 }
 
 multilib_src_compile() {
@@ -250,9 +245,6 @@ multilib_src_compile() {
 	else
 		local targets=(
 			libnm/libnm.la
-			libnm-util/libnm-util.la
-			libnm-glib/libnm-glib.la
-			libnm-glib/libnm-glib-vpn.la
 		)
 		emake "${targets[@]}"
 	fi
@@ -274,14 +266,7 @@ multilib_src_install() {
 	else
 		local targets=(
 			install-libLTLIBRARIES
-			install-libdeprecatedHEADERS
-			install-libnm_glib_libnmvpnHEADERS
-			install-libnm_glib_libnmincludeHEADERS
-			install-libnm_util_libnm_util_includeHEADERS
 			install-libnmincludeHEADERS
-			install-nodist_libnm_glib_libnmincludeHEADERS
-			install-nodist_libnm_glib_libnmvpnHEADERS
-			install-nodist_libnm_util_libnm_util_includeHEADERS
 			install-nodist_libnmincludeHEADERS
 			install-pkgconfigDATA
 		)
@@ -354,4 +339,12 @@ pkg_postinst() {
 		ewarn "either reconfigure affected networks or, at least, set the flag"
 		ewarn "value to '0'."
 	fi
+
+	if use dhclient || use dhcpcd; then
+		ewarn "You have enabled USE=dhclient and/or USE=dhcpcd, but NetworkManager since"
+		ewarn "version 1.20 defaults to the internal DHCP client. If the internal client"
+		ewarn "works for you, and you're happy with, the alternative USE flags can be"
+		ewarn "disabled. If you want to use dhclient or dhcpcd, then you need to tweak"
+		ewarn "the main.dhcp configuration option to use one of them instead of internal."
+	fi
 }


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] proj/musl:master commit in: net-misc/networkmanager/, net-misc/networkmanager/files/
@ 2020-12-17  3:12 Jory Pratt
  0 siblings, 0 replies; 7+ messages in thread
From: Jory Pratt @ 2020-12-17  3:12 UTC (permalink / raw
  To: gentoo-commits

commit:     e0e6e12e5e31690ce996a3ae71f4ecfde7cd4565
Author:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 17 03:12:30 2020 +0000
Commit:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
CommitDate: Thu Dec 17 03:12:30 2020 +0000
URL:        https://gitweb.gentoo.org/proj/musl.git/commit/?id=e0e6e12e

net-misc/networkmanager: sync with stable ::gentoo

Package-Manager: Portage-3.0.12, Repoman-3.0.2
Signed-off-by: Jory Pratt <anarchy <AT> gentoo.org>

 net-misc/networkmanager/Manifest                   |   2 +-
 .../networkmanager-1.26.4-iwd-fixes-pr640.patch    | 169 +++++++++++++++++++++
 ...26.0-r1.ebuild => networkmanager-1.26.4.ebuild} |   9 +-
 3 files changed, 177 insertions(+), 3 deletions(-)

diff --git a/net-misc/networkmanager/Manifest b/net-misc/networkmanager/Manifest
index db1ec14..a11544c 100644
--- a/net-misc/networkmanager/Manifest
+++ b/net-misc/networkmanager/Manifest
@@ -1 +1 @@
-DIST NetworkManager-1.26.0.tar.xz 4956796 BLAKE2B 752b6b47387bac5787d06be7f31cc7387798d0c917977c8e72d6d21538a86c167003901d628e596109aec28816f56fd8cd6bf2b46a8d4918a7e6cf1946586550 SHA512 46035fda8f154497ba4a634e4bf7f0a11f579d0d3f4ffdcea7d47ea0bde6dd0183885491f5453255af7b163ae3db4f0c62c3161913a8c30c35b6475887235b6d
+DIST NetworkManager-1.26.4.tar.xz 5051424 BLAKE2B 53a8fd9f9a061b9ac6b117f431e72b1967cfd2fffb539e0dc9335c37a3a59dc33562e81f7887019c3460f403a95b96e8105b1ae41b00c8488ae12a370a3d82ff SHA512 91e865c83a6ae694c9f6aa50e7f938dfa55bfddac32a6dfb73e6edb34b2539068ff9f83bf662bb2d689bd3c66cf53d7fa015930940cf7bda2d4a16561cf02328

diff --git a/net-misc/networkmanager/files/networkmanager-1.26.4-iwd-fixes-pr640.patch b/net-misc/networkmanager/files/networkmanager-1.26.4-iwd-fixes-pr640.patch
new file mode 100644
index 0000000..b3b6375
--- /dev/null
+++ b/net-misc/networkmanager/files/networkmanager-1.26.4-iwd-fixes-pr640.patch
@@ -0,0 +1,169 @@
+Backport of https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/640
+
+--- a/src/devices/wifi/nm-device-iwd.c
++++ b/src/devices/wifi/nm-device-iwd.c
+@@ -1905,38 +1905,39 @@ schedule_periodic_scan (NMDeviceIwd *self, gboolean initial_scan)
+ {
+ 	NMDeviceIwdPrivate *priv = NM_DEVICE_IWD_GET_PRIVATE (self);
+ 	GVariant *value;
+-	gboolean disconnected;
++	gboolean disconnected = TRUE;
+ 	guint interval;
+ 
+-	if (!priv->can_scan || priv->scan_requested)
+-		return;
+-
+-	value = g_dbus_proxy_get_cached_property (priv->dbus_station_proxy, "State");
+-	disconnected = nm_streq0 (get_variant_state (value), "disconnected");
+-	g_variant_unref (value);
++	if (priv->can_scan) {
++		value        = g_dbus_proxy_get_cached_property (priv->dbus_station_proxy, "State");
++		disconnected = nm_streq0 (get_variant_state (value), "disconnected");
++		g_variant_unref (value);
++	}
+ 
+ 	/* Start scan immediately after a disconnect, mode change or
+-	 * device UP, otherwise wait a period dependent on the current
+-	 * state.
++	 * device UP, otherwise wait 10 seconds.  When connected, update
++	 * AP list mainly on UI requests.
+ 	 *
+ 	 * (initial_scan && disconnected) override priv->scanning below
+ 	 * because of an IWD quirk where a device will often be in the
+ 	 * autoconnect state and scanning at the time of our initial_scan,
+-	 * but our logic will the send it a Disconnect() causeing IWD to
++	 * but our logic will then send it a Disconnect() causing IWD to
+ 	 * exit autoconnect and interrupt the ongoing scan, meaning that
+ 	 * we still want a new scan ASAP.
+ 	 */
+-	if (initial_scan && disconnected)
++	if (!priv->can_scan || !disconnected || priv->scan_requested || priv->scanning)
++		interval = -1;
++	else if (initial_scan)
+ 		interval = 0;
+-	else if (!priv->periodic_scan_id && !priv->scanning)
+-		interval = disconnected ? 10 : 20;
++	else if (!priv->periodic_scan_id)
++		interval = 10;
+ 	else
+ 		return;
+ 
+ 	nm_clear_g_source (&priv->periodic_scan_id);
+-	priv->periodic_scan_id = g_timeout_add_seconds (interval,
+-	                                                periodic_scan_timeout_cb,
+-	                                                self);
++
++	if (interval != (guint) -1)
++		priv->periodic_scan_id = g_timeout_add_seconds (interval, periodic_scan_timeout_cb, self);
+ }
+ 
+ static void
+@@ -2331,7 +2332,6 @@ powered_changed (NMDeviceIwd *self, gboolean new_powered)
+ 		update_aps (self);
+ 	} else {
+ 		set_can_scan (self, FALSE);
+-		nm_clear_g_source (&priv->periodic_scan_id);
+ 		priv->scanning = FALSE;
+ 		priv->scan_requested = FALSE;
+ 		priv->can_connect = FALSE;
+@@ -2537,17 +2537,7 @@ dispose (GObject *object)
+ 
+ 	nm_clear_g_cancellable (&priv->cancellable);
+ 
+-	nm_clear_g_source (&priv->periodic_scan_id);
+-
+-	cleanup_association_attempt (self, TRUE);
+-
+-	g_clear_object (&priv->dbus_device_proxy);
+-	g_clear_object (&priv->dbus_station_proxy);
+-	g_clear_object (&priv->dbus_ap_proxy);
+-	g_clear_object (&priv->dbus_adhoc_proxy);
+-	g_clear_object (&priv->dbus_obj);
+-
+-	remove_all_aps (self);
++	nm_device_iwd_set_dbus_object(self, NULL);
+ 
+ 	G_OBJECT_CLASS (nm_device_iwd_parent_class)->dispose (object);
+ 
+--- a/src/devices/wifi/nm-iwd-manager.c
++++ b/src/devices/wifi/nm-iwd-manager.c
+@@ -622,6 +622,38 @@ interface_removed (GDBusObjectManager *object_manager, GDBusObject *object,
+ 	}
+ }
+ 
++static void
++object_added(GDBusObjectManager *object_manager, GDBusObject *object, gpointer user_data)
++{
++    GList *interfaces, *iter;
++
++    interfaces = g_dbus_object_get_interfaces(object);
++
++    for (iter = interfaces; iter; iter = iter->next) {
++        GDBusInterface *interface = G_DBUS_INTERFACE(iter->data);
++
++        interface_added(NULL, object, interface, user_data);
++    }
++
++    g_list_free_full(interfaces, g_object_unref);
++}
++
++static void
++object_removed(GDBusObjectManager *object_manager, GDBusObject *object, gpointer user_data)
++{
++    GList *interfaces, *iter;
++
++    interfaces = g_dbus_object_get_interfaces(object);
++
++    for (iter = interfaces; iter; iter = iter->next) {
++        GDBusInterface *interface = G_DBUS_INTERFACE(iter->data);
++
++        interface_removed(NULL, object, interface, user_data);
++    }
++
++    g_list_free_full(interfaces, g_object_unref);
++}
++
+ static void
+ connection_removed (NMSettings *settings,
+                     NMSettingsConnection *sett_conn,
+@@ -682,22 +714,6 @@ _om_has_name_owner (GDBusObjectManager *object_manager)
+ 	return !!name_owner;
+ }
+ 
+-static void
+-object_added (NMIwdManager *self, GDBusObject *object)
+-{
+-	GList *interfaces, *iter;
+-
+-	interfaces = g_dbus_object_get_interfaces (object);
+-
+-	for (iter = interfaces; iter; iter = iter->next) {
+-		GDBusInterface *interface = G_DBUS_INTERFACE (iter->data);
+-
+-		interface_added (NULL, object, interface, self);
+-	}
+-
+-	g_list_free_full (interfaces, g_object_unref);
+-}
+-
+ static void
+ release_object_manager (NMIwdManager *self)
+ {
+@@ -836,12 +852,16 @@ got_object_manager (GObject *object, GAsyncResult *result, gpointer user_data)
+ 		                  G_CALLBACK (interface_added), self);
+ 		g_signal_connect (priv->object_manager, "interface-removed",
+ 		                  G_CALLBACK (interface_removed), self);
++		g_signal_connect (priv->object_manager, "object-added",
++		                  G_CALLBACK(object_added), self);
++		g_signal_connect (priv->object_manager, "object-removed",
++		                  G_CALLBACK(object_removed), self);
+ 
+ 		g_hash_table_remove_all (priv->known_networks);
+ 
+ 		objects = g_dbus_object_manager_get_objects (object_manager);
+ 		for (iter = objects; iter; iter = iter->next)
+-			object_added (self, G_DBUS_OBJECT (iter->data));
++			object_added (NULL, G_DBUS_OBJECT(iter->data), self);
+ 
+ 		g_list_free_full (objects, g_object_unref);
+ 

diff --git a/net-misc/networkmanager/networkmanager-1.26.0-r1.ebuild b/net-misc/networkmanager/networkmanager-1.26.4.ebuild
similarity index 98%
rename from net-misc/networkmanager/networkmanager-1.26.0-r1.ebuild
rename to net-misc/networkmanager/networkmanager-1.26.4.ebuild
index 243c99d..ff6099b 100644
--- a/net-misc/networkmanager/networkmanager-1.26.0-r1.ebuild
+++ b/net-misc/networkmanager/networkmanager-1.26.4.ebuild
@@ -27,7 +27,7 @@ REQUIRED_USE="
 	?? ( elogind systemd )
 "
 
-KEYWORDS="amd64 arm arm64 ppc ppc64 x86"
+KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 x86"
 
 # gobject-introspection-0.10.3 is needed due to gnome bug 642300
 # wpa_supplicant-0.7.3-r3 is needed due to bug 359271
@@ -100,7 +100,7 @@ DEPEND="${COMMON_DEPEND}
 	)
 "
 
-PATCHES=(
+PATCHES=( "${FILESDIR}"/${PN}-1.26.4-iwd-fixes-pr640.patch
 	# Required to build on musl
 	"${FILESDIR}"/musl-basic.patch
 	"${FILESDIR}"/musl-network-support.patch
@@ -166,6 +166,11 @@ src_prepare() {
 
 	use vala && vala_src_prepare
 	gnome2_src_prepare
+
+	sed -i \
+		-e 's#/usr/bin/sed#/bin/sed#' \
+		data/84-nm-drivers.rules \
+		|| die
 }
 
 multilib_src_configure() {


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] proj/musl:master commit in: net-misc/networkmanager/, net-misc/networkmanager/files/
@ 2021-02-03 16:19 Jory Pratt
  0 siblings, 0 replies; 7+ messages in thread
From: Jory Pratt @ 2021-02-03 16:19 UTC (permalink / raw
  To: gentoo-commits

commit:     b1ffa4526aea7e30f2378c6d59f7f2da78164c0e
Author:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
AuthorDate: Wed Feb  3 16:19:27 2021 +0000
Commit:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
CommitDate: Wed Feb  3 16:19:27 2021 +0000
URL:        https://gitweb.gentoo.org/proj/musl.git/commit/?id=b1ffa452

net-misc/networkmanager: Update reallocarray patch for autotools build

Package-Manager: Portage-3.0.14, Repoman-3.0.2
Signed-off-by: Jory Pratt <anarchy <AT> gentoo.org>

 net-misc/networkmanager/files/reallocarray-1.patch | 43 ++++++++++++++++++++++
 net-misc/networkmanager/files/reallocarray.patch   | 22 -----------
 .../networkmanager/networkmanager-1.26.4.ebuild    |  2 +-
 3 files changed, 44 insertions(+), 23 deletions(-)

diff --git a/net-misc/networkmanager/files/reallocarray-1.patch b/net-misc/networkmanager/files/reallocarray-1.patch
new file mode 100644
index 0000000..2cc703f
--- /dev/null
+++ b/net-misc/networkmanager/files/reallocarray-1.patch
@@ -0,0 +1,43 @@
+From 6f6c844ab880d5535a05dd341643a28f7afeb6ec Mon Sep 17 00:00:00 2001
+From: Jory Pratt <anarchy@gentoo.org>
+Date: Wed, 3 Feb 2021 09:58:22 -0600
+Subject: [PATCH] musl [added support for reallocarray](0), but the function
+ prototype is declared in `stdlib.h` instead of `malloc.h`.
+
+Update the check for reallocarray to check both in `malloc.h` and
+`stdlib.h`.
+
+[0]:https://git.musl-libc.org/cgit/musl/commit/?id=821083ac7b54eaa040d5a8ddc67c6206a175e0ca
+---
+ configure    | 2 +-
+ configure.ac | 1 +
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/configure b/configure
+index 40eed6c..4d12779 100755
+--- a/configure
++++ b/configure
+@@ -18252,7 +18252,7 @@ _ACEOF
+ 
+ ac_fn_c_check_decl "$LINENO" "reallocarray" "ac_cv_have_decl_reallocarray" "
+ #include <malloc.h>
+-
++#include <stdlib.h>
+ "
+ if test "x$ac_cv_have_decl_reallocarray" = xyes; then :
+   ac_have_decl=1
+diff --git a/configure.ac b/configure.ac
+index 0d448f3..bfc1972 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -83,6 +83,7 @@ AC_CHECK_DECLS([
+ 	reallocarray],
+ 	[], [], [[
+ #include <malloc.h>
++#include <stdlib.h>
+ ]])
+ 
+ AC_CHECK_DECLS([
+-- 
+2.26.2
+

diff --git a/net-misc/networkmanager/files/reallocarray.patch b/net-misc/networkmanager/files/reallocarray.patch
deleted file mode 100644
index 98722f0..0000000
--- a/net-misc/networkmanager/files/reallocarray.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-musl [added support for reallocarray](0), but the function prototype is
-declared in `stdlib.h` instead of `malloc.h`.
-
-Update the check for reallocarray to check both in `malloc.h` and
-`stdlib.h`.
-
-[0]:https://git.musl-libc.org/cgit/musl/commit/?id=821083ac7b54eaa040d5a8ddc67c6206a175e0ca
-
-diff --git a/meson.build b/meson.build
-index 22a3c4c..12a10c5 100644
---- a/meson.build
-+++ b/meson.build
-@@ -126,7 +126,8 @@ config_h.set10('HAVE_RT_SIGQUEUEINFO', cc.has_function('rt_sigqueueinfo', prefix
-                                                                                      #include <sys/wait.h>'''))
- config_h.set('HAVE_SECURE_GETENV', cc.has_function('secure_getenv'))
- config_h.set('HAVE___SECURE_GETENV', cc.has_function('__secure_getenv'))
--config_h.set10('HAVE_DECL_REALLOCARRAY', cc.has_function('reallocarray', prefix: '#include <malloc.h>'))
-+config_h.set10('HAVE_DECL_REALLOCARRAY', cc.has_function('reallocarray', prefix: '''#include <malloc.h>
-+                                                                                    #include <stdlib.h>'''))
- config_h.set10('HAVE_DECL_EXPLICIT_BZERO', cc.has_function('explicit_bzero', prefix: '#include <string.h>'))
- config_h.set10('HAVE_DECL_MEMFD_CREATE', cc.has_function('memfd_create', prefix: '#include <sys/mman.h>'))
- 

diff --git a/net-misc/networkmanager/networkmanager-1.26.4.ebuild b/net-misc/networkmanager/networkmanager-1.26.4.ebuild
index 50d95a0..eec7261 100644
--- a/net-misc/networkmanager/networkmanager-1.26.4.ebuild
+++ b/net-misc/networkmanager/networkmanager-1.26.4.ebuild
@@ -108,7 +108,7 @@ PATCHES=( "${FILESDIR}"/${PN}-1.26.4-iwd-fixes-pr640.patch
 	"${FILESDIR}"/musl-process-util.patch
 	"${FILESDIR}"/musl-compar.patch
 	"${FILESDIR}"/musl-no-drand.patch
-	"${FILESDIR}"/reallocarray.patch
+	"${FILESDIR}"/reallocarray-1.patch
 )
 
 python_check_deps() {


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-02-03 16:19 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-02-03 16:19 [gentoo-commits] proj/musl:master commit in: net-misc/networkmanager/, net-misc/networkmanager/files/ Jory Pratt
  -- strict thread matches above, loose matches on Subject: below --
2020-12-17  3:12 Jory Pratt
2020-08-20 23:59 Jory Pratt
2020-06-09  2:22 Jory Pratt
2020-04-27 18:53 Jory Pratt
2019-03-28 21:45 Jory Pratt
2017-08-25 12:36 Jory Pratt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox