commit: 6485cc9c782fd58a36d18c52b8552ca114b4bbbb Author: KotoishiHeart <trakrailysurely <AT> danceylove <DOT> net> AuthorDate: Fri Jun 20 12:57:44 2025 +0000 Commit: Okamura Kazuya <trakrailysurely <AT> danceylove <DOT> net> CommitDate: Fri Jun 20 22:35:39 2025 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=6485cc9c
dev-libs/aws-sdk-cpp: add 1.11.586 Nothing is enabled by default except for minimum cores, identity management, and sts. Even compiling with 16 threads using a Ryzen 9 7900 takes about 30 minutes with everything enabled. To help minimize build times, we make enabled services configurable per group. Signed-off-by: KotoishiHeart <trakrailysurely <AT> danceylove.net> Part-of: https://github.com/gentoo/guru/pull/331 Closes: https://github.com/gentoo/guru/pull/331 Signed-off-by: KotoishiHeart <trakrailysurely <AT> danceylove.net> dev-libs/aws-sdk-cpp/Manifest | 1 + dev-libs/aws-sdk-cpp/aws-sdk-cpp-1.11.586.ebuild | 97 ++++++++++++++++++++++ ...cpp-1.11.586-uint64_t-does-not-name-a-type.diff | 12 +++ dev-libs/aws-sdk-cpp/metadata.xml | 31 +++++++ 4 files changed, 141 insertions(+) diff --git a/dev-libs/aws-sdk-cpp/Manifest b/dev-libs/aws-sdk-cpp/Manifest new file mode 100644 index 0000000000..2b69bf036d --- /dev/null +++ b/dev-libs/aws-sdk-cpp/Manifest @@ -0,0 +1 @@ +DIST aws-sdk-cpp-1.11.586.tar.gz 74846065 BLAKE2B dd8e0e25d004c2a06d911a23749087199dbb383f2270065085d7ed7f3adb1f70e529ee4c74560d19fbcb7f605b865c41860280eb0fb9840b650b34842860e3e3 SHA512 873cf5efaede5196bc5f0aac8593b4d00626a39e660a4e492e498348dc9e15784fabecd9df42af8db3fbdd88500fba89692c2f5abb59c37a570243b5e59a51ee diff --git a/dev-libs/aws-sdk-cpp/aws-sdk-cpp-1.11.586.ebuild b/dev-libs/aws-sdk-cpp/aws-sdk-cpp-1.11.586.ebuild new file mode 100644 index 0000000000..89edeedd89 --- /dev/null +++ b/dev-libs/aws-sdk-cpp/aws-sdk-cpp-1.11.586.ebuild @@ -0,0 +1,97 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..13} ) + +inherit cmake python-single-r1 + +DESCRIPTION="AWS SDK for C++" +HOMEPAGE="https://aws.amazon.com/sdk-for-cpp/" +SRC_URI="https://github.com/aws/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +# BUILD_ONLY lists +AWS_GROUP_storage="backup;backup-gateway;datasync;ebs;fsx;glacier;mediapackage;mediapackage-vod;mediapackagev2;mediastore;mediastore-data;s3;s3-crt;snow-device-management;snowball;storagegateway;workdocs;awstransfer;importexport;rbin;s3tables" +AWS_GROUP_compute="application-autoscaling;autoscaling;autoscaling-plans;batch;compute-optimizer;ec2;ec2-instance-connect;ecr;ecr-public;ecs;eks;elasticbeanstalk;elasticmapreduce;emr-containers;emr-serverless;lambda;lightsail;outposts;simspaceweaver;elasticfilesystem;elasticloadbalancing;elasticloadbalancingv2;m2;s3outposts;imagebuilder;swf" +AWS_GROUP_networking="appmesh;cloudfront;cloudfront-keyvaluestore;directconnect;globalaccelerator;location;network-firewall;networkflowmonitor;networkmanager;networkmonitor;route53;route53-recovery-cluster;route53-recovery-control-config;route53-recovery-readiness;route53domains;route53profiles;route53resolver;vpc-lattice;geo-maps;geo-places;geo-routes;tnb" +AWS_GROUP_database="docdb;docdb-elastic;dynamodb;dynamodbstreams;keyspaces;memorydb;neptune;neptune-graph;neptunedata;opensearch;opensearchserverless;qldb;qldb-session;rds;rds-data;redshift;redshift-data;redshift-serverless;sdb;timestream-influxdb;timestream-query;timestream-write;osis" +AWS_GROUP_analytics="athena;cleanrooms;cleanroomsml;datazone;entityresolution;finspace;finspace-data;firehose;forecast;forecastquery;glue;lakeformation;lookoutequipment;lookoutmetrics;lookoutvision;machinelearning;quicksight;repostspace;timestream-influxdb;amp;amplify;amplifybackend;amplifyuibuilder;omics;kafka;kafkaconnect;dsql" +AWS_GROUP_messaging="chatbot;chime;chime-sdk-identity;chime-sdk-media-pipelines;chime-sdk-meetings;chime-sdk-messaging;chime-sdk-voice;connect;connect-contact-lens;connectcampaigns;connectcampaignsv2;connectcases;connectparticipant;customer-profiles;eventbridge;notifications;notificationscontacts;pinpoint;pinpoint-email;pinpoint-sms-voice-v2;pipes;rum;scheduler;sns;sqs;mailmanager;sms;sms-voice;socialmessaging;wisdom;workmail;workmailmessageflow" +AWS_GROUP_monitor="config;devops-guru;health;inspector;inspector-scan;inspector2;internetmonitor;logs;monitoring;observabilityadmin;resiliencehub;security-ir;synthetics;trustedadvisor;wellarchitected;xray;fis;grafana;healthlake;oam" +AWS_GROUP_security="accessanalyzer;acm;acm-pca;codeguru-security;guardduty;iam;kms;macie2;payment-cryptography;payment-cryptography-data;rolesanywhere;secretsmanager;securityhub;securitylake;shield;signer;verifiedpermissions;waf;waf-regional;wafv2" +AWS_GROUP_ml="bedrock;bedrock-agent;bedrock-agent-runtime;bedrock-data-automation;bedrock-data-automation-runtime;bedrock-runtime;comprehend;comprehendmedical;frauddetector;personalize;personalize-events;personalize-runtime;rekognition;sagemaker;sagemaker-a2i-runtime;sagemaker-edge;sagemaker-featurestore-runtime;sagemaker-geospatial;sagemaker-metrics;sagemaker-runtime;textract;transcribe;transcribestreaming;translate;lex;lex-models;lexv2-models;lexv2-runtime;qapps;qbusiness;medical-imaging" +AWS_GROUP_iot="greengrass;greengrassv2;groundstation;iot;iot-data;iot-jobs-data;iot-managed-integrations;iot1click-devices;iot1click-projects;iotanalytics;iotdeviceadvisor;iotevents;iotevents-data;iotfleetwise;iotfleethub;iotsitewise;iotthingsgraph;iottwinmaker;iotwireless" +AWS_GROUP_media="elastictranscoder;ivs;ivs-realtime;kinesis-video-archived-media;kinesis-video-media;kinesis-video-signaling;kinesis-video-webrtc-storage;mediaconvert;mediatailor;voice-id;deadline;evs" +AWS_GROUP_devops="codeartifact;codebuild;codecatalyst;codecommit;codeconnections;codedeploy;codeguru-reviewer;codeguru-security;codepipeline;codestar-connections;codestar-notifications;devicefarm;gamelift;gameliftstreams;proton;artifact;b2bi;serverlessrepo;schemas;mturk-requester" +AWS_GROUP_mgmt="account;appconfig;appconfigdata;applicationcostprofiler;application-insights;application-signals;budgets;billing;billingconductor;ce;cloudcontrol;cloudformation;cloudtrail;cloudtrail-data;controltower;cur;fms;license-manager;license-manager-linux-subscriptions;license-manager-user-subscriptions;marketplace-agreement;marketplace-catalog;marketplace-deployment;marketplace-entitlement;marketplace-reporting;marketplacecommerceanalytics;organizations;ram;resource-explorer-2;resource-groups;resourcegroupstaggingapi;savingsplans;service-quotas;servicecatalog;servicecatalog-appregistry;support;support-app;taxsettings;AWSMigrationHub;cost-optimization-hub;dlm;dms;drs;mgn;migration-hub-refactor-spaces;migrationhub-config;migrationhuborchestrator;migrationhubstrategy;launch-wizard;meteringmarketplace;supplychain;workspaces;workspaces-thin-client;workspaces-web;worklink;bcm-data-exports;bcm-pricing-calculator" +AWS_GROUP_other="ds;evs" + +AWS_GROUP_LIST=( storage compute networking database analytics messaging monitor security ml iot media devops mgmt other ) + +IUSE="+http pulseaudio +ssl test full ${AWS_GROUP_LIST[*]}" +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + full? ( $(printf ' !%s' "${AWS_GROUP_LIST[@]}") ) +" +RESTRICT="!test? ( test )" + +DEPEND=" + http? ( net-misc/curl:= ) + pulseaudio? ( media-sound/pulseaudio ) + ssl? ( + dev-libs/openssl:= + ) + dev-libs/aws-crt-cpp:= + sys-libs/zlib +" +RDEPEND=" + ${DEPEND} + ${PYTHON_DEPS} +" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-1.11.586-uint64_t-does-not-name-a-type.diff +) + +_aws_expand_group() { + local _var="AWS_GROUP_${1}" + printf "%s" "${!_var}" +} +src_configure() { + local mybuildtargets="core;identity-management;sts" + + local g + for g in "${AWS_GROUP_LIST[@]}" ; do + if use "${g}" || use full ; then + mybuildtargets+=";$( _aws_expand_group "${g}" )" + fi + done + + local mycmakeargs=( + -DAUTORUN_UNIT_TESTS=$(usex test) + -DAWS_SDK_WARNINGS_ARE_ERRORS=OFF + -DBUILD_DEPS=NO + -DBUILD_ONLY="${mybuildtargets}" + -DCPP_STANDARD=17 + -DENABLE_TESTING=$(usex test) + -DNO_ENCRYPTION=$(usex !ssl) + -DNO_HTTP_CLIENT=$(usex !http) + ) + + if use test; then + # (#759802) Due to network sandboxing of portage, internet connectivity + # tests will always fail. If you need a USE flag, because you want/need + # to perform these tests manually, please open a bug report for it. + mycmakeargs+=( + -DENABLE_HTTP_CLIENT_TESTING=OFF + ) + fi + + cmake_src_configure +} diff --git a/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-1.11.586-uint64_t-does-not-name-a-type.diff b/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-1.11.586-uint64_t-does-not-name-a-type.diff new file mode 100644 index 0000000000..bfd11ec0f7 --- /dev/null +++ b/dev-libs/aws-sdk-cpp/files/aws-sdk-cpp-1.11.586-uint64_t-does-not-name-a-type.diff @@ -0,0 +1,12 @@ +diff --git a/src/aws-cpp-sdk-core/include/aws/core/utils/crypto/SecureRandom.h b/src/aws-cpp-sdk-core/include/aws/core/utils/crypto/SecureRandom.h +index 2d5e56b7b..fca096cfe 100644 +--- a/src/aws-cpp-sdk-core/include/aws/core/utils/crypto/SecureRandom.h ++++ b/src/aws-cpp-sdk-core/include/aws/core/utils/crypto/SecureRandom.h +@@ -6,6 +6,7 @@ + #include <type_traits> + #include <memory> + #include <cassert> ++#include <cstdint> + + namespace Aws + { diff --git a/dev-libs/aws-sdk-cpp/metadata.xml b/dev-libs/aws-sdk-cpp/metadata.xml new file mode 100644 index 0000000000..e1d8d3a340 --- /dev/null +++ b/dev-libs/aws-sdk-cpp/metadata.xml @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>[email protected]</email> + <name>Okamura Kazuya</name> + </maintainer> + <use> + <flag name="storage">Adds access to services related to object, block, and file storage.</flag> + <flag name="compute">Adds access to Compute and Auto Scaling related services.</flag> + <flag name="networking">Adds access to network and CDN related services.</flag> + <flag name="database">Adds access functionality to RDB, NoSQL, TimeStream, and Ledger related services.</flag> + <flag name="analytics">Adds access to big data and analysis related services.</flag> + <flag name="messaging">Adds access to messaging and notification services.</flag> + <flag name="monitor">Adds access to monitoring and operation related services.</flag> + <flag name="security">Adds access to services related to ID management and security auditing.</flag> + <flag name="ml">Adds access to machine learning and AI related services.</flag> + <flag name="iot">Adds access to IoT and edge services.</flag> + <flag name="media">Adds access to media processing related services.</flag> + <flag name="devops">Adds access to CI/CD and developer related services.</flag> + <flag name="mgmt">Adds access to operational management related services.</flag> + <flag name="other">Add access to services that do not easily fit into existing groups.</flag> + </use> + <upstream> + <remote-id type="github">aws/aws-sdk-cpp</remote-id> + </upstream> + <longdescription> + AWS SDK for C++. Except for the minimal core, identity management, and sts, none are enabled by default. + If you need other services, enable them with the use flag. + </longdescription> +</pkgmetadata>
