Networkmanager 1.14.6 doesn't seem to honour the iwd USE flag and does not install/register iwd as dependency: $ USE=iwd sudo emerge '=net-misc/networkmanager-1.14.6' These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] net-misc/networkmanager-1.14.6::gentoo USE="bluetooth dhclient introspection modemmanager ncurses nss policykit ppp systemd wext wifi -audit -connection-sharing (-consolekit) -dhcpcd (-elogind) -gnutls (-iwd) -json -ofono -ovs -resolvconf (-selinux) -teamd -test -vala" ABI_X86="(64) -32 (-x32)" 0 KiB While: $ USE=iwd sudo emerge '=net-misc/networkmanager-1.14.4' These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild N ~] net-wireless/iwd-0.16::gentoo USE="client monitor -ofono -wired" CPU_FLAGS_X86="aes ssse3" 702 KiB [ebuild UD ] net-misc/networkmanager-1.14.4::gentoo [1.14.6::gentoo] USE="bluetooth dhclient introspection iwd* modemmanager ncurses nss policykit ppp systemd wext wifi -audit -connection-sharing (-consolekit) -dhcpcd (-elogind) -gnutls -json -ofono -ovs -resolvconf (-selinux) -teamd -test -vala" ABI_X86="(64) -32 (-x32)" 0 KiB and: $ USE=iwd sudo emerge '=net-misc/networkmanager-1.16.0' These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild N ~] net-wireless/iwd-0.16::gentoo USE="client monitor -ofono -wired" CPU_FLAGS_X86="aes ssse3" 702 KiB [ebuild U ~] net-misc/networkmanager-1.16.0::gentoo [1.14.6::gentoo] USE="bluetooth dhclient introspection iwd* modemmanager ncurses nss policykit ppp systemd wext wifi -audit -connection-sharing (-consolekit) -dhcpcd (-elogind) -gnutls -json -ofono -ovs -resolvconf (-selinux) -teamd -test -vala" ABI_X86="(64) -32 (-x32)" 4,682 KiB I have not set specific use flags that would affect this, I believe: $ ag '(networkmanager|iwd)' /etc/portage /etc/portage/package.use/gnome-settings-daemon 1:gnome-base/gnome-settings-daemon networkmanager /etc/portage/package.accept_keywords/networkmanager 1:=net-misc/networkmanager-1.14.4 ~amd64 /etc/portage/package.accept_keywords/zzz_via_autounmask 322:# required by net-misc/networkmanager-1.14.4::gentoo[wifi,iwd] 323:# required by networkmanager (argument) 324:=net-wireless/iwd-0.10 ~amd64 408:# required by iwd (argument) 409:=net-wireless/iwd-0.16 ~amd64 /etc/portage/package.use/networkmanager 1:net-misc/networkmanager iwd /etc/portage/package.use/zzz_via_autounmask 49:>=gnome-base/gnome-control-center-3.20.2-r1 networkmanager 120:# required by net-misc/networkmanager-1.4.4-r1::gentoo[wifi] 121:# required by gnome-base/gnome-shell-3.20.4::gentoo[networkmanager] I'm confused about the different behaviour between 1.14.4 and 1.14.6, as the ebuilds only differ in keywords, and 1.16.0 doesn't seem to contain relevant changes...
There are no differences in 1.14.4 and 1.14.6 whatsoever; but for you 1.14.4 has USE=iwd available, but the USE flag is masked for you for 1.14.6. I suspect you have something going on about this in your /etc/portage
Note that networkmanager USE=iwd is stable masked on all versions, as there is no stable iwd package yet. I suspect you use a stable system (you've failed to include emerge --info, so not sure), have the USE flag locally unmasked, but only for the 1.14.4 version.
Created attachment 572558 [details] emerge --info here's my emerge --info , sorry for not attaching it first. I don't believe I have any specific masks. Once I accept keyword ~amd64 (which itself is stable, so shouldn't be needed, right?) for 1.14.6, iwd will install as a dependency. I guess this is a somewhat unexpected (at least for me) interplay of these use masks in the amd64 profile: /var/portage/profiles/arch/amd64/package.use.stable.mask 37:# net-wireless/iwd not stable yet 38:net-misc/networkmanager iwd /var/portage/profiles/arch/amd64/package.use.mask 50:# Unmask iwd support where net-wireless/iwd is keyworded 51:net-misc/connman -iwd 52:net-misc/networkmanager -iwd
Yes, if you mix keywords, it's your own job to do enough for this; not only package.accept_keywords iwd, but also any iwd USE flags you need that are stable masked. Once you accept ~arch for networkmanager (be it actually the current stable version or an upgrade to ~arch latest), you also make the USE=iwd visible.