diff options
author | Artturin <Artturin@artturin.com> | 2023-04-10 19:31:39 +0300 |
---|---|---|
committer | Artturin <Artturin@artturin.com> | 2023-04-10 19:46:21 +0300 |
commit | f221a6628600d258156a22b51da41cf976e47012 (patch) | |
tree | 260d24c160205b7e5cbf26cbd799b4db2359a819 /pkgs/tools/package-management/nix | |
parent | 4a398303318f3be670f78832f3bc05f57356c400 (diff) |
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
Diffstat (limited to 'pkgs/tools/package-management/nix')
-rw-r--r-- | pkgs/tools/package-management/nix/default.nix | 57 |
1 files changed, 54 insertions, 3 deletions
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index bdfe03b9408d7..3ffcf426fcaa7 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -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 |