aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJory A. Pratt <anarchy@gentoo.org>2018-06-15 17:19:31 -0500
committerJory A. Pratt <anarchy@gentoo.org>2018-06-15 17:19:31 -0500
commit170e986d53ea7c871d624c21e2d33a2fd9b23a01 (patch)
treee729dbb44506ecfc0a12adacd56c2ec0456d8506 /net-misc
parentapp-emulation/qemu: version bump to 2.12.0-r3 (diff)
downloadmusl-170e986d53ea7c871d624c21e2d33a2fd9b23a01.tar.gz
musl-170e986d53ea7c871d624c21e2d33a2fd9b23a01.tar.bz2
musl-170e986d53ea7c871d624c21e2d33a2fd9b23a01.zip
net-misc/networkmanager: Bump to latest version in tree
Diffstat (limited to 'net-misc')
-rw-r--r--net-misc/networkmanager/Manifest3
-rw-r--r--net-misc/networkmanager/files/0001-Support-musl-libc.patch108
-rw-r--r--net-misc/networkmanager/files/musl-basic.patch64
-rw-r--r--net-misc/networkmanager/files/musl-dlopen-configure-ac.patch11
-rw-r--r--net-misc/networkmanager/files/musl-network-support.patch42
-rw-r--r--net-misc/networkmanager/networkmanager-1.10.6.ebuild (renamed from net-misc/networkmanager/networkmanager-1.8.4.ebuild)24
-rw-r--r--net-misc/networkmanager/networkmanager-1.8.2.ebuild331
7 files changed, 133 insertions, 450 deletions
diff --git a/net-misc/networkmanager/Manifest b/net-misc/networkmanager/Manifest
index c6b53d13..898b2dfc 100644
--- a/net-misc/networkmanager/Manifest
+++ b/net-misc/networkmanager/Manifest
@@ -1,2 +1 @@
-DIST NetworkManager-1.8.2.tar.xz 3818844 SHA256 71a5efcd9e4c237ab57b2893ccc8f91f884ace3bec0e2bd4b31a4c9677ff1bf4 SHA512 7bebea66d8f494c052313224e9d5b1b4cf665482f07ee5d93defc3543f32296545a2d1097ab1fff27dbebb58e07a4bc47fbc0101163db92953ae66ac9b95524d WHIRLPOOL 5928c3d4c1a35dc9485c303f3ce7e7b33c3949a058bd566f8b779d5d6dfa11ee8fc365e1a7954a214cabea70f2239b0f6e2079a67616f5487abbd1d6053260a3
-DIST NetworkManager-1.8.4.tar.xz 3821500 SHA256 625e2eb36386dcae599075226200140d010f213b47f7202d83b3b1a202029212 SHA512 e9aa26e2abe4537c6cbba53e281493e32be8a9f0624d5323212848f286d1279ad2ab79a39de34ad0ea188c888b1b61c4ba4d4d053c4d227e68f9236955f69bb1 WHIRLPOOL 68d5721b06a978f4fa5db496f79eb5e56a007fe8966f4e083ed9f6140893e7fcbe0aedaa6357ed6f7fb4ceeae9c8b7aa8d92dd51c3ccd46048d1e1e5f62c1656
+DIST NetworkManager-1.10.6.tar.xz 4029656 BLAKE2B 0fa99dbb54c3f51755329f229f941e408d883aeff24bbcf0f9df143544190ab59ed5742caca42ea7cced949de0891ecc148394fbff1b9cd87b26c3a84f2a728e SHA512 8406ed561efff13b63dc218babdd2ad9e2816bcc829ba3ef2ce942bb5fa027640de28660381203016fa9cddb61412d3cd5102b7cbd29d0e284b5cb8d13dd8610
diff --git a/net-misc/networkmanager/files/0001-Support-musl-libc.patch b/net-misc/networkmanager/files/0001-Support-musl-libc.patch
deleted file mode 100644
index 14206d3b..00000000
--- a/net-misc/networkmanager/files/0001-Support-musl-libc.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-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/musl-basic.patch b/net-misc/networkmanager/files/musl-basic.patch
new file mode 100644
index 00000000..533ed984
--- /dev/null
+++ b/net-misc/networkmanager/files/musl-basic.patch
@@ -0,0 +1,64 @@
+--- 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>
+--- 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())
+
+--- 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;
diff --git a/net-misc/networkmanager/files/musl-dlopen-configure-ac.patch b/net-misc/networkmanager/files/musl-dlopen-configure-ac.patch
new file mode 100644
index 00000000..5df320b4
--- /dev/null
+++ b/net-misc/networkmanager/files/musl-dlopen-configure-ac.patch
@@ -0,0 +1,11 @@
+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-network-support.patch b/net-misc/networkmanager/files/musl-network-support.patch
new file mode 100644
index 00000000..73c19306
--- /dev/null
+++ b/net-misc/networkmanager/files/musl-network-support.patch
@@ -0,0 +1,42 @@
+--- 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"
+--- 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"
+
+--- 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"
diff --git a/net-misc/networkmanager/networkmanager-1.8.4.ebuild b/net-misc/networkmanager/networkmanager-1.10.6.ebuild
index ad337660..af4b2c46 100644
--- a/net-misc/networkmanager/networkmanager-1.8.4.ebuild
+++ b/net-misc/networkmanager/networkmanager-1.10.6.ebuild
@@ -1,14 +1,13 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 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 \
+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
DESCRIPTION="A set of co-operative tools that make networking simple and straightforward"
@@ -17,7 +16,7 @@ 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 policykit +ppp resolvconf selinux systemd teamd test vala +wext +wifi"
+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"
REQUIRED_USE="
modemmanager? ( ppp )
@@ -27,11 +26,10 @@ REQUIRED_USE="
?? ( consolekit elogind systemd )
"
-KEYWORDS="amd64 ~arm ~ia64 ppc ~sparc 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
-# 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}]
@@ -57,11 +55,12 @@ 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 )
+ json? ( dev-libs/jansson[${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}] )
ofono? ( net-misc/ofono )
+ ovs? ( dev-libs/jansson )
ppp? ( >=net-dialup/ppp-2.4.5:=[ipv6] )
resolvconf? ( net-dns/openresolv )
selinux? ( sys-libs/libselinux )
@@ -99,7 +98,9 @@ DEPEND="${COMMON_DEPEND}
"
PATCHES=(
- "${FILESDIR}"/0001-Support-musl-libc.patch
+ "${FILESDIR}"/musl-basic.patch
+ "${FILESDIR}"/musl-dlopen-configure-ac.patch
+ "${FILESDIR}"/musl-network-support.patch
)
python_check_deps() {
@@ -155,6 +156,7 @@ src_prepare() {
use vala && vala_src_prepare
gnome2_src_prepare
+ eautoconf
}
multilib_src_configure() {
@@ -188,12 +190,13 @@ multilib_src_configure() {
$(use_with dhclient)
$(use_with dhcpcd)
$(multilib_native_use_enable introspection)
- $(multilib_native_use_enable json json-validation)
+ $(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_enable ovs)
$(multilib_native_use_with resolvconf)
$(multilib_native_use_with selinux)
$(multilib_native_use_with systemd systemd-journal)
@@ -296,6 +299,9 @@ multilib_src_install_all() {
# 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"
+
+ # Empty
+ rmdir "${ED%/}"/var{/lib{/NetworkManager,},} || die
}
pkg_postinst() {
diff --git a/net-misc/networkmanager/networkmanager-1.8.2.ebuild b/net-misc/networkmanager/networkmanager-1.8.2.ebuild
deleted file mode 100644
index fbfed3ef..00000000
--- a/net-misc/networkmanager/networkmanager-1.8.2.ebuild
+++ /dev/null
@@ -1,331 +0,0 @@
-# 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="~amd64 ~arm ~ia64 ~ppc ~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
-}