Fix setting Content-Encoding in S3 uploads
Fixes https://github.com/NixOS/nix/issues/2333 and https://github.com/NixOS/nixpkgs/issues/44337.
This commit is contained in:
parent
d3761f5f8b
commit
7de3e00ad9
|
@ -60,10 +60,15 @@ rec {
|
|||
++ lib.optionals stdenv.isLinux [libseccomp utillinuxMinimal]
|
||||
++ lib.optional (stdenv.isLinux || stdenv.isDarwin) libsodium
|
||||
++ lib.optional (stdenv.isLinux || stdenv.isDarwin)
|
||||
(aws-sdk-cpp.override {
|
||||
((aws-sdk-cpp.override {
|
||||
apis = ["s3" "transfer"];
|
||||
customMemoryManagement = false;
|
||||
});
|
||||
}).overrideDerivation (args: {
|
||||
patches = args.patches or [] ++ [ (fetchpatch {
|
||||
url = https://github.com/edolstra/aws-sdk-cpp/commit/3e07e1f1aae41b4c8b340735ff9e8c735f0c063f.patch;
|
||||
sha256 = "1pij0v449p166f9l29x7ppzk8j7g9k9mp15ilh5qxp29c7fnvxy2";
|
||||
}) ];
|
||||
}));
|
||||
|
||||
perlDeps =
|
||||
[ perl
|
||||
|
|
|
@ -291,10 +291,6 @@ struct S3BinaryCacheStoreImpl : public S3BinaryCacheStore
|
|||
transferConfig.s3Client = s3Helper.client;
|
||||
transferConfig.bufferSize = bufferSize;
|
||||
|
||||
if (contentEncoding != "")
|
||||
transferConfig.createMultipartUploadTemplate.SetContentEncoding(
|
||||
contentEncoding);
|
||||
|
||||
transferConfig.uploadProgressCallback =
|
||||
[&](const TransferManager *transferManager,
|
||||
const std::shared_ptr<const TransferHandle>
|
||||
|
@ -336,8 +332,10 @@ struct S3BinaryCacheStoreImpl : public S3BinaryCacheStore
|
|||
auto now1 = std::chrono::steady_clock::now();
|
||||
|
||||
std::shared_ptr<TransferHandle> transferHandle =
|
||||
transferManager->UploadFile(stream, bucketName, path, mimeType,
|
||||
Aws::Map<Aws::String, Aws::String>());
|
||||
transferManager->UploadFile(
|
||||
stream, bucketName, path, mimeType,
|
||||
Aws::Map<Aws::String, Aws::String>(),
|
||||
nullptr, contentEncoding);
|
||||
|
||||
transferHandle->WaitUntilFinished();
|
||||
|
||||
|
|
Loading…
Reference in a new issue