nix: use old aws-sdk-cpp for old nix
old nix fails to build and the patch doesn't apply on new aws-sdk-cpp and the patch may not be needed anymore because the flake.nix in the nix repo has never mentioned it
This commit is contained in:
parent
4a39830331
commit
f221a66286
@ -20,23 +20,74 @@ let
|
||||
patches = (drv.patches or [ ]) ++ [ ./patches/boehmgc-coroutine-sp-fallback.patch ];
|
||||
});
|
||||
|
||||
aws-sdk-cpp-nix = (aws-sdk-cpp.override {
|
||||
# old nix fails to build with newer aws-sdk-cpp and the patch doesn't apply
|
||||
aws-sdk-cpp-old-nix = (aws-sdk-cpp.override {
|
||||
apis = [ "s3" "transfer" ];
|
||||
customMemoryManagement = false;
|
||||
}).overrideDerivation (args: {
|
||||
}).overrideAttrs (args: rec {
|
||||
# intentionally overriding postPatch
|
||||
version = "1.9.294";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aws";
|
||||
repo = "aws-sdk-cpp";
|
||||
rev = version;
|
||||
sha256 = "sha256-Z1eRKW+8nVD53GkNyYlZjCcT74MqFqqRMeMc33eIQ9g=";
|
||||
};
|
||||
postPatch = ''
|
||||
# Avoid blanket -Werror to evade build failures on less
|
||||
# tested compilers.
|
||||
substituteInPlace cmake/compiler_settings.cmake \
|
||||
--replace '"-Werror"' ' '
|
||||
|
||||
# Missing includes for GCC11
|
||||
sed '5i#include <thread>' -i \
|
||||
aws-cpp-sdk-cloudfront-integration-tests/CloudfrontOperationTest.cpp \
|
||||
aws-cpp-sdk-cognitoidentity-integration-tests/IdentityPoolOperationTest.cpp \
|
||||
aws-cpp-sdk-dynamodb-integration-tests/TableOperationTest.cpp \
|
||||
aws-cpp-sdk-elasticfilesystem-integration-tests/ElasticFileSystemTest.cpp \
|
||||
aws-cpp-sdk-lambda-integration-tests/FunctionTest.cpp \
|
||||
aws-cpp-sdk-mediastore-data-integration-tests/MediaStoreDataTest.cpp \
|
||||
aws-cpp-sdk-queues/source/sqs/SQSQueue.cpp \
|
||||
aws-cpp-sdk-redshift-integration-tests/RedshiftClientTest.cpp \
|
||||
aws-cpp-sdk-s3-crt-integration-tests/BucketAndObjectOperationTest.cpp \
|
||||
aws-cpp-sdk-s3-integration-tests/BucketAndObjectOperationTest.cpp \
|
||||
aws-cpp-sdk-s3control-integration-tests/S3ControlTest.cpp \
|
||||
aws-cpp-sdk-sqs-integration-tests/QueueOperationTest.cpp \
|
||||
aws-cpp-sdk-transfer-tests/TransferTests.cpp
|
||||
# Flaky on Hydra
|
||||
rm aws-cpp-sdk-core-tests/aws/auth/AWSCredentialsProviderTest.cpp
|
||||
# Includes aws-c-auth private headers, so only works with submodule build
|
||||
rm aws-cpp-sdk-core-tests/aws/auth/AWSAuthSignerTest.cpp
|
||||
# TestRandomURLMultiThreaded fails
|
||||
rm aws-cpp-sdk-core-tests/http/HttpClientTest.cpp
|
||||
'' + lib.optionalString aws-sdk-cpp.stdenv.isi686 ''
|
||||
# EPSILON is exceeded
|
||||
rm aws-cpp-sdk-core-tests/aws/client/AdaptiveRetryStrategyTest.cpp
|
||||
'';
|
||||
|
||||
patches = (args.patches or [ ]) ++ [ ./patches/aws-sdk-cpp-TransferManager-ContentEncoding.patch ];
|
||||
|
||||
# only a stripped down version is build which takes a lot less resources to build
|
||||
requiredSystemFeatures = null;
|
||||
});
|
||||
|
||||
aws-sdk-cpp-nix = (aws-sdk-cpp.override {
|
||||
apis = [ "s3" "transfer" ];
|
||||
customMemoryManagement = false;
|
||||
}).overrideAttrs (args: {
|
||||
# only a stripped down version is build which takes a lot less resources to build
|
||||
requiredSystemFeatures = null;
|
||||
});
|
||||
|
||||
|
||||
common = args:
|
||||
callPackage
|
||||
(import ./common.nix ({ inherit lib fetchFromGitHub; } // args))
|
||||
{
|
||||
inherit Security storeDir stateDir confDir;
|
||||
boehmgc = boehmgc-nix;
|
||||
aws-sdk-cpp = aws-sdk-cpp-nix;
|
||||
aws-sdk-cpp = if lib.versionAtLeast args.version "2.12pre" then aws-sdk-cpp-nix else aws-sdk-cpp-old-nix;
|
||||
};
|
||||
|
||||
# https://github.com/NixOS/nix/pull/7585
|
||||
|
Loading…
Reference in New Issue
Block a user