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.
Ping.
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 > flag. 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. https://github.com/systemd/systemd/commit/70848ecfc6306711197394c0926e443e803ae870
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): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9f09d6675b255190d9376671c68565c54662d771 commit 9f09d6675b255190d9376671c68565c54662d771 Author: Michał Górny <mgorny@gentoo.org> AuthorDate: 2019-10-26 15:43:59 +0000 Commit: Michał Górny <mgorny@gentoo.org> 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. Closes: https://bugs.gentoo.org/697550 Signed-off-by: Michał Górny <mgorny@gentoo.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 [232] [ebuild U ] dev-libs/libgudev-233-r1 [233] [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) # /etc/portage/package.mask/systemd: =sys-fs/udev-242 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 > systems. Same here. Solved by adding this to package.accept_keywords: =sys-fs/eudev-3.2.9 =virtual/libudev-232-r2