|
|
|
@ -1,8 +1,10 @@ |
|
|
|
|
{ lib |
|
|
|
|
, aws-sdk-cpp |
|
|
|
|
, boehmgc |
|
|
|
|
, callPackage |
|
|
|
|
, fetchFromGitHub |
|
|
|
|
, fetchurl |
|
|
|
|
, fetchpatch |
|
|
|
|
, Security |
|
|
|
|
|
|
|
|
|
, storeDir ? "/nix/store" |
|
|
|
@ -10,64 +12,52 @@ |
|
|
|
|
, confDir ? "/etc" |
|
|
|
|
}: |
|
|
|
|
let |
|
|
|
|
boehmgc_nix_2_3 = boehmgc.override { enableLargeConfig = true; }; |
|
|
|
|
boehmgc-nix_2_3 = boehmgc.override { enableLargeConfig = true; }; |
|
|
|
|
|
|
|
|
|
boehmgc_nix = boehmgc_nix_2_3.overrideAttrs (drv: { |
|
|
|
|
boehmgc-nix = boehmgc-nix_2_3.overrideAttrs (drv: { |
|
|
|
|
# Part of the GC solution in https://github.com/NixOS/nix/pull/4944 |
|
|
|
|
patches = (drv.patches or [ ]) ++ [ ./patches/boehmgc-coroutine-sp-fallback.patch ]; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
buildNix = |
|
|
|
|
{ version |
|
|
|
|
, suffix ? "" |
|
|
|
|
, src ? null |
|
|
|
|
, sha256 ? null |
|
|
|
|
, boehmgc ? boehmgc_nix |
|
|
|
|
, patches ? [ ] |
|
|
|
|
}: |
|
|
|
|
assert (src == null) -> (sha256 != null); |
|
|
|
|
assert (sha256 == null) -> (src != null); |
|
|
|
|
callPackage ./common.nix { |
|
|
|
|
inherit version suffix; |
|
|
|
|
|
|
|
|
|
src = |
|
|
|
|
if src != null |
|
|
|
|
then src |
|
|
|
|
else fetchFromGitHub { |
|
|
|
|
owner = "NixOS"; |
|
|
|
|
repo = "nix"; |
|
|
|
|
rev = version; |
|
|
|
|
inherit sha256; |
|
|
|
|
}; |
|
|
|
|
aws-sdk-cpp-nix = (aws-sdk-cpp.override { |
|
|
|
|
apis = [ "s3" "transfer" ]; |
|
|
|
|
customMemoryManagement = false; |
|
|
|
|
}).overrideDerivation (args: { |
|
|
|
|
patches = (args.patches or [ ]) ++ [ ./patches/aws-sdk-cpp-TransferManager-ContentEncoding.patch ]; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
inherit boehmgc patches Security; |
|
|
|
|
inherit storeDir stateDir confDir; |
|
|
|
|
}; |
|
|
|
|
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; |
|
|
|
|
}; |
|
|
|
|
in rec { |
|
|
|
|
nix_2_3 = buildNix rec { |
|
|
|
|
nix_2_3 = (common rec { |
|
|
|
|
version = "2.3.16"; |
|
|
|
|
src = fetchurl { |
|
|
|
|
url = "https://nixos.org/releases/nix/nix-${version}/nix-${version}.tar.xz"; |
|
|
|
|
sha256 = "sha256-fuaBtp8FtSVJLSAsO+3Nne4ZYLuBj2JpD2xEk7fCqrw="; |
|
|
|
|
}; |
|
|
|
|
boehmgc = boehmgc_nix_2_3; |
|
|
|
|
}; |
|
|
|
|
}).override { boehmgc = boehmgc-nix_2_3; }; |
|
|
|
|
|
|
|
|
|
nix_2_4 = buildNix { |
|
|
|
|
nix_2_4 = common { |
|
|
|
|
version = "2.4"; |
|
|
|
|
sha256 = "sha256-op48CCDgLHK0qV1Batz4Ln5FqBiRjlE6qHTiZgt3b6k="; |
|
|
|
|
# https://github.com/NixOS/nix/pull/5537 |
|
|
|
|
patches = [ ./patches/install-nlohmann_json-headers.patch ]; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
nix_2_5 = buildNix { |
|
|
|
|
nix_2_5 = common { |
|
|
|
|
version = "2.5.1"; |
|
|
|
|
sha256 = "sha256-GOsiqy9EaTwDn2PLZ4eFj1VkXcBUbqrqHehRE9GuGdU="; |
|
|
|
|
# https://github.com/NixOS/nix/pull/5536 |
|
|
|
|
patches = [ ./patches/install-nlohmann_json-headers.patch ]; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
nix_2_6 = buildNix { |
|
|
|
|
nix_2_6 = common { |
|
|
|
|
version = "2.6.0"; |
|
|
|
|
sha256 = "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg="; |
|
|
|
|
}; |
|
|
|
@ -75,7 +65,7 @@ in rec { |
|
|
|
|
# FIXME: nix_2_6 is broken on aarch64-darwin for now. |
|
|
|
|
stable = nix_2_5; |
|
|
|
|
|
|
|
|
|
unstable = lib.lowPrio (buildNix rec { |
|
|
|
|
unstable = lib.lowPrio (common rec { |
|
|
|
|
version = "2.7"; |
|
|
|
|
suffix = "pre20220124_${lib.substring 0 7 src.rev}"; |
|
|
|
|
src = fetchFromGitHub { |
|
|
|
|