dev-php/awl requires dev-lang/php[pdo,postgres,xml] https://z-push.org/ requires dev-php/awl – but not the postgres functionality of AWL. the postgres functionality is only a part of AWL, so it's save to drop the useflag.
In dynamic languages with no build system (for example, no ./configure --disable-foo) we tend to include every possible dependency to prevent problems down the road. If we delete the dependency, then it's easy to imagine a scenario where someone installs both awl and php[postgres], and begins using the php[postgres] functionality in awl. But unless awl depends on php[postgres], portage will happily depclean postgresql from the system and probably break a few websites. Since we can't optionally enable/disable thingas for real in awl, adding the dependency unconditionally is the safe option. To avoid that, we shouldn't just drop this dependency. Instead, I think a solution that will work for everyone (even if it looks superficially pointless) would be to add IUSE="postgres" to awl that does nothing except pull in php[postgres]. That way, at least, we do give people a way to tell the package manager that they need that stuff.
(In reply to Michael Orlitzky from comment #1) > To avoid that, we shouldn't just drop this dependency. Instead, I think a > solution that will work for everyone (even if it looks superficially > pointless) would be to add IUSE="postgres" to awl that does nothing except > pull in php[postgres]. That way, at least, we do give people a way to tell > the package manager that they need that stuff. thank you for the explanation, things I've to learn :) I made a new pull request with this solution.
Please update the pull request as required. As this change is only neccesary for out of tree packages, I will close the ticket as wontfix otherwise.
see pull request -> we will not introduce the use flag for for out of tree packages