On Sun, 2020-02-09 at 22:30 -0800, Zac Medico wrote: > Hi all (especially package owners in CC), > > In various packages we have inconsistent use of || preferences for > www-client/elinks, links, lynx, w3m, and w3mmee. This means that the > default preference depends on the combination of packages that one has > installed and the order that one has installed them, leading to > unpredictable results. > > Here is a list of relevant packages and their dependencies: > > app-text/docbook-sgml-utils: || ( www-client/lynx www-client/links > www-client/elinks virtual/w3m ) > app-text/sgmltools-lite: || ( www-client/w3m www-client/lynx ) > app-text/xmlto: || ( virtual/w3m www-client/lynx www-client/elinks ) > dev-lang/mono: || ( www-client/links www-client/lynx ) > mail-client/mutt: || ( www-client/lynx www-client/w3m www-client/elinks ) > mail-client/neomutt: || ( www-client/lynx www-client/w3m www-client/elinks ) > net-irc/irssi: || ( www-client/lynx www-client/elinks ) > sys-fs/gt5: || ( www-client/links www-client/elinks www-client/lynx ) > x11-base/xorg-server: || ( www-client/links www-client/lynx www-client/w3m ) > > How about if we create some more virtuals to cover all of the relevant > cases? I don't think that's a valid case for a virtual since those tools do not provide a consistent API for other packages. It just happens that some packages explicitly support multiple choices, and this is exactly what || indicates. The virtuals would really be arbitrary here. Developers would repeatedly fail to use them because they wouldn't naturally expect the virtual to exist. > > We've already got virtual/w3m to cover this particular case: > > || ( www-client/w3m www-client/w3mmee ) > > We might want to use nested virtuals, in the same way that virtual/jdk > nests under virtual/jre. -- Best regards, Michał Górny