Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 701752 - dev-libs/aws-sdk-cpp-1.7.178 Polly should not require pulseaudio
Summary: dev-libs/aws-sdk-cpp-1.7.178 Polly should not require pulseaudio
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: Sven Eden
URL:
Whiteboard:
Keywords: PullRequest
Depends on:
Blocks:
 
Reported: 2019-12-02 12:11 UTC by augustin
Modified: 2020-09-15 11:49 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description augustin 2019-12-02 12:11:41 UTC
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.
Comment 1 Sven Eden 2020-09-04 06:01:44 UTC
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?
Comment 2 augustin 2020-09-08 04:54:15 UTC
A USE flag to opt out sounds perfectly adequate. Thank you Sven for your hard work.
Comment 3 Sven Eden 2020-09-14 08:34:39 UTC
(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.
Comment 4 Larry the Git Cow gentoo-dev 2020-09-15 11:49:31 UTC
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(-)