eudev-1.3 doesn't provide >=libudev-232 (pkg-config) package, thus the virtual is wrong to have >=sys-fs/eudev-1.3 as a provider.
eudev should be dropped from the virtual, which of course isn't so feasible, but definitely the dep needs to get fixed to require a revision that fixes it in eudev - once that fix eventually materializes, if ever, eudev maintainers are ignoring the bug so far.
>=virtual/libudev-228 is used as a dep in x11-wm/mutter-3.32.x, because that's also what it requires (the pkg-config dep atom is '>= 228'). Therefore it's completely broken right now for ~arch + eudev users and the only solution is to directly depend on libudev or changing virtual or having eudev be fixed and virtual reflected to that.
All current eudev revisions declare a version 220 (or older, haven't checked older versions) in its .pc file.
Also note that eudev is apparently the last provider to provide static-libs flag.
I don't really see any reasonable way forward without some input from the eudev team.
If you can suggest some workable solution, that would be helpful.
(In reply to Michał Górny from comment #2)
> Also note that eudev is apparently the last provider to provide static-libs
It looks like recent systemd releases support building static libs again. I'll look into exposing that in sys-fs/udev and sys-apps/systemd.
This should be fixed with eudev-3.2.9 which I just added to the tree.
The bug has been closed via the following commit(s):
Author: Michał Górny <firstname.lastname@example.org>
AuthorDate: 2019-10-26 15:43:59 +0000
Commit: Michał Górny <email@example.com>
CommitDate: 2019-10-27 15:30:40 +0000
virtual/libudev: Remove incorrect eudev provider from 232
Remove sys-fs/eudev from the list of providers for 232 since it does
not satisfy the requirement on that version. Since it is the only
provider offering static-libs, remove that flag as well (reverse
dependencies have already been updated to account for that). While
at it, bump to EAPI 7.
People who are in dire need of static libraries or eudev in general
can still install the older version of virtual/libudev.
Signed-off-by: Michał Górny <firstname.lastname@example.org>
virtual/libudev/libudev-215-r1.ebuild | 2 +-
virtual/libudev/libudev-232-r1.ebuild | 15 +++++++++++++++
virtual/libudev/libudev-232.ebuild | 24 ------------------------
3 files changed, 16 insertions(+), 25 deletions(-)
Sorry but I would guess that this fix breaks "stable" on all non-systemd systems.
I just emerged --sync and emerged @world (i.e. no configuration change) and also got what is described on the forums in https://forums.gentoo.org/viewtopic-t-1103396-highlight-eudev.html by others
--- snip ---
emerge --update --deep --changed-use --backtrack=30 @world
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild N ] acct-group/kmem-0
[ebuild U ] mail-client/thunderbird-68.2.0 [60.9.0] USE="gmp-autoupdate%* system-av1%* system-harfbuzz* system-icu* system-jpeg* system-libevent* system-libvpx* system-sqlite* system-webp%* -eme-free% -lto% (-pgo) -test% -wayland%" CPU_FLAGS_X86="avx2%*"
[ebuild N #] sys-fs/udev-242 USE="acl kmod (-selinux)" ABI_X86="32 (64) (-x32)"
[uninstall ] sys-fs/eudev-3.2.5
[blocks b ] sys-fs/udev ("sys-fs/udev" is blocking sys-fs/eudev-3.2.5)
[ebuild U ] virtual/libudev-232-r1 
[ebuild U ] dev-libs/libgudev-233-r1 
[ebuild U ] dev-libs/libusb-1.0.21-r1 [1.0.21]
[ebuild U ] sys-apps/pciutils-3.5.6-r1 [3.5.6]
[ebuild U ] sys-fs/lvm2-2.02.184-r5 [2.02.184-r4]
[ebuild U ] www-client/chromium-78.0.3904.70 [77.0.3865.120]
[ebuild U ] sys-fs/cryptsetup-2.2.1-r1 [2.2.1]
The following mask changes are necessary to proceed:
(see "package.unmask" in the portage(5) man page for more details)
# required by virtual/libudev-232-r1::gentoo[-systemd]
# required by dev-libs/libgudev-233-r1::gentoo
# required by virtual/libgudev-232::gentoo
# required by x11-misc/colord-1.3.5::gentoo
# required by x11-misc/xiccd-0.3.0::gentoo
# required by @selected
# required by @world (argument)
NOTE: The --autounmask-keep-masks option will prevent emerge
from creating package.unmask or ** keyword changes.
Would you like to add these changes to your config files? [Yes/No] n
--- snip ---
Obviously I do not want to unmask udev as it is a non-systemd system.
My guess (but I am no portage expert) is that removing eudev from the latest stable virual/libudev gives portage the impression that libudev is now mandatory .
BTW, with respect to
>People who are in dire need of static libraries or eudev in general
>can still install the older version of virtual/libudev.
Isn't stable (normally) supposed to build without such interventions?
Maybe you should thus declare virtual/libudev-232 unstable.
(In reply to Markus Baumeister from comment #7)
> Sorry but I would guess that this fix breaks "stable" on all non-systemd
Solved by adding this to package.accept_keywords: