mirror of
https://github.com/NixOS/nix.git
synced 2025-11-08 19:46:02 +01:00
This commit replaces the AWS C++ SDK with a lighter curl-based approach for S3 binary cache operations. - Removed dependency on the heavy aws-cpp-sdk-s3 and aws-cpp-sdk-transfer - Added lightweight aws-crt-cpp for credential resolution only - Leverages curl's native AWS SigV4 authentication (requires curl >= 7.75.0) - S3BinaryCacheStore now delegates to HttpBinaryCacheStore - Function s3ToHttpsUrl converts ParsedS3URL to ParsedURL - Multipart uploads are no longer supported (may be reimplemented later) - Build now requires curl >= 7.75.0 for AWS SigV4 support Fixes: #13084, #12671, #11748, #12403, #5947
77 lines
2.4 KiB
Nix
77 lines
2.4 KiB
Nix
# These overrides are applied to the dependencies of the Nix components.
|
|
|
|
{
|
|
# Flake inputs; used for sources
|
|
inputs,
|
|
|
|
# The raw Nixpkgs, not affected by this scope
|
|
pkgs,
|
|
|
|
stdenv,
|
|
}:
|
|
|
|
let
|
|
inherit (pkgs) lib;
|
|
in
|
|
scope: {
|
|
inherit stdenv;
|
|
|
|
boehmgc =
|
|
(pkgs.boehmgc.override {
|
|
enableLargeConfig = true;
|
|
}).overrideAttrs
|
|
(attrs: {
|
|
# Increase the initial mark stack size to avoid stack
|
|
# overflows, since these inhibit parallel marking (see
|
|
# GC_mark_some()). To check whether the mark stack is too
|
|
# small, run Nix with GC_PRINT_STATS=1 and look for messages
|
|
# such as `Mark stack overflow`, `No room to copy back mark
|
|
# stack`, and `Grew mark stack to ... frames`.
|
|
NIX_CFLAGS_COMPILE = "-DINITIAL_MARK_STACK_SIZE=1048576";
|
|
});
|
|
|
|
lowdown = pkgs.lowdown.overrideAttrs (prevAttrs: rec {
|
|
version = "2.0.2";
|
|
src = pkgs.fetchurl {
|
|
url = "https://kristaps.bsd.lv/lowdown/snapshots/lowdown-${version}.tar.gz";
|
|
hash = "sha512-cfzhuF4EnGmLJf5EGSIbWqJItY3npbRSALm+GarZ7SMU7Hr1xw0gtBFMpOdi5PBar4TgtvbnG4oRPh+COINGlA==";
|
|
};
|
|
nativeBuildInputs = prevAttrs.nativeBuildInputs ++ [ pkgs.buildPackages.bmake ];
|
|
postInstall =
|
|
lib.replaceStrings [ "lowdown.so.1" "lowdown.1.dylib" ] [ "lowdown.so.2" "lowdown.2.dylib" ]
|
|
prevAttrs.postInstall;
|
|
});
|
|
|
|
# TODO: Remove this when https://github.com/NixOS/nixpkgs/pull/442682 is included in a stable release
|
|
toml11 =
|
|
if lib.versionAtLeast pkgs.toml11.version "4.4.0" then
|
|
pkgs.toml11
|
|
else
|
|
pkgs.toml11.overrideAttrs rec {
|
|
version = "4.4.0";
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "ToruNiina";
|
|
repo = "toml11";
|
|
tag = "v${version}";
|
|
hash = "sha256-sgWKYxNT22nw376ttGsTdg0AMzOwp8QH3E8mx0BZJTQ=";
|
|
};
|
|
};
|
|
|
|
# TODO Hack until https://github.com/NixOS/nixpkgs/issues/45462 is fixed.
|
|
boost =
|
|
(pkgs.boost.override {
|
|
extraB2Args = [
|
|
"--with-container"
|
|
"--with-context"
|
|
"--with-coroutine"
|
|
"--with-iostreams"
|
|
"--with-url"
|
|
];
|
|
enableIcu = false;
|
|
}).overrideAttrs
|
|
(old: {
|
|
# Need to remove `--with-*` to use `--with-libraries=...`
|
|
buildPhase = lib.replaceStrings [ "--without-python" ] [ "" ] old.buildPhase;
|
|
installPhase = lib.replaceStrings [ "--without-python" ] [ "" ] old.installPhase;
|
|
});
|
|
}
|