I have installed dev-libs/aws-sdk-cpp versions: 1.7.178-r1 (http polly rtti ssl). The only module I need is polly. However, dev-libs/aws-sdk-cpp-1.7.178 ebuild requires pulseaudio for polly. When I tried to emerge it on my poor little server, it tried to pull in many pulseaudio dependencies that were not already installed. I cancelled the emerge because I had previously manually installed the dev-libs/aws-sdk-cpp polly (back when the ebuild did not take use flags into account), and I knew that it didn't need pulseaudio. So I created a modified version of the ebuild in a local overlay. The r1 version I have installed (dev-libs/aws-sdk-cpp-1.7.178-r1) is the one from my overlay and the only difference is that I deleted the line with RDEPEND: polly ? pulseaudio. I know that pulseaudio is mentioned here: https://aws.amazon.com/blogs/developer/cross-platform-text-to-speech-for-c-with-amazon-polly/ and in the aws-cpp-sdk-text-to-speech/CMakeLists.txt https://github.com/aws/aws-sdk-cpp/commit/21d35a55d1061598b6e63a2a57312d2dc0cb1c00#diff-c96b975cdb6c43dfcdf1689abe773d4c I do not know what aws-cpp-sdk-text-to-speech is, nor its relation to polly, but I managed to successfully emerge dev-libs/aws-sdk-cpp with Polly but without pulseaudio installed. My application works as expected, without emerging heavy, unnecessary packages. So, can the dependency on pulseaudio be removed for polly? If necessary, add another use flag for pulseaudio or text-to-speech.
You are right, polly itself does not need it to work, but tts uses it if it is there. The problem was, when I first introduced a USE flag for each individual module, that the list was incredibly long. (You know how many modules this stuff has) I was forced to put things together to reduce the amount of USE flags, so that you enable/disable logic groups instead. And Polly and TTS do belong together. (Well, TTS needs Polly, but afaik it is not vice versa.) I don't want to split these up again, but I'll add a pulseaudio USE flag while working on bug 717578, so that PA is no longer mandatory, but can be opted out. Would that be a viable solution for you?
A USE flag to opt out sounds perfectly adequate. Thank you Sven for your hard work.
(In reply to augustin from comment #2) > A USE flag to opt out sounds perfectly adequate. Thank you Sven for your > hard work. Great! I am currently build testing for bug 717578. I also have to solve bug 735286 before I can file a PR, but I am making good progress.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=110733e64174c6fd57836177d8f68673a5921d48 commit 110733e64174c6fd57836177d8f68673a5921d48 Author: Sven Eden <sven.eden@prydeworx.com> AuthorDate: 2020-09-14 13:45:18 +0000 Commit: Joonas Niilola <juippis@gentoo.org> CommitDate: 2020-09-15 11:49:24 +0000 dev-libs/aws-sdk-cpp: Bump to 1.8.46 and py3 upgrade (#717578) This ebuild does not only bump the version, but also fixes two issues and adds several new modules as follows. 1. USE flag "polly" no longer pulls in media-sound/pulseaudio, as it is not needed for "polly", but for "text-to-speech". The new USE flag "pulseaudio" lets the user decide whether to depend on media-sound/pulseaudio or not. (bug 701752) 2. All python scripts are upgraded for python-3.7 to 3.9 compatibility (bug 735286) 3. The following modules have been added: * accessanalyzer, dataexchange, identitystore, sso, sso-oidc Added to USE flag "access-management" * appconfig New USE flag "appconfig" * appflow, braket, migrationhub-config, schemas Added to USE flag "other" * codeartifact, codeguruprofiler, codeguru-reviewer, codestar-connections, codestar-notifications, honeycode Added to USE "cloud-dev" * compute-optimizer, synthetics Added to USE "cloudwatch" * ebs New USE flag "ebs" * elastic-inference New USE flag "elasticinference" * forecast, forecastquery New USE flag "forecast" * frauddetector New USE flag "frauddetector" * imagebuilder, savingsplans Added to USE flag "ec2" * iotsecuretunneling, iotsitewise Added to USE flag "iot" * ivs Added to USE flag "kinesis" * kendra New USE flag "kendra" * macie2 Added to USE flag "macie" * marketplace-catalog Added to USE flag "marketplace" * networkmanager New USE flag "networkmanager" * outposts New USE flag "outposts" * qldb, qldb-session New USE flag "qldb" * sagemaker-a2i-runtime Added to USE flag "sagemaker" * sesv2 Added to USE flag "email" * wafv2 Added to USE flag "waf" * workmailmessageflow Added to USE flag "cloud-desktop" Closes: https://bugs.gentoo.org/701752 Closes: https://bugs.gentoo.org/717578 Closes: https://bugs.gentoo.org/735286 Package-Manager: Portage-3.0.7, Repoman-3.0.1 Signed-off-by: Sven Eden <sven.eden@prydeworx.com> Signed-off-by: Joonas Niilola <juippis@gentoo.org> dev-libs/aws-sdk-cpp/Manifest | 1 + dev-libs/aws-sdk-cpp/aws-sdk-cpp-1.8.46.ebuild | 183 +++++++++++++++++++++ ...cpp-upgrade_CI_ConstructReleaseDoc_py-3.9.patch | 10 ++ ...dk-cpp-upgrade_CI_ExtractBuildArgs_py-3.9.patch | 22 +++ ...ade_CI_handle_release_notification_py-3.9.patch | 9 + ...rade_CI_move_release_doc_to_models_py-3.9.patch | 9 + ...droid-build_build_and_test_android_py-3.9.patch | 28 ++++ ...ry-release-pipeline_lambda_publish_py-3.9.patch | 14 ++ ...rosslinks_generate_cross_link_data_py-3.9.patch | 19 +++ ...cpp-upgrade_scripts_build_3rdparty_py-3.9.patch | 70 ++++++++ ...-cpp-upgrade_scripts_build_example_py-3.9.patch | 18 ++ ...p-upgrade_scripts_dummy_web_server_py-3.9.patch | 20 +++ ...-upgrade_scripts_endpoints_checker_py-3.9.patch | 29 ++++ ...pp-upgrade_scripts_gather_3rdparty_py-3.9.patch | 11 ++ ...-cpp-upgrade_scripts_generate_sdks_py-3.9.patch | 25 +++ ...-cpp-upgrade_scripts_renew_license_py-3.9.patch | 11 ++ ...rade_scripts_run_integration_tests_py-3.9.patch | 17 ++ dev-libs/aws-sdk-cpp/metadata.xml | 132 ++++++++++++--- 18 files changed, 601 insertions(+), 27 deletions(-)